Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8c2f6269 authored by Veerabhadrarao Badiganti's avatar Veerabhadrarao Badiganti
Browse files

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



When initializing DLL in HS400 enhanced strobe-mode, no need to wait
for core dll lock. So skip this wait-on-lock step for hs400es in dll
init sequence.

Change-Id: I8cda0244cb5a397824c613a3c667470cd23e7288
Signed-off-by: default avatarVeerabhadrarao Badiganti <vbadigan@codeaurora.org>
parent 07c1b262
Loading
Loading
Loading
Loading
+20 −13
Original line number Diff line number Diff line
@@ -801,6 +801,9 @@ static int msm_init_cm_dll(struct sdhci_host *host)
			| CORE_CK_OUT_EN), host->ioaddr +
			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 until DLL_LOCK bit of DLL_STATUS register becomes '1' */
		while (!(readl_relaxed(host->ioaddr +
@@ -815,6 +818,7 @@ static int msm_init_cm_dll(struct sdhci_host *host)
			/* wait for 1us before polling again */
			udelay(1);
		}
	}

out:
	/* Restore the correct PWRSAVE state */
@@ -3166,7 +3170,10 @@ static void sdhci_msm_set_clock(struct sdhci_host *host, unsigned int clock)
					| CORE_HC_SELECT_IN_EN), host->ioaddr +
					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
			 * CORE_DLL_STATUS to be set.  This should get set