]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
arm64: dts: qcom: sc8280xp: Throttle the GPU when overheating
authorKonrad Dybcio <konrad.dybcio@linaro.org>
Fri, 10 May 2024 12:58:31 +0000 (14:58 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 3 Aug 2024 06:59:20 +0000 (08:59 +0200)
[ Upstream commit f7fd6d04c1046107a87a0fc883ed044cf8b877a1 ]

Add an 85C passive trip point with 1C of hysteresis to ensure the
thermal framework takes sufficient action to prevent reaching junction
temperature. Also, add passive polling to ensure more than one
temperature change event is recorded.

Fixes: 014bbc990e27 ("arm64: dts: qcom: sc8280xp: Introduce additional tsens instances")
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240510-topic-gpus_are_cool_now-v1-2-ababc269a438@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/arm64/boot/dts/qcom/sc8280xp.dtsi

index de554d5d02010b738b629b6a4d2b3eb2018c102a..b0b0ab77944666c83273acf9884fd8371a6e23b7 100644 (file)
                };
 
                gpu-thermal {
+                       polling-delay-passive = <250>;
+
                        thermal-sensors = <&tsens2 2>;
 
+                       cooling-maps {
+                               map0 {
+                                       trip = <&gpu_alert0>;
+                                       cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+                               };
+                       };
+
                        trips {
-                               gpu-crit {
+                               gpu_alert0: trip-point0 {
+                                       temperature = <85000>;
+                                       hysteresis = <1000>;
+                                       type = "passive";
+                               };
+
+                               trip-point1 {
                                        temperature = <110000>;
                                        hysteresis = <1000>;
                                        type = "critical";