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

Chun-Hung Wu (巫駿宏) Chun-hung.Wu at mediatek.com
Thu Nov 2 19:35:48 PDT 2023


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

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


More information about the linux-arm-kernel mailing list