diff options
author | Can Guo <cang@codeaurora.org> | 2020-02-23 20:09:22 -0800 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2020-02-28 20:40:01 -0500 |
commit | 27ff2c60e095fb541251d0f90f9ea41f2b5f0f4f (patch) | |
tree | 5b5a99eb4c633d0eee2cbe017eba30c7918e87e2 /drivers/scsi/ufs | |
parent | e91ed9e0e4fa4ff913edb6e29c53f6a365e95609 (diff) | |
download | lwn-27ff2c60e095fb541251d0f90f9ea41f2b5f0f4f.tar.gz lwn-27ff2c60e095fb541251d0f90f9ea41f2b5f0f4f.zip |
scsi: ufs-qcom: Apply QUIRK_HOST_TACTIVATE for WDC UFS devices
Western Digital UFS devices require host's PA_TACTIVATE to be lower than
device's PA_TACTIVATE, otherwise it may get stuck during hibern8 sequence.
Link: https://lore.kernel.org/r/1582517363-11536-3-git-send-email-cang@codeaurora.org
Reviewed-by: Asutosh Das <asutoshd@codeaurora.org>
Acked-by: Avri Altman <avri.altman@wdc.com>
Signed-off-by: Can Guo <cang@codeaurora.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi/ufs')
-rw-r--r-- | drivers/scsi/ufs/ufs-qcom.c | 3 | ||||
-rw-r--r-- | drivers/scsi/ufs/ufs_quirks.h | 1 |
2 files changed, 4 insertions, 0 deletions
diff --git a/drivers/scsi/ufs/ufs-qcom.c b/drivers/scsi/ufs/ufs-qcom.c index 8339050f0af2..6115ac62d46c 100644 --- a/drivers/scsi/ufs/ufs-qcom.c +++ b/drivers/scsi/ufs/ufs-qcom.c @@ -1012,6 +1012,9 @@ static int ufs_qcom_apply_dev_quirks(struct ufs_hba *hba) if (hba->dev_quirks & UFS_DEVICE_QUIRK_HOST_PA_SAVECONFIGTIME) err = ufs_qcom_quirk_host_pa_saveconfigtime(hba); + if (hba->dev_info.wmanufacturerid == UFS_VENDOR_WDC) + hba->dev_quirks |= UFS_DEVICE_QUIRK_HOST_PA_TACTIVATE; + return err; } diff --git a/drivers/scsi/ufs/ufs_quirks.h b/drivers/scsi/ufs/ufs_quirks.h index d0ab147f98d3..df7a1e6805a3 100644 --- a/drivers/scsi/ufs/ufs_quirks.h +++ b/drivers/scsi/ufs/ufs_quirks.h @@ -15,6 +15,7 @@ #define UFS_VENDOR_TOSHIBA 0x198 #define UFS_VENDOR_SAMSUNG 0x1CE #define UFS_VENDOR_SKHYNIX 0x1AD +#define UFS_VENDOR_WDC 0x145 /** * ufs_dev_fix - ufs device quirk info |