]> Gentwo Git Trees - linux/.git/commitdiff
arm64: dts: qcom: sm8650: drop cpu thermal passive trip points
authorNeil Armstrong <neil.armstrong@linaro.org>
Mon, 3 Feb 2025 13:23:17 +0000 (14:23 +0100)
committerBjorn Andersson <andersson@kernel.org>
Wed, 26 Feb 2025 02:57:04 +0000 (20:57 -0600)
On the SM8650, the dynamic clock and voltage scaling (DCVS) is done in an
hardware controlled loop using the LMH and EPSS blocks with constraints and
OPPs programmed in the board firmware.

Since the Hardware does a better job at maintaining the CPUs temperature
in an acceptable range by taking in account more parameters like the die
characteristics or other factory fused values, it makes no sense to try
and reproduce a similar set of constraints with the Linux cpufreq thermal
core.

In addition, the tsens IP is responsible for monitoring the temperature
across the SoC and the current settings will heavily trigger the tsens
UP/LOW interrupts if the CPU temperatures reaches the hardware thermal
constraints which are currently defined in the DT. And since the CPUs
are not hooked in the thermal trip points, the potential interrupts and
calculations are a waste of system resources.

Drop the current passive trip points and only leave the critical trip
point that will trigger a software system reboot before an hardware
thermal shutdown in the allmost impossible case the hardware DCVS cannot
handle the temperature surge.

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

