Star64_linux/drivers/net/ethernet/intel/i40e
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
..
i40e.h i40e: fix race conditions on queuing skb for HW time stamp 2014-07-16 13:19:41 -07:00
i40e_adminq.c i40e/i40evf: Add nvmupdate support 2014-07-24 03:32:40 -07:00
i40e_adminq.h i40e/i40evf: Add nvmupdate support 2014-07-24 03:32:40 -07:00
i40e_adminq_cmd.h i40e/i40evf: AdminQ API update for new FW 2014-06-11 08:47:35 -07:00
i40e_alloc.h i40e: Fix GPL header 2014-01-09 02:10:23 -08:00
i40e_common.c i40e/i40evf: Add nvmupdate support 2014-07-24 03:32:40 -07:00
i40e_dcb.c i40e: Fix static checker warning 2014-03-06 18:41:50 -08:00
i40e_dcb.h i40e: implement DCB support infastructure 2014-01-17 19:13:04 -08:00
i40e_dcb_nl.c i40e: Separate out DCB capability and enabled flags 2014-06-11 08:48:15 -07:00
i40e_debugfs.c i40e: fix format mismatch in drivers/net/ethernet/intel/i40e/i40e_debugfs.c 2014-07-24 03:20:21 -07:00
i40e_diag.c i40e: Rework register diagnostic 2014-06-05 01:27:46 -07:00
i40e_diag.h i40e: Fix GPL header 2014-01-09 02:10:23 -08:00
i40e_ethtool.c i40e/i40evf: Add nvmupdate support 2014-07-24 03:32:40 -07:00
i40e_hmc.c i40e/i40evf: Fix code to accommodate i40e_register.h changes 2014-06-08 02:01:23 -07:00
i40e_hmc.h i40e/i40evf: Force a shifted '1' to be unsigned 2014-07-02 19:02:19 -07:00
i40e_lan_hmc.c i40e: remove unnecessary break after goto 2014-07-13 23:45:24 -07:00
i40e_lan_hmc.h i40e/i40evf: Big endian fixes for handling HMC 2014-06-26 04:44:57 -07:00
i40e_main.c i40e/i40evf: Clean up code 2014-07-16 13:57:12 -07:00
i40e_nvm.c i40e/i40evf: Add nvmupdate support 2014-07-24 03:32:40 -07:00
i40e_osdep.h i40e: Fix GPL header 2014-01-09 02:10:23 -08:00
i40e_prototype.h i40e/i40evf: Add nvmupdate support 2014-07-24 03:32:40 -07:00
i40e_ptp.c i40e: (ptp) warn when PF_ID does not match in PRTTSYN_CTL0 2014-07-16 14:06:44 -07:00
i40e_register.h i40e/i40evf: i40e_register.h update 2014-06-19 20:22:02 -07:00
i40e_status.h i40e: Fix GPL header 2014-01-09 02:10:23 -08:00
i40e_txrx.c i40e/i40evf: Clean up code 2014-07-16 13:57:12 -07:00
i40e_txrx.h i40e/i40evf: Do not free the dummy packet buffer synchronously 2014-07-02 19:02:18 -07:00
i40e_type.h i40e/i40evf: Add nvmupdate support 2014-07-24 03:32:40 -07:00
i40e_virtchnl.h i40e/i40evf: Clean up a few things 2014-06-08 02:01:26 -07:00
i40e_virtchnl_pf.c i40e: disable TPH 2014-07-02 19:02:20 -07:00
i40e_virtchnl_pf.h i40e: implement anti-spoofing for VFs 2014-06-08 23:52:33 -07:00
Makefile i40e: add DCB option to Kconfig 2014-01-17 19:13:04 -08:00