[PATCH 1/7] ARM: imx: add timer stop flag to ARM power off state

Stefan Agner stefan at agner.ch
Tue Jan 9 05:37:50 PST 2018


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 at gmail.com]
>> > Sent: 2018-01-09 5:23 PM
>> > To: Stefan Agner <stefan at agner.ch>
>> > Cc: shawnguo at kernel.org; kernel at pengutronix.de; Fabio Estevam
>> > <fabio.estevam at nxp.com>; robh+dt at kernel.org; mark.rutland at arm.com;
>> > linux-arm-kernel at lists.infradead.org; devicetree at vger.kernel.org;
>> > linux-
>> > kernel at vger.kernel.org; Anson Huang <anson.huang at nxp.com>; dl-
>> > linux-imx
>> > <linux-imx at nxp.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 at nxp.com>
>> > > Signed-off-by: Stefan Agner <stefan at agner.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?

--
Stefan



More information about the linux-arm-kernel mailing list