Hi Paul, > -----Original Message----- > From: Paul Walmsley [mailto:paul@xxxxxxxxx] > Sent: Sunday, February 13, 2011 6:13 AM > To: Rajendra Nayak > Cc: linux-omap@xxxxxxxxxxxxxxx; b-cousson@xxxxxx; khilman@xxxxxx; santosh.shilimkar@xxxxxx; linux-arm- > kernel@xxxxxxxxxxxxxxxxxxx > Subject: Re: [PATCH v2 5/7] omap: dpll: Enable all OMAP3/4 dpll autoidle late at boot > > On Thu, 10 Feb 2011, Rajendra Nayak wrote: > > > Enable all dpll autoidle for OMAP4 and OMAP3 (OMAP3 > > already had dpll autoidle turned on, but was done > > using low level cm accessor apis). > > On OMAP3, replace the cm accessor apis doing this > > with the now available support for doing this in > > clock framework, using omap_clk_enable_autoidle(). > > I propose this patch instead. What do you think? Care to reply with a > Reviewed-by: and/or Tested-by: ? I agree, this is a better approach than what I proposed in my patch. Since I already tested the clk_autoidle_a_2.6.39 branch which also has this patch included, you can add a Tested-by: Rajendra Nayak <rnayak@xxxxxx> Regards, Rajendra > > > - Paul > > From: Paul Walmsley <paul@xxxxxxxxx> > Date: Sat, 12 Feb 2011 17:36:38 -0600 > Subject: [PATCH] OMAP2+: clock: autoidle as many clocks as possible in OMAP2+-common PM code > > Attempt to enable autoidle for as many clocks as possible in the > OMAP2+-common PM code. Currently, this only enables DPLL autoidle for > OMAP3/4 DPLLs; but it should also eventually enable autoidle for other > clocks and the OMAP2 DPLL/APLLs. > > Based on a patch by Rajendra Nayak <rnayak@xxxxxx> that did this in > the pm34xx.c/pm44xx.c code, rather than the common PM code. > > Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> > --- > arch/arm/mach-omap2/pm.c | 8 ++++++++ > arch/arm/mach-omap2/pm34xx.c | 17 ----------------- > 2 files changed, 8 insertions(+), 17 deletions(-) > > diff --git a/arch/arm/mach-omap2/pm.c b/arch/arm/mach-omap2/pm.c > index d5a102c..b507702 100644 > --- a/arch/arm/mach-omap2/pm.c > +++ b/arch/arm/mach-omap2/pm.c > @@ -262,6 +262,14 @@ static int __init omap2_common_pm_late_init(void) > /* Smartreflex device init */ > omap_devinit_smartreflex(); > > + /* > + * Set all OMAP3/4 DPLLs to autoidle. > + * XXX TODO: Add all the iclk autoidles in here as well, > + * the OMAP2 DPLL, the OMAP2 APLLs, and the AUTOEXTCLKMODE > + * control here too. > + */ > + omap_clk_enable_autoidle_all(); > + > return 0; > } > late_initcall(omap2_common_pm_late_init); > diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c > index 2f864e4..1fe2e73 100644 > --- a/arch/arm/mach-omap2/pm34xx.c > +++ b/arch/arm/mach-omap2/pm34xx.c > @@ -814,23 +814,6 @@ static void __init prcm_setup_regs(void) > omap_ctrl_writel(OMAP3430_AUTOIDLE_MASK, OMAP2_CONTROL_SYSCONFIG); > > /* > - * Set all plls to autoidle. This is needed until autoidle is > - * enabled by clockfw > - */ > - omap2_cm_write_mod_reg(1 << OMAP3430_AUTO_IVA2_DPLL_SHIFT, > - OMAP3430_IVA2_MOD, CM_AUTOIDLE2); > - omap2_cm_write_mod_reg(1 << OMAP3430_AUTO_MPU_DPLL_SHIFT, > - MPU_MOD, > - CM_AUTOIDLE2); > - omap2_cm_write_mod_reg((1 << OMAP3430_AUTO_PERIPH_DPLL_SHIFT) | > - (1 << OMAP3430_AUTO_CORE_DPLL_SHIFT), > - PLL_MOD, > - CM_AUTOIDLE); > - omap2_cm_write_mod_reg(1 << OMAP3430ES2_AUTO_PERIPH2_DPLL_SHIFT, > - PLL_MOD, > - CM_AUTOIDLE2); > - > - /* > * Enable control of expternal oscillator through > * sys_clkreq. In the long run clock framework should > * take care of this. > -- > 1.7.2.3 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html