From: Gaurav Kohli <[email protected]>

Unlike the CPU, the GPU does not throttle its speed automatically
when it reaches high temperatures.

Set up GPU cooling by throttling the GPU speed
when reaching 105°C.

Signed-off-by: Gaurav Kohli <[email protected]>
Signed-off-by: Akhil P Oommen <[email protected]>
---
 arch/arm64/boot/dts/qcom/sm8750.dtsi | 104 +++++++++++++++++++++++++++--------
 1 file changed, 80 insertions(+), 24 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/sm8750.dtsi 
b/arch/arm64/boot/dts/qcom/sm8750.dtsi
index 6ddc8d3fdada..1a960ff855d7 100644
--- a/arch/arm64/boot/dts/qcom/sm8750.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8750.dtsi
@@ -6946,10 +6946,10 @@ gpuss0-thermal {
                        thermal-sensors = <&tsens2 1>;
 
                        trips {
-                               trip-point0 {
-                                       temperature = <120000>;
+                               gpuss0_alert0: gpuss0-alert0 {
+                                       temperature = <105000>;
                                        hysteresis = <5000>;
-                                       type = "hot";
+                                       type = "passive";
                                };
 
                                gpuss0-critical {
@@ -6958,16 +6958,23 @@ gpuss0-critical {
                                        type = "critical";
                                };
                        };
+
+                       cooling-maps {
+                               map0 {
+                                       trip = <&gpuss0_alert0>;
+                                       cooling-device = <&gpu THERMAL_NO_LIMIT 
THERMAL_NO_LIMIT>;
+                               };
+                       };
                };
 
                gpuss1-thermal {
                        thermal-sensors = <&tsens2 2>;
 
                        trips {
-                               trip-point0 {
-                                       temperature = <120000>;
+                               gpuss1_alert0: gpuss1-alert0 {
+                                       temperature = <105000>;
                                        hysteresis = <5000>;
-                                       type = "hot";
+                                       type = "passive";
                                };
 
                                gpuss1-critical {
@@ -6976,16 +6983,23 @@ gpuss1-critical {
                                        type = "critical";
                                };
                        };
+
+                       cooling-maps {
+                               map0 {
+                                       trip = <&gpuss1_alert0>;
+                                       cooling-device = <&gpu THERMAL_NO_LIMIT 
THERMAL_NO_LIMIT>;
+                               };
+                       };
                };
 
                gpuss2-thermal {
                        thermal-sensors = <&tsens2 3>;
 
                        trips {
-                               trip-point0 {
-                                       temperature = <120000>;
+                               gpuss2_alert0: gpuss2-alert0 {
+                                       temperature = <105000>;
                                        hysteresis = <5000>;
-                                       type = "hot";
+                                       type = "passive";
                                };
 
                                gpuss2-critical {
@@ -6994,16 +7008,23 @@ gpuss2-critical {
                                        type = "critical";
                                };
                        };
+
+                       cooling-maps {
+                               map0 {
+                                       trip = <&gpuss2_alert0>;
+                                       cooling-device = <&gpu THERMAL_NO_LIMIT 
THERMAL_NO_LIMIT>;
+                               };
+                       };
                };
 
                gpuss3-thermal {
                        thermal-sensors = <&tsens2 4>;
 
                        trips {
-                               trip-point0 {
-                                       temperature = <120000>;
+                               gpuss3_alert0: gpuss3-alert0 {
+                                       temperature = <105000>;
                                        hysteresis = <5000>;
-                                       type = "hot";
+                                       type = "passive";
                                };
 
                                gpuss3-critical {
@@ -7012,16 +7033,23 @@ gpuss3-critical {
                                        type = "critical";
                                };
                        };
+
+                       cooling-maps {
+                               map0 {
+                                       trip = <&gpuss3_alert0>;
+                                       cooling-device = <&gpu THERMAL_NO_LIMIT 
THERMAL_NO_LIMIT>;
+                               };
+                       };
                };
 
                gpuss4-thermal {
                        thermal-sensors = <&tsens2 5>;
 
                        trips {
-                               trip-point0 {
-                                       temperature = <120000>;
+                               gpuss4_alert0: gpuss4-alert0 {
+                                       temperature = <105000>;
                                        hysteresis = <5000>;
-                                       type = "hot";
+                                       type = "passive";
                                };
 
                                gpuss4-critical {
@@ -7030,16 +7058,23 @@ gpuss4-critical {
                                        type = "critical";
                                };
                        };
+
+                       cooling-maps {
+                               map0 {
+                                       trip = <&gpuss4_alert0>;
+                                       cooling-device = <&gpu THERMAL_NO_LIMIT 
THERMAL_NO_LIMIT>;
+                               };
+                       };
                };
 
                gpuss5-thermal {
                        thermal-sensors = <&tsens2 6>;
 
                        trips {
-                               trip-point0 {
-                                       temperature = <120000>;
+                               gpuss5_alert0: gpuss5-alert0 {
+                                       temperature = <105000>;
                                        hysteresis = <5000>;
-                                       type = "hot";
+                                       type = "passive";
                                };
 
                                gpuss5-critical {
@@ -7048,16 +7083,23 @@ gpuss5-critical {
                                        type = "critical";
                                };
                        };
+
+                       cooling-maps {
+                               map0 {
+                                       trip = <&gpuss5_alert0>;
+                                       cooling-device = <&gpu THERMAL_NO_LIMIT 
THERMAL_NO_LIMIT>;
+                               };
+                       };
                };
 
                gpuss6-thermal {
                        thermal-sensors = <&tsens2 7>;
 
                        trips {
-                               trip-point0 {
-                                       temperature = <120000>;
+                               gpuss6_alert0: gpuss6-alert0 {
+                                       temperature = <105000>;
                                        hysteresis = <5000>;
-                                       type = "hot";
+                                       type = "passive";
                                };
 
                                gpuss6-critical {
@@ -7066,16 +7108,23 @@ gpuss6-critical {
                                        type = "critical";
                                };
                        };
+
+                       cooling-maps {
+                               map0 {
+                                       trip = <&gpuss6_alert0>;
+                                       cooling-device = <&gpu THERMAL_NO_LIMIT 
THERMAL_NO_LIMIT>;
+                               };
+                       };
                };
 
                gpuss7-thermal {
                        thermal-sensors = <&tsens2 8>;
 
                        trips {
-                               trip-point0 {
-                                       temperature = <120000>;
+                               gpuss7_alert0: gpuss7-alert0 {
+                                       temperature = <105000>;
                                        hysteresis = <5000>;
-                                       type = "hot";
+                                       type = "passive";
                                };
 
                                gpuss7-critical {
@@ -7084,6 +7133,13 @@ gpuss7-critical {
                                        type = "critical";
                                };
                        };
+
+                       cooling-maps {
+                               map0 {
+                                       trip = <&gpuss7_alert0>;
+                                       cooling-device = <&gpu THERMAL_NO_LIMIT 
THERMAL_NO_LIMIT>;
+                               };
+                       };
                };
 
                modem0-thermal {

-- 
2.54.0

Reply via email to