linux-mmc.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jaehoon Chung <jh80.chung@samsung.com>
To: Seungwon Jeon <tgih.jun@samsung.com>
Cc: 'Jaehoon Chung' <jh80.chung@samsung.com>,
	'linux-mmc' <linux-mmc@vger.kernel.org>,
	'Chris Ball' <cjb@laptop.org>,
	'Will Newton' <will.newton@imgtec.com>,
	'James Hogan' <James.Hogan@imgtec.com>,
	'Kyungmin Park' <kyungmin.park@samsung.com>
Subject: Re: [PATCH v2] mmc: dw-mmc: relocate the position called dw_mci_setup_bus()
Date: Tue, 30 Oct 2012 14:50:00 +0900	[thread overview]
Message-ID: <508F6A88.6090900@samsung.com> (raw)
In-Reply-To: <00ae01cdb65f$4f5fa8f0$ee1efad0$%jun@samsung.com>

Dear Seungwon,

On 10/30/2012 02:27 PM, Seungwon Jeon wrote:
> Monday, October 29, 2012, Jaehoon Chung <jh80.chung@samsung.com> wrote:
>> On 10/29/2012 06:08 PM, Seungwon Jeon wrote:
>>> Monday, October 29, 2012, Jaehoon Chung <jh80.chung@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.
Is it guaranteed 80-clocks by host-controller? So I understood something wrong.
My understanding is that "if flags is set, need to wait for 80-clock."
If host-controller can ensure the 80-clock, location is not important.

My point was just entire sequence with core.c and dw_mmc.c
Anyway, thank you for review.
If i miss other thing. let me know, plz.

Best Regards,
Jaehoon Chung

> 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.chung@samsung.com>
>>>> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
>>>> Acked-by: Seungwon Jeon <tgih.jun@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 majordomo@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 majordomo@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 majordomo@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 majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 


      reply	other threads:[~2012-10-30  5:50 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-29  5:19 [PATCH v2] mmc: dw-mmc: relocate the position called dw_mci_setup_bus() Jaehoon Chung
2012-10-29  9:08 ` Seungwon Jeon
2012-10-29  9:38   ` Jaehoon Chung
2012-10-30  5:27     ` Seungwon Jeon
2012-10-30  5:50       ` Jaehoon Chung [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=508F6A88.6090900@samsung.com \
    --to=jh80.chung@samsung.com \
    --cc=James.Hogan@imgtec.com \
    --cc=cjb@laptop.org \
    --cc=kyungmin.park@samsung.com \
    --cc=linux-mmc@vger.kernel.org \
    --cc=tgih.jun@samsung.com \
    --cc=will.newton@imgtec.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).