Re: [PATCH] arm64: dts: qcom: sm8650: harmonize all unregulated thermal trip points

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On 29/01/2025 11:40, Neil Armstrong wrote:
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.

Cleanup the trip points names and adjust the temperatures to
the downstream reference implementation where the following
trip points are defined:
- "reset-mon" to 115C
- "thermal-engine" to 125C
where we can map them to hot and critical trip points.

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.

As I was told, the tsens MAX_THRESHOLD which leads to a system
monitor thermal shutdown is set at 120C, so I need to update this
patch accordingly.

Neil


Signed-off-by: Neil Armstrong <neil.armstrong@xxxxxxxxxx>
---
Depends on:
- https://lore.kernel.org/all/20250129-topic-sm8650-thermal-cpu-idle-v3-0-62ab1a64098d@xxxxxxxxxx/
---
  arch/arm64/boot/dts/qcom/sm8650.dtsi | 170 +++++++++++++++++------------------
  1 file changed, 85 insertions(+), 85 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/sm8650.dtsi b/arch/arm64/boot/dts/qcom/sm8650.dtsi
index 3ec3a65ddd612e83cab6a1f574813aed2e99b4cf..0dd81aad8c5b6e710b31f489205444b154d898be 100644
--- a/arch/arm64/boot/dts/qcom/sm8650.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8650.dtsi
@@ -5843,14 +5843,14 @@ aoss0-thermal {
  			thermal-sensors = <&tsens0 0>;
trips {
-				trip-point0 {
-					temperature = <90000>;
-					hysteresis = <2000>;
+				aoss0-hot {
+					temperature = <115000>;
+					hysteresis = <5000>;
  					type = "hot";
  				};
aoss0-critical {
-					temperature = <110000>;
+					temperature = <125000>;
  					hysteresis = <0>;
  					type = "critical";
  				};
@@ -5861,14 +5861,14 @@ cpuss0-thermal {
  			thermal-sensors = <&tsens0 1>;
trips {
-				trip-point0 {
-					temperature = <90000>;
-					hysteresis = <2000>;
+				cpuss0-hot {
+					temperature = <115000>;
+					hysteresis = <5000>;
  					type = "hot";
  				};
cpuss0-critical {
-					temperature = <110000>;
+					temperature = <125000>;
  					hysteresis = <0>;
  					type = "critical";
  				};
@@ -5879,14 +5879,14 @@ cpuss1-thermal {
  			thermal-sensors = <&tsens0 2>;
trips {
-				trip-point0 {
-					temperature = <90000>;
-					hysteresis = <2000>;
+				cpuss1-hot {
+					temperature = <115000>;
+					hysteresis = <5000>;
  					type = "hot";
  				};
cpuss1-critical {
-					temperature = <110000>;
+					temperature = <125000>;
  					hysteresis = <0>;
  					type = "critical";
  				};
@@ -5897,14 +5897,14 @@ cpuss2-thermal {
  			thermal-sensors = <&tsens0 3>;
trips {
-				trip-point0 {
-					temperature = <90000>;
-					hysteresis = <2000>;
+				cpuss2-hot {
+					temperature = <115000>;
+					hysteresis = <5000>;
  					type = "hot";
  				};
cpuss2-critical {
-					temperature = <110000>;
+					temperature = <125000>;
  					hysteresis = <0>;
  					type = "critical";
  				};
@@ -5915,14 +5915,14 @@ cpuss3-thermal {
  			thermal-sensors = <&tsens0 4>;
trips {
-				trip-point0 {
-					temperature = <90000>;
-					hysteresis = <2000>;
+				cpuss3-hot {
+					temperature = <115000>;
+					hysteresis = <5000>;
  					type = "hot";
  				};
cpuss3-critical {
-					temperature = <110000>;
+					temperature = <125000>;
  					hysteresis = <0>;
  					type = "critical";
  				};
@@ -6053,14 +6053,14 @@ aoss1-thermal {
  			thermal-sensors = <&tsens1 0>;
trips {
-				trip-point0 {
-					temperature = <90000>;
-					hysteresis = <2000>;
+				aoss1-hot {
+					temperature = <115000>;
+					hysteresis = <5000>;
  					type = "hot";
  				};
aoss1-critical {
-					temperature = <110000>;
+					temperature = <125000>;
  					hysteresis = <0>;
  					type = "critical";
  				};
@@ -6133,14 +6133,14 @@ nsphvx0-thermal {
  			thermal-sensors = <&tsens2 6>;
trips {
-				trip-point0 {
-					temperature = <90000>;
-					hysteresis = <2000>;
+				nsphvx0-hot {
+					temperature = <115000>;
+					hysteresis = <5000>;
  					type = "hot";
  				};
- nsphvx1-critical {
-					temperature = <110000>;
+				nsphvx0-critical {
+					temperature = <125000>;
  					hysteresis = <0>;
  					type = "critical";
  				};
@@ -6153,14 +6153,14 @@ nsphvx1-thermal {
  			thermal-sensors = <&tsens2 7>;
trips {
-				trip-point0 {
-					temperature = <90000>;
-					hysteresis = <2000>;
+				nsphvx1-hot {
+					temperature = <115000>;
+					hysteresis = <5000>;
  					type = "hot";
  				};
nsphvx1-critical {
-					temperature = <110000>;
+					temperature = <125000>;
  					hysteresis = <0>;
  					type = "critical";
  				};
@@ -6173,14 +6173,14 @@ nsphmx0-thermal {
  			thermal-sensors = <&tsens2 8>;
trips {
-				trip-point0 {
-					temperature = <90000>;
-					hysteresis = <2000>;
+				nsphmx0-hot {
+					temperature = <115000>;
+					hysteresis = <5000>;
  					type = "hot";
  				};
nsphmx0-critical {
-					temperature = <110000>;
+					temperature = <125000>;
  					hysteresis = <0>;
  					type = "critical";
  				};
@@ -6193,14 +6193,14 @@ nsphmx1-thermal {
  			thermal-sensors = <&tsens2 9>;
trips {
-				trip-point0 {
-					temperature = <90000>;
-					hysteresis = <2000>;
+				nsphmx1-hot {
+					temperature = <115000>;
+					hysteresis = <5000>;
  					type = "hot";
  				};
nsphmx1-critical {
-					temperature = <110000>;
+					temperature = <125000>;
  					hysteresis = <0>;
  					type = "critical";
  				};
@@ -6213,14 +6213,14 @@ nsphmx2-thermal {
  			thermal-sensors = <&tsens2 10>;
trips {
-				trip-point0 {
-					temperature = <90000>;
-					hysteresis = <2000>;
+				nsphmx2-hot {
+					temperature = <115000>;
+					hysteresis = <5000>;
  					type = "hot";
  				};
nsphmx2-critical {
-					temperature = <110000>;
+					temperature = <125000>;
  					hysteresis = <0>;
  					type = "critical";
  				};
@@ -6233,14 +6233,14 @@ nsphmx3-thermal {
  			thermal-sensors = <&tsens2 11>;
trips {
-				trip-point0 {
-					temperature = <90000>;
-					hysteresis = <2000>;
+				nsphmx3-hot {
+					temperature = <115000>;
+					hysteresis = <5000>;
  					type = "hot";
  				};
nsphmx3-critical {
-					temperature = <110000>;
+					temperature = <125000>;
  					hysteresis = <0>;
  					type = "critical";
  				};
@@ -6253,14 +6253,14 @@ video-thermal {
  			thermal-sensors = <&tsens1 12>;
trips {
-				trip-point0 {
-					temperature = <90000>;
-					hysteresis = <2000>;
+				video-hot {
+					temperature = <115000>;
+					hysteresis = <5000>;
  					type = "hot";
  				};
video-critical {
-					temperature = <110000>;
+					temperature = <125000>;
  					hysteresis = <0>;
  					type = "critical";
  				};
@@ -6273,14 +6273,14 @@ ddr-thermal {
  			thermal-sensors = <&tsens1 13>;
trips {
-				trip-point0 {
-					temperature = <90000>;
-					hysteresis = <2000>;
+				ddr-hot {
+					temperature = <115000>;
+					hysteresis = <5000>;
  					type = "hot";
  				};
ddr-critical {
-					temperature = <110000>;
+					temperature = <125000>;
  					hysteresis = <0>;
  					type = "critical";
  				};
@@ -6291,14 +6291,14 @@ camera0-thermal {
  			thermal-sensors = <&tsens1 14>;
trips {
-				trip-point0 {
-					temperature = <90000>;
-					hysteresis = <2000>;
+				camera0-hot {
+					temperature = <115000>;
+					hysteresis = <5000>;
  					type = "hot";
  				};
camera0-critical {
-					temperature = <110000>;
+					temperature = <125000>;
  					hysteresis = <0>;
  					type = "critical";
  				};
@@ -6309,14 +6309,14 @@ camera1-thermal {
  			thermal-sensors = <&tsens1 15>;
trips {
-				trip-point0 {
-					temperature = <90000>;
-					hysteresis = <2000>;
+				camera1-hot {
+					temperature = <115000>;
+					hysteresis = <5000>;
  					type = "hot";
  				};
camera1-critical {
-					temperature = <110000>;
+					temperature = <125000>;
  					hysteresis = <0>;
  					type = "critical";
  				};
@@ -6327,14 +6327,14 @@ aoss2-thermal {
  			thermal-sensors = <&tsens2 0>;
trips {
-				trip-point0 {
-					temperature = <90000>;
-					hysteresis = <2000>;
+				aoss2-hot {
+					temperature = <115000>;
+					hysteresis = <5000>;
  					type = "hot";
  				};
aoss2-critical {
-					temperature = <110000>;
+					temperature = <125000>;
  					hysteresis = <0>;
  					type = "critical";
  				};
@@ -6609,14 +6609,14 @@ modem0-thermal {
  			thermal-sensors = <&tsens2 9>;
trips {
-				trip-point0 {
-					temperature = <90000>;
-					hysteresis = <2000>;
+				modem0-hot {
+					temperature = <115000>;
+					hysteresis = <5000>;
  					type = "hot";
  				};
modem0-critical {
-					temperature = <110000>;
+					temperature = <125000>;
  					hysteresis = <0>;
  					type = "critical";
  				};
@@ -6627,14 +6627,14 @@ modem1-thermal {
  			thermal-sensors = <&tsens2 10>;
trips {
-				trip-point0 {
-					temperature = <90000>;
-					hysteresis = <2000>;
+				modem1-hot {
+					temperature = <115000>;
+					hysteresis = <5000>;
  					type = "hot";
  				};
modem1-critical {
-					temperature = <110000>;
+					temperature = <125000>;
  					hysteresis = <0>;
  					type = "critical";
  				};
@@ -6645,14 +6645,14 @@ modem2-thermal {
  			thermal-sensors = <&tsens2 11>;
trips {
-				trip-point0 {
-					temperature = <90000>;
-					hysteresis = <2000>;
+				modem2-hot {
+					temperature = <115000>;
+					hysteresis = <5000>;
  					type = "hot";
  				};
modem2-critical {
-					temperature = <110000>;
+					temperature = <125000>;
  					hysteresis = <0>;
  					type = "critical";
  				};
@@ -6663,14 +6663,14 @@ modem3-thermal {
  			thermal-sensors = <&tsens2 12>;
trips {
-				trip-point0 {
-					temperature = <90000>;
-					hysteresis = <2000>;
+				modem3-hot {
+					temperature = <115000>;
+					hysteresis = <5000>;
  					type = "hot";
  				};
modem3-critical {
-					temperature = <110000>;
+					temperature = <125000>;
  					hysteresis = <0>;
  					type = "critical";
  				};

---
base-commit: 2616c1ec96d966abb922248fe48b12dbd4297dfc
change-id: 20250129-topic-sm8650-other-thermal-fixes-72a431ca91a5

Best regards,





[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux