Commit bf7cb224 authored by Jaehoon Chung's avatar Jaehoon Chung Committed by Chris Ball

mmc: dw_mmc: relocate where dw_mci_setup_bus() is called from

To ensure the stable clock need to enable before set the
DW_MMC_CARD_NEED_INIT flag.  If set DW_MMC_CARD_NEED_INIT flag,
wait for 80-clock before first command after power-up.
Signed-off-by: default avatarJaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: default avatarKyungmin Park <kyungmin.park@samsung.com>
Acked-by: default avatarSeungwon Jeon <tgih.jun@samsung.com>
Acked-by: default avatarWill Newton <will.newton@imgtec.com>
Signed-off-by: default avatarChris Ball <cjb@laptop.org>
parent ccb52a00
...@@ -683,9 +683,6 @@ static void __dw_mci_start_request(struct dw_mci *host, ...@@ -683,9 +683,6 @@ static void __dw_mci_start_request(struct dw_mci *host,
if (host->pdata->select_slot) if (host->pdata->select_slot)
host->pdata->select_slot(slot->id); host->pdata->select_slot(slot->id);
/* Slot specific timing and width adjustment */
dw_mci_setup_bus(slot, false);
host->cur_slot = slot; host->cur_slot = slot;
host->mrq = mrq; host->mrq = mrq;
...@@ -812,6 +809,9 @@ static void dw_mci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) ...@@ -812,6 +809,9 @@ static void dw_mci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
if (drv_data && drv_data->set_ios) if (drv_data && drv_data->set_ios)
drv_data->set_ios(slot->host, ios); drv_data->set_ios(slot->host, ios);
/* Slot specific timing and width adjustment */
dw_mci_setup_bus(slot, false);
switch (ios->power_mode) { switch (ios->power_mode) {
case MMC_POWER_UP: case MMC_POWER_UP:
set_bit(DW_MMC_CARD_NEED_INIT, &slot->flags); set_bit(DW_MMC_CARD_NEED_INIT, &slot->flags);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment