linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: neilb@suse.de (NeilBrown)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 0/3] Ensure twl4030 interrupts are lost during suspend.
Date: Wed, 25 Apr 2012 13:05:23 +1000	[thread overview]
Message-ID: <20120425025637.7832.14013.stgit@notabene.brown> (raw)

Sorry for the scatter-gun list of email address, but while each of
these patches only touches one subsystem, they really needed each
other to provide proper context.

The goal is to ensure that an interrupt that arrives on a TWL4030
connected to an OMAP3, during the 'late-suspend' stage will
cause the suspend to abort (if the interrupt is properly configured).
(e.g. power button, RTC alarm, USB plug/unplug)

The interrupt as seen by the OMAP3 is a level-triggered interrupt so
if it arrives at this time, it is masked.  With the current code it
remains masked and so cannot wake the device from suspend.

To fix this:
  The twl4030 drivers must mark the interrupt for wakeup
  The OMAP interrupt handler must allow the interrupt to be
     marked for wakeup
  The core interrupt/PM code must allow masked level-triggered
     interrupts to abort a suspend.

I'm least sure about that last one.  My patch unmasks any masked
interrupt that is suppose to support wakeup.  I suspect that is
correct but I don't know enough about general IRQ handling to be sure.
Maybe there could be cases where a driver has explicitly masked the
interrupt without cleaning the 'wakeup' setting.  Is that allowed?


---

NeilBrown (3):
      twl4030: enable wakeup on twl4030 IRQ.
      IRQ: allow check_wakeup_irqs to notice level-triggered interrupts.
      ARM: omap2+: set IRQCHIP_SKIP_SET_WAKE for INTC interrupts.


 arch/arm/mach-omap2/irq.c |    1 +
 drivers/mfd/twl4030-irq.c |    1 +
 kernel/irq/pm.c           |    6 ++++++
 3 files changed, 8 insertions(+)

-- 
Signature

             reply	other threads:[~2012-04-25  3:05 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-25  3:05 NeilBrown [this message]
2012-04-25  3:05 ` [PATCH 3/3] twl4030: enable wakeup on twl4030 IRQ NeilBrown
2012-04-26 20:39   ` Kevin Hilman
2012-05-09 16:03   ` Samuel Ortiz
2012-04-25  3:05 ` [PATCH 1/3] ARM: omap2+: set IRQCHIP_SKIP_SET_WAKE for INTC interrupts NeilBrown
2012-04-26 20:08   ` Kevin Hilman
2012-04-26 20:25     ` Tony Lindgren
2012-04-26 20:39   ` Kevin Hilman
2012-04-26 20:50     ` NeilBrown
2012-04-27 22:01       ` Kevin Hilman
2012-04-27  6:20     ` Shilimkar, Santosh
2012-04-25  3:05 ` [PATCH 2/3] IRQ: allow check_wakeup_irqs to notice level-triggered interrupts NeilBrown
2012-04-25  8:50   ` Thomas Gleixner
2012-04-25  9:39     ` NeilBrown
2012-04-25 12:54       ` Thomas Gleixner
2012-04-25 21:04         ` NeilBrown
2012-05-04  5:12         ` NeilBrown
2012-05-04 16:01           ` Thomas Gleixner
2012-05-08 20:52             ` NeilBrown

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=20120425025637.7832.14013.stgit@notabene.brown \
    --to=neilb@suse.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).