linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH - stable v5.4 and v5.7] opp: Enable resources again if they were disabled earlier
@ 2020-08-24  9:22 Viresh Kumar
  2020-08-24 16:10 ` Greg KH
  0 siblings, 1 reply; 3+ messages in thread
From: Viresh Kumar @ 2020-08-24  9:22 UTC (permalink / raw)
  To: stable, Viresh Kumar, Nishanth Menon, Stephen Boyd
  Cc: Viresh Kumar, Rajendra Nayak, Sajida Bhanu, Sibi Sankar,
	Matthias Kaehlcke, linux-pm, linux-kernel

From: Rajendra Nayak <rnayak@codeaurora.org>

commit a4501bac0e553bed117b7e1b166d49731caf7260 upstream.

dev_pm_opp_set_rate() can now be called with freq = 0 in order
to either drop performance or bandwidth votes or to disable
regulators on platforms which support them.

In such cases, a subsequent call to dev_pm_opp_set_rate() with
the same frequency ends up returning early because 'old_freq == freq'

Instead make it fall through and put back the dropped performance
and bandwidth votes and/or enable back the regulators.

Cc: v5.3+ <stable@vger.kernel.org> # v5.3+
Fixes: cd7ea582866f ("opp: Make dev_pm_opp_set_rate() handle freq = 0 to drop performance votes")
Reported-by: Sajida Bhanu <sbhanu@codeaurora.org>
Reviewed-by: Sibi Sankar <sibis@codeaurora.org>
Reported-by: Matthias Kaehlcke <mka@chromium.org>
Tested-by: Matthias Kaehlcke <mka@chromium.org>
Reviewed-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Rajendra Nayak <rnayak@codeaurora.org>
[ Viresh: Don't skip clk_set_rate() and massaged changelog ]
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
[ Viresh: Updated the patch to apply to v5.4 ]
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 drivers/opp/core.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/opp/core.c b/drivers/opp/core.c
index 9ff0538ee83a..518442be638d 100644
--- a/drivers/opp/core.c
+++ b/drivers/opp/core.c
@@ -843,10 +843,12 @@ int dev_pm_opp_set_rate(struct device *dev, unsigned long target_freq)
 
 	/* Return early if nothing to do */
 	if (old_freq == freq) {
-		dev_dbg(dev, "%s: old/new frequencies (%lu Hz) are same, nothing to do\n",
-			__func__, freq);
-		ret = 0;
-		goto put_opp_table;
+		if (!opp_table->required_opp_tables) {
+			dev_dbg(dev, "%s: old/new frequencies (%lu Hz) are same, nothing to do\n",
+				__func__, freq);
+			ret = 0;
+			goto put_opp_table;
+		}
 	}
 
 	temp_freq = old_freq;
-- 
2.25.0.rc1.19.g042ed3e048af


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH - stable v5.4 and v5.7] opp: Enable resources again if they were disabled earlier
  2020-08-24  9:22 [PATCH - stable v5.4 and v5.7] opp: Enable resources again if they were disabled earlier Viresh Kumar
@ 2020-08-24 16:10 ` Greg KH
  2020-08-25  4:25   ` Viresh Kumar
  0 siblings, 1 reply; 3+ messages in thread
From: Greg KH @ 2020-08-24 16:10 UTC (permalink / raw)
  To: Viresh Kumar
  Cc: stable, Viresh Kumar, Nishanth Menon, Stephen Boyd,
	Rajendra Nayak, Sajida Bhanu, Sibi Sankar, Matthias Kaehlcke,
	linux-pm, linux-kernel

On Mon, Aug 24, 2020 at 02:52:23PM +0530, Viresh Kumar wrote:
> From: Rajendra Nayak <rnayak@codeaurora.org>
> 
> commit a4501bac0e553bed117b7e1b166d49731caf7260 upstream.
> 
> dev_pm_opp_set_rate() can now be called with freq = 0 in order
> to either drop performance or bandwidth votes or to disable
> regulators on platforms which support them.
> 
> In such cases, a subsequent call to dev_pm_opp_set_rate() with
> the same frequency ends up returning early because 'old_freq == freq'
> 
> Instead make it fall through and put back the dropped performance
> and bandwidth votes and/or enable back the regulators.
> 
> Cc: v5.3+ <stable@vger.kernel.org> # v5.3+
> Fixes: cd7ea582866f ("opp: Make dev_pm_opp_set_rate() handle freq = 0 to drop performance votes")
> Reported-by: Sajida Bhanu <sbhanu@codeaurora.org>
> Reviewed-by: Sibi Sankar <sibis@codeaurora.org>
> Reported-by: Matthias Kaehlcke <mka@chromium.org>
> Tested-by: Matthias Kaehlcke <mka@chromium.org>
> Reviewed-by: Stephen Boyd <sboyd@kernel.org>
> Signed-off-by: Rajendra Nayak <rnayak@codeaurora.org>
> [ Viresh: Don't skip clk_set_rate() and massaged changelog ]
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> [ Viresh: Updated the patch to apply to v5.4 ]
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> ---
>  drivers/opp/core.c | 10 ++++++----
>  1 file changed, 6 insertions(+), 4 deletions(-)

This too is already in the 5.7 and 5.4 queues, why add it again?

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH - stable v5.4 and v5.7] opp: Enable resources again if they were disabled earlier
  2020-08-24 16:10 ` Greg KH
