Pending bits in IRQSTATUS can prevent the system from hitting
retention.  The PRCM interrupt handler takes care of clearing the
IRQSTATUS bits, but any pending bits before first suspend or idle may
prevent the system from hitting retention.  Ensure they are cleared
during PRCM setup.

Signed-off-by: Kevin Hilman <[email protected]>
---
Applies to current PM branch.

 arch/arm/mach-omap2/pm34xx.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c
index 7a561db..d7b6596 100644
--- a/arch/arm/mach-omap2/pm34xx.c
+++ b/arch/arm/mach-omap2/pm34xx.c
@@ -854,6 +854,9 @@ static void __init prcm_setup_regs(void)
        prm_write_mod_reg(OMAP3430_IO_EN | OMAP3430_WKUP_EN,
                        OCP_MOD, OMAP2_PRM_IRQENABLE_MPU_OFFSET);
 
+       /* Clear any pending PRCM interrupts */
+       prm_write_mod_reg(0, OCP_MOD, OMAP2_PRM_IRQSTATUS_MPU_OFFSET);
+
        omap3_iva_idle();
 }
 
-- 
1.6.2.2

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to