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

From: Bart Van Assche
Date: Wed Nov 01 2023 - 12:41:13 EST


On 11/1/23 01:24, naomi.chu@xxxxxxxxxxxx wrote:
From: Naomi Chu <naomi.chu@xxxxxxxxxxxx>

Allow UFSHCI 4.0 controllers to fully utilize MCQ queue slots.

Signed-off-by: Naomi Chu <naomi.chu@xxxxxxxxxxxx>
---
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);

Please add a Fixes: tag and expand the patch description. What should be
mentioned in the patch description is that the UFSHCI specification
requires that there is always at least one empty slot in each completion
queue. I think that is why the above change is necessary.

Thanks,

Bart.