Merge "mmc: host: msm: Don't check for core-dll lock during hs400es dll init"
This commit is contained in:
commit
4fb9f9a7b7
1 changed files with 20 additions and 13 deletions
|
@ -802,19 +802,23 @@ static int msm_init_cm_dll(struct sdhci_host *host)
|
||||||
| CORE_CK_OUT_EN), host->ioaddr +
|
| CORE_CK_OUT_EN), host->ioaddr +
|
||||||
msm_host_offset->CORE_DLL_CONFIG);
|
msm_host_offset->CORE_DLL_CONFIG);
|
||||||
|
|
||||||
wait_cnt = 50;
|
/* For hs400es mode, no need to wait for core dll lock */
|
||||||
/* Wait until DLL_LOCK bit of DLL_STATUS register becomes '1' */
|
if (!(msm_host->enhanced_strobe &&
|
||||||
while (!(readl_relaxed(host->ioaddr +
|
mmc_card_strobe(msm_host->mmc->card))) {
|
||||||
msm_host_offset->CORE_DLL_STATUS) & CORE_DLL_LOCK)) {
|
wait_cnt = 50;
|
||||||
/* max. wait for 50us sec for LOCK bit to be set */
|
/* Wait until DLL_LOCK bit of DLL_STATUS register becomes '1' */
|
||||||
if (--wait_cnt == 0) {
|
while (!(readl_relaxed(host->ioaddr +
|
||||||
pr_err("%s: %s: DLL failed to LOCK\n",
|
msm_host_offset->CORE_DLL_STATUS) & CORE_DLL_LOCK)) {
|
||||||
mmc_hostname(mmc), __func__);
|
/* max. wait for 50us sec for LOCK bit to be set */
|
||||||
rc = -ETIMEDOUT;
|
if (--wait_cnt == 0) {
|
||||||
goto out;
|
pr_err("%s: %s: DLL failed to LOCK\n",
|
||||||
|
mmc_hostname(mmc), __func__);
|
||||||
|
rc = -ETIMEDOUT;
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
/* wait for 1us before polling again */
|
||||||
|
udelay(1);
|
||||||
}
|
}
|
||||||
/* wait for 1us before polling again */
|
|
||||||
udelay(1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
out:
|
out:
|
||||||
|
@ -3167,7 +3171,10 @@ static void sdhci_msm_set_clock(struct sdhci_host *host, unsigned int clock)
|
||||||
| CORE_HC_SELECT_IN_EN), host->ioaddr +
|
| CORE_HC_SELECT_IN_EN), host->ioaddr +
|
||||||
msm_host_offset->CORE_VENDOR_SPEC);
|
msm_host_offset->CORE_VENDOR_SPEC);
|
||||||
}
|
}
|
||||||
if (!host->mmc->ios.old_rate && !msm_host->use_cdclp533) {
|
/* No need to check for DLL lock for HS400es mode */
|
||||||
|
if (!host->mmc->ios.old_rate && !msm_host->use_cdclp533 &&
|
||||||
|
!((card && mmc_card_strobe(card) &&
|
||||||
|
msm_host->enhanced_strobe))) {
|
||||||
/*
|
/*
|
||||||
* Poll on DLL_LOCK and DDR_DLL_LOCK bits in
|
* Poll on DLL_LOCK and DDR_DLL_LOCK bits in
|
||||||
* CORE_DLL_STATUS to be set. This should get set
|
* CORE_DLL_STATUS to be set. This should get set
|
||||||
|
|
Loading…
Add table
Reference in a new issue