scsi: ufs-mediatek: fix HOST_PA_TACTIVATE quirk for Samsung UFS Devices
authorStanley Chu <stanley.chu@mediatek.com>
Mon, 2 Mar 2020 13:53:46 +0000 (21:53 +0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 12 Mar 2020 03:07:57 +0000 (23:07 -0400)
Device quirk "UFS_DEVICE_QUIRK_HOST_PA_TACTIVATE" is enabled for all
Samsung devices by default currently.

However MediaTek UFS host requires different host PA_TACTIVATE
configuration. Hence clear this quirk first and then apply vendor-specific
value in vops callback.

Link: https://lore.kernel.org/r/20200302135346.16797-1-stanley.chu@mediatek.com
Reviewed-by: Avri Altman <avri.altman@wdc.com>
Signed-off-by: Stanley Chu <stanley.chu@mediatek.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/ufs/ufs-mediatek.c

index de65082..3b0e575 100644 (file)
@@ -533,8 +533,10 @@ static int ufs_mtk_apply_dev_quirks(struct ufs_hba *hba)
        struct ufs_dev_info *dev_info = &hba->dev_info;
        u16 mid = dev_info->wmanufacturerid;
 
-       if (mid == UFS_VENDOR_SAMSUNG)
+       if (mid == UFS_VENDOR_SAMSUNG) {
+               hba->dev_quirks &= ~UFS_DEVICE_QUIRK_HOST_PA_TACTIVATE;
                ufshcd_dme_set(hba, UIC_ARG_MIB(PA_TACTIVATE), 6);
+       }
 
        /*
         * Decide waiting time before gating reference clock and