Re: [PATCH v2 4/6] pwm: omap-dmtimer: Fix pwm disabling sequence
From: Tony Lindgren
Date: Fri Mar 13 2020 - 11:51:09 EST
* Tony Lindgren <tony@xxxxxxxxxxx> [200313 15:35]:
> * Tony Lindgren <tony@xxxxxxxxxxx> [200312 00:59]:
> > * Lokesh Vutla <lokeshvutla@xxxxxx> [200311 04:14]:
> > > However, I see an issue with the patch itself as pm_runtime is not disabled
> > > after the pwm is stopped. Not sure how that could be nullified with this approach.
> >
> > Hmm yeah not sure what could be used to clear things
> > when the current cycle is completed unless there's
> > some interrupt for it.
>
> You could enable pm_runtime_use_autosuspend() for pwm use,
> then set the timeout to the cycle length, then in the
> runtime_suspend make sure the enable bit is cleared if
> requested.
>
> But this too seems inaccurate, it would be best to clear
> the enable bit on some cycle completion interrupt if
> such thing is available.
I think enabling pm_runtime_use_autosuspend() for pwm,
adding a flag for pwm_enabled, and blocking cpu_pm if
pwm_enabled is set might do the trick though. Then clear
pwm_enabled flag in runtime_suspend if set.
This depend on cpuidle respecting NOTIFY_BAD that I
fixed in the recent thread:
[PATCH 0/3] Block idle in gpio-omap with cpu_pm
Regards,
Tony