4811b0c2 | 10-Apr-2025 |
Andrii Staikov <andrii.staikov@intel.com> |
ixgbe: add support for FW rollback mode
The driver should detect whether the device entered FW rollback mode and then notify user with the dedicated message including FW and NVM versions.
Even if t
ixgbe: add support for FW rollback mode
The driver should detect whether the device entered FW rollback mode and then notify user with the dedicated message including FW and NVM versions.
Even if the driver detected rollback mode, this should not result in an probe error and the normal flow proceeds.
FW tries to rollback to "old" operational FW located in the inactive NVM bank in cases when newly loaded FW exhibits faulty behavior. If something goes wrong during boot the FW may switch into rollback mode in an attempt to avoid recovery mode and stay operational. After rollback is successful, the banks are swapped, and the "rollback" bank becomes the active bank for the next reset.
Reviewed-by: Mateusz Polchlopek <mateusz.polchlopek@intel.com> Signed-off-by: Andrii Staikov <andrii.staikov@intel.com> Signed-off-by: Jedrzej Jagielski <jedrzej.jagielski@intel.com> Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
show more ...
|
b5aae90b | 10-Apr-2025 |
Jedrzej Jagielski <jedrzej.jagielski@intel.com> |
ixgbe: add FW API version check
Add E610 specific function checking whether the FW API version is compatible with the driver expectations.
The major API version should be less than or equal to the
ixgbe: add FW API version check
Add E610 specific function checking whether the FW API version is compatible with the driver expectations.
The major API version should be less than or equal to the expected API version. If not the driver won't be fully operational.
Check the minor version, and if it is more than two versions lesser or greater than the expected version, print a message indicating that the NVM or driver should be updated respectively.
Reviewed-by: Mateusz Polchlopek <mateusz.polchlopek@intel.com> Co-developed-by: Piotr Kwapulinski <piotr.kwapulinski@intel.com> Signed-off-by: Piotr Kwapulinski <piotr.kwapulinski@intel.com> Signed-off-by: Jedrzej Jagielski <jedrzej.jagielski@intel.com> Tested-by: Bharath R <bharath.r@intel.com> Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
show more ...
|
a0f45672 | 10-Apr-2025 |
Jedrzej Jagielski <jedrzej.jagielski@intel.com> |
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 d
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>
show more ...
|
6eae2aeb | 10-Apr-2025 |
Jedrzej Jagielski <jedrzej.jagielski@intel.com> |
ixgbe: extend .info_get() with stored versions
Add functions reading inactive versions from the inactive flash bank.
Print stored versions for the content present in the inactive bank. If there's p
ixgbe: extend .info_get() with stored versions
Add functions reading inactive versions from the inactive flash bank.
Print stored versions for the content present in the inactive bank. If there's pending update the versions reflect the ones which are going to be loaded after reload. If there's no pending update both running and stored are the same, which means there won't be any NVM change on reload.
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> Signed-off-by: Jedrzej Jagielski <jedrzej.jagielski@intel.com> Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
show more ...
|
f6b588af | 10-Apr-2025 |
Jedrzej Jagielski <jedrzej.jagielski@intel.com> |
ixgbe: add handler for devlink .info_get()
Provide devlink .info_get() callback implementation to allow the driver to report detailed version information. The following info is reported:
"serial_n
ixgbe: add handler for devlink .info_get()
Provide devlink .info_get() callback implementation to allow the driver to report detailed version information. The following info is reported:
"serial_number" -> The PCI DSN of the adapter "fw.bundle_id" -> Unique identifier for the combined flash image "fw.undi" -> Version of the Option ROM containing the UEFI driver "board.id" -> The PBA ID string
Reviewed-by: Mateusz Polchlopek <mateusz.polchlopek@intel.com> Tested-by: Bharath R <bharath.r@intel.com> Signed-off-by: Jedrzej Jagielski <jedrzej.jagielski@intel.com> Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
show more ...
|