]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
scsi: ufs: mcq: Move the ufshcd_mcq_enable() call
authorBart Van Assche <bvanassche@acm.org>
Mon, 8 Jul 2024 21:16:03 +0000 (14:16 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 11 Jul 2024 02:19:05 +0000 (22:19 -0400)
Move the ufshcd_mcq_enable() call from inside ufshcd_config_mcq() to the
callers of this function. No functionality is changed by this patch. This
patch makes a later patch easier to read ("scsi: ufs: Make .get_hba_mac()
optional").

Cc: Peter Wang <peter.wang@mediatek.com>
Cc: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Link: https://lore.kernel.org/r/20240708211716.2827751-9-bvanassche@acm.org
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/ufs/core/ufshcd.c

index c96c57fe58344d26deb17627d072b9afb322e31a..3fff49953f04882771f72aa9ef458cbd7eda16e0 100644 (file)
@@ -8702,8 +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);
-
        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],
@@ -8731,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);
@@ -8756,6 +8756,7 @@ 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);
                        } else {
                                /* Continue with SDB mode */
                                use_mcq_mode = false;
@@ -8771,6 +8772,7 @@ 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);
                }
        }