[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <53cf6fa8-5325-d9e5-7f89-d97974d53989@kernel.org>
Date: Sat, 7 Oct 2023 00:24:45 +0900
From: Chanwoo Choi <chanwoo@...nel.org>
To: Manivannan Sadhasivam <manivannan.sadhasivam@...aro.org>,
vireshk@...nel.org, nm@...com, sboyd@...nel.org,
myungjoo.ham@...sung.com, kyungmin.park@...sung.com,
cw00.choi@...sung.com, andersson@...nel.org,
konrad.dybcio@...aro.org, robh+dt@...nel.org,
krzysztof.kozlowski+dt@...aro.org, conor+dt@...nel.org,
jejb@...ux.ibm.com, martin.petersen@...cle.com
Cc: alim.akhtar@...sung.com, avri.altman@....com, bvanassche@....org,
linux-scsi@...r.kernel.org, linux-pm@...r.kernel.org,
linux-arm-msm@...r.kernel.org, devicetree@...r.kernel.org,
quic_asutoshd@...cinc.com, quic_cang@...cinc.com,
quic_nitirawa@...cinc.com, quic_narepall@...cinc.com,
quic_bhaskarv@...cinc.com, quic_richardp@...cinc.com,
quic_nguyenb@...cinc.com, quic_ziqichen@...cinc.com,
bmasney@...hat.com, krzysztof.kozlowski@...aro.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v4 2/6] PM / devfreq: Switch to
dev_pm_opp_find_freq_{ceil/floor}_indexed() APIs
On 23. 10. 3. 20:12, Manivannan Sadhasivam wrote:
> Some devfreq consumers like UFS driver need to work with multiple clocks
> through the OPP framework. For this reason, OPP framework exposes the
> _indexed() APIs for finding the floor/ceil of the supplied frequency of
> the indexed clock. So let's use them in the devfreq driver.
>
> Currently, the clock index of 0 is used which works fine for multiple as
> well as single clock.
>
> Acked-by: Chanwoo Choi <cw00.choi@...sung.com>
> Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@...aro.org>
> ---
> drivers/devfreq/devfreq.c | 14 +++++++-------
> 1 file changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c
> index 474d81831ad3..b3a68d5833bd 100644
> --- a/drivers/devfreq/devfreq.c
> +++ b/drivers/devfreq/devfreq.c
> @@ -88,7 +88,7 @@ static unsigned long find_available_min_freq(struct devfreq *devfreq)
> struct dev_pm_opp *opp;
> unsigned long min_freq = 0;
>
> - opp = dev_pm_opp_find_freq_ceil(devfreq->dev.parent, &min_freq);
> + opp = dev_pm_opp_find_freq_ceil_indexed(devfreq->dev.parent, &min_freq, 0);
> if (IS_ERR(opp))
> min_freq = 0;
> else
> @@ -102,7 +102,7 @@ static unsigned long find_available_max_freq(struct devfreq *devfreq)
> struct dev_pm_opp *opp;
> unsigned long max_freq = ULONG_MAX;
>
> - opp = dev_pm_opp_find_freq_floor(devfreq->dev.parent, &max_freq);
> + opp = dev_pm_opp_find_freq_floor_indexed(devfreq->dev.parent, &max_freq, 0);
> if (IS_ERR(opp))
> max_freq = 0;
> else
> @@ -196,7 +196,7 @@ static int set_freq_table(struct devfreq *devfreq)
> return -ENOMEM;
>
> for (i = 0, freq = 0; i < devfreq->max_state; i++, freq++) {
> - opp = dev_pm_opp_find_freq_ceil(devfreq->dev.parent, &freq);
> + opp = dev_pm_opp_find_freq_ceil_indexed(devfreq->dev.parent, &freq, 0);
> if (IS_ERR(opp)) {
> devm_kfree(devfreq->dev.parent, devfreq->freq_table);
> return PTR_ERR(opp);
> @@ -2036,18 +2036,18 @@ struct dev_pm_opp *devfreq_recommended_opp(struct device *dev,
>
> if (flags & DEVFREQ_FLAG_LEAST_UPPER_BOUND) {
> /* The freq is an upper bound. opp should be lower */
> - opp = dev_pm_opp_find_freq_floor(dev, freq);
> + opp = dev_pm_opp_find_freq_floor_indexed(dev, freq, 0);
>
> /* If not available, use the closest opp */
> if (opp == ERR_PTR(-ERANGE))
> - opp = dev_pm_opp_find_freq_ceil(dev, freq);
> + opp = dev_pm_opp_find_freq_ceil_indexed(dev, freq, 0);
> } else {
> /* The freq is an lower bound. opp should be higher */
> - opp = dev_pm_opp_find_freq_ceil(dev, freq);
> + opp = dev_pm_opp_find_freq_ceil_indexed(dev, freq, 0);
>
> /* If not available, use the closest opp */
> if (opp == ERR_PTR(-ERANGE))
> - opp = dev_pm_opp_find_freq_floor(dev, freq);
> + opp = dev_pm_opp_find_freq_floor_indexed(dev, freq, 0);
> }
>
> return opp;
The related OPP patch was already merge. So that applied it. Thanks.
--
Best Regards,
Samsung Electronics
Chanwoo Choi
Powered by blists - more mailing lists