diff mbox

[v3,1/4] mmc: dw-mmc: relocate the position called dw_mci_setup_bus()

Message ID 509B6ED1.7030707@samsung.com (mailing list archive)
State New, archived
Headers show

Commit Message

Jaehoon Chung Nov. 8, 2012, 8:35 a.m. UTC
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: 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-v3:
	- Modified the commit-message
 drivers/mmc/host/dw_mmc.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)
---

Comments

Jaehoon Chung Nov. 22, 2012, 8:09 a.m. UTC | #1
Hi Mr, Seungwon.

Do you have any opinion about this patch and others?
If you have, let me know, plz.

Best Regards,
Jaehoon Chung

On 11/08/2012 05:35 PM, Jaehoon Chung wrote:
> 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: 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-v3:
> 	- 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 c0667c8..a1369aa 100644
> --- a/drivers/mmc/host/dw_mmc.c
> +++ b/drivers/mmc/host/dw_mmc.c
> @@ -683,9 +683,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;
>  
> @@ -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)
>  		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);
> 

--
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
Seungwon Jeon Nov. 27, 2012, 7:58 a.m. UTC | #2
On Thursday, November 08, 2012, Jaehoon Chung <jh80.chung@samsung.com> wrote:
> 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.
As we have discussed, the location of 'dw_mci_setup_bus' seems proper in 'dw_mci_set_ios'.
But commit message doesn't really hit me. Origin code can also ensure the same.
Mr. Newton, do you have any opinion?

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-v3:
> 	- 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 c0667c8..a1369aa 100644
> --- a/drivers/mmc/host/dw_mmc.c
> +++ b/drivers/mmc/host/dw_mmc.c
> @@ -683,9 +683,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;
> 
> @@ -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)
>  		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
Jaehoon Chung Nov. 27, 2012, 11:44 p.m. UTC | #3
Hi,

On 11/27/2012 04:58 PM, Seungwon Jeon wrote:
> On Thursday, November 08, 2012, Jaehoon Chung <jh80.chung@samsung.com> wrote:
>> 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.
> As we have discussed, the location of 'dw_mci_setup_bus' seems proper in 'dw_mci_set_ios'.
> But commit message doesn't really hit me. Origin code can also ensure the same.
> Mr. Newton, do you have any opinion?
Origin code also ensure it. But it need to setup into set_ios.
Because Operation related with clock is used with mmc_set_ios().
And I didn't know why called the dw_mci_setup_bus() at every request.

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-v3:
>> 	- 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 c0667c8..a1369aa 100644
>> --- a/drivers/mmc/host/dw_mmc.c
>> +++ b/drivers/mmc/host/dw_mmc.c
>> @@ -683,9 +683,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;
>>
>> @@ -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)
>>  		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
Will Newton Dec. 3, 2012, 10:33 a.m. UTC | #4
On Tue, Nov 27, 2012 at 11:44 PM, Jaehoon Chung <jh80.chung@samsung.com> wrote:
> Hi,
>
> On 11/27/2012 04:58 PM, Seungwon Jeon wrote:
>> On Thursday, November 08, 2012, Jaehoon Chung <jh80.chung@samsung.com> wrote:
>>> 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.
>> As we have discussed, the location of 'dw_mci_setup_bus' seems proper in 'dw_mci_set_ios'.
>> But commit message doesn't really hit me. Origin code can also ensure the same.
>> Mr. Newton, do you have any opinion?
> Origin code also ensure it. But it need to setup into set_ios.
> Because Operation related with clock is used with mmc_set_ios().
> And I didn't know why called the dw_mci_setup_bus() at every request.
>
> Best Regards,
> Jaehoon Chung

This looks ok to me (sorry for the delay, I've been away).

Acked-by: Will Newton <will.newton@imgtec.com>
--
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
Chris Ball Dec. 3, 2012, 7:44 p.m. UTC | #5
Hi,

On Thu, Nov 08 2012, Jaehoon Chung wrote:
> 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: Jaehoon Chung <jh80.chung@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> Acked-by: Seungwon Jeon <tgih.jun@samsung.com>

Thanks, pushed to mmc-next for 3.8 with Will's ACK.

- Chris.
Jaehoon Chung Dec. 4, 2012, 4:03 a.m. UTC | #6
Hi Chris,

This patch has dependency with Abhilash's patch(mmc:dw-mmc: Add sdio power binding)
That patch is modified the dw_mci_setup_bus's argument.
So it is produced the compiler error.

Do you modify the dw_mci_bus_setup(slot, false) instead of dw_mci_bus_setup(slot)?
Otherwise, i will resend the patch after modify.

Best Regards,
Jaehoon Chung


On 12/04/2012 04:44 AM, Chris Ball wrote:
> Hi,
> 
> On Thu, Nov 08 2012, Jaehoon Chung wrote:
>> 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: Jaehoon Chung <jh80.chung@samsung.com>
>> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
>> Acked-by: Seungwon Jeon <tgih.jun@samsung.com>
> 
> Thanks, pushed to mmc-next for 3.8 with Will's ACK.
> 
> - Chris.
> 

--
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
diff mbox

Patch

diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
index c0667c8..a1369aa 100644
--- a/drivers/mmc/host/dw_mmc.c
+++ b/drivers/mmc/host/dw_mmc.c
@@ -683,9 +683,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;
 
@@ -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)
 		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);