Hi Tomi, On Tue, 9 Dec 2008, Tomi Valkeinen wrote: > I don't know much about power and clock domains, but I believe I found > the reason and fix for this. At least this should point to the right > direction. > > It looks to me that when I do clk_enable() to a clock which is inside a > turned off powerdomain, clk_enable() function will return before the > powerdomain is fully turned on. Reading PM_PWSTST_DSS shows that the > powerdomain is still in transition state. > > The following change waits until the powerdomain has finished the > transition. At least it fixed the problem for me, and other things seem > to be still working =). Nice work - this makes sense. Tested your patch here also. Care to put together a patch with something similar to the description above and your Signed-off-by, and send it to the list? This should go into l-o. - Paul > diff --git a/arch/arm/mach-omap2/clockdomain.c b/arch/arm/mach-omap2/clockdomain.c > index fa62f14..f713d0b 100644 > --- a/arch/arm/mach-omap2/clockdomain.c > +++ b/arch/arm/mach-omap2/clockdomain.c > @@ -567,6 +567,8 @@ int omap2_clkdm_clk_enable(struct clockdomain *clkdm, struct clk *clk) > else > omap2_clkdm_wakeup(clkdm); > > + pwrdm_wait_transition(clkdm->pwrdm.ptr); > + > return 0; > } > > -- 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