Dear Jedrzej,
Thank you for the patch.
Am 15.01.25 um 13:27 schrieb Jedrzej Jagielski:
E610 NICs unlike the previous devices utilising ixgbe driver
are notified in the case of overheat by the FW ACI event.
overheat*ing*
In event of overheat when treshhold is exceeded, FW suspends all
threshold
traffic and sends overtemp event to the driver. Then driver
loggs appropriate message and closes the adapter instance.
logs
The card remains in that state until the platform is rebooted.
How did you test this? Can you please paste the message?
Reviewed-by: Przemek Kitszel <[email protected]>
Signed-off-by: Jedrzej Jagielski <[email protected]>
---
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 5 +++++
drivers/net/ethernet/intel/ixgbe/ixgbe_type_e610.h | 3 +++
2 files changed, 8 insertions(+)
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
index 7236f20c9a30..5c804948dd1f 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
@@ -3165,6 +3165,7 @@ static void ixgbe_aci_event_cleanup(struct
ixgbe_aci_event *event)
static void ixgbe_handle_fw_event(struct ixgbe_adapter *adapter)
{
struct ixgbe_aci_event event __cleanup(ixgbe_aci_event_cleanup);
+ struct net_device *netdev = adapter->netdev;
struct ixgbe_hw *hw = &adapter->hw;
bool pending = false;
int err;
@@ -3185,6 +3186,10 @@ static void ixgbe_handle_fw_event(struct ixgbe_adapter
*adapter)
case ixgbe_aci_opc_get_link_status:
ixgbe_handle_link_status_event(adapter, &event);
break;
+ case ixgbe_aci_opc_temp_tca_event:
+ e_crit(drv, "%s\n", ixgbe_overheat_msg);
+ ixgbe_close(netdev);
+ break;
default:
e_warn(hw, "unknown FW async event captured\n");
break;
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_type_e610.h
b/drivers/net/ethernet/intel/ixgbe/ixgbe_type_e610.h
index 8d06ade3c7cd..617e07878e4f 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_type_e610.h
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_type_e610.h
@@ -171,6 +171,9 @@ enum ixgbe_aci_opc {
ixgbe_aci_opc_done_alt_write = 0x0904,
ixgbe_aci_opc_clear_port_alt_write = 0x0906,
+ /* TCA Events */
+ ixgbe_aci_opc_temp_tca_event = 0x0C94,
+
/* debug commands */
ixgbe_aci_opc_debug_dump_internals = 0xFF08,
Kind regards,
Paul