Message ID | 20190906200154.6510-1-tony@atomide.com (mailing list archive) |
---|---|
State | Mainlined |
Commit | a4c8723a162e6244fb01944fbf446750575dba59 |
Headers | show |
Series | bus: ti-sysc: Remove unpaired sysc_clkdm_deny_idle() | expand |
On 07/09/19 1:31 AM, Tony Lindgren wrote: > Commit d098913a10f8 ("bus: ti-sysc: Fix clock handling for no-idle > quirks") fixed handling for no-idle quirk modules that are not enabled > by the bootloader. > > But it also caused unpaired clockdomain calls that won't allow idling > the system. That's because clkdm_allow_idle_nolock() and > clkdm_deny_idle_nolock() have usage count with clkdm->forcewake_count. > > Let's drop the unpaired sysc_clkdm_deny_idle() to fix idling of devices. Tested-by: Keerthy <j-keerthy@ti.com> I believe still the previous fix [1] for nfs boot is still not on linux-next. Are you planning on more testing or it will be queued as fixes? [1] https://lkml.org/lkml/2019/9/5/616 - Keerthy > > Fixes: d098913a10f8 ("bus: ti-sysc: Fix clock handling for no-idle quirks") > Cc: Keerthy <j-keerthy@ti.com> > Cc: Vignesh Raghavendra <vigneshr@ti.com> > Signed-off-by: Tony Lindgren <tony@atomide.com> > --- > drivers/bus/ti-sysc.c | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c > --- a/drivers/bus/ti-sysc.c > +++ b/drivers/bus/ti-sysc.c > @@ -2363,7 +2363,6 @@ static void ti_sysc_idle(struct work_struct *work) > */ > if (ddata->cfg.quirks & (SYSC_QUIRK_NO_IDLE | > SYSC_QUIRK_NO_IDLE_ON_INIT)) { > - sysc_clkdm_deny_idle(ddata); > sysc_disable_main_clocks(ddata); > sysc_disable_opt_clocks(ddata); > sysc_clkdm_allow_idle(ddata); >
Hi, * Keerthy <j-keerthy@ti.com> [190909 01:57]: > I believe still the previous fix [1] for nfs boot is still not on > linux-next. Are you planning on more testing or it will be queued as fixes? I pushed out the pending fixes on Saturday so they should be in the next version of Linux next. Regards, Tony
diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c --- a/drivers/bus/ti-sysc.c +++ b/drivers/bus/ti-sysc.c @@ -2363,7 +2363,6 @@ static void ti_sysc_idle(struct work_struct *work) */ if (ddata->cfg.quirks & (SYSC_QUIRK_NO_IDLE | SYSC_QUIRK_NO_IDLE_ON_INIT)) { - sysc_clkdm_deny_idle(ddata); sysc_disable_main_clocks(ddata); sysc_disable_opt_clocks(ddata); sysc_clkdm_allow_idle(ddata);
Commit d098913a10f8 ("bus: ti-sysc: Fix clock handling for no-idle quirks") fixed handling for no-idle quirk modules that are not enabled by the bootloader. But it also caused unpaired clockdomain calls that won't allow idling the system. That's because clkdm_allow_idle_nolock() and clkdm_deny_idle_nolock() have usage count with clkdm->forcewake_count. Let's drop the unpaired sysc_clkdm_deny_idle() to fix idling of devices. Fixes: d098913a10f8 ("bus: ti-sysc: Fix clock handling for no-idle quirks") Cc: Keerthy <j-keerthy@ti.com> Cc: Vignesh Raghavendra <vigneshr@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com> --- drivers/bus/ti-sysc.c | 1 - 1 file changed, 1 deletion(-)