The Linux Kernel Mailing List
 help / color / mirror / Atom feed
From: Ziqi Chen <quic_ziqichen@quicinc.com>
To: <neil.armstrong@linaro.org>, <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>
Cc: <linux-arm-msm@vger.kernel.org>, <linux-scsi@vger.kernel.org>,
	"Matthias Brugger" <matthias.bgg@gmail.com>,
	AngeloGioacchino Del Regno
	<angelogioacchino.delregno@collabora.com>,
	"open list:ARM/Mediatek SoC support:Keyword:mediatek"
	<linux-kernel@vger.kernel.org>,
	"moderated list:ARM/Mediatek SoC support:Keyword:mediatek"
	<linux-arm-kernel@lists.infradead.org>,
	"moderated list:ARM/Mediatek SoC support:Keyword:mediatek"
	<linux-mediatek@lists.infradead.org>
Subject: Re: [PATCH v3 0/8] Support Multi-frequency scale for UFS
Date: Fri, 7 Feb 2025 11:29:04 +0800	[thread overview]
Message-ID: <46aa5bbe-a7dd-4561-9d4a-0367779f0680@quicinc.com> (raw)
In-Reply-To: <63578f71-e5f5-482a-98a7-779053b1caf7@linaro.org>



On 2/6/2025 5:53 PM, neil.armstrong@linaro.org wrote:
> On 03/02/2025 09:11, Ziqi Chen wrote:
>> With OPP V2 enabled, devfreq can scale clocks amongst multiple frequency
>> plans. However, the gear speed is only toggled between min and max during
>> clock scaling. Enable multi-level gear scaling by mapping clock 
>> frequencies
>> to gear speeds, so that when devfreq scales clock frequencies we can put
>> the UFS link at the appropraite gear speeds accordingly.
>>
>> This series has been tested on below platforms -
>> sm8550 mtp + UFS3.1
>> SM8650 MTP + UFS3.1
>> SM8750 MTP + UFS4.0
>>
>> v1 -> v2:
>> 1. Withdraw old patch 8/8 "ARM: dts: msm: Use Operation Points V2 for 
>> UFS on SM8650"
>> 2. Add new patch 8/8 "ABI: sysfs-driver-ufs: Add missing UFS sysfs 
>> addributes"
>> 3. Modify commit message for  "scsi: ufs: core: Pass target_freq to 
>> clk_scale_notify() vops" and "scsi: ufs: qcom: Pass target_freq to clk 
>> scale pre and post change"
>> 4. In "scsi: ufs: qcom: Pass target_freq to clk scale pre and post 
>> change", use common Macro HZ_PER_MHZ in function 
>> ufs_qcom_set_core_clk_ctrl()
>> 5. In "scsi: ufs: qcom: Implement the freq_to_gear_speed() vops", 
>> print out freq and gear info as debugging message
>> 6. In "scsi: ufs: core: Enable multi-level gear scaling", rename the 
>> lable "do_pmc" to "config_pwr_mode"
>> 7. In "scsi: ufs: core: Toggle Write Booster during clock", initialize 
>> the local variables "wb_en" as "false"
>>
>> v2 -> v3:
>> 1. Change 'vops' to 'vop' in all commit message
>> 2. keep the indentation consistent for clk_scale_notify() definition.
>> 3. In "scsi: ufs: core: Add a vop to map clock frequency to gear 
>> speed", "scsi: ufs: qcom: Implement the freq_to_gear_speed() vop"
>>     and "scsi: ufs: core: Enable multi-level gear scaling", remove the 
>> parameter 'gear' and use it as return result in function 
>> freq_to_gear_speed()
>> 4. In "scsi: ufs: qcom: Implement the freq_to_gear_speed(), removed 
>> the variable 'ret' in function ufs_qcom_freq_to_gear_speed()
>> 5. In "scsi: ufs: core: Enable multi-level gear scaling", use 
>> assignment instead memcpy() in function ufshcd_scale_gear()
>> 6. Improve the grammar of attributes' descriptions in “ABI: sysfs- 
>> driver-ufs: Add missing UFS sysfs attributes”
>> 7. Typo fixed for some commit messages.
>>
>> Can Guo (6):
>>    scsi: ufs: core: Pass target_freq to clk_scale_notify() vop
>>    scsi: ufs: qcom: Pass target_freq to clk scale pre and post change
>>    scsi: ufs: core: Add a vop to map clock frequency to gear speed
>>    scsi: ufs: qcom: Implement the freq_to_gear_speed() vop
>>    scsi: ufs: core: Enable multi-level gear scaling
>>    scsi: ufs: core: Toggle Write Booster during clock scaling base on
>>      gear speed
>>
>> Ziqi Chen (2):
>>    scsi: ufs: core: Check if scaling up is required when disable clkscale
>>    ABI: sysfs-driver-ufs: Add missing UFS sysfs attributes
>>
>>   Documentation/ABI/testing/sysfs-driver-ufs | 33 ++++++++++
>>   drivers/ufs/core/ufshcd-priv.h             | 15 ++++-
>>   drivers/ufs/core/ufshcd.c                  | 76 +++++++++++++++++-----
>>   drivers/ufs/host/ufs-mediatek.c            |  1 +
>>   drivers/ufs/host/ufs-qcom.c                | 62 ++++++++++++++----
>>   include/ufs/ufshcd.h                       |  9 ++-
>>   6 files changed, 160 insertions(+), 36 deletions(-)
>>
> 
> Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8550-QRD
> Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8550-HDK
> Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8650-HDK
> 
> I added some traces and played with devfreq max_freq while copying data
> from the UFS disk, no issues observed.
> 
> Neil

