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