From: Shweta Gulati <shweta.gul...@ti.com>

This version of patch incorporates review comments which includes
shifting the code change in specific function 'omap3_iva_idle' and
removing iva_pwrdm from pwrst_list rather than checking all the pwrdms
in list to exclude iva_pwrdm. 

The PM code should not set latency on IVA power state based on 
the flag 'enable_off_mode'.This is taken care of in this version.   

Signed-off-by: Sripathy Vishwanath <vishwanath...@ti.com>
Signed-off-by: Shweta Gulati <shweta.gul...@ti.com>
---

Index: linux-omap-pm/arch/arm/mach-omap2/pm34xx.c
===================================================================
--- linux-omap-pm.orig/arch/arm/mach-omap2/pm34xx.c
+++ linux-omap-pm/arch/arm/mach-omap2/pm34xx.c
@@ -786,6 +786,12 @@ static void __init omap3_iva_idle(void)
                          OMAP3430_RST2_IVA2 |
                          OMAP3430_RST3_IVA2,
                          OMAP3430_IVA2_MOD, OMAP2_RM_RSTCTRL);
+       /* Put the IVA2 In Idle */
+       prm_rmw_mod_reg_bits(OMAP3430_LASTPOWERSTATEENTERED_MASK, 0,
+                               OMAP3430_IVA2_MOD, OMAP2_PM_PWSTCTRL);
+       /* Make Clock transition Automatic*/
+       cm_rmw_mod_reg_bits(OMAP3430_CLKTRCTRL_IVA2_MASK, 0x3,
+                               OMAP3430_IVA2_MOD, OMAP2_CM_CLKSTCTRL);
 }
 
 static void __init omap3_d2d_idle(void)
@@ -1074,8 +1080,11 @@ static int __init pwrdms_setup(struct po
        if (!pwrst)
                return -ENOMEM;
        pwrst->pwrdm = pwrdm;
-       pwrst->next_state = PWRDM_POWER_RET;
-       list_add(&pwrst->node, &pwrst_list);
+       if (strcmp("iva2_pwrdm", pwrdm->name)) {
+               pwrst->next_state = PWRDM_POWER_RET;
+               list_add(&pwrst->node, &pwrst_list);
+       } else
+                pwrst->next_state = PWRDM_POWER_OFF;
 
        if (pwrdm_has_hdwr_sar(pwrdm))
                pwrdm_enable_hdwr_sar(pwrdm);
Index: linux-omap-pm/arch/arm/mach-omap2/resource34xx.c
===================================================================
--- linux-omap-pm.orig/arch/arm/mach-omap2/resource34xx.c
+++ linux-omap-pm/arch/arm/mach-omap2/resource34xx.c
@@ -140,7 +140,8 @@ int set_pd_latency(struct shared_resourc
        }
 
        if (!enable_off_mode && pd_lat_level == PD_LATENCY_OFF)
-               pd_lat_level = PD_LATENCY_RET;
+               if (strcmp("iva2_pwrdm", pwrdm->name))
+                       pd_lat_level = PD_LATENCY_RET;
 
        resp->curr_level = pd_lat_level;
        set_pwrdm_state(pwrdm, pd_lat_level);
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to