From: neil.armstrong@linaro.org
To: Ziqi Chen <quic_ziqichen@quicinc.com>,
Luca Weiss <luca.weiss@fairphone.com>,
quic_cang@quicinc.com, bvanassche@acm.org, mani@kernel.org,
beanhuo@micron.com, avri.altman@wdc.com,
junwoo80.lee@samsung.com, martin.petersen@oracle.com,
quic_nguyenb@quicinc.com, quic_nitirawa@quicinc.com,
quic_rampraka@quicinc.com, konrad.dybcio@oss.qualcomm.com
Cc: linux-arm-msm@vger.kernel.org, linux-scsi@vger.kernel.org,
Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>,
"James E.J. Bottomley" <James.Bottomley@hansenpartnership.com>,
open list <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v2 2/3] scsi: ufs: qcom: Map devfreq OPP freq to UniPro Core Clock freq
Date: Wed, 7 May 2025 13:59:53 +0200 [thread overview]
Message-ID: <7ccbd722-c99a-43b3-9ceb-4c207521822d@linaro.org> (raw)
In-Reply-To: <7c74a395-a8b8-4a12-9ddb-691f28c90885@quicinc.com>
On 07/05/2025 11:09, Ziqi Chen wrote:
> Hi Luca,
>
> On 5/7/2025 4:19 PM, Luca Weiss wrote:
>> Hi Ziqi,
>>
>> On Wed May 7, 2025 at 9:44 AM CEST, Ziqi Chen wrote:
>>> From: Can Guo <quic_cang@quicinc.com>
>>>
>>> On some platforms, the devfreq OPP freq may be different than the unipro
>>> core clock freq. Implement ufs_qcom_opp_freq_to_clk_freq() and use it to
>>> find the unipro core clk freq.
>>>
>>> Signed-off-by: Can Guo <quic_cang@quicinc.com>
>>> Co-developed-by: Ziqi Chen <quic_ziqichen@quicinc.com>
>>> Signed-off-by: Ziqi Chen <quic_ziqichen@quicinc.com>
>>> ---
>>> drivers/ufs/host/ufs-qcom.c | 81 ++++++++++++++++++++++++++++++++-----
>>> 1 file changed, 71 insertions(+), 10 deletions(-)
>>>
>>> diff --git a/drivers/ufs/host/ufs-qcom.c b/drivers/ufs/host/ufs-qcom.c
>>> index 7f10926100a5..804c8ccd8d03 100644
>>> --- a/drivers/ufs/host/ufs-qcom.c
>>> +++ b/drivers/ufs/host/ufs-qcom.c
>>> +static unsigned long ufs_qcom_opp_freq_to_clk_freq(struct ufs_hba *hba,
>>> + unsigned long freq, char *name)
>>> +{
>>> + struct ufs_clk_info *clki;
>>> + struct dev_pm_opp *opp;
>>> + unsigned long clk_freq;
>>> + int idx = 0;
>>> + bool found = false;
>>> +
>>> + opp = dev_pm_opp_find_freq_exact_indexed(hba->dev, freq, 0, true);
>>> + if (IS_ERR(opp)) {
>>> + dev_err(hba->dev, "Failed to find OPP for exact frequency %lu\n", freq);
>>
>> I'm hitting this print on bootup:
>>
>> [ 0.512515] ufshcd-qcom 1d84000.ufshc: Failed to find OPP for exact frequency 18446744073709551615
>> [ 0.512571] ufshcd-qcom 1d84000.ufshc: Failed to find OPP for exact frequency 18446744073709551615
>>
>> Doesn't look like it's intended? The number is (2^64 - 1)
>>
> Yes, this is expected. During link startup, the frequency
> ULONG_MAX will be passed to ufs_qcom_set_core_clk_ctrl() and
> ufs_qcom_cfg_timer(). This frequency cannot be found through the API
> dev_pm_opp_find_freq_exact_indexed(). Therefore, we handle the
> frequency ULONG_MAX separately within Ufs_qcom_set_core_clk_ctrl()
> and ufs_qcom_cfg_timer().
>
> This print only be print twice during link startup. If you think print
> such print during bootup is not make sense, I can improve the code and
> update a new vwesion.
I think just don't call ufs_qcom_opp_freq_to_clk_freq() if freq==ULONG_MAX
Neil
>
> BRs.
> Ziqi
>
>> Regards
>> Luca
>>
>
>
next prev parent reply other threads:[~2025-05-07 11:59 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20250507074415.2451940-1-quic_ziqichen@quicinc.com>
2025-05-07 7:44 ` [PATCH v2 1/3] scsi: ufs: qcom: Check gear against max gear in vop freq_to_gear() Ziqi Chen
2025-05-08 9:05 ` Bean Huo
2025-05-08 15:30 ` Konrad Dybcio
2025-05-09 6:29 ` Ziqi Chen
2025-05-07 7:44 ` [PATCH v2 2/3] scsi: ufs: qcom: Map devfreq OPP freq to UniPro Core Clock freq Ziqi Chen
2025-05-07 8:19 ` Luca Weiss
2025-05-07 9:09 ` Ziqi Chen
2025-05-07 9:59 ` Luca Weiss
2025-05-08 10:39 ` Ziqi Chen
2025-05-07 11:59 ` neil.armstrong [this message]
2025-05-08 10:42 ` Ziqi Chen
2025-05-08 9:21 ` Bean Huo
2025-05-09 5:33 ` Ziqi Chen
2025-05-07 7:44 ` [PATCH v2 3/3] scsi: ufs: qcom: Call ufs_qcom_cfg_timers() in clock scaling path Ziqi Chen
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=7ccbd722-c99a-43b3-9ceb-4c207521822d@linaro.org \
--to=neil.armstrong@linaro.org \
--cc=James.Bottomley@hansenpartnership.com \
--cc=avri.altman@wdc.com \
--cc=beanhuo@micron.com \
--cc=bvanassche@acm.org \
--cc=junwoo80.lee@samsung.com \
--cc=konrad.dybcio@oss.qualcomm.com \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=luca.weiss@fairphone.com \
--cc=mani@kernel.org \
--cc=manivannan.sadhasivam@linaro.org \
--cc=martin.petersen@oracle.com \
--cc=quic_cang@quicinc.com \
--cc=quic_nguyenb@quicinc.com \
--cc=quic_nitirawa@quicinc.com \
--cc=quic_rampraka@quicinc.com \
--cc=quic_ziqichen@quicinc.com \
/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
all inboxes | Powered by JetHome®