Re: [PATCH v4 6/8] scsi: ufs: core: Check if scaling up is required when disable clkscale
From: Peter Wang (王信友)
Date: Tue Feb 11 2025 - 07:59:18 EST
On Mon, 2025-02-10 at 18:02 +0800, Ziqi Chen wrote:
>
> External email : Please do not click links or open attachments until
> you have verified the sender or the content.
>
>
> When disabling clkscale via the clkscale_enable sysfs entry, UFS
> driver
> shall perform scaling up once regardless. Check if scaling up is
> required
> or not first to avoid repetitive work.
>
> Co-developed-by: Can Guo <quic_cang@xxxxxxxxxxx>
> Signed-off-by: Can Guo <quic_cang@xxxxxxxxxxx>
> Signed-off-by: Ziqi Chen <quic_ziqichen@xxxxxxxxxxx>
> Reviewed-by: Bart Van Assche <bvanassche@xxxxxxx>
> Tested-by: Neil Armstrong <neil.armstrong@xxxxxxxxxx>
> ---
> drivers/ufs/core/ufshcd.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/ufs/core/ufshcd.c b/drivers/ufs/core/ufshcd.c
> index ebab897080a6..bd93119a177d 100644
> --- a/drivers/ufs/core/ufshcd.c
> +++ b/drivers/ufs/core/ufshcd.c
> @@ -1777,6 +1777,10 @@ static ssize_t
> ufshcd_clkscale_enable_store(struct device *dev,
> freq = clki->max_freq;
>
> ufshcd_suspend_clkscaling(hba);
> +
> + if (!ufshcd_is_devfreq_scaling_required(hba, freq, true))
> + goto out_rel;
> +
> err = ufshcd_devfreq_scale(hba, freq, true);
> if (err)
> dev_err(hba->dev, "%s: failed to scale clocks up
> %d\n",
> --
> 2.34.1
>
Reviewed-by: Peter Wang <peter.wang@xxxxxxxxxxxx>