diff mbox series

arm64: dts: mt8183: adjust cpuidle target residency

Message ID 20200225080752.200952-1-ikjn@chromium.org (mailing list archive)
State New, archived
Headers show
Series arm64: dts: mt8183: adjust cpuidle target residency | expand

Commit Message

Ikjoon Jang Feb. 25, 2020, 8:07 a.m. UTC
Split a cluster level cpuidle state into two, so mt8183 variant
boards can adjust parameters for each cluster, and reduce cluster0's
default target residency to 1000us as power measurements showed that
its minimum residency is slightly less than cluster1's 1300us.

Signed-off-by: Ikjoon Jang <ikjn@chromium.org>
---
 arch/arm64/boot/dts/mediatek/mt8183.dtsi | 26 ++++++++++++++++--------
 1 file changed, 17 insertions(+), 9 deletions(-)

Comments

Matthias Brugger April 13, 2020, 4:57 p.m. UTC | #1
On 2/25/20 9:07 AM, Ikjoon Jang wrote:
> Split a cluster level cpuidle state into two, so mt8183 variant
> boards can adjust parameters for each cluster, and reduce cluster0's
> default target residency to 1000us as power measurements showed that
> its minimum residency is slightly less than cluster1's 1300us.
> 
> Signed-off-by: Ikjoon Jang <ikjn@chromium.org>

Applied to v5.7-next/dts64

Thanks!

