[PATCH] thermal/drivers/tegra/soctherm: Program throttrip with hot trip temperature
From: Patrick Fischer via B4 Relay
Date: Tue Oct 20 2026 - 15:18:57 EST
From: Patrick Fischer <admin@xxxxxxxxxxxxxxxxxx>
tegra_soctherm_set_hwtrips() is supposed to program the hardware
throttle trip (throttrip) with the temperature of the thermal zone's
hot trip point. Since commit 735a968d2fea ("thermal/drivers/tegra: Use
generic thermal_zone_get_trip() function"), get_hot_temp() only looks
up the hot trip and no longer stores its temperature, and the later
conversion to get_hot_trip() kept that behaviour. throttrip_program()
is therefore called with the value still left in 'temperature', which
is the thermtrip or critical temperature that was just used for
thermtrip_program().
As a result, hardware throttling only starts at the shutdown
temperature instead of at the hot trip. On the NVIDIA Tegra Note 7
(P1640, Tegra114), where tegra114.dtsi defines the hot trips at 100 C
and the critical trips at 102 C, soctherm reports:
throttrip: will throttle when cpu reaches 102000 mC
instead of 100000 mC. Svyatoslav Ryhel observed the same on the ASUS
Transformer Pad TF701T (Tegra114) and the Xiaomi Mi Pad (Tegra124).
All boards using soctherm with a hot trip bound to a throttle cooling
device are affected.
Use the temperature of the hot trip for throttrip_program() again.
Fixes: 735a968d2fea ("thermal/drivers/tegra: Use generic thermal_zone_get_trip() function")
Cc: stable@xxxxxxxxxxxxxxx
Assisted-by: LLM
Tested-by: Svyatoslav Ryhel <clamor95@xxxxxxxxx>
Signed-off-by: Patrick Fischer <admin@xxxxxxxxxxxxxxxxxx>
---
drivers/thermal/tegra/soctherm.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/thermal/tegra/soctherm.c b/drivers/thermal/tegra/soctherm.c
index f74acf13b24d..903215502606 100644
--- a/drivers/thermal/tegra/soctherm.c
+++ b/drivers/thermal/tegra/soctherm.c
@@ -765,6 +765,8 @@ static int tegra_soctherm_set_hwtrips(struct device *dev,
return 0;
}
+ temperature = hot_trip->temperature;
+
for (i = 0; i < THROTTLE_OC1; i++) {
struct thermal_cooling_device *cdev;
---
base-commit: f47d223627f80cb7a1eb14c585fe6cb35de5e984
change-id: 20261020-upstream-soctherm-throttrip-ad6965977b6c
Best regards,
--
Patrick Fischer <admin@xxxxxxxxxxxxxxxxxx>