Subject: [pm-core][PATCH v3 01/21] OMAP4: PM: Add omap WakeupGen module support

From: [email-masked] (Tony Lindgren)
Date: Wed, 30 Mar 2011 11:40:58 -0700

* Santosh <[email-masked]> [110329 23:13]:
> On 3/29/2011 10:31 PM, Tony Lindgren wrote:
> >* Santosh Shilimkar<[email-masked]>  [110328 22:47]:
> >>>From: Tony Lindgren [mailto:tony at atomide.com]
> >>>
> >>>Do you really need to initialize all of this that early?
> >>>
> >>Yes. It's a interrupt controller extension and needs to work
> >>together with GIC.
> >
> >Hmm to me it seems that the gic_arch_extn functions should be
> >all NULL during runtime operation, and the wake-up generator
> >should be programmed only before entering an idle state.
> >
> >Then the wake-up generator can be cleared after delivering
> >the wake-up event(s).
> >
> >Or am I missing something on why this should be enabled all
> >the time?
> >
> Yep. The WakeupGen sits between GIC and CPU and can
> gate the interrupts in normal operation too. It's
> mandatory that the interrupt mask at GIC and WakeupGen
> matches to deliver the interrupt to CPU.

But it seems that the states of GIC and WakeupGen can be
synced up just before hitting an idle mode.

And then the wake-ups only need to be acked after waking
from idle and delivering the interrupts.

> This is the reason why all the necessary GIC hooks are
> populated with it so that they work together.

Hmm I still see no reason to call these functions for every
interrupt during runtime.

AFAIK, these functions only need to be called only once
right after waking from idle.
 
> So far without this patch all interrupts at WakeupGen
> level were always enabled and hence there was no issue.

OK so things work during runtime without calling these
functions for every interrupt. Why then would we want to
call them for each interrupt?

Regards,

Tony