diff --git a/patch/kernel/sunxi-dev/add-missing-H6-gpu-opp-in-5.7.y.patch b/patch/kernel/sunxi-dev/add-missing-H6-gpu-opp-in-5.7.y.patch deleted file mode 100644 index 6a0f40c57..000000000 --- a/patch/kernel/sunxi-dev/add-missing-H6-gpu-opp-in-5.7.y.patch +++ /dev/null @@ -1,43 +0,0 @@ -diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi -index f55879b..b79fd50 100644 ---- a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi -+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi -@@ -194,6 +351,7 @@ - clocks = <&ccu CLK_GPU>, <&ccu CLK_BUS_GPU>; - clock-names = "core", "bus"; - resets = <&ccu RST_BUS_GPU>; -+ operating-points-v2 = <&gpu_opp_table>; - status = "disabled"; - }; - -@@ -1024,6 +1182,30 @@ - polling-delay-passive = <0>; - polling-delay = <0>; - thermal-sensors = <&ths 0>; -+ -+ trips { -+ cpu_hot_trip: cpu-hot { -+ temperature = <80000>; -+ hysteresis = <2000>; -+ type = "passive"; -+ }; -+ -+ cpu_very_hot_trip: cpu-very-hot { -+ temperature = <100000>; -+ hysteresis = <0>; -+ type = "critical"; -+ }; -+ }; -+ -+ cooling-maps { -+ cpu-hot-limit { -+ trip = <&cpu_hot_trip>; -+ cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, -+ <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, -+ <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, -+ <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; -+ }; -+ }; - }; - - gpu-thermal { diff --git a/patch/kernel/sunxi-dev/board-h6-improve-thermals.patch b/patch/kernel/sunxi-dev/board-h6-improve-thermals.patch index f9cd2f5af..ce954b80d 100644 --- a/patch/kernel/sunxi-dev/board-h6-improve-thermals.patch +++ b/patch/kernel/sunxi-dev/board-h6-improve-thermals.patch @@ -1,106 +1,99 @@ -diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-cpu-opp.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6-cpu-opp.dtsi -index bef3f50b1..90e4d1764 100644 ---- a/arch/arm64/boot/dts/allwinner/sun50i-h6-cpu-opp.dtsi -+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-cpu-opp.dtsi -@@ -1,6 +1,7 @@ - // SPDX-License-Identifier: (GPL-2.0+ OR MIT) - // Copyright (C) 2020 Ondrej Jirman - // Copyright (C) 2020 Clément Péron -+// Copyright (C) 2020 Igor Pecovnik - - / { - cpu_opp_table: cpu-opp-table { -@@ -122,26 +123,67 @@ - - &cpu_thermal { - trips { -- cpu_hot_trip: cpu-hot { -+ cpu_warm: cpu_warm { -+ temperature = <75000>; -+ hysteresis = <2000>; -+ type = "passive"; -+ }; -+ -+ cpu_hot_pre: cpu_hot_pre { - temperature = <80000>; - hysteresis = <2000>; - type = "passive"; - }; -+ -+ cpu_hot: cpu_hot { -+ temperature = <85000>; -+ hysteresis = <2000>; -+ type = "passive"; -+ }; -+ -+ cpu_very_hot_pre: cpu_very_hot_pre { -+ temperature = <90000>; -+ hysteresis = <2000>; -+ type = "passive"; -+ }; - -- cpu_very_hot_trip: cpu-very-hot { -- temperature = <100000>; -- hysteresis = <0>; -+ cpu_very_hot: cpu_very_hot { -+ temperature = <95000>; -+ hysteresis = <2000>; -+ type = "passive"; -+ }; -+ -+ cpu_crit: cpu_crit { -+ temperature = <105000>; -+ hysteresis = <2000>; - type = "critical"; - }; - }; - - cooling-maps { -- cpu-hot-limit { -- trip = <&cpu_hot_trip>; -- cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, -- <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, -- <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, -- <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; -+ cpu_warm_limit_cpu { -+ trip = <&cpu_warm>; -+ cooling-device = <&cpu0 THERMAL_NO_LIMIT 2>; -+ }; -+ -+ cpu_hot_pre_limit_cpu { -+ trip = <&cpu_hot_pre>; -+ cooling-device = <&cpu0 2 3>; -+ }; -+ -+ cpu_hot_limit_cpu { -+ trip = <&cpu_hot>; -+ cooling-device = <&cpu0 3 4>; -+ }; -+ -+ cpu_very_hot_pre_limit_cpu { -+ trip = <&cpu_very_hot_pre>; -+ cooling-device = <&cpu0 5 6>; -+ }; -+ -+ cpu_very_hot_limit_cpu { -+ trip = <&cpu_very_hot>; -+ cooling-device = <&cpu0 7 THERMAL_NO_LIMIT>; - }; - }; - }; diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi -index 82cc1e5fe..00ebb89fc 100644 +index 5840db1ef..b3717ebb7 100644 --- a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi -@@ -1147,8 +1147,9 @@ +@@ -1,5 +1,6 @@ + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) + // Copyright (C) 2017 Icenowy Zheng ++// Copyright (C) 2020 Igor Pecovnik + + #include + #include +@@ -1151,33 +1152,74 @@ ths: thermal-sensor@5070400 { thermal-zones { - cpu_thermal: cpu-thermal { + cpu-thermal { - polling-delay-passive = <0>; - polling-delay = <0>; -+ /* milliseconds */ + polling-delay-passive = <250>; + polling-delay = <1000>; thermal-sensors = <&ths 0>; + + trips { +- cpu_alert: cpu-alert { ++ cpu_warm: cpu_warm { ++ temperature = <75000>; ++ hysteresis = <2000>; ++ type = "passive"; ++ }; ++ ++ cpu_hot_pre: cpu_hot_pre { ++ temperature = <80000>; ++ hysteresis = <2000>; ++ type = "passive"; ++ }; ++ ++ cpu_hot: cpu_hot { + temperature = <85000>; + hysteresis = <2000>; + type = "passive"; + }; + +- cpu-crit { +- temperature = <100000>; +- hysteresis = <0>; ++ cpu_very_hot_pre: cpu_very_hot_pre { ++ temperature = <90000>; ++ hysteresis = <2000>; ++ type = "passive"; ++ }; ++ ++ cpu_very_hot: cpu_very_hot { ++ temperature = <95000>; ++ hysteresis = <2000>; ++ type = "passive"; ++ }; ++ ++ cpu_crit: cpu_crit { ++ temperature = <105000>; ++ hysteresis = <2000>; + type = "critical"; + }; + }; + + cooling-maps { +- map0 { +- trip = <&cpu_alert>; +- cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, +- <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, +- <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, +- <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; ++ cpu_warm_limit_cpu { ++ trip = <&cpu_warm>; ++ cooling-device = <&cpu0 THERMAL_NO_LIMIT 2>; + }; +- }; ++ ++ cpu_hot_pre_limit_cpu { ++ trip = <&cpu_hot_pre>; ++ cooling-device = <&cpu0 2 3>; ++ }; ++ ++ cpu_hot_limit_cpu { ++ trip = <&cpu_hot>; ++ cooling-device = <&cpu0 3 4>; ++ }; ++ ++ cpu_very_hot_pre_limit_cpu { ++ trip = <&cpu_very_hot_pre>; ++ cooling-device = <&cpu0 5 6>; ++ }; ++ ++ cpu_very_hot_limit_cpu { ++ trip = <&cpu_very_hot>; ++ cooling-device = <&cpu0 7 THERMAL_NO_LIMIT>; ++ }; ++ }; }; + gpu-thermal {