public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1 1/1] scsi: ufs: mcq: Use active_reqs to check busy in clock scaling
@ 2023-03-08  3:00 Asutosh Das
  2023-03-08  5:42 ` Manivannan Sadhasivam
  0 siblings, 1 reply; 2+ messages in thread
From: Asutosh Das @ 2023-03-08  3:00 UTC (permalink / raw)
  To: quic_cang, martin.petersen, linux-scsi
  Cc: quic_nguyenb, quic_xiaosenh, stanley.chu, adrian.hunter,
	bvanassche, avri.altman, mani, beanhuo, Asutosh Das,
	linux-arm-msm, Alim Akhtar, James E.J. Bottomley, open list

Multi Circular Queue doesn't use outstanding_reqs.
But the ufs clock scaling functions use outstanding_reqs to
determine if there're requests pending. When MCQ is enabled
this check always returns false.

Hence use active_reqs to check if there're pending requests.

Signed-off-by: Asutosh Das <quic_asutoshd@quicinc.com>
---
 drivers/ufs/core/ufshcd.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/ufs/core/ufshcd.c b/drivers/ufs/core/ufshcd.c
index 172d25fef740..c6b35123c83b 100644
--- a/drivers/ufs/core/ufshcd.c
+++ b/drivers/ufs/core/ufshcd.c
@@ -1500,7 +1500,7 @@ static int ufshcd_devfreq_get_dev_status(struct device *dev,
 	scaling->window_start_t = curr_t;
 	scaling->tot_busy_t = 0;
 
-	if (hba->outstanding_reqs) {
+	if (scaling->active_reqs) {
 		scaling->busy_start_t = curr_t;
 		scaling->is_busy_started = true;
 	} else {
@@ -2118,7 +2118,7 @@ static void ufshcd_clk_scaling_update_busy(struct ufs_hba *hba)
 
 	spin_lock_irqsave(hba->host->host_lock, flags);
 	hba->clk_scaling.active_reqs--;
-	if (!hba->outstanding_reqs && scaling->is_busy_started) {
+	if (!scaling->active_reqs && scaling->is_busy_started) {
 		scaling->tot_busy_t += ktime_to_us(ktime_sub(ktime_get(),
 					scaling->busy_start_t));
 		scaling->busy_start_t = 0;
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH v1 1/1] scsi: ufs: mcq: Use active_reqs to check busy in clock scaling
  2023-03-08  3:00 [PATCH v1 1/1] scsi: ufs: mcq: Use active_reqs to check busy in clock scaling Asutosh Das
@ 2023-03-08  5:42 ` Manivannan Sadhasivam
  0 siblings, 0 replies; 2+ messages in thread
From: Manivannan Sadhasivam @ 2023-03-08  5:42 UTC (permalink / raw)
  To: Asutosh Das
  Cc: quic_cang, martin.petersen, linux-scsi, quic_nguyenb,
	quic_xiaosenh, stanley.chu, adrian.hunter, bvanassche,
	avri.altman, beanhuo, linux-arm-msm, Alim Akhtar,
	James E.J. Bottomley, open list

On Tue, Mar 07, 2023 at 07:00:09PM -0800, Asutosh Das wrote:
> Multi Circular Queue doesn't use outstanding_reqs.
> But the ufs clock scaling functions use outstanding_reqs to
> determine if there're requests pending. When MCQ is enabled
> this check always returns false.
> 
> Hence use active_reqs to check if there're pending requests.
> 
> Signed-off-by: Asutosh Das <quic_asutoshd@quicinc.com>

This looks like a fix to me. Hence there should be a fixes tag. With that,

Reviewed-by: Manivannan Sadhasivam <mani@kernel.org>

Thanks,
Mani

> ---
>  drivers/ufs/core/ufshcd.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/ufs/core/ufshcd.c b/drivers/ufs/core/ufshcd.c
> index 172d25fef740..c6b35123c83b 100644
> --- a/drivers/ufs/core/ufshcd.c
> +++ b/drivers/ufs/core/ufshcd.c
> @@ -1500,7 +1500,7 @@ static int ufshcd_devfreq_get_dev_status(struct device *dev,
>  	scaling->window_start_t = curr_t;
>  	scaling->tot_busy_t = 0;
>  
> -	if (hba->outstanding_reqs) {
> +	if (scaling->active_reqs) {
>  		scaling->busy_start_t = curr_t;
>  		scaling->is_busy_started = true;
>  	} else {
> @@ -2118,7 +2118,7 @@ static void ufshcd_clk_scaling_update_busy(struct ufs_hba *hba)
>  
>  	spin_lock_irqsave(hba->host->host_lock, flags);
>  	hba->clk_scaling.active_reqs--;
> -	if (!hba->outstanding_reqs && scaling->is_busy_started) {
> +	if (!scaling->active_reqs && scaling->is_busy_started) {
>  		scaling->tot_busy_t += ktime_to_us(ktime_sub(ktime_get(),
>  					scaling->busy_start_t));
>  		scaling->busy_start_t = 0;
> -- 
> 2.7.4
> 

-- 
மணிவண்ணன் சதாசிவம்

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2023-03-08  5:43 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-03-08  3:00 [PATCH v1 1/1] scsi: ufs: mcq: Use active_reqs to check busy in clock scaling Asutosh Das
2023-03-08  5:42 ` Manivannan Sadhasivam

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox