Message ID | 20250203081109.1614395-7-quic_ziqichen@quicinc.com |
---|---|
State | New |
Headers | show |
Series | Support Multi-frequency scale for UFS | expand |
On 2/3/25 12:11 AM, Ziqi Chen wrote: > 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@quicinc.com> > Signed-off-by: Can Guo <quic_cang@quicinc.com> > Signed-off-by: Ziqi Chen <quic_ziqichen@quicinc.com> > --- > 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", Reviewed-by: Bart Van Assche <bvanassche@acm.org>
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",