aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNaomi Chu <[email protected]>2023-11-02 13:24:24 +0800
committerMartin K. Petersen <[email protected]>2023-11-08 21:35:07 -0500
commitdefde5a50d91c74e1ce71a7f0bce7fb1ae311d84 (patch)
treec761423e26c0794f2914e00d48a7ebd3a8fe6a38
parent19597cad64d608aa8ac2f8aef50a50187a565223 (diff)
scsi: ufs: core: Expand MCQ queue slot to DeviceQueueDepth + 1
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 '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 <[email protected]> Link: https://lore.kernel.org/r/[email protected] Reviewed-by: Stanley Chu <[email protected]> Reviewed-by: Bart Van Assche <[email protected]> Reviewed-by: Peter Wang <[email protected]> Reviewed-by: Chun-Hung <[email protected]> Signed-off-by: Martin K. Petersen <[email protected]>
-rw-r--r--drivers/ufs/core/ufs-mcq.c2
1 files changed, 1 insertions, 1 deletions
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);