devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] arm64: dts: Hi3660: Remove 'CPU_NAP' idle state
@ 2018-01-09  4:32 Leo Yan
       [not found] ` <1515472362-19979-1-git-send-email-leo.yan-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
  2018-02-28  5:08 ` Leo Yan
  0 siblings, 2 replies; 4+ messages in thread
From: Leo Yan @ 2018-01-09  4:32 UTC (permalink / raw)
  To: Wei Xu, Rob Herring, Mark Rutland, Catalin Marinas, Will Deacon,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	devicetree-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA
  Cc: Leo Yan, Daniel Lezcano, Kevin Wang, Vincent Guittot

Thanks a lot for Vincent Guittot careful work to find bug for 'CPU_NAP'
idle state.  At early time, the CPU CA73 CPU_NAP idle state has been
supported on Hikey960.  Later we found the system has the hang issue
and for resolving this issue Hisilicon released new MCU firmware, but
unfortunately the new MCU firmware has side effect and results in the
CA73 CPU cannot really enter CPU_NAP state and roll back to WFI state.

After discussion we cannot see the possibility to enable CA73 CPU_NAP
state anymore on Hikey960, based on this conclusion we should remove
this state from DT binding.

Cc: Daniel Lezcano <daniel.lezcano-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
Cc: Kevin Wang <jean.wangtao-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
Cc: Vincent Guittot <vincent.guittot-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
Signed-off-by: Leo Yan <leo.yan-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
---
 arch/arm64/boot/dts/hisilicon/hi3660.dtsi | 32 ++++---------------------------
 1 file changed, 4 insertions(+), 28 deletions(-)

diff --git a/arch/arm64/boot/dts/hisilicon/hi3660.dtsi b/arch/arm64/boot/dts/hisilicon/hi3660.dtsi
index ab0b95b..8fddf0d 100644
--- a/arch/arm64/boot/dts/hisilicon/hi3660.dtsi
+++ b/arch/arm64/boot/dts/hisilicon/hi3660.dtsi
@@ -96,11 +96,7 @@
 			reg = <0x0 0x100>;
 			enable-method = "psci";
 			next-level-cache = <&A73_L2>;
