linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* timers & suspend
@ 2014-06-30 18:39 Sören Brinkmann
  2014-07-03 12:21 ` Daniel Lezcano
  2014-07-08 23:50 ` Sören Brinkmann
  0 siblings, 2 replies; 11+ messages in thread
From: Sören Brinkmann @ 2014-06-30 18:39 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

I'm currently working on suspend for Zynq and try to track down some
spurious wakes. It looks like the spurious wakes are caused by timers,
hence I was wondering whether there are any special requirements for
timer drivers when it comes to suspend support or if I just missed
something.

Zynq sets the 'IRQCHIP_MASK_ON_SUSPEND' flag, which should mask all
interrupts but the wake source. Reading through kernel/irq/pm.c
indicates, that timer interrupts get some special treatment though.
Therefore I implemented some suspend/resume callbacks for the
cadence_ttc which disable and clear the timer's interrupts when going
into suspend. That seems to mitigate the issue quite a bit, but I still
saw spurious wakes - just a lot less often.
Digging a little deeper revealed, the spurious wakes are caused by the
ARM's smp_twd timer now. Given that that driver is probably used by a few
more ARM platforms, I get the feeling that I'm missing something.

It's probably worth mentioning that the suspend state in Zynq does not
power off the CPU cores. It just asserts the resets on secondary cores
and the primary one waits in wfi.

	Thanks,
	S?ren

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

end of thread, other threads:[~2014-07-09 16:11 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-06-30 18:39 timers & suspend Sören Brinkmann
2014-07-03 12:21 ` Daniel Lezcano
2014-07-03 16:09   ` Sören Brinkmann
2014-07-03 17:26     ` Daniel Lezcano
2014-07-03 17:30       ` Sören Brinkmann
2014-07-03 17:44         ` Daniel Lezcano
2014-07-03 17:40       ` Sören Brinkmann
2014-07-03 17:46         ` Daniel Lezcano
2014-07-03 17:53           ` Sören Brinkmann
2014-07-08 23:50 ` Sören Brinkmann
2014-07-09 16:11   ` Sören Brinkmann

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