diff mbox series

[v4,7/9] scsi: ufs: Move the ufshcd_mcq_enable() call

Message ID 20240702204020.2489324-8-bvanassche@acm.org (mailing list archive)
State Superseded
Headers show
Series UFS patches for kernel 6.11 | expand

Commit Message

Bart Van Assche July 2, 2024, 8:39 p.m. UTC
Move the ufshcd_mcq_enable() call and also the hba->mcq_enabled = true
assignment from inside ufshcd_config_mcq() to the callers of this function.
No functionality is changed by this patch.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>
---
 drivers/ufs/core/ufshcd.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

Comments

Peter Wang (王信友) July 3, 2024, 8:59 a.m. UTC | #1
On Tue, 2024-07-02 at 13:39 -0700, Bart Van Assche wrote:
>  	 
> External email : Please do not click links or open attachments until
> you have verified the sender or the content.
>  Move the ufshcd_mcq_enable() call and also the hba->mcq_enabled =
> true
> assignment from inside ufshcd_config_mcq() to the callers of this
> function.
> No functionality is changed by this patch.
> 
> Signed-off-by: Bart Van Assche <bvanassche@acm.org>
> ---
>  drivers/ufs/core/ufshcd.c | 11 +++++++----
>  1 file changed, 7 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/ufs/core/ufshcd.c b/drivers/ufs/core/ufshcd.c
> index 4c138f42a802..b3444f9ce130 100644
> --- a/drivers/ufs/core/ufshcd.c
> +++ b/drivers/ufs/core/ufshcd.c
> @@ -8702,9 +8702,6 @@ static void ufshcd_config_mcq(struct ufs_hba
> *hba)
>  	ufshcd_mcq_make_queues_operational(hba);
>  	ufshcd_mcq_config_mac(hba, hba->nutrs);
>  
> -	ufshcd_mcq_enable(hba);
> -	hba->mcq_enabled = true;
> -
>  	dev_info(hba->dev, "MCQ configured, nr_queues=%d, io_queues=%d,
> read_queue=%d, poll_queues=%d, queue_depth=%d\n",
>  		 hba->nr_hw_queues, hba->nr_queues[HCTX_TYPE_DEFAULT],
>  		 hba->nr_queues[HCTX_TYPE_READ], hba-
> >nr_queues[HCTX_TYPE_POLL],
> @@ -8732,8 +8729,10 @@ static int ufshcd_device_init(struct ufs_hba
> *hba, bool init_dev_params)
>  	ufshcd_set_link_active(hba);
>  
>  	/* Reconfigure MCQ upon reset */
> -	if (hba->mcq_enabled && !init_dev_params)
> +	if (hba->mcq_enabled && !init_dev_params) {
>  		ufshcd_config_mcq(hba);
> +		ufshcd_mcq_enable(hba);
> +	}
>  
>  	/* Verify device initialization by sending NOP OUT UPIU */
>  	ret = ufshcd_verify_dev_init(hba);
> @@ -8757,6 +8756,8 @@ static int ufshcd_device_init(struct ufs_hba
> *hba, bool init_dev_params)
>  			ret = ufshcd_alloc_mcq(hba);
>  			if (!ret) {
>  				ufshcd_config_mcq(hba);
> +				ufshcd_mcq_enable(hba);
> +				hba->mcq_enabled = true;
>  			} else {
>  				/* Continue with SDB mode */
>  				use_mcq_mode = false;
> @@ -8772,6 +8773,8 @@ static int ufshcd_device_init(struct ufs_hba
> *hba, bool init_dev_params)
>  		} else if (is_mcq_supported(hba)) {
>  			/* UFSHCD_QUIRK_REINIT_AFTER_MAX_GEAR_SWITCH is
> set */
>  			ufshcd_config_mcq(hba);
> +			ufshcd_mcq_enable(hba);
> +			hba->mcq_enabled = true;
>  		}
>  	}
>  

Reviewed-by: Peter Wang <peter.wang@mediatek.com>
Manivannan Sadhasivam July 3, 2024, 1:10 p.m. UTC | #2
On Tue, Jul 02, 2024 at 01:39:15PM -0700, Bart Van Assche wrote:
> Move the ufshcd_mcq_enable() call and also the hba->mcq_enabled = true
> assignment from inside ufshcd_config_mcq() to the callers of this function.
> No functionality is changed by this patch.
> 
> Signed-off-by: Bart Van Assche <bvanassche@acm.org>

For the code,

Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>

But neither the subject, nor the commit message explains _why_ this change is
needed.

- Mani

