diff options
author | Stanley Chu <stanley.chu@mediatek.com> | 2020-03-18 11:40:15 +0100 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2020-03-27 03:07:15 +0100 |
commit | 9fc305ef8eb583b3139643f90abbe38d1c2412ce (patch) | |
tree | c349d7cdc863b96a8e8c94ae3e8e7a90cbe8f2c0 | |
parent | scsi: ufs: allow custom delay prior to host enabling (diff) | |
download | linux-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.c | 4 |
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 */ |