summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/ufs
diff options
context:
space:
mode:
authorStanley Chu <stanley.chu@mediatek.com>2020-03-18 18:40:15 +0800
committerMartin K. Petersen <martin.petersen@oracle.com>2020-03-26 22:07:15 -0400
commit9fc305ef8eb583b3139643f90abbe38d1c2412ce (patch)
treec349d7cdc863b96a8e8c94ae3e8e7a90cbe8f2c0 /drivers/scsi/ufs
parentb9dc8aca2899fb494d66b6c5f50c25563d1636a7 (diff)
downloadlinux-stable-9fc305ef8eb583b3139643f90abbe38d1c2412ce.tar.gz
linux-stable-9fc305ef8eb583b3139643f90abbe38d1c2412ce.tar.bz2
linux-stable-9fc305ef8eb583b3139643f90abbe38d1c2412ce.zip
scsi: ufs: make HCE polling more compact to improve initialization latency
Reduce the waiting period between each HCE (Host Controller Enable) polling from 5 ms to 1 ms. Also increase the maximum polling times to make "total polling time" roughly the same. This change could make HCE initialization faster to improve latency of ufshcd initialization, error recovery, and resume behaviors. Link: https://lore.kernel.org/r/20200318104016.28049-7-stanley.chu@mediatek.com Reviewed-by: Avri Altman <avri.altman@wdc.com> Reviewed-by: Can Guo <cang@codeaurora.org> Signed-off-by: Stanley Chu <stanley.chu@mediatek.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi/ufs')
-rw-r--r--drivers/scsi/ufs/ufshcd.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
index 01839eef08cb..153743eef082 100644
--- a/drivers/scsi/ufs/ufshcd.c
+++ b/drivers/scsi/ufs/ufshcd.c
@@ -4238,7 +4238,7 @@ int ufshcd_hba_enable(struct ufs_hba *hba)
ufshcd_delay_us(hba->hba_enable_delay_us, 100);
/* wait for the host controller to complete initialization */
- retry = 10;
+ retry = 50;
while (ufshcd_is_hba_active(hba)) {
if (retry) {
retry--;
@@ -4247,7 +4247,7 @@ int ufshcd_hba_enable(struct ufs_hba *hba)
"Controller enable failed\n");
return -EIO;
}
- usleep_range(5000, 5100);
+ usleep_range(1000, 1100);
}
/* enable UIC related interrupts */