Messages in this thread | | | Date | Wed, 3 Jul 2019 14:20:26 +0530 | From | Viresh Kumar <> | Subject | Re: [PATCH 2/2] opp: Manage empty OPP tables with clk handle |
| |
On 02-07-19, 10:06, Rajendra Nayak wrote: > With OPP core now supporting DVFS for IO devices, we have instances of > IO devices (same IP block) with require an OPP on some platforms/SoCs
which
> while just needing to scale the clock on some others.
Blank line here.
> In order to avoid conditional code in every driver, (to check for
remove ,
> availability of OPPs and then deciding to do either dev_pm_opp_set_rate() > or clk_set_rate()) add support to manage empty OPP tables with a clk handle.
Blank line here.
> This makes dev_pm_opp_set_rate() equivalent of a clk_set_rate() for devices > with just a clk and no OPPs specified. > > Signed-off-by: Rajendra Nayak <rnayak@codeaurora.org> > --- > drivers/opp/core.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/opp/core.c b/drivers/opp/core.c > index ae033bb1e5b7..fa7d4d6d37b3 100644 > --- a/drivers/opp/core.c > +++ b/drivers/opp/core.c > @@ -801,6 +801,11 @@ int dev_pm_opp_set_rate(struct device *dev, unsigned long target_freq) > goto put_opp_table; > } >
Explain the rationale behind this code here in a comment.
> + if (!_get_opp_count(opp_table)) { > + ret = _generic_set_opp_clk_only(dev, clk, freq); > + goto put_opp_table; > + } > + > temp_freq = old_freq; > old_opp = _find_freq_ceil(opp_table, &temp_freq); > if (IS_ERR(old_opp)) {
Also, rebase over the OPP branch please:
git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm.git opp/linux-next
or pm/linux-next
-- viresh
| |