diff options
| author | Jedrzej Jagielski <[email protected]> | 2025-04-10 13:00:05 +0000 |
|---|---|---|
| committer | Tony Nguyen <[email protected]> | 2025-04-15 14:36:33 +0000 |
| commit | c9e563cae19e529abcc2cb90b4b793952f209260 (patch) | |
| tree | 3dcade18ded845dc1e09f647d38c70c695aa4329 /drivers/net/ethernet/intel/ixgbe/ixgbe.h | |
| parent | ixgbe: add device flash update via devlink (diff) | |
| download | kernel-c9e563cae19e529abcc2cb90b4b793952f209260.tar.gz kernel-c9e563cae19e529abcc2cb90b4b793952f209260.zip | |
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 <[email protected]>
Tested-by: Bharath R <[email protected]>
Co-developed-by: Slawomir Mrozowicz <[email protected]>
Signed-off-by: Slawomir Mrozowicz <[email protected]>
Co-developed-by: Piotr Kwapulinski <[email protected]>
Signed-off-by: Piotr Kwapulinski <[email protected]>
Co-developed-by: Stefan Wegrzyn <[email protected]>
Signed-off-by: Stefan Wegrzyn <[email protected]>
Signed-off-by: Jedrzej Jagielski <[email protected]>
Signed-off-by: Tony Nguyen <[email protected]>
Diffstat (limited to 'drivers/net/ethernet/intel/ixgbe/ixgbe.h')
| -rw-r--r-- | drivers/net/ethernet/intel/ixgbe/ixgbe.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe.h b/drivers/net/ethernet/intel/ixgbe/ixgbe.h index 6cb8772b1ebf..83d4d7368cda 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe.h +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe.h @@ -759,6 +759,8 @@ struct ixgbe_adapter { u32 atr_sample_rate; spinlock_t fdir_perfect_lock; + bool fw_emp_reset_disabled; + #ifdef IXGBE_FCOE struct ixgbe_fcoe fcoe; #endif /* IXGBE_FCOE */ @@ -960,6 +962,8 @@ void ixgbe_update_stats(struct ixgbe_adapter *adapter); int ixgbe_init_interrupt_scheme(struct ixgbe_adapter *adapter); bool ixgbe_wol_supported(struct ixgbe_adapter *adapter, u16 device_id, u16 subdevice_id); +void ixgbe_set_fw_version_e610(struct ixgbe_adapter *adapter); +void ixgbe_refresh_fw_version(struct ixgbe_adapter *adapter); #ifdef CONFIG_PCI_IOV void ixgbe_full_sync_mac_table(struct ixgbe_adapter *adapter); #endif |
