linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* PXA168 suspend/resume issue and set_wake
@ 2010-04-02  8:00 Jaya Kumar
  2010-04-02  8:41 ` Eric Miao
  0 siblings, 1 reply; 2+ messages in thread
From: Jaya Kumar @ 2010-04-02  8:00 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Arm friends,

A quick question for you. I am experimenting with a PXA168 device and
noticed some odd behaviour with resume. The device can suspend and can
then be resumed, at least to serial console level after a gpio button
press. But then as part of the resume, I see some messages about
unbalanced IRQ wake disable. Then after that, button presses no longer
generate any interrupts. The irq count remains what it was at the
point of suspend. I took a quick scan at the PXA168 source code and
noticed:

pxa168.c:
pxa_init_gpio(IRQ_PXA168_GPIOX, 0, 127, NULL);

So no set_wake function, which I think explains the unbalanced IRQ
wake messages since gpio-keys would have tried to enable_irq_wake on
suspend which would do nothing since above has no set_wake and then on
resume gpio-keys would try to disable_irq_wake and cause the
unbalanced IRQ wake disable. But I haven't quite understood why the
buttons fail to cause any interrupts after that. Has anyone
encountered anything similar and if so any patches I could look at?

Thanks,
jaya

^ permalink raw reply	[flat|nested] 2+ messages in thread

* PXA168 suspend/resume issue and set_wake
  2010-04-02  8:00 PXA168 suspend/resume issue and set_wake Jaya Kumar
@ 2010-04-02  8:41 ` Eric Miao
  0 siblings, 0 replies; 2+ messages in thread
From: Eric Miao @ 2010-04-02  8:41 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Apr 2, 2010 at 4:00 PM, Jaya Kumar <jayakumar.lkml@gmail.com> wrote:
> Hi Arm friends,
>
> A quick question for you. I am experimenting with a PXA168 device and
> noticed some odd behaviour with resume. The device can suspend and can
> then be resumed, at least to serial console level after a gpio button
> press. But then as part of the resume, I see some messages about
> unbalanced IRQ wake disable. Then after that, button presses no longer
> generate any interrupts. The irq count remains what it was at the
> point of suspend. I took a quick scan at the PXA168 source code and
> noticed:
>
> pxa168.c:
> pxa_init_gpio(IRQ_PXA168_GPIOX, 0, 127, NULL);
>
> So no set_wake function, which I think explains the unbalanced IRQ
> wake messages since gpio-keys would have tried to enable_irq_wake on
> suspend which would do nothing since above has no set_wake and then on
> resume gpio-keys would try to disable_irq_wake and cause the
> unbalanced IRQ wake disable.

Mmm... set_irq_wake_real() will return -ENXIO when no ".set_wake" is
available for the IRQ chip, and depending on this result the wake_depth
will be unbalanced during resume.

So I'm seeing two options:

1. with ".set_wake" being unavailable, the wake_depth should be
made balanced (since no real set wake operation is being taken)

2. or mark those GPIO buttons being not able to wakeup

> But I haven't quite understood why the
> buttons fail to cause any interrupts after that. Has anyone
> encountered anything similar and if so any patches I could look at?
>
> Thanks,
> jaya
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2010-04-02  8:41 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-04-02  8:00 PXA168 suspend/resume issue and set_wake Jaya Kumar
2010-04-02  8:41 ` Eric Miao

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).