From: Paul Menzel <[email protected]> Sent: Wednesday, January 15, 2025 2:40 PM >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
Hello Paul, thank you for the review. Next patch revision will incorporate all commit msg tweaks. > >> The card remains in that state until the platform is rebooted. > >How did you test this? Can you please paste the message? This was tested by forcing the card (by the xternal source of heat) to reach temperature exceeding the treshold. > >> 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
