aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUtsavBalar1231 <utsavbalar1231@gmail.com>2020-12-05 13:22:06 +0530
committerGtrCraft <nickvanbokhorst@hotmail.com>2021-05-05 13:41:17 +0200
commit09e8947281aa608f5f8905112b955d413282f370 (patch)
treef48f340b8976e0b4ffff61c7042c42eb4efce1ae
parentb39a0ceb61dc80a49545416734ff3ec10c139f61 (diff)
scsi: ufs: add delay after reference clock ungating for Sandisk devicesr11.1
Change-Id: I3036351b04eaac145ed9e421370c6991319cb5a9 Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com> Signed-off-by: Forenche <prahul2003@gmail.com>
-rw-r--r--drivers/scsi/ufs/ufs-qcom.c4
-rw-r--r--drivers/scsi/ufs/ufs_quirks.h1
-rw-r--r--drivers/scsi/ufs/ufshcd.c2
3 files changed, 5 insertions, 2 deletions
diff --git a/drivers/scsi/ufs/ufs-qcom.c b/drivers/scsi/ufs/ufs-qcom.c
index 3b731b5e4c27..a01e6fab6201 100644
--- a/drivers/scsi/ufs/ufs-qcom.c
+++ b/drivers/scsi/ufs/ufs-qcom.c
@@ -1260,9 +1260,9 @@ static void ufs_qcom_dev_ref_clk_ctrl(struct ufs_qcom_host *host, bool enable)
if (enable) {
if (host->hba->dev_info.quirks &
UFS_DEVICE_QUIRK_WAIT_AFTER_REF_CLK_UNGATE)
- usleep_range(50, 60);
+ usleep_range(960, 970);
else
- udelay(1);
+ usleep_range(200, 210);
}
host->is_dev_ref_clk_enabled = enable;
diff --git a/drivers/scsi/ufs/ufs_quirks.h b/drivers/scsi/ufs/ufs_quirks.h
index 5dbdf858953b..d41d9c567810 100644
--- a/drivers/scsi/ufs/ufs_quirks.h
+++ b/drivers/scsi/ufs/ufs_quirks.h
@@ -25,6 +25,7 @@
#define UFS_VENDOR_SAMSUNG 0x1CE
#define UFS_VENDOR_SKHYNIX 0x1AD
#define UFS_VENDOR_WDC 0x145
+#define UFS_VENDOR_SANDISK 0x0145
/**
* ufs_dev_fix - ufs device quirk info
diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
index 6edc3e6284dc..99c41616e432 100644
--- a/drivers/scsi/ufs/ufshcd.c
+++ b/drivers/scsi/ufs/ufshcd.c
@@ -428,6 +428,8 @@ static struct ufs_dev_fix ufs_fixups[] = {
UFS_DEVICE_QUIRK_HOST_PA_SAVECONFIGTIME),
UFS_FIX(UFS_VENDOR_SKHYNIX, UFS_ANY_MODEL,
UFS_DEVICE_QUIRK_WAIT_AFTER_REF_CLK_UNGATE),
+ UFS_FIX(UFS_VENDOR_SANDISK, UFS_ANY_MODEL,
+ UFS_DEVICE_QUIRK_WAIT_AFTER_REF_CLK_UNGATE),
UFS_FIX(UFS_VENDOR_SKHYNIX, "hB8aL1",
UFS_DEVICE_QUIRK_HS_G1_TO_HS_G3_SWITCH),
UFS_FIX(UFS_VENDOR_SKHYNIX, "hC8aL1",