Re: [PATCH 2/2] opp: Manage empty OPP tables with clk handle

From: Viresh Kumar
Date: Wed Jul 03 2019 - 04:50:33 EST


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@xxxxxxxxxxxxxx>
> ---
> 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