Commit 0adc752b authored by Sanman Pradhan's avatar Sanman Pradhan Committed by Guenter Roeck
Browse files

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: bf3608f3 ("hwmon: peci: Add cputemp driver")
Cc: stable@vger.kernel.org
Signed-off-by: default avatarSanman Pradhan <psanman@juniper.net>
Link: https://lore.kernel.org/r/20260323002352.93417-2-sanman.pradhan@hpe.com


Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
parent 3075a395
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -51,8 +51,9 @@ temp1_max Provides thermal control temperature of the CPU package
temp1_crit		Provides shutdown temperature of the CPU package which
			is also known as the maximum processor junction
			temperature, Tjmax or Tprochot.
temp1_crit_hyst		Provides the hysteresis value from Tcontrol to Tjmax of
			the CPU package.
temp1_crit_hyst		Provides the hysteresis temperature of the CPU
			package. Returns Tcontrol, the temperature at which
			the critical condition clears.

temp2_label		"DTS"
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
			is also known as the maximum processor junction
			temperature, Tjmax or Tprochot.
temp2_crit_hyst		Provides the hysteresis value from Tcontrol to Tjmax of
			the CPU package.
temp2_crit_hyst		Provides the hysteresis temperature of the CPU
			package. Returns Tcontrol, the temperature at which
			the critical condition clears.

temp3_label		"Tcontrol"
temp3_input		Provides current Tcontrol temperature of the CPU
+1 −1
Original line number Diff line number Diff line
@@ -131,7 +131,7 @@ static int get_temp_target(struct peci_cputemp *priv, enum peci_temp_target_type
		*val = priv->temp.target.tjmax;
		break;
	case crit_hyst_type:
		*val = priv->temp.target.tjmax - priv->temp.target.tcontrol;
		*val = priv->temp.target.tcontrol;
		break;
	default:
		ret = -EOPNOTSUPP;