From: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
To: Chanwoo Choi <chanwoo@kernel.org>
Cc: vireshk@kernel.org, nm@ti.com, sboyd@kernel.org,
myungjoo.ham@samsung.com, kyungmin.park@samsung.com,
cw00.choi@samsung.com, andersson@kernel.org,
konrad.dybcio@linaro.org, robh+dt@kernel.org,
krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org,
jejb@linux.ibm.com, martin.petersen@oracle.com,
alim.akhtar@samsung.com, avri.altman@wdc.com, bvanassche@acm.org,
linux-scsi@vger.kernel.org, linux-pm@vger.kernel.org,
linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org,
quic_asutoshd@quicinc.com, quic_cang@quicinc.com,
quic_nitirawa@quicinc.com, quic_narepall@quicinc.com,
quic_bhaskarv@quicinc.com, quic_richardp@quicinc.com,
quic_nguyenb@quicinc.com, quic_ziqichen@quicinc.com,
bmasney@redhat.com, krzysztof.kozlowski@linaro.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 09/15] PM / devfreq: Switch to dev_pm_opp_find_freq_{ceil/floor}_indexed() APIs
Date: Mon, 24 Jul 2023 11:16:11 +0530 [thread overview]
Message-ID: <20230724054611.GA2370@thinkpad> (raw)
In-Reply-To: <1703ab6e-8567-8574-f011-af19813f97e8@kernel.org>
On Mon, Jul 24, 2023 at 05:06:04AM +0900, Chanwoo Choi wrote:
> Hi,
>
> On 23. 7. 20. 14:40, 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.
> >
> > Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.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 e36cbb920ec8..7686993d639f 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);
>
> This patch changed the used function from dev_pm_opp_find_freq_ceil
> to dev_pm_opp_find_freq_ceil_indexed even if there are no supporting of the multiple clocks
> and then dev_pm_opp_find_freq_ceil is not removed from OPP.
>
> I think that it is better to use dev_pm_opp_find_freq_ceil_indexed
> when need to support multiple clocks with real case.
>
There is the user for dev_pm_opp_find_freq_ceil_indexed() which is the UFS
driver and since UFS is using devfreq, we need this change. I've added this info
in the commit message as well. What am I missing?
- Mani
> > 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);
> > @@ -2034,18 +2034,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;
>
> --
> Best Regards,
> Samsung Electronics
> Chanwoo Choi
>
--
மணிவண்ணன் சதாசிவம்
next prev parent reply other threads:[~2023-07-24 5:46 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-20 5:40 [PATCH v2 00/15] UFS: Add OPP and interconnect support Manivannan Sadhasivam
2023-07-20 5:40 ` [PATCH v2 01/15] dt-bindings: ufs: common: add OPP table Manivannan Sadhasivam
2023-07-20 5:40 ` [PATCH v2 02/15] dt-bindings: opp: Increase maxItems for opp-hz property Manivannan Sadhasivam
2023-07-24 15:51 ` Rob Herring
2023-07-25 4:11 ` Viresh Kumar
2023-07-20 5:40 ` [PATCH v2 03/15] arm64: dts: qcom: sdm845: Add missing RPMh power domain to GCC Manivannan Sadhasivam
2023-07-20 5:40 ` [PATCH v2 04/15] arm64: dts: qcom: sdm845: Fix the min frequency of "ice_core_clk" Manivannan Sadhasivam
2023-07-21 7:18 ` Viresh Kumar
2023-07-21 11:57 ` Manivannan Sadhasivam
2023-07-22 3:15 ` Bjorn Andersson
2023-07-24 5:48 ` Manivannan Sadhasivam
2023-07-20 5:40 ` [PATCH v2 05/15] arm64: dts: qcom: sdm845: Add OPP table support to UFSHC Manivannan Sadhasivam
2023-07-20 5:40 ` [PATCH v2 06/15] arm64: dts: qcom: sm8250: " Manivannan Sadhasivam
2023-07-20 5:40 ` [PATCH v2 07/15] OPP: Introduce dev_pm_opp_find_freq_{ceil/floor}_indexed() APIs Manivannan Sadhasivam
2023-07-20 5:40 ` [PATCH v2 08/15] OPP: Introduce dev_pm_opp_get_freq_indexed() API Manivannan Sadhasivam
2023-07-21 5:54 ` Dan Carpenter
2023-07-20 5:40 ` [PATCH v2 09/15] PM / devfreq: Switch to dev_pm_opp_find_freq_{ceil/floor}_indexed() APIs Manivannan Sadhasivam
2023-07-23 20:06 ` Chanwoo Choi
2023-07-24 5:46 ` Manivannan Sadhasivam [this message]
2023-07-24 21:57 ` Chanwoo Choi
2023-07-20 5:40 ` [PATCH v2 10/15] scsi: ufs: core: Add OPP support for scaling clocks and regulators Manivannan Sadhasivam
2023-07-20 5:40 ` [PATCH v2 11/15] scsi: ufs: host: Add support for parsing OPP Manivannan Sadhasivam
2023-07-20 21:32 ` kernel test robot
2023-07-20 23:26 ` kernel test robot
2023-07-20 5:40 ` [PATCH v2 12/15] arm64: dts: qcom: sdm845: Add interconnect paths to UFSHC Manivannan Sadhasivam
2023-07-20 5:40 ` [PATCH v2 13/15] arm64: dts: qcom: sm8250: " Manivannan Sadhasivam
2023-07-20 5:40 ` [PATCH v2 14/15] scsi: ufs: core: Add enums for UFS lanes Manivannan Sadhasivam
2023-07-20 5:41 ` [PATCH v2 15/15] scsi: ufs: qcom: Add support for scaling interconnects Manivannan Sadhasivam
2023-07-20 16:44 ` [PATCH v2 00/15] UFS: Add OPP and interconnect support Bart Van Assche
2023-07-20 16:57 ` Manivannan Sadhasivam
2023-07-21 9:42 ` Viresh Kumar
2023-07-21 11:54 ` Manivannan Sadhasivam
2023-07-24 7:52 ` Viresh Kumar
2023-07-22 5:17 ` (subset) " Bjorn Andersson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230724054611.GA2370@thinkpad \
--to=manivannan.sadhasivam@linaro.org \
--cc=alim.akhtar@samsung.com \
--cc=andersson@kernel.org \
--cc=avri.altman@wdc.com \
--cc=bmasney@redhat.com \
--cc=bvanassche@acm.org \
--cc=chanwoo@kernel.org \
--cc=conor+dt@kernel.org \
--cc=cw00.choi@samsung.com \
--cc=devicetree@vger.kernel.org \
--cc=jejb@linux.ibm.com \
--cc=konrad.dybcio@linaro.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=krzysztof.kozlowski@linaro.org \
--cc=kyungmin.park@samsung.com \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=myungjoo.ham@samsung.com \
--cc=nm@ti.com \
--cc=quic_asutoshd@quicinc.com \
--cc=quic_bhaskarv@quicinc.com \
--cc=quic_cang@quicinc.com \
--cc=quic_narepall@quicinc.com \
--cc=quic_nguyenb@quicinc.com \
--cc=quic_nitirawa@quicinc.com \
--cc=quic_richardp@quicinc.com \
--cc=quic_ziqichen@quicinc.com \
--cc=robh+dt@kernel.org \
--cc=sboyd@kernel.org \
--cc=vireshk@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).