@ 2020-08-25  4:25   ` Viresh Kumar
  0 siblings, 0 replies; 3+ messages in thread
From: Viresh Kumar @ 2020-08-25  4:25 UTC (permalink / raw)
  To: Greg KH
  Cc: stable, Viresh Kumar, Nishanth Menon, Stephen Boyd,
	Rajendra Nayak, Sajida Bhanu, Sibi Sankar, Matthias Kaehlcke,
	linux-pm, linux-kernel

On 24-08-20, 18:10, Greg KH wrote:
> On Mon, Aug 24, 2020 at 02:52:23PM +0530, Viresh Kumar wrote:
> > From: Rajendra Nayak <rnayak@codeaurora.org>
> > 
> > commit a4501bac0e553bed117b7e1b166d49731caf7260 upstream.
> > 
> > dev_pm_opp_set_rate() can now be called with freq = 0 in order
> > to either drop performance or bandwidth votes or to disable
> > regulators on platforms which support them.
> > 
> > In such cases, a subsequent call to dev_pm_opp_set_rate() with
> > the same frequency ends up returning early because 'old_freq == freq'
> > 
> > Instead make it fall through and put back the dropped performance
> > and bandwidth votes and/or enable back the regulators.
> > 
> > Cc: v5.3+ <stable@vger.kernel.org> # v5.3+
> > Fixes: cd7ea582866f ("opp: Make dev_pm_opp_set_rate() handle freq = 0 to drop performance votes")
> > Reported-by: Sajida Bhanu <sbhanu@codeaurora.org>
> > Reviewed-by: Sibi Sankar <sibis@codeaurora.org>
> > Reported-by: Matthias Kaehlcke <mka@chromium.org>
> > Tested-by: Matthias Kaehlcke <mka@chromium.org>
> > Reviewed-by: Stephen Boyd <sboyd@kernel.org>
> > Signed-off-by: Rajendra Nayak <rnayak@codeaurora.org>
> > [ Viresh: Don't skip clk_set_rate() and massaged changelog ]
> > Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> > [ Viresh: Updated the patch to apply to v5.4 ]
> > Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> > ---
> >  drivers/opp/core.c | 10 ++++++----
> >  1 file changed, 6 insertions(+), 4 deletions(-)
> 
> This too is already in the 5.7 and 5.4 queues, why add it again?

Same here, your bot reported that patch failed to apply for 5.4 and 5.7, again
rightly so as I was required to modify the patch a little bit and so I have
added another signed-off and details.

-- 
viresh

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-08-25  4:25 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-24  9:22 [PATCH - stable v5.4 and v5.7] opp: Enable resources again if they were disabled earlier Viresh Kumar
2020-08-24 16:10 ` Greg KH
2020-08-25  4:25   ` Viresh Kumar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).