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

Chun-Hung Wu (巫駿宏)
2023-11-03T02:36:05Z

On Thu, 2023-11-02 at 13:24 +0800, naomi.chu@mediatek.com wrote:
> From: Naomi Chu <naomi.chu@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@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
>

Reviewed-by: Chun-Hung<chun-hung.wu@mediatek.com>