> ---
>  drivers/ufs/core/ufshcd.c | 11 +++++++----
>  1 file changed, 7 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/ufs/core/ufshcd.c b/drivers/ufs/core/ufshcd.c
> index 4c138f42a802..b3444f9ce130 100644
> --- a/drivers/ufs/core/ufshcd.c
> +++ b/drivers/ufs/core/ufshcd.c
> @@ -8702,9 +8702,6 @@ static void ufshcd_config_mcq(struct ufs_hba *hba)
>  	ufshcd_mcq_make_queues_operational(hba);
>  	ufshcd_mcq_config_mac(hba, hba->nutrs);
>  
> -	ufshcd_mcq_enable(hba);
> -	hba->mcq_enabled = true;
> -
>  	dev_info(hba->dev, "MCQ configured, nr_queues=%d, io_queues=%d, read_queue=%d, poll_queues=%d, queue_depth=%d\n",
>  		 hba->nr_hw_queues, hba->nr_queues[HCTX_TYPE_DEFAULT],
>  		 hba->nr_queues[HCTX_TYPE_READ], hba->nr_queues[HCTX_TYPE_POLL],
> @@ -8732,8 +8729,10 @@ static int ufshcd_device_init(struct ufs_hba *hba, bool init_dev_params)
>  	ufshcd_set_link_active(hba);
>  
>  	/* Reconfigure MCQ upon reset */
> -	if (hba->mcq_enabled && !init_dev_params)
> +	if (hba->mcq_enabled && !init_dev_params) {
>  		ufshcd_config_mcq(hba);
> +		ufshcd_mcq_enable(hba);
> +	}
>  
>  	/* Verify device initialization by sending NOP OUT UPIU */
>  	ret = ufshcd_verify_dev_init(hba);
> @@ -8757,6 +8756,8 @@ static int ufshcd_device_init(struct ufs_hba *hba, bool init_dev_params)
>  			ret = ufshcd_alloc_mcq(hba);
>  			if (!ret) {
>  				ufshcd_config_mcq(hba);
> +				ufshcd_mcq_enable(hba);
> +				hba->mcq_enabled = true;
>  			} else {
>  				/* Continue with SDB mode */
>  				use_mcq_mode = false;
> @@ -8772,6 +8773,8 @@ static int ufshcd_device_init(struct ufs_hba *hba, bool init_dev_params)
>  		} else if (is_mcq_supported(hba)) {
>  			/* UFSHCD_QUIRK_REINIT_AFTER_MAX_GEAR_SWITCH is set */
>  			ufshcd_config_mcq(hba);
> +			ufshcd_mcq_enable(hba);
> +			hba->mcq_enabled = true;
>  		}
>  	}
>
Bart Van Assche July 3, 2024, 8:32 p.m. UTC | #3
On 7/3/24 6:10 AM, Manivannan Sadhasivam wrote:
> But neither the subject, nor the commit message explains _why_ this change is
> needed.

Right, I should have mentioned why I came up with this patch. If I have
to repost this patch series, I will make it clear in the patch
description that this patch is a refactoring patch that makes a later
patch easier to read ("scsi: ufs: Make .get_hba_mac() optional").

Thanks,

Bart.
diff mbox series

Patch

diff --git a/drivers/ufs/core/ufshcd.c b/drivers/ufs/core/ufshcd.c
index 4c138f42a802..b3444f9ce130 100644
--- a/drivers/ufs/core/ufshcd.c
+++ b/drivers/ufs/core/ufshcd.c
@@ -8702,9 +8702,6 @@  static void ufshcd_config_mcq(struct ufs_hba *hba)
 	ufshcd_mcq_make_queues_operational(hba);
 	ufshcd_mcq_config_mac(hba, hba->nutrs);
 
-	ufshcd_mcq_enable(hba);
-	hba->mcq_enabled = true;
-
 	dev_info(hba->dev, "MCQ configured, nr_queues=%d, io_queues=%d, read_queue=%d, poll_queues=%d, queue_depth=%d\n",
 		 hba->nr_hw_queues, hba->nr_queues[HCTX_TYPE_DEFAULT],
 		 hba->nr_queues[HCTX_TYPE_READ], hba->nr_queues[HCTX_TYPE_POLL],
@@ -8732,8 +8729,10 @@  static int ufshcd_device_init(struct ufs_hba *hba, bool init_dev_params)
 	ufshcd_set_link_active(hba);
 
 	/* Reconfigure MCQ upon reset */
-	if (hba->mcq_enabled && !init_dev_params)
+	if (hba->mcq_enabled && !init_dev_params) {
 		ufshcd_config_mcq(hba);
+		ufshcd_mcq_enable(hba);
+	}
 
 	/* Verify device initialization by sending NOP OUT UPIU */
 	ret = ufshcd_verify_dev_init(hba);
@@ -8757,6 +8756,8 @@  static int ufshcd_device_init(struct ufs_hba *hba, bool init_dev_params)
 			ret = ufshcd_alloc_mcq(hba);
 			if (!ret) {
 				ufshcd_config_mcq(hba);
+				ufshcd_mcq_enable(hba);
+				hba->mcq_enabled = true;
 			} else {
 				/* Continue with SDB mode */
 				use_mcq_mode = false;
@@ -8772,6 +8773,8 @@  static int ufshcd_device_init(struct ufs_hba *hba, bool init_dev_params)
 		} else if (is_mcq_supported(hba)) {
 			/* UFSHCD_QUIRK_REINIT_AFTER_MAX_GEAR_SWITCH is set */
 			ufshcd_config_mcq(hba);
+			ufshcd_mcq_enable(hba);
+			hba->mcq_enabled = true;
 		}
 	}