[PATCH v3 2/5] arm64: dts: allwinner: h6: Add cooling map for GPU

2022-09-05 Thread Clément Péron
Add a simple cooling map for the GPU.

This cooling map come from the vendor kernel 4.9 with a
2°C hysteresis added.

Signed-off-by: Clément Péron 
---
 arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 51 +++-
 1 file changed, 49 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi 
b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
index 5a28303d3d4c..1259ab0c3956 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
@@ -186,6 +186,7 @@ gpu: gpu@180 {
clocks = <&ccu CLK_GPU>, <&ccu CLK_BUS_GPU>;
clock-names = "core", "bus";
resets = <&ccu RST_BUS_GPU>;
+   #cooling-cells = <2>;
status = "disabled";
};
 
@@ -1072,9 +1073,55 @@ map0 {
};
 
gpu-thermal {
-   polling-delay-passive = <0>;
-   polling-delay = <0>;
+   polling-delay-passive = <1000>;
+   polling-delay = <2000>;
thermal-sensors = <&ths 1>;
+
+   trips {
+   gpu_alert0: gpu-alert-0 {
+   temperature = <95000>;
+   hysteresis = <2000>;
+   type = "passive";
+   };
+
+   gpu_alert1: gpu-alert-1 {
+   temperature = <10>;
+   hysteresis = <2000>;
+   type = "passive";
+   };
+
+   gpu_alert2: gpu-alert-2 {
+   temperature = <105000>;
+   hysteresis = <2000>;
+   type = "passive";
+   };
+
+   gpu-crit {
+   temperature = <115000>;
+   hysteresis = <0>;
+   type = "critical";
+   };
+   };
+
+   cooling-maps {
+   // Fordid the GPU to go over 756MHz
+   map0 {
+   trip = <&gpu_alert0>;
+   cooling-device = <&gpu 1 
THERMAL_NO_LIMIT>;
+   };
+
+   // Fordid the GPU to go over 624MHz
+   map1 {
+   trip = <&gpu_alert1>;
+   cooling-device = <&gpu 2 
THERMAL_NO_LIMIT>;
+   };
+
+   // Fordid the GPU to go over 576MHz
+   map2 {
+   trip = <&gpu_alert2>;
+   cooling-device = <&gpu 3 
THERMAL_NO_LIMIT>;
+   };
+   };
};
};
 };
-- 
2.34.1



Re: [PATCH v3 2/5] arm64: dts: allwinner: h6: Add cooling map for GPU

2022-09-05 Thread Jernej Škrabec
Dne ponedeljek, 05. september 2022 ob 19:15:58 CEST je Clément Péron 
napisal(a):
> Add a simple cooling map for the GPU.
> 
> This cooling map come from the vendor kernel 4.9 with a
> 2°C hysteresis added.
> 
> Signed-off-by: Clément Péron 
> ---
>  arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 51 +++-
>  1 file changed, 49 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
> b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi index
> 5a28303d3d4c..1259ab0c3956 100644
> --- a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
> @@ -186,6 +186,7 @@ gpu: gpu@180 {
>   clocks = <&ccu CLK_GPU>, <&ccu CLK_BUS_GPU>;
>   clock-names = "core", "bus";
>   resets = <&ccu RST_BUS_GPU>;
> + #cooling-cells = <2>;
>   status = "disabled";
>   };
> 
> @@ -1072,9 +1073,55 @@ map0 {
>   };
> 
>   gpu-thermal {
> - polling-delay-passive = <0>;
> - polling-delay = <0>;
> + polling-delay-passive = <1000>;
> + polling-delay = <2000>;
>   thermal-sensors = <&ths 1>;
> +
> + trips {
> + gpu_alert0: gpu-alert-0 {
> + temperature = <95000>;
> + hysteresis = <2000>;
> + type = "passive";
> + };
> +
> + gpu_alert1: gpu-alert-1 {
> + temperature = 
> <10>;
> + hysteresis = <2000>;
> + type = "passive";
> + };
> +
> + gpu_alert2: gpu-alert-2 {
> + temperature = 
> <105000>;
> + hysteresis = <2000>;
> + type = "passive";
> + };
> +
> + gpu-crit {
> + temperature = 
> <115000>;
> + hysteresis = <0>;
> + type = "critical";
> + };
> + };
> +
> + cooling-maps {
> + // Fordid the GPU to go over 
756MHz

Typo: Fordid -> Forbid

Also next below.

Best regards,
Jernej

> + map0 {
> + trip = <&gpu_alert0>;
> + cooling-device = <&gpu
>  1 THERMAL_NO_LIMIT>;
> + };
> +
> + // Fordid the GPU to go over
> 624MHz
> + map1 {
> + trip = <&gpu_alert1>;
> + cooling-device = <&gpu 
> 2 THERMAL_NO_LIMIT>;
> + };
> +
> + // Fordid the GPU to go over 
> 576MHz
> + map2 {
> + trip = <&gpu_alert2>;
> + cooling-device = <&gpu 
> 3 THERMAL_NO_LIMIT>;
> + };
> + };
>   };
>   };
>  };
> --
> 2.34.1