Re: [PATCH] ARM: dts: mt8173: support arm64 cpuidle-dt
On Tue, Mar 31, 2015 at 04:24:37AM +0100, Howard Chen wrote: > add an idle-states node to describe the mt8173 cpu idle > add a reference to the idle-states node in each CPU node You are also changing the PSCI version in this patch, but I think it is acceptable to have multiple changes at once to avoid churning out dts changes. Commit log should be rewritten, lack of punctuation, missing capitalization, etc; in short, please rewrite it. > Signed-off-by: Howard Chen > --- > arch/arm64/boot/dts/mediatek/mt8173.dtsi | 30 ++ > 1 file changed, 26 insertions(+), 4 deletions(-) > > diff --git a/arch/arm64/boot/dts/mediatek/mt8173.dtsi > b/arch/arm64/boot/dts/mediatek/mt8173.dtsi > index 8554ec3..96dff1e 100644 > --- a/arch/arm64/boot/dts/mediatek/mt8173.dtsi > +++ b/arch/arm64/boot/dts/mediatek/mt8173.dtsi > @@ -48,6 +48,8 @@ > device_type = "cpu"; > compatible = "arm,cortex-a53"; > reg = <0x000>; > + enable-method = "psci"; > + cpu-idle-states = <_SLEEP_0_0 _SLEEP_0>; You are free to use the labels you want, but you tell me why CPU_SLEEP_0_0 is used where eg CPU_SLEEP_0 would be sufficient and clearer (comment valid for all cpu nodes). Copy'n'paste ? > }; > > cpu1: cpu@1 { > @@ -55,6 +57,7 @@ > compatible = "arm,cortex-a53"; > reg = <0x001>; > enable-method = "psci"; > + cpu-idle-states = <_SLEEP_0_0 _SLEEP_0>; > }; > > cpu2: cpu@100 { > @@ -62,6 +65,7 @@ > compatible = "arm,cortex-a57"; > reg = <0x100>; > enable-method = "psci"; > + cpu-idle-states = <_SLEEP_0_0 _SLEEP_0>; > }; > > cpu3: cpu@101 { > @@ -69,15 +73,33 @@ > compatible = "arm,cortex-a57"; > reg = <0x101>; > enable-method = "psci"; > + cpu-idle-states = <_SLEEP_0_0 _SLEEP_0>; > }; > + > + idle-states { > + entry-method = "arm,psci-0.2"; "arm,psci" > + > + CPU_SLEEP_0_0: cpu-sleep-0-0 { > + compatible = "arm,idle-state"; > + arm,psci-suspend-param = <0x001>; > + entry-latency-us = <600>; > + exit-latency-us = <600>; > + min-residency-us = <1200>; > + }; > + > + CLUSTER_SLEEP_0: cluster-sleep-0 { > + compatible = "arm,idle-state"; > + arm,psci-suspend-param = <0x101>; > + entry-latency-us = <800>; > + exit-latency-us = <1000>; > + min-residency-us = <2000>; > + wakeup-latency-us = <1000>; > + }; You tested these latency values right ? > }; > > psci { > - compatible = "arm,psci"; > + compatible = "arm,psci-0.2"; See my comment in the commit log, this change is independent of idle states changes. Thanks, Lorenzo > method = "smc"; > - cpu_suspend = <0x8401>; > - cpu_off = <0x8402>; > - cpu_on= <0x8403>; > }; > > uart_clk: dummy26m { > -- > 1.9.1 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majord...@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] ARM: dts: mt8173: support arm64 cpuidle-dt
On Tue, Mar 31, 2015 at 04:24:37AM +0100, Howard Chen wrote: add an idle-states node to describe the mt8173 cpu idle add a reference to the idle-states node in each CPU node You are also changing the PSCI version in this patch, but I think it is acceptable to have multiple changes at once to avoid churning out dts changes. Commit log should be rewritten, lack of punctuation, missing capitalization, etc; in short, please rewrite it. Signed-off-by: Howard Chen howard.c...@linaro.org --- arch/arm64/boot/dts/mediatek/mt8173.dtsi | 30 ++ 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/arch/arm64/boot/dts/mediatek/mt8173.dtsi b/arch/arm64/boot/dts/mediatek/mt8173.dtsi index 8554ec3..96dff1e 100644 --- a/arch/arm64/boot/dts/mediatek/mt8173.dtsi +++ b/arch/arm64/boot/dts/mediatek/mt8173.dtsi @@ -48,6 +48,8 @@ device_type = cpu; compatible = arm,cortex-a53; reg = 0x000; + enable-method = psci; + cpu-idle-states = CPU_SLEEP_0_0 CLUSTER_SLEEP_0; You are free to use the labels you want, but you tell me why CPU_SLEEP_0_0 is used where eg CPU_SLEEP_0 would be sufficient and clearer (comment valid for all cpu nodes). Copy'n'paste ? }; cpu1: cpu@1 { @@ -55,6 +57,7 @@ compatible = arm,cortex-a53; reg = 0x001; enable-method = psci; + cpu-idle-states = CPU_SLEEP_0_0 CLUSTER_SLEEP_0; }; cpu2: cpu@100 { @@ -62,6 +65,7 @@ compatible = arm,cortex-a57; reg = 0x100; enable-method = psci; + cpu-idle-states = CPU_SLEEP_0_0 CLUSTER_SLEEP_0; }; cpu3: cpu@101 { @@ -69,15 +73,33 @@ compatible = arm,cortex-a57; reg = 0x101; enable-method = psci; + cpu-idle-states = CPU_SLEEP_0_0 CLUSTER_SLEEP_0; }; + + idle-states { + entry-method = arm,psci-0.2; arm,psci + + CPU_SLEEP_0_0: cpu-sleep-0-0 { + compatible = arm,idle-state; + arm,psci-suspend-param = 0x001; + entry-latency-us = 600; + exit-latency-us = 600; + min-residency-us = 1200; + }; + + CLUSTER_SLEEP_0: cluster-sleep-0 { + compatible = arm,idle-state; + arm,psci-suspend-param = 0x101; + entry-latency-us = 800; + exit-latency-us = 1000; + min-residency-us = 2000; + wakeup-latency-us = 1000; + }; You tested these latency values right ? }; psci { - compatible = arm,psci; + compatible = arm,psci-0.2; See my comment in the commit log, this change is independent of idle states changes. Thanks, Lorenzo method = smc; - cpu_suspend = 0x8401; - cpu_off = 0x8402; - cpu_on= 0x8403; }; uart_clk: dummy26m { -- 1.9.1 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH] ARM: dts: mt8173: support arm64 cpuidle-dt
add an idle-states node to describe the mt8173 cpu idle add a reference to the idle-states node in each CPU node Signed-off-by: Howard Chen --- arch/arm64/boot/dts/mediatek/mt8173.dtsi | 30 ++ 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/arch/arm64/boot/dts/mediatek/mt8173.dtsi b/arch/arm64/boot/dts/mediatek/mt8173.dtsi index 8554ec3..96dff1e 100644 --- a/arch/arm64/boot/dts/mediatek/mt8173.dtsi +++ b/arch/arm64/boot/dts/mediatek/mt8173.dtsi @@ -48,6 +48,8 @@ device_type = "cpu"; compatible = "arm,cortex-a53"; reg = <0x000>; + enable-method = "psci"; + cpu-idle-states = <_SLEEP_0_0 _SLEEP_0>; }; cpu1: cpu@1 { @@ -55,6 +57,7 @@ compatible = "arm,cortex-a53"; reg = <0x001>; enable-method = "psci"; + cpu-idle-states = <_SLEEP_0_0 _SLEEP_0>; }; cpu2: cpu@100 { @@ -62,6 +65,7 @@ compatible = "arm,cortex-a57"; reg = <0x100>; enable-method = "psci"; + cpu-idle-states = <_SLEEP_0_0 _SLEEP_0>; }; cpu3: cpu@101 { @@ -69,15 +73,33 @@ compatible = "arm,cortex-a57"; reg = <0x101>; enable-method = "psci"; + cpu-idle-states = <_SLEEP_0_0 _SLEEP_0>; }; + + idle-states { + entry-method = "arm,psci-0.2"; + + CPU_SLEEP_0_0: cpu-sleep-0-0 { + compatible = "arm,idle-state"; + arm,psci-suspend-param = <0x001>; + entry-latency-us = <600>; + exit-latency-us = <600>; + min-residency-us = <1200>; + }; + + CLUSTER_SLEEP_0: cluster-sleep-0 { + compatible = "arm,idle-state"; + arm,psci-suspend-param = <0x101>; + entry-latency-us = <800>; + exit-latency-us = <1000>; + min-residency-us = <2000>; + wakeup-latency-us = <1000>; + }; }; psci { - compatible = "arm,psci"; + compatible = "arm,psci-0.2"; method = "smc"; - cpu_suspend = <0x8401>; - cpu_off = <0x8402>; - cpu_on= <0x8403>; }; uart_clk: dummy26m { -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH] ARM: dts: mt8173: support arm64 cpuidle-dt
add an idle-states node to describe the mt8173 cpu idle add a reference to the idle-states node in each CPU node Signed-off-by: Howard Chen howard.c...@linaro.org --- arch/arm64/boot/dts/mediatek/mt8173.dtsi | 30 ++ 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/arch/arm64/boot/dts/mediatek/mt8173.dtsi b/arch/arm64/boot/dts/mediatek/mt8173.dtsi index 8554ec3..96dff1e 100644 --- a/arch/arm64/boot/dts/mediatek/mt8173.dtsi +++ b/arch/arm64/boot/dts/mediatek/mt8173.dtsi @@ -48,6 +48,8 @@ device_type = cpu; compatible = arm,cortex-a53; reg = 0x000; + enable-method = psci; + cpu-idle-states = CPU_SLEEP_0_0 CLUSTER_SLEEP_0; }; cpu1: cpu@1 { @@ -55,6 +57,7 @@ compatible = arm,cortex-a53; reg = 0x001; enable-method = psci; + cpu-idle-states = CPU_SLEEP_0_0 CLUSTER_SLEEP_0; }; cpu2: cpu@100 { @@ -62,6 +65,7 @@ compatible = arm,cortex-a57; reg = 0x100; enable-method = psci; + cpu-idle-states = CPU_SLEEP_0_0 CLUSTER_SLEEP_0; }; cpu3: cpu@101 { @@ -69,15 +73,33 @@ compatible = arm,cortex-a57; reg = 0x101; enable-method = psci; + cpu-idle-states = CPU_SLEEP_0_0 CLUSTER_SLEEP_0; }; + + idle-states { + entry-method = arm,psci-0.2; + + CPU_SLEEP_0_0: cpu-sleep-0-0 { + compatible = arm,idle-state; + arm,psci-suspend-param = 0x001; + entry-latency-us = 600; + exit-latency-us = 600; + min-residency-us = 1200; + }; + + CLUSTER_SLEEP_0: cluster-sleep-0 { + compatible = arm,idle-state; + arm,psci-suspend-param = 0x101; + entry-latency-us = 800; + exit-latency-us = 1000; + min-residency-us = 2000; + wakeup-latency-us = 1000; + }; }; psci { - compatible = arm,psci; + compatible = arm,psci-0.2; method = smc; - cpu_suspend = 0x8401; - cpu_off = 0x8402; - cpu_on= 0x8403; }; uart_clk: dummy26m { -- 1.9.1 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/