]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
scsi: ufs: host: mediatek: Fix adapt issue after PA_Init
authorAlice Chao <alice.chao@mediatek.com>
Wed, 3 Sep 2025 02:44:44 +0000 (10:44 +0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 10 Sep 2025 02:46:23 +0000 (22:46 -0400)
Address the issue where the host does not send adapt to the device after
PA_Init success. Ensure the adapt process is correctly initiated for
devices with IP version MT6899 and above, resolving communication issues
between the host and device.

Signed-off-by: Alice Chao <alice.chao@mediatek.com>
Reviewed-by: Peter Wang <peter.wang@mediatek.com>
Signed-off-by: Peter Wang <peter.wang@mediatek.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/ufs/host/ufs-mediatek.c

index 0780dcc8505efc75d0e6816c9924e25f05707935..ea939e51eafb8257db02a1c1be9735ac77f3696d 100644 (file)
@@ -1551,8 +1551,19 @@ static int ufs_mtk_pre_link(struct ufs_hba *hba)
 
        return ret;
 }
+
 static void ufs_mtk_post_link(struct ufs_hba *hba)
 {
+       struct ufs_mtk_host *host = ufshcd_get_variant(hba);
+       u32 tmp;
+
+       /* fix device PA_INIT no adapt */
+       if (host->ip_ver >= IP_VER_MT6899) {
+               ufshcd_dme_get(hba, UIC_ARG_MIB(VS_DEBUGOMC), &tmp);
+               tmp |= 0x100;
+               ufshcd_dme_set(hba, UIC_ARG_MIB(VS_DEBUGOMC), tmp);
+       }
+
        /* enable unipro clock gating feature */
        ufs_mtk_cfg_unipro_cg(hba, true);
 }