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

Reply via email to