mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-09-07 14:19:35 +00:00
arm64: dts: qcom: sm8650: 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. Also, register the GPU as a cooling device and hook it up to the right thermal zones. Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org> Link: https://lore.kernel.org/r/20240510-topic-gpus_are_cool_now-v1-12-ababc269a438@linaro.org Signed-off-by: Bjorn Andersson <andersson@kernel.org>
This commit is contained in:
parent
ed979c039a
commit
497624ed55
@ -2632,6 +2632,7 @@ gpu: gpu@3d00000 {
|
|||||||
operating-points-v2 = <&gpu_opp_table>;
|
operating-points-v2 = <&gpu_opp_table>;
|
||||||
|
|
||||||
qcom,gmu = <&gmu>;
|
qcom,gmu = <&gmu>;
|
||||||
|
#cooling-cells = <2>;
|
||||||
|
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
|
|
||||||
@ -6028,16 +6029,29 @@ gpuss0-thermal {
|
|||||||
|
|
||||||
thermal-sensors = <&tsens2 1>;
|
thermal-sensors = <&tsens2 1>;
|
||||||
|
|
||||||
|
cooling-maps {
|
||||||
|
map0 {
|
||||||
|
trip = <&gpu0_alert0>;
|
||||||
|
cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
trips {
|
trips {
|
||||||
trip-point0 {
|
gpu0_alert0: trip-point0 {
|
||||||
|
temperature = <85000>;
|
||||||
|
hysteresis = <1000>;
|
||||||
|
type = "passive";
|
||||||
|
};
|
||||||
|
|
||||||
|
trip-point1 {
|
||||||
temperature = <90000>;
|
temperature = <90000>;
|
||||||
hysteresis = <2000>;
|
hysteresis = <1000>;
|
||||||
type = "hot";
|
type = "hot";
|
||||||
};
|
};
|
||||||
|
|
||||||
gpuss0-critical {
|
trip-point2 {
|
||||||
temperature = <110000>;
|
temperature = <110000>;
|
||||||
hysteresis = <0>;
|
hysteresis = <1000>;
|
||||||
type = "critical";
|
type = "critical";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -6048,16 +6062,29 @@ gpuss1-thermal {
|
|||||||
|
|
||||||
thermal-sensors = <&tsens2 2>;
|
thermal-sensors = <&tsens2 2>;
|
||||||
|
|
||||||
|
cooling-maps {
|
||||||
|
map0 {
|
||||||
|
trip = <&gpu1_alert0>;
|
||||||
|
cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
trips {
|
trips {
|
||||||
trip-point0 {
|
gpu1_alert0: trip-point0 {
|
||||||
|
temperature = <85000>;
|
||||||
|
hysteresis = <1000>;
|
||||||
|
type = "passive";
|
||||||
|
};
|
||||||
|
|
||||||
|
trip-point1 {
|
||||||
temperature = <90000>;
|
temperature = <90000>;
|
||||||
hysteresis = <2000>;
|
hysteresis = <1000>;
|
||||||
type = "hot";
|
type = "hot";
|
||||||
};
|
};
|
||||||
|
|
||||||
gpuss1-critical {
|
trip-point2 {
|
||||||
temperature = <110000>;
|
temperature = <110000>;
|
||||||
hysteresis = <0>;
|
hysteresis = <1000>;
|
||||||
type = "critical";
|
type = "critical";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -6068,16 +6095,29 @@ gpuss2-thermal {
|
|||||||
|
|
||||||
thermal-sensors = <&tsens2 3>;
|
thermal-sensors = <&tsens2 3>;
|
||||||
|
|
||||||
|
cooling-maps {
|
||||||
|
map0 {
|
||||||
|
trip = <&gpu2_alert0>;
|
||||||
|
cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
trips {
|
trips {
|
||||||
trip-point0 {
|
gpu2_alert0: trip-point0 {
|
||||||
|
temperature = <85000>;
|
||||||
|
hysteresis = <1000>;
|
||||||
|
type = "passive";
|
||||||
|
};
|
||||||
|
|
||||||
|
trip-point1 {
|
||||||
temperature = <90000>;
|
temperature = <90000>;
|
||||||
hysteresis = <2000>;
|
hysteresis = <1000>;
|
||||||
type = "hot";
|
type = "hot";
|
||||||
};
|
};
|
||||||
|
|
||||||
gpuss2-critical {
|
trip-point2 {
|
||||||
temperature = <110000>;
|
temperature = <110000>;
|
||||||
hysteresis = <0>;
|
hysteresis = <1000>;
|
||||||
type = "critical";
|
type = "critical";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -6088,16 +6128,29 @@ gpuss3-thermal {
|
|||||||
|
|
||||||
thermal-sensors = <&tsens2 4>;
|
thermal-sensors = <&tsens2 4>;
|
||||||
|
|
||||||
|
cooling-maps {
|
||||||
|
map0 {
|
||||||
|
trip = <&gpu3_alert0>;
|
||||||
|
cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
trips {
|
trips {
|
||||||
trip-point0 {
|
gpu3_alert0: trip-point0 {
|
||||||
|
temperature = <85000>;
|
||||||
|
hysteresis = <1000>;
|
||||||
|
type = "passive";
|
||||||
|
};
|
||||||
|
|
||||||
|
trip-point1 {
|
||||||
temperature = <90000>;
|
temperature = <90000>;
|
||||||
hysteresis = <2000>;
|
hysteresis = <1000>;
|
||||||
type = "hot";
|
type = "hot";
|
||||||
};
|
};
|
||||||
|
|
||||||
gpuss3-critical {
|
trip-point2 {
|
||||||
temperature = <110000>;
|
temperature = <110000>;
|
||||||
hysteresis = <0>;
|
hysteresis = <1000>;
|
||||||
type = "critical";
|
type = "critical";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -6108,16 +6161,29 @@ gpuss4-thermal {
|
|||||||
|
|
||||||
thermal-sensors = <&tsens2 5>;
|
thermal-sensors = <&tsens2 5>;
|
||||||
|
|
||||||
|
cooling-maps {
|
||||||
|
map0 {
|
||||||
|
trip = <&gpu4_alert0>;
|
||||||
|
cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
trips {
|
trips {
|
||||||
trip-point0 {
|
gpu4_alert0: trip-point0 {
|
||||||
|
temperature = <85000>;
|
||||||
|
hysteresis = <1000>;
|
||||||
|
type = "passive";
|
||||||
|
};
|
||||||
|
|
||||||
|
trip-point1 {
|
||||||
temperature = <90000>;
|
temperature = <90000>;
|
||||||
hysteresis = <2000>;
|
hysteresis = <1000>;
|
||||||
type = "hot";
|
type = "hot";
|
||||||
};
|
};
|
||||||
|
|
||||||
gpuss4-critical {
|
trip-point2 {
|
||||||
temperature = <110000>;
|
temperature = <110000>;
|
||||||
hysteresis = <0>;
|
hysteresis = <1000>;
|
||||||
type = "critical";
|
type = "critical";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -6128,16 +6194,29 @@ gpuss5-thermal {
|
|||||||
|
|
||||||
thermal-sensors = <&tsens2 6>;
|
thermal-sensors = <&tsens2 6>;
|
||||||
|
|
||||||
|
cooling-maps {
|
||||||
|
map0 {
|
||||||
|
trip = <&gpu5_alert0>;
|
||||||
|
cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
trips {
|
trips {
|
||||||
trip-point0 {
|
gpu5_alert0: trip-point0 {
|
||||||
|
temperature = <85000>;
|
||||||
|
hysteresis = <1000>;
|
||||||
|
type = "passive";
|
||||||
|
};
|
||||||
|
|
||||||
|
trip-point1 {
|
||||||
temperature = <90000>;
|
temperature = <90000>;
|
||||||
hysteresis = <2000>;
|
hysteresis = <1000>;
|
||||||
type = "hot";
|
type = "hot";
|
||||||
};
|
};
|
||||||
|
|
||||||
gpuss5-critical {
|
trip-point2 {
|
||||||
temperature = <110000>;
|
temperature = <110000>;
|
||||||
hysteresis = <0>;
|
hysteresis = <1000>;
|
||||||
type = "critical";
|
type = "critical";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -6148,16 +6227,29 @@ gpuss6-thermal {
|
|||||||
|
|
||||||
thermal-sensors = <&tsens2 7>;
|
thermal-sensors = <&tsens2 7>;
|
||||||
|
|
||||||
|
cooling-maps {
|
||||||
|
map0 {
|
||||||
|
trip = <&gpu6_alert0>;
|
||||||
|
cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
trips {
|
trips {
|
||||||
trip-point0 {
|
gpu6_alert0: trip-point0 {
|
||||||
|
temperature = <85000>;
|
||||||
|
hysteresis = <1000>;
|
||||||
|
type = "passive";
|
||||||
|
};
|
||||||
|
|
||||||
|
trip-point1 {
|
||||||
temperature = <90000>;
|
temperature = <90000>;
|
||||||
hysteresis = <2000>;
|
hysteresis = <1000>;
|
||||||
type = "hot";
|
type = "hot";
|
||||||
};
|
};
|
||||||
|
|
||||||
gpuss6-critical {
|
trip-point2 {
|
||||||
temperature = <110000>;
|
temperature = <110000>;
|
||||||
hysteresis = <0>;
|
hysteresis = <1000>;
|
||||||
type = "critical";
|
type = "critical";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -6168,16 +6260,29 @@ gpuss7-thermal {
|
|||||||
|
|
||||||
thermal-sensors = <&tsens2 8>;
|
thermal-sensors = <&tsens2 8>;
|
||||||
|
|
||||||
|
cooling-maps {
|
||||||
|
map0 {
|
||||||
|
trip = <&gpu7_alert0>;
|
||||||
|
cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
trips {
|
trips {
|
||||||
trip-point0 {
|
gpu7_alert0: trip-point0 {
|
||||||
|
temperature = <85000>;
|
||||||
|
hysteresis = <1000>;
|
||||||
|
type = "passive";
|
||||||
|
};
|
||||||
|
|
||||||
|
trip-point1 {
|
||||||
temperature = <90000>;
|
temperature = <90000>;
|
||||||
hysteresis = <2000>;
|
hysteresis = <1000>;
|
||||||
type = "hot";
|
type = "hot";
|
||||||
};
|
};
|
||||||
|
|
||||||
gpuss7-critical {
|
trip-point2 {
|
||||||
temperature = <110000>;
|
temperature = <110000>;
|
||||||
hysteresis = <0>;
|
hysteresis = <1000>;
|
||||||
type = "critical";
|
type = "critical";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user