sfc: support FEC configuration through ethtool
authorEdward Cree <ecree@solarflare.com>
Wed, 14 Mar 2018 14:21:26 +0000 (14:21 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 14 Mar 2018 17:12:15 +0000 (13:12 -0400)
commit7f61e6c6279bcb340489ab6b781835da700f1c4b
tree3698145f1c8e463f1c6b5d8d143ff7f5e9d30ede
parentf215347cc0fcf76933d6bdab95e253724b823625
sfc: support FEC configuration through ethtool

As well as 'auto' and the forced 'off', 'rs' and 'baser' states, we also
 handle combinations of settings (since the fecparam->fec field is a
 bitmask), where auto|rs and auto|baser specify a preferred FEC mode but
 will fall back to the other if the cable or link partner doesn't support
 it.  rs|baser (with or without auto bit) means prefer FEC even where
 auto wouldn't use it, but let FW choose which encoding to use.

Signed-off-by: Edward Cree <ecree@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/sfc/ethtool.c
drivers/net/ethernet/sfc/mcdi_port.c
drivers/net/ethernet/sfc/net_driver.h