[PATCH v3 1/1] ufs: core: Expand MCQ queue slot to DeviceQueueDepth + 1

naomi.chu at mediatek.com naomi.chu at mediatek.com
Wed Nov 1 22:24:24 PDT 2023


From: Naomi Chu <naomi.chu at mediatek.com>

The UFSHCI 4.0 specification mandates that there should always be at
least one empty slot in each queue for distinguishing between full and
empty states. Enlarge the `hwq->max_entries` to `DeviceQueueDepth +1`
to allow UFSHCI 4.0 controllers to fully utilize MCQ queue slots.

Fixes: 4682abfae2eb ("scsi: ufs: core: mcq: Allocate memory for MCQ mode")
Signed-off-by: Naomi Chu <naomi.chu at mediatek.com>
---
 drivers/ufs/core/ufs-mcq.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/ufs/core/ufs-mcq.c b/drivers/ufs/core/ufs-mcq.c
index 2ba8ec254dce..5c75ab9d6bb5 100644
--- a/drivers/ufs/core/ufs-mcq.c
+++ b/drivers/ufs/core/ufs-mcq.c
@@ -436,7 +436,7 @@ int ufshcd_mcq_init(struct ufs_hba *hba)
 
 	for (i = 0; i < hba->nr_hw_queues; i++) {
 		hwq = &hba->uhq[i];
-		hwq->max_entries = hba->nutrs;
+		hwq->max_entries = hba->nutrs + 1;
 		spin_lock_init(&hwq->sq_lock);
 		spin_lock_init(&hwq->cq_lock);
 		mutex_init(&hwq->sq_mutex);
-- 
2.18.0




More information about the linux-arm-kernel mailing list