mmc: sdhci: Fix setting clock for HS400

The platform specific set_clock must be called even if the clock
rates are same but the timing modes are different as there may be
some platform specific handling required for different timing modes.

Change-Id: Ia7102b29a8979ad88820c60ed5874d4b2dab71a0
Signed-off-by: Venkat Gopalakrishnan <venkatg@codeaurora.org>
This commit is contained in:
Venkat Gopalakrishnan 2015-03-02 13:22:40 -08:00 committed by Subhash Jadavani
parent fbd98e0c5c
commit b8be10334c

View file

@ -1720,7 +1720,8 @@ static void sdhci_do_set_ios(struct sdhci_host *host, struct mmc_ios *ios)
sdhci_enable_preset_value(host, false);
spin_lock_irqsave(&host->lock, flags);
if (ios->clock && ios->clock != host->clock) {
if (ios->clock &&
((ios->clock != host->clock) || (ios->timing != host->timing))) {
spin_unlock_irqrestore(&host->lock, flags);
host->ops->set_clock(host, ios->clock);
spin_lock_irqsave(&host->lock, flags);