rocker: remove PORT_PHYS_MODE; to be replaced with PORT_SETTING_MODE tlv

Signed-off-by: Scott Feldman <sfeldma@cumulusnetworks.com>
Signed-off-by: Jiri Pirko <jiri@resnulli.us>
rocker: port setting tlvs: remove MAX_SPEED and add AUTONEG and MODE to sync w/ spec and device

Signed-off-by: Scott Feldman <sfeldma@cumulusnetworks.com>
Signed-off-by: Jiri Pirko <jiri@resnulli.us>
rocker: Change COMP_STATUS to COMP_ERR to match changes in spec/device

Also pad desc so that comp_err is last two bytes of desc and completion gen bit
is last bit of those two bytes.  The resv padding desc is before comp_err.  The
reason for putting comp_err at very end of desc is we want comp_err to be the
last two bytes written in descriptor so if software is polling comp gen bit,
when it see gen bit change, it's safe to read other fields of desc.  Software
should read comp_err gen bit first, and then other desc fields.

Alos note that comp_err is 2 bytes, not 4.

Signed-off-by: Scott Feldman <sfeldma@cumulusnetworks.com>
Signed-off-by: Jiri Pirko <jiri@resnulli.us>
rocker: sync TLVs with device/spec

Signed-off-by: Scott Feldman <sfeldma@cumulusnetworks.com>
Signed-off-by: Jiri Pirko <jiri@resnulli.us>
rocker: Get CMD ring working

A few changes to get things working:

1) ring head and tail should be initialized to 0 to match device reset state.
2) when tlv parsing the desc, use real desc->tlv_size to know extent of tlv
area of buf.
3) when getting a desc off of ring to post, get desc at current head position.
Once desc buf is filled in, advance head.  In getting the head desc and posting
the head desc, check rung-full condition to avoid overrunning tail.

With these changes, ethtool eth1 works:

cumulus@debian:~$ sudo ethtool eth1
Settings for eth1:
	Supported ports: [ TP ]
	Supported link modes:   Not reported
	Supported pause frame use: No
	Supports auto-negotiation: No
	Advertised link modes:  Not reported
	Advertised pause frame use: No
	Advertised auto-negotiation: No
	Speed: 10000Mb/s
	Duplex: Full
	Port: Twisted Pair
	PHYAD: 255
	Transceiver: internal
	Auto-negotiation: off
	MDI-X: Unknown
	Link detected: no

Signed-off-by: Scott Feldman <sfeldma@cumulusnetworks.com>
Signed-off-by: Jiri Pirko <jiri@resnulli.us>