diff options
author | Viresh Kumar <viresh.kumar@linaro.org> | 2024-01-05 13:55:37 +0530 |
---|---|---|
committer | Viresh Kumar <viresh.kumar@linaro.org> | 2024-01-05 15:53:28 +0530 |
commit | 7269c250db1b89cda72ca419b7bd5e37997309d6 (patch) | |
tree | afe09cb6fff1f221c72b5be1149c1655fe26e295 /drivers/opp | |
parent | 0b40dd3bcfc6f521e6ac0e297ecdcc391d5cc4bb (diff) | |
download | lwn-7269c250db1b89cda72ca419b7bd5e37997309d6.tar.gz lwn-7269c250db1b89cda72ca419b7bd5e37997309d6.zip |
OPP: Pass rounded rate to _set_opp()
The OPP core finds the eventual frequency to set with the help of
clk_round_rate() and the same was earlier getting passed to _set_opp()
and that's what would get configured.
The commit 1efae8d2e777 ("OPP: Make dev_pm_opp_set_opp() independent of
frequency") mistakenly changed that. Fix it.
Fixes: 1efae8d2e777 ("OPP: Make dev_pm_opp_set_opp() independent of frequency")
Cc: v5.18+ <stable@vger.kernel.org> # v6.0+
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Diffstat (limited to 'drivers/opp')
-rw-r--r-- | drivers/opp/core.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/opp/core.c b/drivers/opp/core.c index 29f8160c3e38..5e6cfcbd2e87 100644 --- a/drivers/opp/core.c +++ b/drivers/opp/core.c @@ -1352,12 +1352,12 @@ int dev_pm_opp_set_rate(struct device *dev, unsigned long target_freq) * value of the frequency. In such a case, do not abort but * configure the hardware to the desired frequency forcefully. */ - forced = opp_table->rate_clk_single != target_freq; + forced = opp_table->rate_clk_single != freq; } - ret = _set_opp(dev, opp_table, opp, &target_freq, forced); + ret = _set_opp(dev, opp_table, opp, &freq, forced); - if (target_freq) + if (freq) dev_pm_opp_put(opp); put_opp_table: |