]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
arm64: dts: qcom: sm8650: harmonize all unregulated thermal trip points
authorNeil Armstrong <neil.armstrong@linaro.org>
Mon, 3 Feb 2025 13:23:19 +0000 (14:23 +0100)
committerBjorn Andersson <andersson@kernel.org>
Wed, 26 Feb 2025 02:57:25 +0000 (20:57 -0600)
While the CPUs thermal is handled by the LMH, and GPU has a passive
cooldowm via the HLOS DCVS, all the other thermal blocks only have
hot and critical and no passive/active trip points.

Passive or active thermal management for those blocks should
be either defined if somehow we can express those in DT or
in the board definition if there's an active cooling device
available.

The tsens MAX_THRESHOLD is set to 120C on those platforms, so set
the hot to 110C to leave a chance to HLOS to react and critical to
115C to avoid the monitor thermal shutdown.

In the case a passive or active cooling device would be
available, the downstream reference implementation uses
the 95C "tj" trip point, as we already use for the
gpuss thermal blocks.

Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20250203-topic-sm8650-thermal-cpu-idle-v4-3-65e35f307301@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/sm8650.dtsi

index ce54f4497b3cb5a08dee3e1fa5d5d2a8b9f7913e..8926c90c131a1675f61c221fbcda1ffda01d8cde 100644 (file)
                        thermal-sensors = <&tsens0 0>;
 
                        trips {
-                               trip-point0 {
-                                       temperature = <90000>;
-                                       hysteresis = <2000>;
+                               aoss0-hot {
+                                       temperature = <110000>;
+                                       hysteresis = <1000>;
                                        type = "hot";
                                };
 
                                aoss0-critical {
-                                       temperature = <110000>;
+                                       temperature = <115000>;
                                        hysteresis = <0>;
                                        type = "critical";
                                };
                        thermal-sensors = <&tsens0 1>;
 
                        trips {
-                               trip-point0 {
-                                       temperature = <90000>;
-                                       hysteresis = <2000>;
+                               cpuss0-hot {
+                                       temperature = <110000>;
+                                       hysteresis = <1000>;
                                        type = "hot";
                                };
 
                                cpuss0-critical {
-                                       temperature = <110000>;
+                                       temperature = <115000>;
                                        hysteresis = <0>;
                                        type = "critical";
                                };
                        thermal-sensors = <&tsens0 2>;
 
                        trips {
-                               trip-point0 {
-                                       temperature = <90000>;
-                                       hysteresis = <2000>;
+                               cpuss1-hot {
+                                       temperature = <110000>;
+                                       hysteresis = <1000>;
                                        type = "hot";
                                };
 
                                cpuss1-critical {
-                                       temperature = <110000>;
+                                       temperature = <115000>;
                                        hysteresis = <0>;
                                        type = "critical";
                                };
                        thermal-sensors = <&tsens0 3>;
 
                        trips {
-                               trip-point0 {
-                                       temperature = <90000>;
-                                       hysteresis = <2000>;
+                               cpuss2-hot {
+                                       temperature = <110000>;
+                                       hysteresis = <1000>;
                                        type = "hot";
                                };
 
                                cpuss2-critical {
-                                       temperature = <110000>;
+                                       temperature = <115000>;
                                        hysteresis = <0>;
                                        type = "critical";
                                };
                        thermal-sensors = <&tsens0 4>;
 
                        trips {
-                               trip-point0 {
-                                       temperature = <90000>;
-                                       hysteresis = <2000>;
+                               cpuss3-hot {
+                                       temperature = <110000>;
+                                       hysteresis = <1000>;
                                        type = "hot";
                                };
 
                                cpuss3-critical {
-                                       temperature = <110000>;
+                                       temperature = <115000>;
                                        hysteresis = <0>;
                                        type = "critical";
                                };
                        thermal-sensors = <&tsens1 0>;
 
                        trips {
-                               trip-point0 {
-                                       temperature = <90000>;
-                                       hysteresis = <2000>;
+                               aoss1-hot {
+                                       temperature = <110000>;
+                                       hysteresis = <1000>;
                                        type = "hot";
                                };
 
                                aoss1-critical {
-                                       temperature = <110000>;
+                                       temperature = <115000>;
                                        hysteresis = <0>;
                                        type = "critical";
                                };
                        thermal-sensors = <&tsens2 6>;
 
                        trips {
-                               trip-point0 {
-                                       temperature = <90000>;
-                                       hysteresis = <2000>;
+                               nsphvx0-hot {
+                                       temperature = <110000>;
+                                       hysteresis = <1000>;
                                        type = "hot";
                                };
 
-                               nsphvx1-critical {
-                                       temperature = <110000>;
+                               nsphvx0-critical {
+                                       temperature = <115000>;
                                        hysteresis = <0>;
                                        type = "critical";
                                };
                        thermal-sensors = <&tsens2 7>;
 
                        trips {
-                               trip-point0 {
-                                       temperature = <90000>;
-                                       hysteresis = <2000>;
+                               nsphvx1-hot {
+                                       temperature = <110000>;
+                                       hysteresis = <1000>;
                                        type = "hot";
                                };
 
                                nsphvx1-critical {
-                                       temperature = <110000>;
+                                       temperature = <115000>;
                                        hysteresis = <0>;
                                        type = "critical";
                                };
                        thermal-sensors = <&tsens2 8>;
 
                        trips {
-                               trip-point0 {
-                                       temperature = <90000>;
-                                       hysteresis = <2000>;
+                               nsphmx0-hot {
+                                       temperature = <110000>;
+                                       hysteresis = <1000>;
                                        type = "hot";
                                };
 
                                nsphmx0-critical {
-                                       temperature = <110000>;
+                                       temperature = <115000>;
                                        hysteresis = <0>;
                                        type = "critical";
                                };
                        thermal-sensors = <&tsens2 9>;
 
                        trips {
-                               trip-point0 {
-                                       temperature = <90000>;
-                                       hysteresis = <2000>;
+                               nsphmx1-hot {
+                                       temperature = <110000>;
+                                       hysteresis = <1000>;
                                        type = "hot";
                                };
 
                                nsphmx1-critical {
-                                       temperature = <110000>;
+                                       temperature = <115000>;
                                        hysteresis = <0>;
                                        type = "critical";
                                };
                        thermal-sensors = <&tsens2 10>;
 
                        trips {
-                               trip-point0 {
-                                       temperature = <90000>;
-                                       hysteresis = <2000>;
+                               nsphmx2-hot {
+                                       temperature = <110000>;
+                                       hysteresis = <1000>;
                                        type = "hot";
                                };
 
                                nsphmx2-critical {
-                                       temperature = <110000>;
+                                       temperature = <115000>;
                                        hysteresis = <0>;
                                        type = "critical";
                                };
                        thermal-sensors = <&tsens2 11>;
 
                        trips {
-                               trip-point0 {
-                                       temperature = <90000>;
-                                       hysteresis = <2000>;
+                               nsphmx3-hot {
+                                       temperature = <110000>;
+                                       hysteresis = <1000>;
                                        type = "hot";
                                };
 
                                nsphmx3-critical {
-                                       temperature = <110000>;
+                                       temperature = <115000>;
                                        hysteresis = <0>;
                                        type = "critical";
                                };
                        thermal-sensors = <&tsens1 12>;
 
                        trips {
-                               trip-point0 {
-                                       temperature = <90000>;
-                                       hysteresis = <2000>;
+                               video-hot {
+                                       temperature = <110000>;
+                                       hysteresis = <1000>;
                                        type = "hot";
                                };
 
                                video-critical {
-                                       temperature = <110000>;
+                                       temperature = <115000>;
                                        hysteresis = <0>;
                                        type = "critical";
                                };
                        thermal-sensors = <&tsens1 13>;
 
                        trips {
-                               trip-point0 {
-                                       temperature = <90000>;
-                                       hysteresis = <2000>;
+                               ddr-hot {
+                                       temperature = <110000>;
+                                       hysteresis = <1000>;
                                        type = "hot";
                                };
 
                                ddr-critical {
-                                       temperature = <110000>;
+                                       temperature = <115000>;
                                        hysteresis = <0>;
                                        type = "critical";
                                };
                        thermal-sensors = <&tsens1 14>;
 
                        trips {
-                               trip-point0 {
-                                       temperature = <90000>;
-                                       hysteresis = <2000>;
+                               camera0-hot {
+                                       temperature = <110000>;
+                                       hysteresis = <1000>;
                                        type = "hot";
                                };
 
                                camera0-critical {
-                                       temperature = <110000>;
+                                       temperature = <115000>;
                                        hysteresis = <0>;
                                        type = "critical";
                                };
                        thermal-sensors = <&tsens1 15>;
 
                        trips {
-                               trip-point0 {
-                                       temperature = <90000>;
-                                       hysteresis = <2000>;
+                               camera1-hot {
+                                       temperature = <110000>;
+                                       hysteresis = <1000>;
                                        type = "hot";
                                };
 
                                camera1-critical {
-                                       temperature = <110000>;
+                                       temperature = <115000>;
                                        hysteresis = <0>;
                                        type = "critical";
                                };
                        thermal-sensors = <&tsens2 0>;
 
                        trips {
-                               trip-point0 {
-                                       temperature = <90000>;
-                                       hysteresis = <2000>;
+                               aoss2-hot {
+                                       temperature = <110000>;
+                                       hysteresis = <1000>;
                                        type = "hot";
                                };
 
                                aoss2-critical {
-                                       temperature = <110000>;
+                                       temperature = <115000>;
                                        hysteresis = <0>;
                                        type = "critical";
                                };
                        thermal-sensors = <&tsens2 9>;
 
                        trips {
-                               trip-point0 {
-                                       temperature = <90000>;
-                                       hysteresis = <2000>;
+                               modem0-hot {
+                                       temperature = <110000>;
+                                       hysteresis = <1000>;
                                        type = "hot";
                                };
 
                                modem0-critical {
-                                       temperature = <110000>;
+                                       temperature = <115000>;
                                        hysteresis = <0>;
                                        type = "critical";
                                };
                        thermal-sensors = <&tsens2 10>;
 
                        trips {
-                               trip-point0 {
-                                       temperature = <90000>;
-                                       hysteresis = <2000>;
+                               modem1-hot {
+                                       temperature = <110000>;
+                                       hysteresis = <1000>;
                                        type = "hot";
                                };
 
                                modem1-critical {
-                                       temperature = <110000>;
+                                       temperature = <115000>;
                                        hysteresis = <0>;
                                        type = "critical";
                                };
                        thermal-sensors = <&tsens2 11>;
 
                        trips {
-                               trip-point0 {
-                                       temperature = <90000>;
-                                       hysteresis = <2000>;
+                               modem2-hot {
+                                       temperature = <110000>;
+                                       hysteresis = <1000>;
                                        type = "hot";
                                };
 
                                modem2-critical {
-                                       temperature = <110000>;
+                                       temperature = <115000>;
                                        hysteresis = <0>;
                                        type = "critical";
                                };
                        thermal-sensors = <&tsens2 12>;
 
                        trips {
-                               trip-point0 {
-                                       temperature = <90000>;
-                                       hysteresis = <2000>;
+                               modem3-hot {
+                                       temperature = <110000>;
+                                       hysteresis = <1000>;
                                        type = "hot";
                                };
 
                                modem3-critical {
-                                       temperature = <110000>;
+                                       temperature = <115000>;
                                        hysteresis = <0>;
                                        type = "critical";
                                };