On Sun, Oct 11, 2026 at 06:52:37AM +0200, Rob Peters wrote:
> The E810 firmware reports the internal chip temperature, together with
> its warning, critical and fatal thresholds, through the admin queue
> command "Get Sensor Reading" (0x0632). The base code already provides
> ice_aq_get_sensor_reading() and parses the sensor capability into
> hw->dev_caps.supported_sensors, but the PMD never calls it, so an
> application that drives the port through vfio-pci cannot see the chip
> temperature. The Linux kernel ice driver exposes the same reading
> through hwmon.
> 
> Add four extended statistics, in whole degrees Celsius, when the
> firmware announces the internal temperature sensor:
> chip_temperature_celsius, chip_temperature_warning_celsius,
> chip_temperature_critical_celsius and chip_temperature_fatal_celsius.
> 
> The command is sent only from the xstats_get callback, never in the
> data path, and the result is kept for one second so that frequent
> polling does not load the firmware. If the command fails, the values
> are 0 and the error is logged at debug level. Firmware without the
> sensor capability does not report these statistics.
> 
> Unlike the kernel driver, which registers the sensor on PF 0 only, every
> PF reports it, since a DPDK application may own only some ports of a
> device.
> 
> Signed-off-by: Rob Peters <[email protected]>
> ---
> 
> Notes:
>     Tested with dpdk-testpmd "show port xstats" on an E810-XXV (firmware
>     4.30 0x8001af27 1.3429.0, DDP 1.3.43.0): 69-70 C, thresholds 95/105/115.
>     Earlier the same day, on the same card, the kernel ice hwmon and the same
>     admin queue command sent from a DPDK application both read 78 C.
>     
>     Not tested: firmware without the sensor capability, E830.
>     

I tested on both E810 and E830 and both report temperature values to me. 

>     No PMD reports a temperature in xstats yet, so the names follow the
>     ethdev naming scheme with the unit last. I am happy to rename them if
>     another convention is preferred.
>     
>     The patch is based on dpdk-next-net-intel; on main only the release
>     notes context differs.
> 
>  .mailmap                               |  1 +
>  doc/guides/nics/ice.rst                | 22 +++++++
>  doc/guides/rel_notes/release_26_11.rst |  1 +
>  drivers/net/intel/ice/ice_ethdev.c     | 87 ++++++++++++++++++++++++--
>  drivers/net/intel/ice/ice_ethdev.h     | 10 +++
>  5 files changed, 117 insertions(+), 4 deletions(-)
>

Acked-by: Bruce Richardson <[email protected]>

Patch applied to dpdk-next-net-intel.
Thanks,
/Bruce

Reply via email to