index 09cc884f0969432c53671e804ec6a3f7643fc0a9..e65380fb5fe6d1e42e18ef530059f24a5b0ac53f 100644 (file)
@@ -6876,18 +6876,6 @@ cpu2-top-thermal {
                        thermal-sensors = <&tsens0 5>;
 
                        trips {
-                               trip-point0 {
-                                       temperature = <90000>;
-                                       hysteresis = <2000>;
-                                       type = "passive";
-                               };
-
-                               trip-point1 {
-                                       temperature = <95000>;
-                                       hysteresis = <2000>;
-                                       type = "passive";
-                               };
-
                                cpu2-critical {
                                        temperature = <110000>;
                                        hysteresis = <1000>;
@@ -6900,18 +6888,6 @@ cpu2-bottom-thermal {
                        thermal-sensors = <&tsens0 6>;
 
                        trips {
-                               trip-point0 {
-                                       temperature = <90000>;
-                                       hysteresis = <2000>;
-                                       type = "passive";
-                               };
-
-                               trip-point1 {
-                                       temperature = <95000>;
-                                       hysteresis = <2000>;
-                                       type = "passive";
-                               };
-
                                cpu2-critical {
                                        temperature = <110000>;
                                        hysteresis = <1000>;
@@ -6924,18 +6900,6 @@ cpu3-top-thermal {
                        thermal-sensors = <&tsens0 7>;
 
                        trips {
-                               trip-point0 {
-                                       temperature = <90000>;
-                                       hysteresis = <2000>;
-                                       type = "passive";
-                               };
-
-                               trip-point1 {
-                                       temperature = <95000>;
-                                       hysteresis = <2000>;
-                                       type = "passive";
-                               };
-
                                cpu3-critical {
                                        temperature = <110000>;
                                        hysteresis = <1000>;
@@ -6948,18 +6912,6 @@ cpu3-bottom-thermal {
                        thermal-sensors = <&tsens0 8>;
 
                        trips {
-                               trip-point0 {
-                                       temperature = <90000>;
-                                       hysteresis = <2000>;
-                                       type = "passive";
-                               };
-
-                               trip-point1 {
-                                       temperature = <95000>;
-                                       hysteresis = <2000>;
-                                       type = "passive";
-                               };
-
                                cpu3-critical {
                                        temperature = <110000>;
                                        hysteresis = <1000>;
@@ -6972,18 +6924,6 @@ cpu4-top-thermal {
                        thermal-sensors = <&tsens0 9>;
 
                        trips {
-                               trip-point0 {
-                                       temperature = <90000>;
-                                       hysteresis = <2000>;
-                                       type = "passive";
-                               };
-
-                               trip-point1 {
-                                       temperature = <95000>;
-                                       hysteresis = <2000>;
-                                       type = "passive";
-                               };
-
                                cpu4-critical {
                                        temperature = <110000>;
                                        hysteresis = <1000>;
@@ -6996,18 +6936,6 @@ cpu4-bottom-thermal {
                        thermal-sensors = <&tsens0 10>;
 
                        trips {
-                               trip-point0 {
-                                       temperature = <90000>;
-                                       hysteresis = <2000>;
-                                       type = "passive";
-                               };
-
-                               trip-point1 {
-                                       temperature = <95000>;
-                                       hysteresis = <2000>;
-                                       type = "passive";
-                               };
-
                                cpu4-critical {
                                        temperature = <110000>;
                                        hysteresis = <1000>;
@@ -7020,18 +6948,6 @@ cpu5-top-thermal {
                        thermal-sensors = <&tsens0 11>;
 
                        trips {
-                               trip-point0 {
-                                       temperature = <90000>;
-                                       hysteresis = <2000>;
-                                       type = "passive";
-                               };
-
-                               trip-point1 {
-                                       temperature = <95000>;
-                                       hysteresis = <2000>;
-                                       type = "passive";
-                               };
-
                                cpu5-critical {
                                        temperature = <110000>;
                                        hysteresis = <1000>;
@@ -7044,18 +6960,6 @@ cpu5-bottom-thermal {
                        thermal-sensors = <&tsens0 12>;
 
                        trips {
-                               trip-point0 {
-                                       temperature = <90000>;
-                                       hysteresis = <2000>;
-                                       type = "passive";
-                               };
-
-                               trip-point1 {
-                                       temperature = <95000>;
-                                       hysteresis = <2000>;
-                                       type = "passive";
-                               };
-
                                cpu5-critical {
                                        temperature = <110000>;
                                        hysteresis = <1000>;
@@ -7068,18 +6972,6 @@ cpu6-top-thermal {
                        thermal-sensors = <&tsens0 13>;
 
                        trips {
-                               trip-point0 {
-                                       temperature = <90000>;
-                                       hysteresis = <2000>;
-                                       type = "passive";
-                               };
-
-                               trip-point1 {
-                                       temperature = <95000>;
-                                       hysteresis = <2000>;
-                                       type = "passive";
-                               };
-
                                cpu6-critical {
                                        temperature = <110000>;
                                        hysteresis = <1000>;
@@ -7092,18 +6984,6 @@ cpu6-bottom-thermal {
                        thermal-sensors = <&tsens0 14>;
 
                        trips {
-                               trip-point0 {
-                                       temperature = <90000>;
-                                       hysteresis = <2000>;
-                                       type = "passive";
-                               };
-
-                               trip-point1 {
-                                       temperature = <95000>;
-                                       hysteresis = <2000>;
-                                       type = "passive";
-                               };
-
                                cpu6-critical {
                                        temperature = <110000>;
                                        hysteresis = <1000>;
@@ -7134,18 +7014,6 @@ cpu7-top-thermal {
                        thermal-sensors = <&tsens1 1>;
 
                        trips {
-                               trip-point0 {
-                                       temperature = <90000>;
-                                       hysteresis = <2000>;
-                                       type = "passive";
-                               };
-
-                               trip-point1 {
-                                       temperature = <95000>;
-                                       hysteresis = <2000>;
-                                       type = "passive";
-                               };
-
                                cpu7-critical {
                                        temperature = <110000>;
                                        hysteresis = <1000>;
@@ -7158,18 +7026,6 @@ cpu7-middle-thermal {
                        thermal-sensors = <&tsens1 2>;
 
                        trips {
-                               trip-point0 {
-                                       temperature = <90000>;
-                                       hysteresis = <2000>;
-                                       type = "passive";
-                               };
-
-                               trip-point1 {
-                                       temperature = <95000>;
-                                       hysteresis = <2000>;
-                                       type = "passive";
-                               };
-
                                cpu7-critical {
                                        temperature = <110000>;
                                        hysteresis = <1000>;
@@ -7182,18 +7038,6 @@ cpu7-bottom-thermal {
                        thermal-sensors = <&tsens1 3>;
 
                        trips {
-                               trip-point0 {
-                                       temperature = <90000>;
-                                       hysteresis = <2000>;
-                                       type = "passive";
-                               };
-
-                               trip-point1 {
-                                       temperature = <95000>;
-                                       hysteresis = <2000>;
-                                       type = "passive";
-                               };
-
                                cpu7-critical {
                                        temperature = <110000>;
                                        hysteresis = <1000>;
@@ -7206,18 +7050,6 @@ cpu0-thermal {
                        thermal-sensors = <&tsens1 4>;
 
                        trips {
-                               trip-point0 {
-                                       temperature = <90000>;
-                                       hysteresis = <2000>;
-                                       type = "passive";
-                               };
-
-                               trip-point1 {
-                                       temperature = <95000>;
-                                       hysteresis = <2000>;
-                                       type = "passive";
-                               };
-
                                cpu0-critical {
                                        temperature = <110000>;
                                        hysteresis = <1000>;
@@ -7230,18 +7062,6 @@ cpu1-thermal {
                        thermal-sensors = <&tsens1 5>;
 
                        trips {
-                               trip-point0 {
-                                       temperature = <90000>;
-                                       hysteresis = <2000>;
-                                       type = "passive";
-                               };
-
-                               trip-point1 {
-                                       temperature = <95000>;
-                                       hysteresis = <2000>;
-                                       type = "passive";
-                               };
-
                                cpu1-critical {
                                        temperature = <110000>;
                                        hysteresis = <1000>;