Monday, October 29, 2012, Jaehoon Chung <jh80.ch...@samsung.com> wrote:
> On 10/29/2012 06:08 PM, Seungwon Jeon wrote:
> > Monday, October 29, 2012, Jaehoon Chung <jh80.ch...@samsung.com>
> >> After power-on, must be ensured at least 74~80 clocks before sending any 
> >> first command.
> >> To ensure, it's good that dw_mci_setup_bus() is located at dw_mci_set_ios
> >> instead of __dw_mci_start_request()
> > After power-up, host driver sets 'DW_MMC_CARD_NEED_INIT' flag, right?
> > And then, this flag help to add SDMMC_CMD_INIT flag into CMD, when 
> > __dw_mci_start_request is
> executed.
> > 74~80 clocks is ensured with SDMMC_CMD_INIT regardless location change, 
> > isn't it?
> > I mentioned this part in previous mail. Could you check it?
> According to eMMC spec, after power-on, need to wait for 74-clock before 
> sending first command
> You can see code that after mmc_set_ios(), waiting for mmc_delay(10) into 
> mmc_power_up().
> (You can read the comment at mmc_power_up(), Maybe mmc_delay(10) didn't 
> ensure the 74-clock).
There is 'send_initialization' bit in CMD register.
If this bit set with CMD0, it will guarantee 80 clocks by host controller.
Currently this is applied in driver.
I agree change the location of dw_mci_setup_bus.
But commit message seem not proper for it.
Please let me know, if I miss something.

Thanks,
Seungwon Jeon
> 
> Best Regards,
> Jaehoon Chung
> >
> > Thanks,
> > Seungwon Jeon
> >
> >>
> >> Signed-off-by: Jaehoon Chung <jh80.ch...@samsung.com>
> >> Signed-off-by: Kyungmin Park <kyungmin.p...@samsung.com>
> >> Acked-by: Seungwon Jeon <tgih....@samsung.com>
> >> ------
> >> Changelog V2:
> >>    - Modified the commit-message.
> >> ---
> >>  drivers/mmc/host/dw_mmc.c |    6 +++---
> >>  1 files changed, 3 insertions(+), 3 deletions(-)
> >>
> >> diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
> >> index 4b2bedc..de79093 100644
> >> --- a/drivers/mmc/host/dw_mmc.c
> >> +++ b/drivers/mmc/host/dw_mmc.c
> >> @@ -682,9 +682,6 @@ static void __dw_mci_start_request(struct dw_mci *host,
> >>    if (host->pdata->select_slot)
> >>            host->pdata->select_slot(slot->id);
> >>
> >> -  /* Slot specific timing and width adjustment */
> >> -  dw_mci_setup_bus(slot);
> >> -
> >>    host->cur_slot = slot;
> >>    host->mrq = mrq;
> >>
> >> @@ -810,6 +807,9 @@ static void dw_mci_set_ios(struct mmc_host *mmc, 
> >> struct mmc_ios *ios)
> >>    if (slot->host->drv_data->set_ios)
> >>            slot->host->drv_data->set_ios(slot->host, ios);
> >>
> >> +  /* Slot specific timing and width adjustment */
> >> +  dw_mci_setup_bus(slot);
> >> +
> >>    switch (ios->power_mode) {
> >>    case MMC_POWER_UP:
> >>            set_bit(DW_MMC_CARD_NEED_INIT, &slot->flags);
> >> --
> >> 1.7.4.1
> >> --
> >> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
> >> the body of a message to majord...@vger.kernel.org
> >> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> >
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
> > the body of a message to majord...@vger.kernel.org
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> >
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to