summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStanley Chu <stanley.chu@mediatek.com>2020-03-18 11:40:15 +0100
committerMartin K. Petersen <martin.petersen@oracle.com>2020-03-27 03:07:15 +0100
commit9fc305ef8eb583b3139643f90abbe38d1c2412ce (patch)
treec349d7cdc863b96a8e8c94ae3e8e7a90cbe8f2c0
parentscsi: ufs: allow custom delay prior to host enabling (diff)
downloadlinux-9fc305ef8eb583b3139643f90abbe38d1c2412ce.tar.xz
linux-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>
-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 */