diff options
author | Robert Marko <robimarko@gmail.com> | 2023-06-07 20:49:47 +0200 |
---|---|---|
committer | Christian Marangi <ansuelsmth@gmail.com> | 2023-06-08 06:53:37 +0200 |
commit | c4752e0a132732a979c3eda34a3d4275487e8ddf (patch) | |
tree | 629ff40970148b84b198be493d608281dd8e553d /target | |
parent | 5af25331a354c5c5811cfa9c14bacc44b30abaa4 (diff) | |
download | openwrt-c4752e0a132732a979c3eda34a3d4275487e8ddf.tar.gz openwrt-c4752e0a132732a979c3eda34a3d4275487e8ddf.tar.bz2 openwrt-c4752e0a132732a979c3eda34a3d4275487e8ddf.zip |
ipq807x: add critical thermal trips to all thermal zones
Kernel 6.1 has started actually enforcing the bindings requirment that
thermal zones must have associated trips described as well, otherwise they
will fail during probing with:
[ 0.865494] thermal_sys: Failed to find 'trips' node
[ 0.867254] thermal_sys: Failed to find trip points for thermal-sensor id=4
[ 0.872271] thermal_sys: Failed to find 'trips' node
[ 0.878898] thermal_sys: Failed to find trip points for thermal-sensor id=5
[ 0.884222] thermal_sys: Failed to find 'trips' node
[ 0.890775] thermal_sys: Failed to find trip points for thermal-sensor id=6
[ 0.896073] thermal_sys: Failed to find 'trips' node
[ 0.902668] thermal_sys: Failed to find trip points for thermal-sensor id=7
[ 0.907964] thermal_sys: Failed to find 'trips' node
[ 0.914569] thermal_sys: Failed to find trip points for thermal-sensor id=8
[ 0.921203] thermal_sys: Failed to find 'trips' node
[ 0.926469] thermal_sys: Failed to find trip points for thermal-sensor id=14
[ 0.931759] thermal_sys: Failed to find 'trips' node
[ 0.938703] thermal_sys: Failed to find trip points for thermal-sensor id=15
So, since CPUFreq support isnt yet upstream we can start by adding critical
trips to all of the thermal zones to protect the devices against severely
overheating.
Qualcomm has set the overheat trip at 120 C but lets be conservative and
set it at 110 C.
This patch has been sent upstream as well.
Signed-off-by: Robert Marko <robimarko@gmail.com>
Diffstat (limited to 'target')
-rw-r--r-- | target/linux/ipq807x/patches-6.1/0134-arm64-dts-qcom-ipq8074-add-critical-thermal-trips.patch | 197 |
1 files changed, 197 insertions, 0 deletions
diff --git a/target/linux/ipq807x/patches-6.1/0134-arm64-dts-qcom-ipq8074-add-critical-thermal-trips.patch b/target/linux/ipq807x/patches-6.1/0134-arm64-dts-qcom-ipq8074-add-critical-thermal-trips.patch new file mode 100644 index 0000000000..6231d8afb7 --- /dev/null +++ b/target/linux/ipq807x/patches-6.1/0134-arm64-dts-qcom-ipq8074-add-critical-thermal-trips.patch @@ -0,0 +1,197 @@ +From 145bbf2b88990ef3ff00ee541bb7662008683c16 Mon Sep 17 00:00:00 2001 +From: Robert Marko <robimarko@gmail.com> +Date: Wed, 7 Jun 2023 20:26:26 +0200 +Subject: [PATCH] arm64: dts: qcom: ipq8074: add critical thermal trips + +According to bindings, thermal zones must have associated trips as well. +Since we currently dont have CPUFreq support and thus no passive cooling +lets start by defining critical trips to protect the devices against +severe overheating. + +Signed-off-by: Robert Marko <robimarko@gmail.com> +--- + arch/arm64/boot/dts/qcom/ipq8074.dtsi | 96 +++++++++++++++++++++++++++ + 1 file changed, 96 insertions(+) + +--- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi ++++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +@@ -1293,6 +1293,14 @@ + polling-delay = <1000>; + + thermal-sensors = <&tsens 4>; ++ ++ trips { ++ nss-top-crit { ++ temperature = <110000>; ++ hysteresis = <1000>; ++ type = "critical"; ++ }; ++ }; + }; + + nss0-thermal { +@@ -1300,6 +1308,14 @@ + polling-delay = <1000>; + + thermal-sensors = <&tsens 5>; ++ ++ trips { ++ nss-0-crit { ++ temperature = <110000>; ++ hysteresis = <1000>; ++ type = "critical"; ++ }; ++ }; + }; + + nss1-thermal { +@@ -1307,6 +1323,14 @@ + polling-delay = <1000>; + + thermal-sensors = <&tsens 6>; ++ ++ trips { ++ nss-1-crit { ++ temperature = <110000>; ++ hysteresis = <1000>; ++ type = "critical"; ++ }; ++ }; + }; + + wcss-phya0-thermal { +@@ -1314,6 +1338,14 @@ + polling-delay = <1000>; + + thermal-sensors = <&tsens 7>; ++ ++ trips { ++ wcss-phya0-crit { ++ temperature = <110000>; ++ hysteresis = <1000>; ++ type = "critical"; ++ }; ++ }; + }; + + wcss-phya1-thermal { +@@ -1321,6 +1353,14 @@ + polling-delay = <1000>; + + thermal-sensors = <&tsens 8>; ++ ++ trips { ++ wcss-phya1-crit { ++ temperature = <110000>; ++ hysteresis = <1000>; ++ type = "critical"; ++ }; ++ }; + }; + + cpu0_thermal: cpu0-thermal { +@@ -1328,6 +1368,14 @@ + polling-delay = <1000>; + + thermal-sensors = <&tsens 9>; ++ ++ trips { ++ cpu0-crit { ++ temperature = <110000>; ++ hysteresis = <1000>; ++ type = "critical"; ++ }; ++ }; + }; + + cpu1_thermal: cpu1-thermal { +@@ -1335,6 +1383,14 @@ + polling-delay = <1000>; + + thermal-sensors = <&tsens 10>; ++ ++ trips { ++ cpu1-crit { ++ temperature = <110000>; ++ hysteresis = <1000>; ++ type = "critical"; ++ }; ++ }; + }; + + cpu2_thermal: cpu2-thermal { +@@ -1342,6 +1398,14 @@ + polling-delay = <1000>; + + thermal-sensors = <&tsens 11>; ++ ++ trips { ++ cpu2-crit { ++ temperature = <110000>; ++ hysteresis = <1000>; ++ type = "critical"; ++ }; ++ }; + }; + + cpu3_thermal: cpu3-thermal { +@@ -1349,6 +1413,14 @@ + polling-delay = <1000>; + + thermal-sensors = <&tsens 12>; ++ ++ trips { ++ cpu3-crit { ++ temperature = <110000>; ++ hysteresis = <1000>; ++ type = "critical"; ++ }; ++ }; + }; + + cluster_thermal: cluster-thermal { +@@ -1356,6 +1428,14 @@ + polling-delay = <1000>; + + thermal-sensors = <&tsens 13>; ++ ++ trips { ++ cluster-crit { ++ temperature = <110000>; ++ hysteresis = <1000>; ++ type = "critical"; ++ }; ++ }; + }; + + wcss-phyb0-thermal { +@@ -1363,6 +1443,14 @@ + polling-delay = <1000>; + + thermal-sensors = <&tsens 14>; ++ ++ trips { ++ wcss-phyb0-crit { ++ temperature = <110000>; ++ hysteresis = <1000>; ++ type = "critical"; ++ }; ++ }; + }; + + wcss-phyb1-thermal { +@@ -1370,6 +1458,14 @@ + polling-delay = <1000>; + + thermal-sensors = <&tsens 15>; ++ ++ trips { ++ wcss-phyb1-crit { ++ temperature = <110000>; ++ hysteresis = <1000>; ++ type = "critical"; ++ }; ++ }; + }; + }; + }; |