From: Gaurav Kohli <quic_gko...@quicinc.com>

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 <quic_gko...@quicinc.com>
Signed-off-by: Akhil P Oommen <akhi...@oss.qualcomm.com>
---
 arch/arm64/boot/dts/qcom/lemans.dtsi | 55 ++++++++++++++++++++++++++++++++----
 1 file changed, 49 insertions(+), 6 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/lemans.dtsi 
b/arch/arm64/boot/dts/qcom/lemans.dtsi
index 
52c2533383920fdf34dc1eba11e5ec01209f4e8a..cc64ff9aa8dd1f2b610548e5a5f5192bd4feba7e
 100644
--- a/arch/arm64/boot/dts/qcom/lemans.dtsi
+++ b/arch/arm64/boot/dts/qcom/lemans.dtsi
@@ -20,6 +20,7 @@
 #include <dt-bindings/power/qcom,rpmhpd.h>
 #include <dt-bindings/power/qcom-rpmpd.h>
 #include <dt-bindings/soc/qcom,rpmh-rsc.h>
+#include <dt-bindings/thermal/thermal.h>
 
 / {
        interrupt-parent = <&intc>;
@@ -6824,8 +6825,15 @@ gpuss-0-thermal {
 
                        thermal-sensors = <&tsens0 5>;
 
+                       cooling-maps {
+                               map0 {
+                                       trip = <&gpuss0_alert0>;
+                                       cooling-device = <&gpu THERMAL_NO_LIMIT 
THERMAL_NO_LIMIT>;
+                               };
+                       };
+
                        trips {
-                               trip-point0 {
+                               gpuss0_alert0: trip-point0 {
                                        temperature = <105000>;
                                        hysteresis = <5000>;
                                        type = "passive";
@@ -6844,8 +6852,15 @@ gpuss-1-thermal {
 
                        thermal-sensors = <&tsens0 6>;
 
+                       cooling-maps {
+                               map0 {
+                                       trip = <&gpuss1_alert0>;
+                                       cooling-device = <&gpu THERMAL_NO_LIMIT 
THERMAL_NO_LIMIT>;
+                               };
+                       };
+
                        trips {
-                               trip-point0 {
+                               gpuss1_alert0: trip-point0 {
                                        temperature = <105000>;
                                        hysteresis = <5000>;
                                        type = "passive";
@@ -6864,8 +6879,15 @@ gpuss-2-thermal {
 
                        thermal-sensors = <&tsens0 7>;
 
+                       cooling-maps {
+                               map0 {
+                                       trip = <&gpuss2_alert0>;
+                                       cooling-device = <&gpu THERMAL_NO_LIMIT 
THERMAL_NO_LIMIT>;
+                               };
+                       };
+
                        trips {
-                               trip-point0 {
+                               gpuss2_alert0: trip-point0 {
                                        temperature = <105000>;
                                        hysteresis = <5000>;
                                        type = "passive";
@@ -7054,8 +7076,15 @@ gpuss-3-thermal {
 
                        thermal-sensors = <&tsens1 5>;
 
+                       cooling-maps {
+                               map0 {
+                                       trip = <&gpuss3_alert0>;
+                                       cooling-device = <&gpu THERMAL_NO_LIMIT 
THERMAL_NO_LIMIT>;
+                               };
+                       };
+
                        trips {
-                               trip-point0 {
+                               gpuss3_alert0: trip-point0 {
                                        temperature = <105000>;
                                        hysteresis = <5000>;
                                        type = "passive";
@@ -7074,8 +7103,15 @@ gpuss-4-thermal {
 
                        thermal-sensors = <&tsens1 6>;
 
+                       cooling-maps {
+                               map0 {
+                                       trip = <&gpuss4_alert0>;
+                                       cooling-device = <&gpu THERMAL_NO_LIMIT 
THERMAL_NO_LIMIT>;
+                               };
+                       };
+
                        trips {
-                               trip-point0 {
+                               gpuss4_alert0: trip-point0 {
                                        temperature = <105000>;
                                        hysteresis = <5000>;
                                        type = "passive";
@@ -7094,8 +7130,15 @@ gpuss-5-thermal {
 
                        thermal-sensors = <&tsens1 7>;
 
+                       cooling-maps {
+                               map0 {
+                                       trip = <&gpuss5_alert0>;
+                                       cooling-device = <&gpu THERMAL_NO_LIMIT 
THERMAL_NO_LIMIT>;
+                               };
+                       };
+
                        trips {
-                               trip-point0 {
+                               gpuss5_alert0: trip-point0 {
                                        temperature = <105000>;
                                        hysteresis = <5000>;
                                        type = "passive";

-- 
2.50.1

Reply via email to