linux-pinenote/drivers/net/ethernet
Shannon Nelson cd552cb49e i40e/i40evf: Add nvmupdate support
This implements a state machine intended to support the userland tool for
updating the device eeprom. The state machine implements one-shot reads,
writes, multi-step write sessions, and checksum requests. If we're in the middle
of a multi-step write session, no one should fire off other writes, however, one
shot reads are valid. The userland tool is expected to keep track of its session
status, arrange the placement and ordering of the writes, and deal with the
checksum requirement.

This patch also adds nvmupdate support to ethtool callbacks.
The get_eeprom() and set_eeprom() services in ethtool are used here to
facilitate the userland NVMUpdate tool.  The 'magic' value in the get and
set commands is used to pass additional control information for managing
the read and write steps.

The read operation works both as normally expected in the standard ethtool
method, as well as with the extra NVM controls.  The write operation
works only for the expanded NVM functions - the normal ethtool method is
not allowed because of the NVM semaphore management needed for multipart
writes, as well as the checksum requirement.

Change-ID: I1d84a170153a9f437906744e2e350fd68fe7563d
Signed-off-by: Shannon Nelson <shannon.nelson@intel.com>
Tested-by: Jim Young <jamesx.m.young@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2014-07-24 03:32:40 -07:00
..
3com
8390 8390: remove unnecessary break after return 2014-07-20 21:30:18 -07:00
adaptec
adi
aeroflex
allwinner net: allwinner: emac: Add missing free_irq 2014-06-25 16:31:17 -07:00
alteon
altera Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-05-24 00:32:30 -04:00
amd amd-xgbe: Remove the adjustments needed for fixed speed 2014-07-15 16:30:04 -07:00
apple
arc arc_emac: Remove unused pointer to net_device from arc_emac_priv 2014-07-09 16:49:21 -07:00
atheros atl1c: remove unnecessary break after return 2014-07-20 21:30:19 -07:00
broadcom net: bcmgenet: use kcalloc instead of kzalloc 2014-07-23 15:14:26 -07:00
brocade bna: remove unnecessary break after return 2014-07-20 21:30:18 -07:00
cadence
calxeda
chelsio cxgb4: Add the MC1 registers to read in the interrupt handler 2014-07-21 20:23:59 -07:00
cirrus
cisco enic: Add ethtool support to show classifier filters added by the driver 2014-07-21 20:22:46 -07:00
davicom dm9000: avoid sleeping in dm9000_timeout callback 2014-06-05 15:12:11 -07:00
dec net: tulip: remove unnecessary break after return 2014-07-20 21:30:18 -07:00
dlink net: use SPEED_UNKNOWN and DUPLEX_UNKNOWN when appropriate 2014-06-06 16:24:07 -07:00
emulex be2net: update driver version to 10.4 2014-07-17 16:38:15 -07:00
faraday
freescale ucc_geth: remove unnecessary break after return 2014-07-20 21:30:19 -07:00
fujitsu
hisilicon net: hisilicon: add hix5hd2 mac driver 2014-06-02 23:39:05 -07:00
hp
i825xx
ibm net: use SPEED_UNKNOWN and DUPLEX_UNKNOWN when appropriate 2014-06-06 16:24:07 -07:00
icplus
intel i40e/i40evf: Add nvmupdate support 2014-07-24 03:32:40 -07:00
marvell net: mvpp2: Simplify BM pool buffers freeing 2014-07-22 19:50:30 -07:00
mellanox net/mlx4_en: Reduce memory consumption on kdump kernel 2014-07-22 19:53:14 -07:00
micrel net: ks8851: Don't use regulator_get_optional() 2014-06-02 00:13:51 -07:00
microchip
moxa
myricom
natsemi
neterion net: use SPEED_UNKNOWN and DUPLEX_UNKNOWN when appropriate 2014-06-06 16:24:07 -07:00
nuvoton
nvidia net: use SPEED_UNKNOWN and DUPLEX_UNKNOWN when appropriate 2014-06-06 16:24:07 -07:00
nxp lpc_eth: Use resource_size instead of computation 2014-06-03 16:08:52 -07:00
octeon
oki-semi net: use SPEED_UNKNOWN and DUPLEX_UNKNOWN when appropriate 2014-06-06 16:24:07 -07:00
packetengines
pasemi
qlogic Update setapp/getapp prototypes in dcbnl_rtnl_ops to return int instead of u8 2014-07-17 16:02:29 -07:00
rdc
realtek ethernet: realtek: use pci_device_id 2014-07-23 14:56:40 -07:00
renesas sh_eth: remove checks around dev_kfree_skb() calls 2014-07-02 17:37:46 -07:00
samsung net: sxgbe: remove duplicate SXGBE_CORE_L34_ADDCTL_REG define 2014-06-11 15:01:30 -07:00
seeq
sfc sfc: Add support for busy polling 2014-07-22 19:55:20 -07:00
sgi
silan
sis sis900: remove unnecessary break after return 2014-07-20 21:30:18 -07:00
smsc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-06-03 23:32:12 -07:00
stmicro Revert "net: stmmac: add platform init/exit for Altera's ARM socfpga" 2014-07-07 19:53:45 -07:00
sun Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-07-22 00:44:59 -07:00
tehuti
ti drivers: net: cpsw: add support to dump ALE table via ethtool register dump 2014-07-22 19:58:25 -07:00
tile net: set name_assign_type in alloc_netdev() 2014-07-15 16:12:48 -07:00
toshiba ps3_gelic: remove unnecessary break after return 2014-07-20 21:30:19 -07:00
tundra
via via-rhine: fix full-duplex with autoneg disable 2014-06-12 10:31:10 -07:00
wiznet
xilinx xilinx: Fix compiler warning 2014-06-22 17:14:56 -07:00
xircom
xscale
dnet.c
dnet.h
ec_bhf.c
ethoc.c
fealnx.c
jme.c
jme.h
Kconfig Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-06-03 23:32:12 -07:00
korina.c
lantiq_etop.c
Makefile net: hisilicon: add hix5hd2 mac driver 2014-06-02 23:39:05 -07:00
netx-eth.c
s6gmac.c