]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
scsi: ufs: ufs-mediatek: Add UFSHCD_QUIRK_BROKEN_LSDBS_CAP
authorMary Guillemard <mary@mary.zone>
Sun, 18 Aug 2024 22:24:42 +0000 (00:24 +0200)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 29 Aug 2024 01:29:20 +0000 (21:29 -0400)
MT8183 implements the UFSHCI 2.1 spec but reports a bogus value of 1 in
the reserved part for the Legacy Single Doorbell Support (LSDBS)
capability.

Set UFSHCD_QUIRK_BROKEN_LSDBS_CAP when MCQ support is explicitly
disabled, allowing the device to be properly registered.

Signed-off-by: Mary Guillemard <mary@mary.zone>
Link: https://lore.kernel.org/r/20240818222442.44990-3-mary@mary.zone
Reviewed-by: Peter Wang <peter.wang@mediatek.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/ufs/host/ufs-mediatek.c

index 02c9064284e16530ff9f88fdd15c878ccbacdf3b..9a5919434c4e0d1b4c04c105d08b1a7a9e55f2a6 100644 (file)
@@ -1026,6 +1026,9 @@ static int ufs_mtk_init(struct ufs_hba *hba)
        if (host->caps & UFS_MTK_CAP_DISABLE_AH8)
                hba->caps |= UFSHCD_CAP_HIBERN8_WITH_CLK_GATING;
 
+       if (host->caps & UFS_MTK_CAP_DISABLE_MCQ)
+               hba->quirks |= UFSHCD_QUIRK_BROKEN_LSDBS_CAP;
+
        ufs_mtk_init_clocks(hba);
 
        /*