]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
scsi: ufs: core: Fix MCQ MAC configuration
authorRohit Ner <rohitner@google.com>
Tue, 20 Feb 2024 09:56:37 +0000 (01:56 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 17 May 2024 10:14:36 +0000 (12:14 +0200)
[ Upstream commit 767712f91de76abd22a45184e6e3440120b8bfce ]

As per JEDEC Standard No. 223E Section 5.9.2, the max # active commands
value programmed by the host sw in MCQConfig.MAC should be one less than
the actual value.

Signed-off-by: Rohit Ner <rohitner@google.com>
Link: https://lore.kernel.org/r/20240220095637.2900067-1-rohitner@google.com
Reviewed-by: Peter Wang <peter.wang@mediatek.com>
Reviewed-by: Can Guo <quic_cang@quicinc.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/ufs/core/ufs-mcq.c

index 0787456c2b892f773bba5cf66c09ac7918787852..c873fd8239427fdb5c07b913416e937cbc0e4ef9 100644 (file)
@@ -94,7 +94,7 @@ void ufshcd_mcq_config_mac(struct ufs_hba *hba, u32 max_active_cmds)
 
        val = ufshcd_readl(hba, REG_UFS_MCQ_CFG);
        val &= ~MCQ_CFG_MAC_MASK;
-       val |= FIELD_PREP(MCQ_CFG_MAC_MASK, max_active_cmds);
+       val |= FIELD_PREP(MCQ_CFG_MAC_MASK, max_active_cmds - 1);
        ufshcd_writel(hba, val, REG_UFS_MCQ_CFG);
 }
 EXPORT_SYMBOL_GPL(ufshcd_mcq_config_mac);