Hello Joe,

On Thu, 12 Jul 2012, Joe Woodward wrote:

> I think this has fixed the following warning:
> [    0.000000] clockdomain: mpu_clkdm: powerdomain ¬õ`À8ºsÀ does not exist
>  
> But when I try and suspend I still get the same problems:
> # echo mem > /sys/power/state
> [   13.283935] PM: Syncing filesystems ... done.
> [   13.300537] Freezing user space processes ... (elapsed 0.01 seconds) done.
> [   13.324859] Freezing remaining freezable tasks ... (elapsed 0.02 seconds) 
> done.
> [   13.356140] Suspending console(s) (use no_console_suspend to debug)
> [   13.487823] PM: suspend of devices complete after 120.578 msecs
> [   13.491577] PM: late suspend of devices complete after 3.722 msecs
> [   13.497375] PM: noirq suspend of devices complete after 5.767 msecs
> [   13.497436] Disabling non-boot CPUs ...
> [   15.806640] Powerdomain (iva2_pwrdm) didn't enter target state 1
> [   15.806640] Powerdomain (dss_pwrdm) didn't enter target state 1
> [   15.806671] Powerdomain (per_pwrdm) didn't enter target state 1
> [   15.806671] Powerdomain (core_pwrdm) didn't enter target state 1
> [   15.806671] Powerdomain (usbhost_pwrdm) didn't enter target state 1
> [   15.806671] Could not enter target state in pm_suspend
> [   15.809722] PM: noirq resume of devices complete after 2.868 msecs
> [   15.813598] PM: early resume of devices complete after 2.380 msecs
> [   16.179382] mmc1: error -110 during resume (card was removed?)
> [   16.189575] PM: resume of devices complete after 375.824 msecs
> [   16.279602] Restarting tasks ... done.
> sh: write error: Operation not permitted

Thanks for the test.  Perhaps you could try the following untested patch?


- Paul

---
 arch/arm/mach-omap2/pm34xx.c |   14 +++++---------
 1 file changed, 5 insertions(+), 9 deletions(-)

diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c
index e4fc88c..ced2f76 100644
--- a/arch/arm/mach-omap2/pm34xx.c
+++ b/arch/arm/mach-omap2/pm34xx.c
@@ -545,13 +545,10 @@ static void __init prcm_setup_regs(void)
                          OMAP3430_PER_MOD, OMAP3430_PM_MPUGRPSEL);
 
        /* Don't attach IVA interrupts */
-       if (omap3_has_iva()) {
-               omap2_prm_write_mod_reg(0, WKUP_MOD, OMAP3430_PM_IVAGRPSEL);
-               omap2_prm_write_mod_reg(0, CORE_MOD, OMAP3430_PM_IVAGRPSEL1);
-               omap2_prm_write_mod_reg(0, CORE_MOD, OMAP3430ES2_PM_IVAGRPSEL3);
-               omap2_prm_write_mod_reg(0, OMAP3430_PER_MOD,
-                                       OMAP3430_PM_IVAGRPSEL);
-       }
+       omap2_prm_write_mod_reg(0, WKUP_MOD, OMAP3430_PM_IVAGRPSEL);
+       omap2_prm_write_mod_reg(0, CORE_MOD, OMAP3430_PM_IVAGRPSEL1);
+       omap2_prm_write_mod_reg(0, CORE_MOD, OMAP3430ES2_PM_IVAGRPSEL3);
+       omap2_prm_write_mod_reg(0, OMAP3430_PER_MOD, OMAP3430_PM_IVAGRPSEL);
 
        /* Clear any pending 'reset' flags */
        omap2_prm_write_mod_reg(0xffffffff, MPU_MOD, OMAP2_RM_RSTST);
@@ -565,8 +562,7 @@ static void __init prcm_setup_regs(void)
        /* Clear any pending PRCM interrupts */
        omap2_prm_write_mod_reg(0, OCP_MOD, OMAP3_PRM_IRQSTATUS_MPU_OFFSET);
 
-       if (omap3_has_iva())
-               omap3_iva_idle();
+       omap3_iva_idle();
 
        omap3_d2d_idle();
 }
-- 
1.7.10

Reply via email to