[PATCH 4/6] arm64: dts: qcom: sm8750: Add GPU cooling
Akhil P Oommen <[email protected]>
| Newsgroups | gmane.comp.freedesktop.xorg.drivers.freedreno,gmane.linux.ports.arm.msm,gmane.comp.video.dri.devel,gmane.linux.kernel,gmane.linux.drivers.devicetree |
|---|---|
| Message-ID | <[email protected]> |
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