]> www.infradead.org Git - users/jedix/linux-maple.git/commit
ixgbe: add support for devlink reload
authorJedrzej Jagielski <jedrzej.jagielski@intel.com>
Thu, 10 Apr 2025 13:00:05 +0000 (15:00 +0200)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Tue, 15 Apr 2025 14:36:33 +0000 (07:36 -0700)
commitc9e563cae19e529abcc2cb90b4b793952f209260
tree3dcade18ded845dc1e09f647d38c70c695aa4329
parenta0f45672d5e14af053d2dc5f552381351f6eeac0
ixgbe: add support for devlink reload

The E610 adapters contain an embedded chip with firmware which can be
updated using devlink flash. The firmware which runs on this chip is
referred to as the Embedded Management Processor firmware (EMP
firmware).

Activating the new firmware image currently requires that the system be
rebooted. This is not ideal as rebooting the system can cause unwanted
downtime.

The EMP firmware itself can be reloaded by issuing a special update
to the device called an Embedded Management Processor reset (EMP
reset). This reset causes the device to reset and reload the EMP
firmware.

Implement support for devlink reload with the "fw_activate" flag. This
allows user space to request the firmware be activated immediately.

Reviewed-by: Mateusz Polchlopek <mateusz.polchlopek@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>
Documentation/networking/devlink/ixgbe.rst
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
drivers/net/ethernet/intel/ixgbe/ixgbe.h
drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
drivers/net/ethernet/intel/ixgbe/ixgbe_e610.h
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
drivers/net/ethernet/intel/ixgbe/ixgbe_fw_update.c
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c