On Fri, Feb 24, 2012 at 02:45:48PM +0100, Daniel Lezcano wrote:
The following patch checks if there are pending interrupts on the gic.
This function is needed for example for the ux500 cpuidle driver. When the A9 cores and the gic are decoupled from the PRCMU, the idle routine has to check if an interrupt is pending on the gic before entering in retention mode.
So what happens if an interrupt becomes pending after you've checked it but before you've gone into retention mode? This basically sounds like one big racy idea to me.
Hardware which allows you to go into retention mode with interrupts pending which should prevent it (or at least cause it to re-awake) just sounds like a massive fail to me.