summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStanley Chu <stanley.chu@mediatek.com>2019-05-21 14:44:53 +0800
committerMartin K. Petersen <martin.petersen@oracle.com>2019-06-18 19:46:23 -0400
commitf571b377ded7466e175e73c116df9ae09527dcb0 (patch)
tree46d1d6a35877a12f536d43b96245829871b48548
parentee5f1042b20e1ffbc5c7eb0e0883fdbc05cec85f (diff)
downloadlinux-f571b377ded7466e175e73c116df9ae09527dcb0.tar.bz2
scsi: ufs: Do not overwrite Auto-Hibernate timer
Some vendor-specific initialization flow may set its own auto-hibernate timer. In this case, do not overwrite timer value as "default value" in ufshcd_init(). Signed-off-by: Stanley Chu <stanley.chu@mediatek.com> Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com> Reviewed-by: Avri Altman <Avri.Altman@wdc.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
-rw-r--r--drivers/scsi/ufs/ufshcd.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
index 0cf698d05426..7cd757558203 100644
--- a/drivers/scsi/ufs/ufshcd.c
+++ b/drivers/scsi/ufs/ufshcd.c
@@ -8312,7 +8312,7 @@ int ufshcd_init(struct ufs_hba *hba, void __iomem *mmio_base, unsigned int irq)
UIC_LINK_HIBERN8_STATE);
/* Set the default auto-hiberate idle timer value to 150 ms */
- if (ufshcd_is_auto_hibern8_supported(hba)) {
+ if (ufshcd_is_auto_hibern8_supported(hba) && !hba->ahit) {
hba->ahit = FIELD_PREP(UFSHCI_AHIBERN8_TIMER_MASK, 150) |
FIELD_PREP(UFSHCI_AHIBERN8_SCALE_MASK, 3);
}