Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753545AbeAINXG (ORCPT + 1 other); Tue, 9 Jan 2018 08:23:06 -0500 Received: from mail.kmu-office.ch ([178.209.48.109]:53116 "EHLO mail.kmu-office.ch" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751796AbeAINXE (ORCPT ); Tue, 9 Jan 2018 08:23:04 -0500 MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Date: Tue, 09 Jan 2018 14:22:45 +0100 From: Stefan Agner To: Dong Aisheng Cc: shawnguo@kernel.org, kernel@pengutronix.de, fabio.estevam@nxp.com, robh+dt@kernel.org, mark.rutland@arm.com, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Anson Huang , linux-imx@nxp.com Subject: Re: [PATCH 1/7] ARM: imx: add timer stop flag to ARM power off state In-Reply-To: <20180109092232.GA26312@b29396-OptiPlex-7040> References: <20180102164223.15230-1-stefan@agner.ch> <20180109092232.GA26312@b29396-OptiPlex-7040> Message-ID: User-Agent: Roundcube Webmail/1.2.5 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return-Path: On 2018-01-09 10:22, Dong Aisheng wrote: > On Tue, Jan 02, 2018 at 05:42:17PM +0100, Stefan Agner wrote: >> When the CPU is in ARM power off state the ARM architected >> timers are stopped. The flag is already present in the higher >> power WAIT mode. >> >> This allows to use the ARM generic timer on i.MX 6UL/6ULL SoC. >> Without the flag the kernel freezes when the timer enters the >> first time ARM power off mode. >> >> Cc: Anson Huang >> Signed-off-by: Stefan Agner > > It seems ok at my side. > Did you meet the real issue? If yes, how to reproduce? Enable the timer added with Patch 5, use a U-Boot with this patchset applied: https://www.mail-archive.com/u-boot@lists.denx.de/msg273287.html And boot... For me it freezed somewhere early during systemd boot phase, presumably the first time the CPU got into this idle mode. -- Stefan > > Both mx6sx and mx6ul are using GPT which do not need that flag, suppose > we should remove it, right? > Anson can help confirm it. > > Regards > Dong Aisheng > >> --- >> arch/arm/mach-imx/cpuidle-imx6sx.c | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/arch/arm/mach-imx/cpuidle-imx6sx.c b/arch/arm/mach-imx/cpuidle-imx6sx.c >> index c5a5c3a70ab1..d0f14b761ff7 100644 >> --- a/arch/arm/mach-imx/cpuidle-imx6sx.c >> +++ b/arch/arm/mach-imx/cpuidle-imx6sx.c >> @@ -89,6 +89,7 @@ static struct cpuidle_driver imx6sx_cpuidle_driver = { >> */ >> .exit_latency = 300, >> .target_residency = 500, >> + .flags = CPUIDLE_FLAG_TIMER_STOP, >> .enter = imx6sx_enter_wait, >> .name = "LOW-POWER-IDLE", >> .desc = "ARM power off", >> -- >> 2.15.1 >>