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