scsi: ufs: ensure that host pa_tactivate is higher than device
PATCH 6/11 scsi: ufs: ensure that host pa_tactivate is higher than device
Some UFS devices require host PA_TACTIVATE to be higher than device PA_TACTIVATE otherwise it may get stuck during hibern8 sequence. This change allows this by using quirk.
Reviewed-by Venkat Gopalakrishnan <[email protected]>
Signed-off-by Subhash Jadavani <[email protected]>
--- drivers/scsi/ufs/ufs_quirks.h | 9 ++++++ drivers/scsi/ufs/ufshcd.c | 73 +++++++++++++++++++++++++++++++++++++++++++ drivers/scsi/ufs/unipro.h | 4 +++ 3 files changed, 86 insertions(+)
drivers/scsi/ufs/ufs_quirks.h +9 -0
@@ -128,6 +128,13 @@ struct ufs_dev_fix {*/ #define UFS_DEVICE_QUIRK_DELAY_BEFORE_LPM (1 << 6) +/* +* Some UFS devices require host PA_TACTIVATE to be lower than device +* PA_TACTIVATE, enabling this quirk ensure this. +*/ +#define UFS_DEVICE_QUIRK_HOST_PA_TACTIVATE (1 << 7) + +struct ufs_hba ;void ufs_advertise_fixup_device (struct ufs_hba *hba);
@@ -140,6 +147,8 @@ struct ufs_dev_fix { UFS_DEVICE_QUIRK_RECOVERY_FROM_DL_NAC_ERRORS),UFS_FIX (UFS_VENDOR_SAMSUNG ,UFS_ANY_MODEL ,UFS_DEVICE_NO_FASTAUTO ), +UFS_FIX (UFS_VENDOR_SAMSUNG ,UFS_ANY_MODEL , +UFS_DEVICE_QUIRK_HOST_PA_TACTIVATE ),UFS_FIX (UFS_VENDOR_TOSHIBA ,UFS_ANY_MODEL ,UFS_DEVICE_QUIRK_DELAY_BEFORE_LPM ), UFS_FIX(UFS_VENDOR_TOSHIBA, "THGLF2G9C8KBADG",
drivers/scsi/ufs/ufshcd.c +73 -0
85 lines not on this page · raw message
drivers/scsi/ufs/unipro.h +4 -0
@@ -123,6 +123,7 @@#define PA_MAXRXHSGEAR 0x1587#define PA_RXHSUNTERMCAP 0x15A5#define PA_RXLSTERMCAP 0x15A6 +#define PA_GRANULARITY 0x15AA#define PA_PACPREQTIMEOUT 0x1590#define PA_PACPREQEOBTIMEOUT 0x1591#define PA_HIBERN8TIME 0x15A7
@@ -158,6 +159,9 @@#define VS_DEBUGOMC 0xD09E#define VS_POWERSTATE 0xD083 +#define PA_GRANULARITY_MIN_VAL 1 +#define PA_GRANULARITY_MAX_VAL 6 +/* PHY Adapter Protocol Constants */ #define PA_MAXDATALANES 4
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project