> ---
>  arch/arm64/boot/dts/mediatek/mt8183.dtsi | 26 ++++++++++++++++--------
>  1 file changed, 17 insertions(+), 9 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/mediatek/mt8183.dtsi b/arch/arm64/boot/dts/mediatek/mt8183.dtsi
> index f1381e77918b..5c7dd262eaf3 100644
> --- a/arch/arm64/boot/dts/mediatek/mt8183.dtsi
> +++ b/arch/arm64/boot/dts/mediatek/mt8183.dtsi
> @@ -74,7 +74,7 @@ cpu0: cpu@0 {
>  			reg = <0x000>;
>  			enable-method = "psci";
>  			capacity-dmips-mhz = <741>;
> -			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
> +			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP0>;
>  		};
>  
>  		cpu1: cpu@1 {
> @@ -83,7 +83,7 @@ cpu1: cpu@1 {
>  			reg = <0x001>;
>  			enable-method = "psci";
>  			capacity-dmips-mhz = <741>;
> -			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
> +			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP0>;
>  		};
>  
>  		cpu2: cpu@2 {
> @@ -92,7 +92,7 @@ cpu2: cpu@2 {
>  			reg = <0x002>;
>  			enable-method = "psci";
>  			capacity-dmips-mhz = <741>;
> -			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
> +			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP0>;
>  		};
>  
>  		cpu3: cpu@3 {
> @@ -101,7 +101,7 @@ cpu3: cpu@3 {
>  			reg = <0x003>;
>  			enable-method = "psci";
>  			capacity-dmips-mhz = <741>;
> -			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
> +			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP0>;
>  		};
>  
>  		cpu4: cpu@100 {
> @@ -110,7 +110,7 @@ cpu4: cpu@100 {
>  			reg = <0x100>;
>  			enable-method = "psci";
>  			capacity-dmips-mhz = <1024>;
> -			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
> +			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP1>;
>  		};
>  
>  		cpu5: cpu@101 {
> @@ -119,7 +119,7 @@ cpu5: cpu@101 {
>  			reg = <0x101>;
>  			enable-method = "psci";
>  			capacity-dmips-mhz = <1024>;
> -			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
> +			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP1>;
>  		};
>  
>  		cpu6: cpu@102 {
> @@ -128,7 +128,7 @@ cpu6: cpu@102 {
>  			reg = <0x102>;
>  			enable-method = "psci";
>  			capacity-dmips-mhz = <1024>;
> -			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
> +			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP1>;
>  		};
>  
>  		cpu7: cpu@103 {
> @@ -137,7 +137,7 @@ cpu7: cpu@103 {
>  			reg = <0x103>;
>  			enable-method = "psci";
>  			capacity-dmips-mhz = <1024>;
> -			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
> +			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP1>;
>  		};
>  
>  		idle-states {
> @@ -152,7 +152,15 @@ CPU_SLEEP: cpu-sleep {
>  				min-residency-us = <800>;
>  			};
>  
> -			CLUSTER_SLEEP: cluster-sleep {
> +			CLUSTER_SLEEP0: cluster-sleep@0 {
> +				compatible = "arm,idle-state";
> +				local-timer-stop;
> +				arm,psci-suspend-param = <0x01010001>;
> +				entry-latency-us = <250>;
> +				exit-latency-us = <400>;
> +				min-residency-us = <1000>;
> +			};
> +			CLUSTER_SLEEP1: cluster-sleep@1 {
>  				compatible = "arm,idle-state";
>  				local-timer-stop;
>  				arm,psci-suspend-param = <0x01010001>;
>
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/mediatek/mt8183.dtsi b/arch/arm64/boot/dts/mediatek/mt8183.dtsi
index f1381e77918b..5c7dd262eaf3 100644
--- a/arch/arm64/boot/dts/mediatek/mt8183.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8183.dtsi
@@ -74,7 +74,7 @@  cpu0: cpu@0 {
 			reg = <0x000>;
 			enable-method = "psci";
 			capacity-dmips-mhz = <741>;
-			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
+			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP0>;
 		};
 
 		cpu1: cpu@1 {
@@ -83,7 +83,7 @@  cpu1: cpu@1 {
 			reg = <0x001>;
 			enable-method = "psci";
 			capacity-dmips-mhz = <741>;
-			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
+			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP0>;
 		};
 
 		cpu2: cpu@2 {
@@ -92,7 +92,7 @@  cpu2: cpu@2 {
 			reg = <0x002>;
 			enable-method = "psci";
 			capacity-dmips-mhz = <741>;
-			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
+			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP0>;
 		};
 
 		cpu3: cpu@3 {
@@ -101,7 +101,7 @@  cpu3: cpu@3 {
 			reg = <0x003>;
 			enable-method = "psci";
 			capacity-dmips-mhz = <741>;
-			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
+			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP0>;
 		};
 
 		cpu4: cpu@100 {
@@ -110,7 +110,7 @@  cpu4: cpu@100 {
 			reg = <0x100>;
 			enable-method = "psci";
 			capacity-dmips-mhz = <1024>;
-			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
+			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP1>;
 		};
 
 		cpu5: cpu@101 {
@@ -119,7 +119,7 @@  cpu5: cpu@101 {
 			reg = <0x101>;
 			enable-method = "psci";
 			capacity-dmips-mhz = <1024>;
-			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
+			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP1>;
 		};
 
 		cpu6: cpu@102 {
@@ -128,7 +128,7 @@  cpu6: cpu@102 {
 			reg = <0x102>;
 			enable-method = "psci";
 			capacity-dmips-mhz = <1024>;
-			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
+			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP1>;
 		};
 
 		cpu7: cpu@103 {
@@ -137,7 +137,7 @@  cpu7: cpu@103 {
 			reg = <0x103>;
 			enable-method = "psci";
 			capacity-dmips-mhz = <1024>;
-			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
+			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP1>;
 		};
 
 		idle-states {
@@ -152,7 +152,15 @@  CPU_SLEEP: cpu-sleep {
 				min-residency-us = <800>;
 			};
 
-			CLUSTER_SLEEP: cluster-sleep {
+			CLUSTER_SLEEP0: cluster-sleep@0 {
+				compatible = "arm,idle-state";
+				local-timer-stop;
+				arm,psci-suspend-param = <0x01010001>;
+				entry-latency-us = <250>;
+				exit-latency-us = <400>;
+				min-residency-us = <1000>;
+			};
+			CLUSTER_SLEEP1: cluster-sleep@1 {
 				compatible = "arm,idle-state";
 				local-timer-stop;
 				arm,psci-suspend-param = <0x01010001>;