[PATCH V2 08/10] ARM: OMAP4: Prevent EMU power domain transitioning to OFF when in-use
Jon Hunter
jon-hunter at ti.com
Tue Jul 31 16:56:37 EDT 2012
Hi Paul,
On 07/12/2012 04:17 PM, Paul Walmsley wrote:
[snip]
> @@ -170,6 +201,18 @@ static int omap2_clkdm_clk_enable(struct clockdomain *clkdm)
> if (!clkdm->clktrctrl_mask)
> return 0;
>
> + /*
> + * The CLKDM_MISSING_IDLE_REPORTING flag documentation has
> + * more details on the unpleasant problem this is working
> + * around
> + */
> + if (clkdm->flags & (CLKDM_MISSING_IDLE_REPORTING |
> + CLKDM_CAN_FORCE_WAKEUP)) {
> + (cpu_is_omap24xx()) ? omap2_clkdm_wakeup(clkdm) :
> + omap3_clkdm_wakeup(clkdm);
> + return 0;
> + }
> +
> hwsup = omap2_cm_is_clkdm_in_hwsup(clkdm->pwrdm.ptr->prcm_offs,
> clkdm->clktrctrl_mask);
I think that the above needs to be ...
diff --git a/arch/arm/mach-omap2/clockdomain2xxx_3xxx.c b/arch/arm/mach-omap2/clockdomain2xxx_3xxx.c
index e5bb219..d2b081d 100644
--- a/arch/arm/mach-omap2/clockdomain2xxx_3xxx.c
+++ b/arch/arm/mach-omap2/clockdomain2xxx_3xxx.c
@@ -253,8 +253,8 @@ static int omap3xxx_clkdm_clk_enable(struct clockdomain *clkdm)
* more details on the unpleasant problem this is working
* around
*/
- if (clkdm->flags & (CLKDM_MISSING_IDLE_REPORTING |
- CLKDM_CAN_FORCE_WAKEUP)) {
+ if ((clkdm->flags & CLKDM_MISSING_IDLE_REPORTING) &&
+ (clkdm->flags & CLKDM_CAN_FORCE_WAKEUP)) {
omap3_clkdm_wakeup(clkdm);
return 0;
... otherwise I see other clkdm such as MPU being put in force-wakeup state
although they don't have CLKDM_MISSING_IDLE_REPORTING set.
Cheers
Jon
More information about the linux-arm-kernel
mailing list