summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorxiaoyao <xiaoyao@rock-chips.com>2016-09-22 18:01:56 +0800
committerHuang, Tao <huangtao@rock-chips.com>2016-09-23 17:11:07 +0800
commit3527e570909b3cc48e5b61a280bcbe05fb034128 (patch)
treee4c6a98e9a497802cd223b1f6e740171eb215940 /drivers
parent65b3ac3a8cc329f1e725f17ff9fe6103150b5e50 (diff)
HACK: mmc: core: fix switching clk 400K to 52/200M status error
Change-Id: I56285d306e8e3a52039a7612fae666ed40117a4a Signed-off-by: xiaoyao <xiaoyao@rock-chips.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/mmc/core/mmc.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c
index 3c2c026f66cd..9531caa125bb 100644
--- a/drivers/mmc/core/mmc.c
+++ b/drivers/mmc/core/mmc.c
@@ -1010,6 +1010,8 @@ static int mmc_select_hs(struct mmc_card *card)
true, false, true);
if (!err) {
mmc_set_timing(card->host, MMC_TIMING_MMC_HS);
+
+ mmc_set_clock(card->host, card->ext_csd.hs_max_dtr);
err = mmc_switch_status(card);
}
@@ -1378,6 +1380,7 @@ static int mmc_select_hs200(struct mmc_card *card)
old_timing = host->ios.timing;
mmc_set_timing(host, MMC_TIMING_MMC_HS200);
+ mmc_set_clock(host, card->ext_csd.hs200_max_dtr);
err = mmc_switch_status(card);
/*
* mmc_select_timing() assumes timing has not changed if