From: neil.armstrong@linaro.org
To: Ziqi Chen <quic_ziqichen@quicinc.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
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: Thu, 6 Feb 2025 10:53:27 +0100 [thread overview]
Message-ID: <63578f71-e5f5-482a-98a7-779053b1caf7@linaro.org> (raw)
In-Reply-To: <20250203081109.1614395-1-quic_ziqichen@quicinc.com>
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
next prev parent reply other threads:[~2025-02-06 9:53 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 ` neil.armstrong [this message]
2025-02-07 3:29 ` [PATCH v3 0/8] Support Multi-frequency scale for UFS 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=63578f71-e5f5-482a-98a7-779053b1caf7@linaro.org \
--to=neil.armstrong@linaro.org \
--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=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