hwmon: (peci/cputemp) Fix crit_hyst returning delta instead of absolute temperature

The hwmon sysfs ABI expects tempN_crit_hyst to report the temperature at
which the critical condition clears, not the hysteresis delta from the
critical limit.

The peci cputemp driver currently returns tjmax - tcontrol for
crit_hyst_type, which is the hysteresis margin rather than the
corresponding absolute temperature.

Return tcontrol directly, and update the documentation accordingly.

Fixes: bf3608f338 ("hwmon: peci: Add cputemp driver")
Cc: stable@vger.kernel.org
Signed-off-by: Sanman Pradhan <psanman@juniper.net>
Link: https://lore.kernel.org/r/20260323002352.93417-2-sanman.pradhan@hpe.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
This commit is contained in:
Sanman Pradhan 2026-03-23 00:24:25 +00:00 committed by Guenter Roeck
parent 3075a3951f
commit 0adc752b4f
2 changed files with 7 additions and 5 deletions

View File

@ -51,8 +51,9 @@ temp1_max Provides thermal control temperature of the CPU package
temp1_crit Provides shutdown temperature of the CPU package which temp1_crit Provides shutdown temperature of the CPU package which
is also known as the maximum processor junction is also known as the maximum processor junction
temperature, Tjmax or Tprochot. temperature, Tjmax or Tprochot.
temp1_crit_hyst Provides the hysteresis value from Tcontrol to Tjmax of temp1_crit_hyst Provides the hysteresis temperature of the CPU
the CPU package. package. Returns Tcontrol, the temperature at which
the critical condition clears.
temp2_label "DTS" temp2_label "DTS"
temp2_input Provides current temperature of the CPU package scaled temp2_input Provides current temperature of the CPU package scaled
@ -62,8 +63,9 @@ temp2_max Provides thermal control temperature of the CPU package
temp2_crit Provides shutdown temperature of the CPU package which temp2_crit Provides shutdown temperature of the CPU package which
is also known as the maximum processor junction is also known as the maximum processor junction
temperature, Tjmax or Tprochot. temperature, Tjmax or Tprochot.
temp2_crit_hyst Provides the hysteresis value from Tcontrol to Tjmax of temp2_crit_hyst Provides the hysteresis temperature of the CPU
the CPU package. package. Returns Tcontrol, the temperature at which
the critical condition clears.
temp3_label "Tcontrol" temp3_label "Tcontrol"
temp3_input Provides current Tcontrol temperature of the CPU temp3_input Provides current Tcontrol temperature of the CPU

View File

@ -131,7 +131,7 @@ static int get_temp_target(struct peci_cputemp *priv, enum peci_temp_target_type
*val = priv->temp.target.tjmax; *val = priv->temp.target.tjmax;
break; break;
case crit_hyst_type: case crit_hyst_type:
*val = priv->temp.target.tjmax - priv->temp.target.tcontrol; *val = priv->temp.target.tcontrol;
break; break;
default: default:
ret = -EOPNOTSUPP; ret = -EOPNOTSUPP;