[PATCH 3/4] mmc: mmc: enable ios.enhanced_strobe before mmc_set_timing

Ritesh Harjani
2016-12-20T05:53:50Z

Some controllers may need to configure few registers based on enhanced
strobe mode while configuring to HS400 timing, thus make
ios.enhanced_strobe to true before mmc_set_timing in mmc_select_hs400es.

Signed-off-by: Ritesh Harjani <riteshh@codeaurora.org>
---
drivers/mmc/core/mmc.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c
index eb69497..052368e 100644
--- a/drivers/mmc/core/mmc.c
+++ b/drivers/mmc/core/mmc.c
@@ -1327,12 +1327,18 @@ static int mmc_select_hs400es(struct mmc_card *card)
goto out_err;
}

+ /*
+ * Enable enhanced_strobe in ios, as some controllers
+ * may need to configure few registers based on enhanced
+ * strobe while changing HS400 timing.
+ */
+ host->ios.enhanced_strobe = true;
+
/* Set host controller to HS400 timing and frequency */
mmc_set_timing(host, MMC_TIMING_MMC_HS400);
mmc_set_bus_speed(card);

/* Controller enable enhanced strobe function */
- host->ios.enhanced_strobe = true;
if (host->ops->hs400_enhanced_strobe)
host->ops->hs400_enhanced_strobe(host, &host->ios);

--
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project.