sfc: support the ethtool ksettings API properly so that 25/50/100G works
authorEdward Cree <ecree@solarflare.com>
Wed, 10 Jan 2018 18:00:14 +0000 (18:00 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 10 Jan 2018 21:23:38 +0000 (16:23 -0500)
commitc2ab85d2daef42b1cdfd35f564cc40a392c88849
treefedc89322ac5abe6269309a9391bf1edb1b37291
parent702b3d51369779a1ad5b03b24911ef6b0a6caa6b
sfc: support the ethtool ksettings API properly so that 25/50/100G works

Store and handle ethtool link mode masks within the driver instead of
 just a single u32.  However, quite a significant amount of existing code
 wants to manipulate the masks directly, and thus now uses the first
 unsigned long (i.e. mask[0]) as though it were a legacy u32 mask.  This
 is ok because all the bits that code is interested in are in the first
 32 bits of the mask; but it might be a good idea to change them in
 future to use the proper bitmap API.

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