Merge "mmc: host: msm: Don't check for core-dll lock during hs400es dll init"

This commit is contained in:
Linux Build Service Account 2018-06-15 10:28:12 -07:00 committed by Gerrit - the friendly Code Review server
commit 4fb9f9a7b7

View file

@ -802,6 +802,9 @@ 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);
/* For hs400es mode, no need to wait for core dll lock */
if (!(msm_host->enhanced_strobe &&
mmc_card_strobe(msm_host->mmc->card))) {
wait_cnt = 50; wait_cnt = 50;
/* Wait until DLL_LOCK bit of DLL_STATUS register becomes '1' */ /* Wait until DLL_LOCK bit of DLL_STATUS register becomes '1' */
while (!(readl_relaxed(host->ioaddr + while (!(readl_relaxed(host->ioaddr +
@ -816,6 +819,7 @@ static int msm_init_cm_dll(struct sdhci_host *host)
/* wait for 1us before polling again */ /* wait for 1us before polling again */
udelay(1); udelay(1);
} }
}
out: out:
/* Restore the correct PWRSAVE state */ /* Restore the correct PWRSAVE state */
@ -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