-			cpu-idle-states = <
-					&CPU_NAP
-					&CPU_SLEEP
-					&CLUSTER_SLEEP_1
-			>;
+			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP_1>;
 		};
 
 		cpu5: cpu@101 {
@@ -109,11 +105,7 @@
 			reg = <0x0 0x101>;
 			enable-method = "psci";
 			next-level-cache = <&A73_L2>;
-			cpu-idle-states = <
-					&CPU_NAP
-					&CPU_SLEEP
-					&CLUSTER_SLEEP_1
-			>;
+			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP_1>;
 		};
 
 		cpu6: cpu@102 {
@@ -122,11 +114,7 @@
 			reg = <0x0 0x102>;
 			enable-method = "psci";
 			next-level-cache = <&A73_L2>;
-			cpu-idle-states = <
-					&CPU_NAP
-					&CPU_SLEEP
-					&CLUSTER_SLEEP_1
-			>;
+			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP_1>;
 		};
 
 		cpu7: cpu@103 {
@@ -135,24 +123,12 @@
 			reg = <0x0 0x103>;
 			enable-method = "psci";
 			next-level-cache = <&A73_L2>;
-			cpu-idle-states = <
-					&CPU_NAP
-					&CPU_SLEEP
-					&CLUSTER_SLEEP_1
-			>;
+			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP_1>;
 		};
 
 		idle-states {
 			entry-method = "psci";
 
-			CPU_NAP: cpu-nap {
-				compatible = "arm,idle-state";
-				arm,psci-suspend-param = <0x0000001>;
-				entry-latency-us = <7>;
-				exit-latency-us = <2>;
-				min-residency-us = <15>;
-			};
-
 			CPU_SLEEP: cpu-sleep {
 				compatible = "arm,idle-state";
 				local-timer-stop;
-- 
2.7.4

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH] arm64: dts: Hi3660: Remove 'CPU_NAP' idle state
       [not found] ` <1515472362-19979-1-git-send-email-leo.yan-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
@ 2018-01-10  8:38   ` Vincent Guittot
  0 siblings, 0 replies; 4+ messages in thread
From: Vincent Guittot @ 2018-01-10  8:38 UTC (permalink / raw)
  To: Leo Yan
  Cc: Wei Xu, Rob Herring, Mark Rutland, Catalin Marinas, Will Deacon,
	LAK, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-kernel,
	Daniel Lezcano, Kevin Wang

On 9 January 2018 at 05:32, Leo Yan <leo.yan-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> wrote:
> Thanks a lot for Vincent Guittot careful work to find bug for 'CPU_NAP'
> idle state.  At early time, the CPU CA73 CPU_NAP idle state has been
> supported on Hikey960.  Later we found the system has the hang issue
> and for resolving this issue Hisilicon released new MCU firmware, but
> unfortunately the new MCU firmware has side effect and results in the
> CA73 CPU cannot really enter CPU_NAP state and roll back to WFI state.
>
> After discussion we cannot see the possibility to enable CA73 CPU_NAP
> state anymore on Hikey960, based on this conclusion we should remove
> this state from DT binding.
>
> Cc: Daniel Lezcano <daniel.lezcano-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
> Cc: Kevin Wang <jean.wangtao-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
> Cc: Vincent Guittot <vincent.guittot-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
> Signed-off-by: Leo Yan <leo.yan-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>

Tested-by: Vincent Guittot <vincent.guittot-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>

> ---
>  arch/arm64/boot/dts/hisilicon/hi3660.dtsi | 32 ++++---------------------------
>  1 file changed, 4 insertions(+), 28 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/hisilicon/hi3660.dtsi b/arch/arm64/boot/dts/hisilicon/hi3660.dtsi
> index ab0b95b..8fddf0d 100644
> --- a/arch/arm64/boot/dts/hisilicon/hi3660.dtsi
> +++ b/arch/arm64/boot/dts/hisilicon/hi3660.dtsi
> @@ -96,11 +96,7 @@
>                         reg = <0x0 0x100>;
>                         enable-method = "psci";
>                         next-level-cache = <&A73_L2>;
> -                       cpu-idle-states = <
> -                                       &CPU_NAP
> -                                       &CPU_SLEEP
> -                                       &CLUSTER_SLEEP_1
> -                       >;
> +                       cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP_1>;
>                 };
>
>                 cpu5: cpu@101 {
> @@ -109,11 +105,7 @@
>                         reg = <0x0 0x101>;
>                         enable-method = "psci";
>                         next-level-cache = <&A73_L2>;
> -                       cpu-idle-states = <
> -                                       &CPU_NAP
> -                                       &CPU_SLEEP
> -                                       &CLUSTER_SLEEP_1
> -                       >;
> +                       cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP_1>;
>                 };
>
>                 cpu6: cpu@102 {
> @@ -122,11 +114,7 @@
>                         reg = <0x0 0x102>;
>                         enable-method = "psci";
>                         next-level-cache = <&A73_L2>;
> -                       cpu-idle-states = <
> -                                       &CPU_NAP
> -                                       &CPU_SLEEP
> -                                       &CLUSTER_SLEEP_1
> -                       >;
> +                       cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP_1>;
>                 };
>
>                 cpu7: cpu@103 {
> @@ -135,24 +123,12 @@
>                         reg = <0x0 0x103>;
>                         enable-method = "psci";
>                         next-level-cache = <&A73_L2>;
> -                       cpu-idle-states = <
> -                                       &CPU_NAP
> -                                       &CPU_SLEEP
> -                                       &CLUSTER_SLEEP_1
> -                       >;
> +                       cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP_1>;
>                 };
>
>                 idle-states {
>                         entry-method = "psci";
>
> -                       CPU_NAP: cpu-nap {
> -                               compatible = "arm,idle-state";
> -                               arm,psci-suspend-param = <0x0000001>;
> -                               entry-latency-us = <7>;
> -                               exit-latency-us = <2>;
> -                               min-residency-us = <15>;
> -                       };
> -
>                         CPU_SLEEP: cpu-sleep {
>                                 compatible = "arm,idle-state";
>                                 local-timer-stop;
> --
> 2.7.4
>
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH] arm64: dts: Hi3660: Remove 'CPU_NAP' idle state
  2018-01-09  4:32 [PATCH] arm64: dts: Hi3660: Remove 'CPU_NAP' idle state Leo Yan
       [not found] ` <1515472362-19979-1-git-send-email-leo.yan-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
@ 2018-02-28  5:08 ` Leo Yan
  2018-03-02 15:57   ` Wei Xu
  1 sibling, 1 reply; 4+ messages in thread
From: Leo Yan @ 2018-02-28  5:08 UTC (permalink / raw)
  To: Wei Xu, Rob Herring, Mark Rutland, Catalin Marinas, Will Deacon,
	linux-arm-kernel, devicetree, linux-kernel
  Cc: Daniel Lezcano, Kevin Wang, Vincent Guittot

Hi Wei,

On Tue, Jan 09, 2018 at 12:32:42PM +0800, Leo Yan wrote:
> Thanks a lot for Vincent Guittot careful work to find bug for 'CPU_NAP'
> idle state.  At early time, the CPU CA73 CPU_NAP idle state has been
> supported on Hikey960.  Later we found the system has the hang issue
> and for resolving this issue Hisilicon released new MCU firmware, but
> unfortunately the new MCU firmware has side effect and results in the
> CA73 CPU cannot really enter CPU_NAP state and roll back to WFI state.
> 
> After discussion we cannot see the possibility to enable CA73 CPU_NAP
> state anymore on Hikey960, based on this conclusion we should remove
> this state from DT binding.
> 
> Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
> Cc: Kevin Wang <jean.wangtao@linaro.org>
> Cc: Vincent Guittot <vincent.guittot@linaro.org>
> Signed-off-by: Leo Yan <leo.yan@linaro.org>

Could you help to pick up this patch? Thanks!

> ---
>  arch/arm64/boot/dts/hisilicon/hi3660.dtsi | 32 ++++---------------------------
>  1 file changed, 4 insertions(+), 28 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/hisilicon/hi3660.dtsi b/arch/arm64/boot/dts/hisilicon/hi3660.dtsi
> index ab0b95b..8fddf0d 100644
> --- a/arch/arm64/boot/dts/hisilicon/hi3660.dtsi
> +++ b/arch/arm64/boot/dts/hisilicon/hi3660.dtsi
> @@ -96,11 +96,7 @@
>  			reg = <0x0 0x100>;
>  			enable-method = "psci";
>  			next-level-cache = <&A73_L2>;
> -			cpu-idle-states = <
> -					&CPU_NAP
> -					&CPU_SLEEP
> -					&CLUSTER_SLEEP_1
> -			>;
> +			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP_1>;
>  		};
>  
>  		cpu5: cpu@101 {
> @@ -109,11 +105,7 @@
>  			reg = <0x0 0x101>;
>  			enable-method = "psci";
>  			next-level-cache = <&A73_L2>;
> -			cpu-idle-states = <
> -					&CPU_NAP
> -					&CPU_SLEEP
> -					&CLUSTER_SLEEP_1
> -			>;
> +			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP_1>;
>  		};
>  
>  		cpu6: cpu@102 {
> @@ -122,11 +114,7 @@
>  			reg = <0x0 0x102>;
>  			enable-method = "psci";
>  			next-level-cache = <&A73_L2>;
> -			cpu-idle-states = <
> -					&CPU_NAP
> -					&CPU_SLEEP
> -					&CLUSTER_SLEEP_1
> -			>;
> +			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP_1>;
>  		};
>  
>  		cpu7: cpu@103 {
> @@ -135,24 +123,12 @@
>  			reg = <0x0 0x103>;
>  			enable-method = "psci";
>  			next-level-cache = <&A73_L2>;
> -			cpu-idle-states = <
> -					&CPU_NAP
> -					&CPU_SLEEP
> -					&CLUSTER_SLEEP_1
> -			>;
> +			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP_1>;
>  		};
>  
>  		idle-states {
>  			entry-method = "psci";
>  
> -			CPU_NAP: cpu-nap {
> -				compatible = "arm,idle-state";
> -				arm,psci-suspend-param = <0x0000001>;
> -				entry-latency-us = <7>;
> -				exit-latency-us = <2>;
> -				min-residency-us = <15>;
> -			};
> -
>  			CPU_SLEEP: cpu-sleep {
>  				compatible = "arm,idle-state";
>  				local-timer-stop;
> -- 
> 2.7.4
> 

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

* Re: [PATCH] arm64: dts: Hi3660: Remove 'CPU_NAP' idle state
  2018-02-28  5:08 ` Leo Yan
@ 2018-03-02 15:57   ` Wei Xu
  0 siblings, 0 replies; 4+ messages in thread
From: Wei Xu @ 2018-03-02 15:57 UTC (permalink / raw)
  To: Leo Yan, Rob Herring, Mark Rutland, Catalin Marinas, Will Deacon,
	linux-arm-kernel, devicetree, linux-kernel
  Cc: Daniel Lezcano, Kevin Wang, Vincent Guittot

Hi Leo,

On 2018/2/28 5:08, Leo Yan wrote:
> Hi Wei,
> 
> On Tue, Jan 09, 2018 at 12:32:42PM +0800, Leo Yan wrote:
>> Thanks a lot for Vincent Guittot careful work to find bug for 'CPU_NAP'
>> idle state.  At early time, the CPU CA73 CPU_NAP idle state has been
>> supported on Hikey960.  Later we found the system has the hang issue
>> and for resolving this issue Hisilicon released new MCU firmware, but
>> unfortunately the new MCU firmware has side effect and results in the
>> CA73 CPU cannot really enter CPU_NAP state and roll back to WFI state.
>>
>> After discussion we cannot see the possibility to enable CA73 CPU_NAP
>> state anymore on Hikey960, based on this conclusion we should remove
>> this state from DT binding.
>>
>> Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
>> Cc: Kevin Wang <jean.wangtao@linaro.org>
>> Cc: Vincent Guittot <vincent.guittot@linaro.org>
>> Signed-off-by: Leo Yan <leo.yan@linaro.org>
> 
> Could you help to pick up this patch? Thanks!

Applied into hisilicon dt tree.
Thanks!

Best Regards,
Wei

> 
>> ---
>>  arch/arm64/boot/dts/hisilicon/hi3660.dtsi | 32 ++++---------------------------
>>  1 file changed, 4 insertions(+), 28 deletions(-)
>>
>> diff --git a/arch/arm64/boot/dts/hisilicon/hi3660.dtsi b/arch/arm64/boot/dts/hisilicon/hi3660.dtsi
>> index ab0b95b..8fddf0d 100644
>> --- a/arch/arm64/boot/dts/hisilicon/hi3660.dtsi
>> +++ b/arch/arm64/boot/dts/hisilicon/hi3660.dtsi
>> @@ -96,11 +96,7 @@
>>  			reg = <0x0 0x100>;
>>  			enable-method = "psci";
>>  			next-level-cache = <&A73_L2>;
>> -			cpu-idle-states = <
>> -					&CPU_NAP
>> -					&CPU_SLEEP
>> -					&CLUSTER_SLEEP_1
>> -			>;
>> +			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP_1>;
>>  		};
>>  
>>  		cpu5: cpu@101 {
>> @@ -109,11 +105,7 @@
>>  			reg = <0x0 0x101>;
>>  			enable-method = "psci";
>>  			next-level-cache = <&A73_L2>;
>> -			cpu-idle-states = <
>> -					&CPU_NAP
>> -					&CPU_SLEEP
>> -					&CLUSTER_SLEEP_1
>> -			>;
>> +			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP_1>;
>>  		};
>>  
>>  		cpu6: cpu@102 {
>> @@ -122,11 +114,7 @@
>>  			reg = <0x0 0x102>;
>>  			enable-method = "psci";
>>  			next-level-cache = <&A73_L2>;
>> -			cpu-idle-states = <
>> -					&CPU_NAP
>> -					&CPU_SLEEP
>> -					&CLUSTER_SLEEP_1
>> -			>;
>> +			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP_1>;
>>  		};
>>  
>>  		cpu7: cpu@103 {
>> @@ -135,24 +123,12 @@
>>  			reg = <0x0 0x103>;
>>  			enable-method = "psci";
>>  			next-level-cache = <&A73_L2>;
>> -			cpu-idle-states = <
>> -					&CPU_NAP
>> -					&CPU_SLEEP
>> -					&CLUSTER_SLEEP_1
>> -			>;
>> +			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP_1>;
>>  		};
>>  
>>  		idle-states {
>>  			entry-method = "psci";
>>  
>> -			CPU_NAP: cpu-nap {
>> -				compatible = "arm,idle-state";
>> -				arm,psci-suspend-param = <0x0000001>;
>> -				entry-latency-us = <7>;
>> -				exit-latency-us = <2>;
>> -				min-residency-us = <15>;
>> -			};
>> -
>>  			CPU_SLEEP: cpu-sleep {
>>  				compatible = "arm,idle-state";
>>  				local-timer-stop;
>> -- 
>> 2.7.4
>>
> 
> .
> 

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

end of thread, other threads:[~2018-03-02 15:57 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-09  4:32 [PATCH] arm64: dts: Hi3660: Remove 'CPU_NAP' idle state Leo Yan
     [not found] ` <1515472362-19979-1-git-send-email-leo.yan-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2018-01-10  8:38   ` Vincent Guittot
2018-02-28  5:08 ` Leo Yan
2018-03-02 15:57   ` Wei Xu

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