devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] arm64: dts: mt8183: adjust cpuidle target residency
@ 2020-02-25  8:07 Ikjoon Jang
  2020-04-13 16:57 ` Matthias Brugger
  0 siblings, 1 reply; 2+ messages in thread
From: Ikjoon Jang @ 2020-02-25  8:07 UTC (permalink / raw)
  To: linux-mediatek, James Liao
  Cc: Rob Herring, Matthias Brugger, devicetree, linux-arm-kernel,
	linux-kernel, hsinyi, drinkcat, Ikjoon Jang

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(-)

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>;
-- 
2.25.0.265.gbab2e86ba0-goog


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] arm64: dts: mt8183: adjust cpuidle target residency
  2020-02-25  8:07 [PATCH] arm64: dts: mt8183: adjust cpuidle target residency Ikjoon Jang
@ 2020-04-13 16:57 ` Matthias Brugger
  0 siblings, 0 replies; 2+ messages in thread
From: Matthias Brugger @ 2020-04-13 16:57 UTC (permalink / raw)
  To: Ikjoon Jang, linux-mediatek, James Liao
  Cc: Rob Herring, devicetree, linux-arm-kernel, linux-kernel, hsinyi,
	drinkcat



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>;
> 


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-04-13 16:57 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-02-25  8:07 [PATCH] arm64: dts: mt8183: adjust cpuidle target residency Ikjoon Jang
2020-04-13 16:57 ` Matthias Brugger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).