* [PATCH v3] ARM: dts: mt8173: support arm64 cpuidle-dt @ 2015-05-29 7:01 Howard Chen 2015-05-29 14:55 ` Lorenzo Pieralisi 0 siblings, 1 reply; 4+ messages in thread From: Howard Chen @ 2015-05-29 7:01 UTC (permalink / raw) To: linux-arm-kernel This patch adds an idle-states node to describe the mt8173 idle states and also adds references to the idle-states node in all CPU nodes. Signed-off-by: Howard Chen <howard.chen@linaro.org> --- arch/arm64/boot/dts/mediatek/mt8173.dtsi | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/arch/arm64/boot/dts/mediatek/mt8173.dtsi b/arch/arm64/boot/dts/mediatek/mt8173.dtsi index 924fdb6..47e8d56 100644 --- a/arch/arm64/boot/dts/mediatek/mt8173.dtsi +++ b/arch/arm64/boot/dts/mediatek/mt8173.dtsi @@ -49,6 +49,8 @@ device_type = "cpu"; compatible = "arm,cortex-a53"; reg = <0x000>; + enable-method = "psci"; + cpu-idle-states = <&CPU_SLEEP_0>; }; cpu1: cpu at 1 { @@ -56,6 +58,7 @@ compatible = "arm,cortex-a53"; reg = <0x001>; enable-method = "psci"; + cpu-idle-states = <&CPU_SLEEP_0>; }; cpu2: cpu at 100 { @@ -63,6 +66,7 @@ compatible = "arm,cortex-a57"; reg = <0x100>; enable-method = "psci"; + cpu-idle-states = <&CPU_SLEEP_0>; }; cpu3: cpu at 101 { @@ -70,6 +74,20 @@ compatible = "arm,cortex-a57"; reg = <0x101>; enable-method = "psci"; + cpu-idle-states = <&CPU_SLEEP_0>; + }; + + idle-states { + entry-method = "arm,psci"; + + CPU_SLEEP_0: cpu-sleep-0 { + compatible = "arm,idle-state"; + arm,psci-suspend-param = <0x0010000>; + entry-latency-us = <639>; + exit-latency-us = <680>; + min-residency-us = <1088>; + local-timer-stop; + }; }; }; -- 1.9.1 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH v3] ARM: dts: mt8173: support arm64 cpuidle-dt 2015-05-29 7:01 [PATCH v3] ARM: dts: mt8173: support arm64 cpuidle-dt Howard Chen @ 2015-05-29 14:55 ` Lorenzo Pieralisi 2015-06-02 7:17 ` Howard Chen 0 siblings, 1 reply; 4+ messages in thread From: Lorenzo Pieralisi @ 2015-05-29 14:55 UTC (permalink / raw) To: linux-arm-kernel On Fri, May 29, 2015 at 08:01:46AM +0100, Howard Chen wrote: > This patch adds an idle-states node to describe the mt8173 idle states and > also adds references to the idle-states node in all CPU nodes. > > Signed-off-by: Howard Chen <howard.chen@linaro.org> > --- You should have added a list of incremental changes (v1->v2->v3) here otherwise there is no point in adding a patch version, we are not supposed to remember what you have changed. > arch/arm64/boot/dts/mediatek/mt8173.dtsi | 18 ++++++++++++++++++ > 1 file changed, 18 insertions(+) > > diff --git a/arch/arm64/boot/dts/mediatek/mt8173.dtsi b/arch/arm64/boot/dts/mediatek/mt8173.dtsi > index 924fdb6..47e8d56 100644 > --- a/arch/arm64/boot/dts/mediatek/mt8173.dtsi > +++ b/arch/arm64/boot/dts/mediatek/mt8173.dtsi > @@ -49,6 +49,8 @@ > device_type = "cpu"; > compatible = "arm,cortex-a53"; > reg = <0x000>; > + enable-method = "psci"; > + cpu-idle-states = <&CPU_SLEEP_0>; > }; > > cpu1: cpu at 1 { > @@ -56,6 +58,7 @@ > compatible = "arm,cortex-a53"; > reg = <0x001>; > enable-method = "psci"; > + cpu-idle-states = <&CPU_SLEEP_0>; > }; > > cpu2: cpu at 100 { > @@ -63,6 +66,7 @@ > compatible = "arm,cortex-a57"; > reg = <0x100>; > enable-method = "psci"; > + cpu-idle-states = <&CPU_SLEEP_0>; > }; > > cpu3: cpu at 101 { > @@ -70,6 +74,20 @@ > compatible = "arm,cortex-a57"; > reg = <0x101>; > enable-method = "psci"; > + cpu-idle-states = <&CPU_SLEEP_0>; > + }; > + > + idle-states { > + entry-method = "arm,psci"; > + > + CPU_SLEEP_0: cpu-sleep-0 { > + compatible = "arm,idle-state"; UltraNit: please move local-timer-stop here to keep the property ordering as in the bindings. More importantly, IIRC the idle state was not local-timer-stop in v2, what changed in the interim ? v1->v2 the cluster idle state disappeared, now the local timer seems to stop when it was not before (and that is the same HW), I hope things are settled now. https://lkml.org/lkml/2015/4/7/76 > + arm,psci-suspend-param = <0x0010000>; Move this property as last on the list, let's keep the generic properties first. > + entry-latency-us = <639>; > + exit-latency-us = <680>; > + min-residency-us = <1088>; > + local-timer-stop; > + }; > }; > }; I guess there is no hope of seeing the cluster state restored (?). I would like some explanation regarding local-timer-stop change, apart from that you can add: Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH v3] ARM: dts: mt8173: support arm64 cpuidle-dt 2015-05-29 14:55 ` Lorenzo Pieralisi @ 2015-06-02 7:17 ` Howard Chen 2015-06-02 9:39 ` Amit Kucheria 0 siblings, 1 reply; 4+ messages in thread From: Howard Chen @ 2015-06-02 7:17 UTC (permalink / raw) To: linux-arm-kernel On 29 May 2015 at 22:55, Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> wrote: > On Fri, May 29, 2015 at 08:01:46AM +0100, Howard Chen wrote: >> This patch adds an idle-states node to describe the mt8173 idle states and >> also adds references to the idle-states node in all CPU nodes. >> >> Signed-off-by: Howard Chen <howard.chen@linaro.org> >> --- > You should have added a list of incremental changes (v1->v2->v3) here > otherwise there is no point in adding a patch version, we are not > supposed to remember what you have changed. > OK. >> arch/arm64/boot/dts/mediatek/mt8173.dtsi | 18 ++++++++++++++++++ >> 1 file changed, 18 insertions(+) >> >> diff --git a/arch/arm64/boot/dts/mediatek/mt8173.dtsi b/arch/arm64/boot/dts/mediatek/mt8173.dtsi >> index 924fdb6..47e8d56 100644 >> --- a/arch/arm64/boot/dts/mediatek/mt8173.dtsi >> +++ b/arch/arm64/boot/dts/mediatek/mt8173.dtsi >> @@ -49,6 +49,8 @@ >> device_type = "cpu"; >> compatible = "arm,cortex-a53"; >> reg = <0x000>; >> + enable-method = "psci"; >> + cpu-idle-states = <&CPU_SLEEP_0>; >> }; >> >> cpu1: cpu at 1 { >> @@ -56,6 +58,7 @@ >> compatible = "arm,cortex-a53"; >> reg = <0x001>; >> enable-method = "psci"; >> + cpu-idle-states = <&CPU_SLEEP_0>; >> }; >> >> cpu2: cpu at 100 { >> @@ -63,6 +66,7 @@ >> compatible = "arm,cortex-a57"; >> reg = <0x100>; >> enable-method = "psci"; >> + cpu-idle-states = <&CPU_SLEEP_0>; >> }; >> >> cpu3: cpu at 101 { >> @@ -70,6 +74,20 @@ >> compatible = "arm,cortex-a57"; >> reg = <0x101>; >> enable-method = "psci"; >> + cpu-idle-states = <&CPU_SLEEP_0>; >> + }; >> + >> + idle-states { >> + entry-method = "arm,psci"; >> + >> + CPU_SLEEP_0: cpu-sleep-0 { >> + compatible = "arm,idle-state"; > > UltraNit: please move local-timer-stop here to keep the property ordering > as in the bindings. OK. > > More importantly, IIRC the idle state was not local-timer-stop in v2, My original idea is to hand over to a general purpose timer when the local timer stops, however, Danienl Lezcano naked this and points out cases that it may misbehave. So I fall back to the generic approach which uses the broadcast timer on the v3 patch. > what changed in the interim ? v1->v2 the cluster idle state disappeared, The cluster idle won't be available in the near future and possibly never will, while the C1 state is ready and stable, so I split the C1 part out. > now the local timer seems to stop when it was not before (and that is > the same HW), I hope things are settled now. > > https://lkml.org/lkml/2015/4/7/76 > >> + arm,psci-suspend-param = <0x0010000>; > > Move this property as last on the list, let's keep the generic > properties first. OK. > >> + entry-latency-us = <639>; >> + exit-latency-us = <680>; >> + min-residency-us = <1088>; >> + local-timer-stop; >> + }; >> }; >> }; > > I guess there is no hope of seeing the cluster state restored (?). > > I would like some explanation regarding local-timer-stop change, apart > from that you can add: > > Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Many thanks for your review and all the great comments. Regards, Howard ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH v3] ARM: dts: mt8173: support arm64 cpuidle-dt 2015-06-02 7:17 ` Howard Chen @ 2015-06-02 9:39 ` Amit Kucheria 0 siblings, 0 replies; 4+ messages in thread From: Amit Kucheria @ 2015-06-02 9:39 UTC (permalink / raw) To: linux-arm-kernel On Tue, Jun 2, 2015 at 12:47 PM, Howard Chen <howard.chen@linaro.org> wrote: >> what changed in the interim ? v1->v2 the cluster idle state disappeared, > > The cluster idle won't be available in the near future and possibly never will, > while the C1 state is ready and stable, so I split the C1 part out. May I ask why cluster idle won't be available? ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-06-02 9:39 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-05-29 7:01 [PATCH v3] ARM: dts: mt8173: support arm64 cpuidle-dt Howard Chen 2015-05-29 14:55 ` Lorenzo Pieralisi 2015-06-02 7:17 ` Howard Chen 2015-06-02 9:39 ` Amit Kucheria
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).