Commit 9fc305ef authored by Stanley Chu's avatar Stanley Chu Committed by Martin K. Petersen

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.comReviewed-by: default avatarAvri Altman <avri.altman@wdc.com>
Reviewed-by: default avatarCan Guo <cang@codeaurora.org>
Signed-off-by: default avatarStanley Chu <stanley.chu@mediatek.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent b9dc8aca
...@@ -4238,7 +4238,7 @@ int ufshcd_hba_enable(struct ufs_hba *hba) ...@@ -4238,7 +4238,7 @@ int ufshcd_hba_enable(struct ufs_hba *hba)
ufshcd_delay_us(hba->hba_enable_delay_us, 100); ufshcd_delay_us(hba->hba_enable_delay_us, 100);
/* wait for the host controller to complete initialization */ /* wait for the host controller to complete initialization */
retry = 10; retry = 50;
while (ufshcd_is_hba_active(hba)) { while (ufshcd_is_hba_active(hba)) {
if (retry) { if (retry) {
retry--; retry--;
...@@ -4247,7 +4247,7 @@ int ufshcd_hba_enable(struct ufs_hba *hba) ...@@ -4247,7 +4247,7 @@ int ufshcd_hba_enable(struct ufs_hba *hba)
"Controller enable failed\n"); "Controller enable failed\n");
return -EIO; return -EIO;
} }
usleep_range(5000, 5100); usleep_range(1000, 1100);
} }
/* enable UIC related interrupts */ /* enable UIC related interrupts */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment