mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf.git
synced 2026-05-02 22:03:51 -04:00
ixgbe: add device flash update via devlink
Use the pldmfw library to implement device flash update for the Intel ixgbe networking device driver specifically for E610 devices. This support uses the devlink flash update interface. Using the pldmfw library, the provided firmware file will be scanned for the three major components, "fw.undi" for the Option ROM, "fw.mgmt" for the main NVM module containing the primary device firmware, and "fw.netlist" containing the netlist module. The flash is separated into two banks, the active bank containing the running firmware, and the inactive bank which we use for update. Each module is updated in a staged process. First, the inactive bank is erased, preparing the device for update. Second, the contents of the component are copied to the inactive portion of the flash. After all components are updated, the driver signals the device to switch the active bank during the next EMP reset. With this implementation, basic flash update for the E610 hardware is supported. Reviewed-by: Jacob Keller <jacob.e.keller@intel.com> Tested-by: Bharath R <bharath.r@intel.com> Co-developed-by: Slawomir Mrozowicz <slawomirx.mrozowicz@intel.com> Signed-off-by: Slawomir Mrozowicz <slawomirx.mrozowicz@intel.com> Co-developed-by: Piotr Kwapulinski <piotr.kwapulinski@intel.com> Signed-off-by: Piotr Kwapulinski <piotr.kwapulinski@intel.com> Co-developed-by: Stefan Wegrzyn <stefan.wegrzyn@intel.com> Signed-off-by: Stefan Wegrzyn <stefan.wegrzyn@intel.com> Signed-off-by: Jedrzej Jagielski <jedrzej.jagielski@intel.com> Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
This commit is contained in:
committed by
Tony Nguyen
parent
6eae2aeb60
commit
a0f45672d5
@@ -76,3 +76,30 @@ The ``ixgbe`` driver reports the following versions
|
||||
- running
|
||||
- 0xee16ced7
|
||||
- The first 4 bytes of the hash of the netlist module contents.
|
||||
|
||||
Flash Update
|
||||
============
|
||||
|
||||
The ``ixgbe`` driver implements support for flash update using the
|
||||
``devlink-flash`` interface. It supports updating the device flash using a
|
||||
combined flash image that contains the ``fw.mgmt``, ``fw.undi``, and
|
||||
``fw.netlist`` components.
|
||||
|
||||
.. list-table:: List of supported overwrite modes
|
||||
:widths: 5 95
|
||||
|
||||
* - Bits
|
||||
- Behavior
|
||||
* - ``DEVLINK_FLASH_OVERWRITE_SETTINGS``
|
||||
- Do not preserve settings stored in the flash components being
|
||||
updated. This includes overwriting the port configuration that
|
||||
determines the number of physical functions the device will
|
||||
initialize with.
|
||||
* - ``DEVLINK_FLASH_OVERWRITE_SETTINGS`` and ``DEVLINK_FLASH_OVERWRITE_IDENTIFIERS``
|
||||
- Do not preserve either settings or identifiers. Overwrite everything
|
||||
in the flash with the contents from the provided image, without
|
||||
performing any preservation. This includes overwriting device
|
||||
identifying fields such as the MAC address, Vital product Data (VPD) area,
|
||||
and device serial number. It is expected that this combination be used with an
|
||||
image customized for the specific device.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user