[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1515506669.12538.31.camel@pengutronix.de>
Date: Tue, 09 Jan 2018 15:04:29 +0100
From: Lucas Stach <l.stach@...gutronix.de>
To: Stefan Agner <stefan@...er.ch>
Cc: Anson Huang <anson.huang@....com>,
Dong Aisheng <dongas86@...il.com>, mark.rutland@....com,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
robh+dt@...nel.org, dl-linux-imx <linux-imx@....com>,
kernel@...gutronix.de, Fabio Estevam <fabio.estevam@....com>,
shawnguo@...nel.org, linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCH 1/7] ARM: imx: add timer stop flag to ARM power off state
Am Dienstag, den 09.01.2018, 14:37 +0100 schrieb Stefan Agner:
> On 2018-01-09 11:13, Lucas Stach wrote:
> > Am Dienstag, den 09.01.2018, 09:25 +0000 schrieb Anson Huang:
> > >
> > > Best Regards!
> > > Anson Huang
> > >
> > >
> > > > -----Original Message-----
> > > > From: Dong Aisheng [mailto:dongas86@...il.com]
> > > > Sent: 2018-01-09 5:23 PM
> > > > To: Stefan Agner <stefan@...er.ch>
> > > > Cc: shawnguo@...nel.org; kernel@...gutronix.de; Fabio Estevam
> > > > <fabio.estevam@....com>; robh+dt@...nel.org; mark.rutland@....c
> > > > om;
> > > > linux-arm-kernel@...ts.infradead.org; devicetree@...r.kernel.or
> > > > g;
> > > > linux-
> > > > kernel@...r.kernel.org; Anson Huang <anson.huang@....com>; dl-
> > > > linux-imx
> > > > <linux-imx@....com>
> > > > Subject: Re: [PATCH 1/7] ARM: imx: add timer stop flag to ARM
> > > > power
> > > > off state
> > > >
> > > > 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 <anson.huang@....com>
> > > > > Signed-off-by: Stefan Agner <stefan@...er.ch>
> > > >
> > > > It seems ok at my side.
> > > > Did you meet the real issue? If yes, how to reproduce?
> > > >
> > > > Both mx6sx and mx6ul are using GPT which do not need that flag,
> > > > suppose we
> > > > should remove it, right?
> > > > Anson can help confirm it.
> > >
> > > For UP system like i.MX6SX, we do NOT enable "cortex-a9-twd-
> > > timer",
> > > so local
> > > timer is NOT used, GPT is used instead, GPT's clock is NOT
> > > disabled
> > > when cpuidle,
> > > so I think we should remove all these Timer stop flag for 6SX
> > > CPUIDLE.
> >
> > It's correct to set the flag even on UP systems, as the flag means
> > the
> > CPU _local_ timer is stopped in this sleep mode. Also there are
> > systems
> > out there which are using the TWD on UP, as it operates at a higher
> > frequency leading to better wakeup granularity.
>
> Documentation/devicetree/bindings/arm/twd.txt states that TWD
> provides
> "per-cpu local timer". But as far as I can see TWD still uses SPI
> interrupts, routed through GIC, so is this the differentiation?
Maybe what I wrote wasn't entirely clear. I completely agree with this
patch.
The TWD on Cortex-A9 is a CPU local timer, same as the architected
timer in later cores. It doesn't provide all the benefits of the
architected timer (the clock frequency varies with CPU core clock and
it's not virt capable), but some systems still prefer it over the i.MX
GPT, as it provides much better wakeup granularity.
So annotating the CPU idle states with the timer stop flag is the right
thing to do. This flag has nothing to with the usage of GPT or TWD on a
specific system.
Regards,
Lucas
Powered by blists - more mailing lists