From: tglx@linutronix.de (Thomas Gleixner)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v9 1/1] irqchip: imx-gpcv2: IMX GPCv2 driver for wakeup sources
Date: Tue, 25 Aug 2015 22:15:59 +0200 (CEST) [thread overview]
Message-ID: <alpine.DEB.2.11.1508252213220.15006@nanos> (raw)
In-Reply-To: <CY1PR0301MB08430902E0E46A43D00317C283610@CY1PR0301MB0843.namprd03.prod.outlook.com>
On Tue, 25 Aug 2015, Shenwei Wang wrote:
> > From: Thomas Gleixner [mailto:tglx at linutronix.de]
> > > IRQCHIP_MASK_ON_SUSPEND flag is for the hardware that has no wakeup
> > > source capability. This GPCv2 block is designed to manage the wakeup
> > > source, so the flag does not make any sense.
> >
> > You have no seperate wakeup source mechanism. All you do is to mask all non
> > wakeup sources and keep the wakeup sources unmask.
> >
> > That's what happens in gpcv2_wakeup_source_save()
> >
> > writel_relaxed(cd->wakeup_sources[i], reg);
> >
> > So it's the same as letting the core mask all non wakeup sources and leave the
> > wakeup sources unmask.
>
> Does it mean an unexpected interrupt may activate the system, and
> the core will let the system go into suspend again if the core
> determines it not a wakeup source? The current design is to ignore
> all the unexpected interrupts in the hardware level. Only the
> presetting wakeup sources can activate the platform. Here power
> consumption is more important.
Did you actually read, what I wrote?
The core does in case of MASK_ON_SUSPEND
for_each_irq() {
if (!irq->wakeupsource)
mask(irq)
}
That's identical to what you are doing. You just do it differently by
saving the active wakeup sources in your own data structure and then
write that info to the mask register, which leaves only the wakeup
sources unmasked.
Thanks,
tglx
next prev parent reply other threads:[~2015-08-25 20:15 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-24 19:04 [PATCH v9 1/1] irqchip: imx-gpcv2: IMX GPCv2 driver for wakeup sources Shenwei Wang
2015-08-24 19:14 ` Thomas Gleixner
2015-08-24 19:20 ` Shenwei Wang
2015-08-24 19:30 ` Thomas Gleixner
2015-08-24 19:32 ` Shenwei Wang
2015-08-25 9:24 ` Sudeep Holla
2015-08-25 13:38 ` Shenwei Wang
2015-08-25 13:54 ` Sudeep Holla
2015-08-25 14:14 ` Shenwei Wang
2015-08-25 14:45 ` Sudeep Holla
2015-08-25 14:54 ` Shenwei Wang
2015-08-25 16:24 ` Sudeep Holla
2015-08-25 19:24 ` Shenwei Wang
2015-08-25 19:29 ` Thomas Gleixner
2015-08-25 19:58 ` Shenwei Wang
2015-08-25 20:15 ` Thomas Gleixner [this message]
2015-08-25 20:43 ` Shenwei Wang
2015-08-25 20:49 ` Thomas Gleixner
2015-08-25 20:53 ` Shenwei Wang
2015-08-25 19:26 ` Thomas Gleixner
2015-08-26 8:52 ` Sudeep Holla
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=alpine.DEB.2.11.1508252213220.15006@nanos \
--to=tglx@linutronix.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