Commit ed979c03 authored by Konrad Dybcio's avatar Konrad Dybcio Committed by Bjorn Andersson
Browse files

arm64: dts: qcom: sm8550: Throttle the GPU when overheating



Add an 85C passive trip point to ensure the thermal framework takes
sufficient action to prevent reaching junction temperature and a
110C critical point to help avoid hw damage.

Remove the copypasta-from-downstream userspace governor entries while
at it.

Signed-off-by: default avatarKonrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240510-topic-gpus_are_cool_now-v1-11-ababc269a438@linaro.org


Signed-off-by: default avatarBjorn Andersson <andersson@kernel.org>
parent 4be0dd44
Loading
Loading
Loading
Loading
+80 −128
Original line number Diff line number Diff line
@@ -5386,34 +5386,28 @@ gpuss-0-thermal {

			cooling-maps {
				map0 {
					trip = <&gpu0_junction_config>;
					trip = <&gpu0_alert0>;
					cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
				};
			};

			trips {
				thermal-engine-config {
					temperature = <125000>;
				gpu0_alert0: trip-point0 {
					temperature = <85000>;
					hysteresis = <1000>;
					type = "passive";
				};

				thermal-hal-config {
					temperature = <125000>;
				trip-point1 {
					temperature = <90000>;
					hysteresis = <1000>;
					type = "passive";
				};

				reset-mon-config {
					temperature = <115000>;
					hysteresis = <5000>;
					type = "passive";
					type = "hot";
				};

				gpu0_junction_config: junction-config {
					temperature = <95000>;
					hysteresis = <5000>;
					type = "passive";
				trip-point2 {
					temperature = <110000>;
					hysteresis = <1000>;
					type = "critical";
				};
			};
		};
@@ -5425,34 +5419,28 @@ gpuss-1-thermal {

			cooling-maps {
				map0 {
					trip = <&gpu1_junction_config>;
					trip = <&gpu1_alert0>;
					cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
				};
			};

			trips {
				thermal-engine-config {
					temperature = <125000>;
				gpu1_alert0: trip-point0 {
					temperature = <85000>;
					hysteresis = <1000>;
					type = "passive";
				};

				thermal-hal-config {
					temperature = <125000>;
				trip-point1 {
					temperature = <90000>;
					hysteresis = <1000>;
					type = "passive";
				};

				reset-mon-config {
					temperature = <115000>;
					hysteresis = <5000>;
					type = "passive";
					type = "hot";
				};

				gpu1_junction_config: junction-config {
					temperature = <95000>;
					hysteresis = <5000>;
					type = "passive";
				trip-point2 {
					temperature = <110000>;
					hysteresis = <1000>;
					type = "critical";
				};
			};
		};
@@ -5464,34 +5452,28 @@ gpuss-2-thermal {

			cooling-maps {
				map0 {
					trip = <&gpu2_junction_config>;
					trip = <&gpu2_alert0>;
					cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
				};
			};

			trips {
				thermal-engine-config {
					temperature = <125000>;
				gpu2_alert0: trip-point0 {
					temperature = <85000>;
					hysteresis = <1000>;
					type = "passive";
				};

				thermal-hal-config {
					temperature = <125000>;
				trip-point1 {
					temperature = <90000>;
					hysteresis = <1000>;
					type = "passive";
				};

				reset-mon-config {
					temperature = <115000>;
					hysteresis = <5000>;
					type = "passive";
					type = "hot";
				};

				gpu2_junction_config: junction-config {
					temperature = <95000>;
					hysteresis = <5000>;
					type = "passive";
				trip-point2 {
					temperature = <110000>;
					hysteresis = <1000>;
					type = "critical";
				};
			};
		};
@@ -5503,34 +5485,28 @@ gpuss-3-thermal {

			cooling-maps {
				map0 {
					trip = <&gpu3_junction_config>;
					trip = <&gpu3_alert0>;
					cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
				};
			};

			trips {
				thermal-engine-config {
					temperature = <125000>;
				gpu3_alert0: trip-point0 {
					temperature = <85000>;
					hysteresis = <1000>;
					type = "passive";
				};

				thermal-hal-config {
					temperature = <125000>;
				trip-point1 {
					temperature = <90000>;
					hysteresis = <1000>;
					type = "passive";
				};

				reset-mon-config {
					temperature = <115000>;
					hysteresis = <5000>;
					type = "passive";
					type = "hot";
				};

				gpu3_junction_config: junction-config {
					temperature = <95000>;
					hysteresis = <5000>;
					type = "passive";
				trip-point2 {
					temperature = <110000>;
					hysteresis = <1000>;
					type = "critical";
				};
			};
		};
@@ -5542,34 +5518,28 @@ gpuss-4-thermal {

			cooling-maps {
				map0 {
					trip = <&gpu4_junction_config>;
					trip = <&gpu4_alert0>;
					cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
				};
			};

			trips {
				thermal-engine-config {
					temperature = <125000>;
				gpu4_alert0: trip-point0 {
					temperature = <85000>;
					hysteresis = <1000>;
					type = "passive";
				};

				thermal-hal-config {
					temperature = <125000>;
				trip-point1 {
					temperature = <90000>;
					hysteresis = <1000>;
					type = "passive";
				};

				reset-mon-config {
					temperature = <115000>;
					hysteresis = <5000>;
					type = "passive";
					type = "hot";
				};

				gpu4_junction_config: junction-config {
					temperature = <95000>;
					hysteresis = <5000>;
					type = "passive";
				trip-point2 {
					temperature = <110000>;
					hysteresis = <1000>;
					type = "critical";
				};
			};
		};
@@ -5581,34 +5551,28 @@ gpuss-5-thermal {

			cooling-maps {
				map0 {
					trip = <&gpu5_junction_config>;
					trip = <&gpu5_alert0>;
					cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
				};
			};

			trips {
				thermal-engine-config {
					temperature = <125000>;
				gpu5_alert0: trip-point0 {
					temperature = <85000>;
					hysteresis = <1000>;
					type = "passive";
				};

				thermal-hal-config {
					temperature = <125000>;
				trip-point1 {
					temperature = <90000>;
					hysteresis = <1000>;
					type = "passive";
				};

				reset-mon-config {
					temperature = <115000>;
					hysteresis = <5000>;
					type = "passive";
					type = "hot";
				};

				gpu5_junction_config: junction-config {
					temperature = <95000>;
					hysteresis = <5000>;
					type = "passive";
				trip-point2 {
					temperature = <110000>;
					hysteresis = <1000>;
					type = "critical";
				};
			};
		};
@@ -5620,34 +5584,28 @@ gpuss-6-thermal {

			cooling-maps {
				map0 {
					trip = <&gpu6_junction_config>;
					trip = <&gpu6_alert0>;
					cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
				};
			};

			trips {
				thermal-engine-config {
					temperature = <125000>;
				gpu6_alert0: trip-point0 {
					temperature = <85000>;
					hysteresis = <1000>;
					type = "passive";
				};

				thermal-hal-config {
					temperature = <125000>;
				trip-point1 {
					temperature = <90000>;
					hysteresis = <1000>;
					type = "passive";
				};

				reset-mon-config {
					temperature = <115000>;
					hysteresis = <5000>;
					type = "passive";
					type = "hot";
				};

				gpu6_junction_config: junction-config {
					temperature = <95000>;
					hysteresis = <5000>;
					type = "passive";
				trip-point2 {
					temperature = <110000>;
					hysteresis = <1000>;
					type = "critical";
				};
			};
		};
@@ -5659,34 +5617,28 @@ gpuss-7-thermal {

			cooling-maps {
				map0 {
					trip = <&gpu7_junction_config>;
					trip = <&gpu7_alert0>;
					cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
				};
			};

			trips {
				thermal-engine-config {
					temperature = <125000>;
				gpu7_alert0: trip-point0 {
					temperature = <85000>;
					hysteresis = <1000>;
					type = "passive";
				};

				thermal-hal-config {
					temperature = <125000>;
				trip-point1 {
					temperature = <90000>;
					hysteresis = <1000>;
					type = "passive";
				};

				reset-mon-config {
					temperature = <115000>;
					hysteresis = <5000>;
					type = "passive";
					type = "hot";
				};

				gpu7_junction_config: junction-config {
					temperature = <95000>;
					hysteresis = <5000>;
					type = "passive";
				trip-point2 {
					temperature = <110000>;
					hysteresis = <1000>;
					type = "critical";
				};
			};
		};