Thank Neil for your test result.

-Ziqi


      reply	other threads:[~2025-02-07  3:29 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-03  8:11 [PATCH v3 0/8] Support Multi-frequency scale for UFS Ziqi Chen
2025-02-03  8:11 ` [PATCH v3 1/8] scsi: ufs: core: Pass target_freq to clk_scale_notify() vop Ziqi Chen
2025-02-03  9:37   ` Bean Huo
2025-02-06  7:32     ` Ziqi Chen
2025-02-05 18:02   ` Bart Van Assche
2025-02-03  8:11 ` [PATCH v3 2/8] scsi: ufs: qcom: Pass target_freq to clk scale pre and post change Ziqi Chen
2025-02-03 10:09   ` Bean Huo
2025-02-03  8:11 ` [PATCH v3 3/8] scsi: ufs: core: Add a vop to map clock frequency to gear speed Ziqi Chen
2025-02-03 12:55   ` Bean Huo
2025-02-06  7:47     ` Ziqi Chen
2025-02-05 18:03   ` Bart Van Assche
2025-02-03  8:11 ` [PATCH v3 4/8] scsi: ufs: qcom: Implement the freq_to_gear_speed() vop Ziqi Chen
2025-02-03 13:22   ` Bean Huo
2025-02-03  8:11 ` [PATCH v3 5/8] scsi: ufs: core: Enable multi-level gear scaling Ziqi Chen
2025-02-05 18:04   ` Bart Van Assche
2025-02-05 20:01   ` Bean Huo
2025-02-06  7:56     ` Ziqi Chen
2025-02-03  8:11 ` [PATCH v3 6/8] scsi: ufs: core: Check if scaling up is required when disable clkscale Ziqi Chen
2025-02-05 18:05   ` Bart Van Assche
2025-02-03  8:11 ` [PATCH v3 7/8] scsi: ufs: core: Toggle Write Booster during clock scaling base on gear speed Ziqi Chen
2025-02-05 18:09   ` Bart Van Assche
2025-02-06  7:53     ` Ziqi Chen
2025-02-05 20:03   ` Bean Huo
2025-02-06  7:57     ` Ziqi Chen
2025-02-03  8:11 ` [PATCH v3 8/8] ABI: sysfs-driver-ufs: Add missing UFS sysfs attributes Ziqi Chen
2025-02-05 18:12   ` Bart Van Assche
2025-02-06  7:54     ` Ziqi Chen
2025-02-06  9:53 ` [PATCH v3 0/8] Support Multi-frequency scale for UFS neil.armstrong
2025-02-07  3:29   ` Ziqi Chen [this message]

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=46aa5bbe-a7dd-4561-9d4a-0367779f0680@quicinc.com \
    --to=quic_ziqichen@quicinc.com \
    --cc=angelogioacchino.delregno@collabora.com \
    --cc=avri.altman@wdc.com \
    --cc=beanhuo@micron.com \
    --cc=bvanassche@acm.org \
    --cc=junwoo80.lee@samsung.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=mani@kernel.org \
    --cc=martin.petersen@oracle.com \
    --cc=matthias.bgg@gmail.com \
    --cc=neil.armstrong@linaro.org \
    --cc=quic_cang@quicinc.com \
    --cc=quic_nguyenb@quicinc.com \
    --cc=quic_nitirawa@quicinc.com \
    --cc=quic_rampraka@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