From: l.stach@pengutronix.de (Lucas Stach)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/7] ARM: imx: add timer stop flag to ARM power off state
Date: Tue, 09 Jan 2018 15:04:29 +0100 [thread overview]
Message-ID: <1515506669.12538.31.camel@pengutronix.de> (raw)
In-Reply-To: <bacee8fe00b0ab54dfa6692bfc956ffd@agner.ch>
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 at gmail.com]
> > > > Sent: 2018-01-09 5:23 PM
> > > > To: Stefan Agner <stefan@agner.ch>
> > > > Cc: shawnguo at kernel.org; kernel at pengutronix.de; Fabio Estevam
> > > > <fabio.estevam@nxp.com>; robh+dt at kernel.org; mark.rutland at arm.c
> > > > om;
> > > > linux-arm-kernel at lists.infradead.org; devicetree at vger.kernel.or
> > > > g;
> > > > linux-
> > > > kernel at vger.kernel.org; Anson Huang <anson.huang@nxp.com>; dl-
> > > > linux-imx
> > > > <linux-imx@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@nxp.com>
> > > > > Signed-off-by: Stefan Agner <stefan@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?
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
next prev parent reply other threads:[~2018-01-09 14:04 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-02 16:42 [PATCH 1/7] ARM: imx: add timer stop flag to ARM power off state Stefan Agner
2018-01-02 16:42 ` [PATCH 2/7] ARM: dts: imx6ul: update i.MX 6UltraLite iomux headers Stefan Agner
2018-01-05 16:45 ` Rob Herring
2018-01-06 10:47 ` Stefan Agner
2018-01-08 1:37 ` Andy Duan
2018-01-09 9:24 ` Dong Aisheng
2018-01-02 16:42 ` [PATCH 3/7] ARM: dts: imx6ull: add additional pinfunc defines for i.MX 6ULL Stefan Agner
2018-01-05 16:49 ` Rob Herring
2018-01-07 9:52 ` Stefan Agner
2018-01-09 9:30 ` Dong Aisheng
2018-01-02 16:42 ` [PATCH 4/7] ARM: dts: imx6ul: add interrupt of virt-capable GIC Stefan Agner
2018-01-02 16:42 ` [PATCH 5/7] ARM: dts: imx6ul: add ARM architected timer Stefan Agner
2018-01-09 9:34 ` Dong Aisheng
2018-01-09 13:18 ` Stefan Agner
2018-01-02 16:42 ` [PATCH 6/7] ARM: dts: imx6ull: add IOMUXC SNVS instance Stefan Agner
2018-01-09 9:35 ` Dong Aisheng
2018-01-02 16:42 ` [PATCH 7/7] ARM: dts: imx6ull: add UART8 support Stefan Agner
2018-01-09 9:38 ` Dong Aisheng
2018-01-09 9:22 ` [PATCH 1/7] ARM: imx: add timer stop flag to ARM power off state Dong Aisheng
2018-01-09 9:25 ` Anson Huang
2018-01-09 10:13 ` Lucas Stach
2018-01-09 13:37 ` Stefan Agner
2018-01-09 14:04 ` Lucas Stach [this message]
2018-01-09 22:21 ` Stefan Agner
2018-01-09 13:22 ` Stefan Agner
2018-01-10 17:48 ` Lucas Stach
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1515506669.12538.31.camel@pengutronix.de \
--to=l.stach@pengutronix.de \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).