linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] mmc: sdhci-esdhc-imx: adding eMMC HS200 mode support
@ 2013-10-30 14:10 Dong Aisheng
  2013-10-30 14:10 ` [PATCH 1/2] mmc: sdhci: replace msleep with mdelay for tuning Dong Aisheng
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Dong Aisheng @ 2013-10-30 14:10 UTC (permalink / raw)
  To: linux-arm-kernel

The tuning in latest tree is broken.
This patch fixed it and add HS200 support for imx usdhc.

Patch 2 had been sent out in:
[PATCH 0/7] mmc: sdhci-esdhc-imx: fix acmd23 unwork and ddr not supported on sabresd issues
No changes since that.

Dong Aisheng (2):
  mmc: sdhci: replace msleep with mdelay for tuning
  mmc: sdhci-esdhc-imx: add eMMC HS200 mode support

 drivers/mmc/host/sdhci-esdhc-imx.c |    2 ++
 drivers/mmc/host/sdhci.c           |    2 +-
 2 files changed, 3 insertions(+), 1 deletions(-)

-- 
1.7.2.rc3

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 1/2] mmc: sdhci: replace msleep with mdelay for tuning
  2013-10-30 14:10 [PATCH 0/2] mmc: sdhci-esdhc-imx: adding eMMC HS200 mode support Dong Aisheng
@ 2013-10-30 14:10 ` Dong Aisheng
  2013-10-31  7:17   ` Shawn Guo
  2013-10-30 14:10 ` [PATCH 2/2] mmc: sdhci-esdhc-imx: add eMMC HS200 mode support Dong Aisheng
  2013-11-26 21:39 ` [PATCH 0/2] mmc: sdhci-esdhc-imx: adding " Chris Ball
  2 siblings, 1 reply; 7+ messages in thread
From: Dong Aisheng @ 2013-10-30 14:10 UTC (permalink / raw)
  To: linux-arm-kernel

The former patch 404aceb may break the tuning process of SD3.0/eMMC4.5 cards.
It changed the mdelay in tuning process to msleep,
However, because the more delay of msleep(1) than mdelay(1), it will
easily lead to a 150ms timeout as limited by the spec.

We oberved tuning failed due to timeout on a Toshiba UHS and eMMC4.5 card
after this change. Thus, for the time sensitive tuning process, change it
back to mdelay as before.

The breaking patch is:
404aceb mmc: sdhci: Get rid of mdelay()s where it is safe and makes sense

Signed-off-by: Dong Aisheng <b29396@freescale.com>
---
 drivers/mmc/host/sdhci.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
index 22eab3a..2ef5314 100644
--- a/drivers/mmc/host/sdhci.c
+++ b/drivers/mmc/host/sdhci.c
@@ -1981,7 +1981,7 @@ static int sdhci_execute_tuning(struct mmc_host *mmc, u32 opcode)
 
 		ctrl = sdhci_readw(host, SDHCI_HOST_CONTROL2);
 		tuning_loop_counter--;
-		msleep(1);
+		mdelay(1);
 	} while (ctrl & SDHCI_CTRL_EXEC_TUNING);
 
 	/*
-- 
1.7.2.rc3

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 2/2] mmc: sdhci-esdhc-imx: add eMMC HS200 mode support
  2013-10-30 14:10 [PATCH 0/2] mmc: sdhci-esdhc-imx: adding eMMC HS200 mode support Dong Aisheng
  2013-10-30 14:10 ` [PATCH 1/2] mmc: sdhci: replace msleep with mdelay for tuning Dong Aisheng
@ 2013-10-30 14:10 ` Dong Aisheng
  2013-10-31  7:18   ` Shawn Guo
  2013-11-26 21:39 ` [PATCH 0/2] mmc: sdhci-esdhc-imx: adding " Chris Ball
  2 siblings, 1 reply; 7+ messages in thread
From: Dong Aisheng @ 2013-10-30 14:10 UTC (permalink / raw)
  To: linux-arm-kernel

Add support for eMMC 4.5 cards to work on hs200 mode.

Signed-off-by: Dong Aisheng <b29396@freescale.com>
---
 drivers/mmc/host/sdhci-esdhc-imx.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c
index ec25421..5816585 100644
--- a/drivers/mmc/host/sdhci-esdhc-imx.c
+++ b/drivers/mmc/host/sdhci-esdhc-imx.c
@@ -825,6 +825,7 @@ static int esdhc_change_pinstate(struct sdhci_host *host,
 		pinctrl = imx_data->pins_100mhz;
 		break;
 	case MMC_TIMING_UHS_SDR104:
+	case MMC_TIMING_MMC_HS200:
 		pinctrl = imx_data->pins_200mhz;
 		break;
 	default:
@@ -852,6 +853,7 @@ static int esdhc_set_uhs_signaling(struct sdhci_host *host, unsigned int uhs)
 		imx_data->uhs_mode = SDHCI_CTRL_UHS_SDR50;
 		break;
 	case MMC_TIMING_UHS_SDR104:
+	case MMC_TIMING_MMC_HS200:
 		imx_data->uhs_mode = SDHCI_CTRL_UHS_SDR104;
 		break;
 	case MMC_TIMING_UHS_DDR50:
-- 
1.7.2.rc3

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 1/2] mmc: sdhci: replace msleep with mdelay for tuning
  2013-10-30 14:10 ` [PATCH 1/2] mmc: sdhci: replace msleep with mdelay for tuning Dong Aisheng
@ 2013-10-31  7:17   ` Shawn Guo
  0 siblings, 0 replies; 7+ messages in thread
From: Shawn Guo @ 2013-10-31  7:17 UTC (permalink / raw)
  To: linux-arm-kernel

Copy Jeremie for comment.

On Wed, Oct 30, 2013 at 10:10:41PM +0800, Dong Aisheng wrote:
> The former patch 404aceb may break the tuning process of SD3.0/eMMC4.5 cards.
> It changed the mdelay in tuning process to msleep,
> However, because the more delay of msleep(1) than mdelay(1), it will
> easily lead to a 150ms timeout as limited by the spec.
> 
> We oberved tuning failed due to timeout on a Toshiba UHS and eMMC4.5 card
> after this change. Thus, for the time sensitive tuning process, change it
> back to mdelay as before.
> 
> The breaking patch is:
> 404aceb mmc: sdhci: Get rid of mdelay()s where it is safe and makes sense

The ID of the commit in linux-next is 946498b

Shawn

> 
> Signed-off-by: Dong Aisheng <b29396@freescale.com>
> ---
>  drivers/mmc/host/sdhci.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
> index 22eab3a..2ef5314 100644
> --- a/drivers/mmc/host/sdhci.c
> +++ b/drivers/mmc/host/sdhci.c
> @@ -1981,7 +1981,7 @@ static int sdhci_execute_tuning(struct mmc_host *mmc, u32 opcode)
>  
>  		ctrl = sdhci_readw(host, SDHCI_HOST_CONTROL2);
>  		tuning_loop_counter--;
> -		msleep(1);
> +		mdelay(1);
>  	} while (ctrl & SDHCI_CTRL_EXEC_TUNING);
>  
>  	/*
> -- 
> 1.7.2.rc3
> 
> 

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 2/2] mmc: sdhci-esdhc-imx: add eMMC HS200 mode support
  2013-10-30 14:10 ` [PATCH 2/2] mmc: sdhci-esdhc-imx: add eMMC HS200 mode support Dong Aisheng
@ 2013-10-31  7:18   ` Shawn Guo
  2013-11-13 11:17     ` Dong Aisheng
  0 siblings, 1 reply; 7+ messages in thread
From: Shawn Guo @ 2013-10-31  7:18 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Oct 30, 2013 at 10:10:42PM +0800, Dong Aisheng wrote:
> Add support for eMMC 4.5 cards to work on hs200 mode.
> 
> Signed-off-by: Dong Aisheng <b29396@freescale.com>

Acked-by: Shawn Guo <shawn.guo@linaro.org>

> ---
>  drivers/mmc/host/sdhci-esdhc-imx.c |    2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c
> index ec25421..5816585 100644
> --- a/drivers/mmc/host/sdhci-esdhc-imx.c
> +++ b/drivers/mmc/host/sdhci-esdhc-imx.c
> @@ -825,6 +825,7 @@ static int esdhc_change_pinstate(struct sdhci_host *host,
>  		pinctrl = imx_data->pins_100mhz;
>  		break;
>  	case MMC_TIMING_UHS_SDR104:
> +	case MMC_TIMING_MMC_HS200:
>  		pinctrl = imx_data->pins_200mhz;
>  		break;
>  	default:
> @@ -852,6 +853,7 @@ static int esdhc_set_uhs_signaling(struct sdhci_host *host, unsigned int uhs)
>  		imx_data->uhs_mode = SDHCI_CTRL_UHS_SDR50;
>  		break;
>  	case MMC_TIMING_UHS_SDR104:
> +	case MMC_TIMING_MMC_HS200:
>  		imx_data->uhs_mode = SDHCI_CTRL_UHS_SDR104;
>  		break;
>  	case MMC_TIMING_UHS_DDR50:
> -- 
> 1.7.2.rc3
> 
> 

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 2/2] mmc: sdhci-esdhc-imx: add eMMC HS200 mode support
  2013-10-31  7:18   ` Shawn Guo
@ 2013-11-13 11:17     ` Dong Aisheng
  0 siblings, 0 replies; 7+ messages in thread
From: Dong Aisheng @ 2013-11-13 11:17 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Chris,

On Thu, Oct 31, 2013 at 3:18 PM, Shawn Guo <shawn.guo@linaro.org> wrote:
> On Wed, Oct 30, 2013 at 10:10:42PM +0800, Dong Aisheng wrote:
>> Add support for eMMC 4.5 cards to work on hs200 mode.
>>
>> Signed-off-by: Dong Aisheng <b29396@freescale.com>
>
> Acked-by: Shawn Guo <shawn.guo@linaro.org>
>

Would you help pick this series too?

Regards
Dong Aisheng

>> ---
>>  drivers/mmc/host/sdhci-esdhc-imx.c |    2 ++
>>  1 files changed, 2 insertions(+), 0 deletions(-)
>>
>> diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c
>> index ec25421..5816585 100644
>> --- a/drivers/mmc/host/sdhci-esdhc-imx.c
>> +++ b/drivers/mmc/host/sdhci-esdhc-imx.c
>> @@ -825,6 +825,7 @@ static int esdhc_change_pinstate(struct sdhci_host *host,
>>               pinctrl = imx_data->pins_100mhz;
>>               break;
>>       case MMC_TIMING_UHS_SDR104:
>> +     case MMC_TIMING_MMC_HS200:
>>               pinctrl = imx_data->pins_200mhz;
>>               break;
>>       default:
>> @@ -852,6 +853,7 @@ static int esdhc_set_uhs_signaling(struct sdhci_host *host, unsigned int uhs)
>>               imx_data->uhs_mode = SDHCI_CTRL_UHS_SDR50;
>>               break;
>>       case MMC_TIMING_UHS_SDR104:
>> +     case MMC_TIMING_MMC_HS200:
>>               imx_data->uhs_mode = SDHCI_CTRL_UHS_SDR104;
>>               break;
>>       case MMC_TIMING_UHS_DDR50:
>> --
>> 1.7.2.rc3
>>
>>
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 0/2] mmc: sdhci-esdhc-imx: adding eMMC HS200 mode support
  2013-10-30 14:10 [PATCH 0/2] mmc: sdhci-esdhc-imx: adding eMMC HS200 mode support Dong Aisheng
  2013-10-30 14:10 ` [PATCH 1/2] mmc: sdhci: replace msleep with mdelay for tuning Dong Aisheng
  2013-10-30 14:10 ` [PATCH 2/2] mmc: sdhci-esdhc-imx: add eMMC HS200 mode support Dong Aisheng
@ 2013-11-26 21:39 ` Chris Ball
  2 siblings, 0 replies; 7+ messages in thread
From: Chris Ball @ 2013-11-26 21:39 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Dong,

On Wed, Oct 30 2013, Dong Aisheng wrote:
> Dong Aisheng (2):
>   mmc: sdhci: replace msleep with mdelay for tuning
>   mmc: sdhci-esdhc-imx: add eMMC HS200 mode support
>
>  drivers/mmc/host/sdhci-esdhc-imx.c |    2 ++
>  drivers/mmc/host/sdhci.c           |    2 +-
>  2 files changed, 3 insertions(+), 1 deletions(-)

Patch 1 is no longer required, applied patch 2 to mmc-next for 3.14,
thanks.

- Chris.
-- 
Chris Ball   <cjb@laptop.org>   <http://printf.net/>

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2013-11-26 21:39 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-30 14:10 [PATCH 0/2] mmc: sdhci-esdhc-imx: adding eMMC HS200 mode support Dong Aisheng
2013-10-30 14:10 ` [PATCH 1/2] mmc: sdhci: replace msleep with mdelay for tuning Dong Aisheng
2013-10-31  7:17   ` Shawn Guo
2013-10-30 14:10 ` [PATCH 2/2] mmc: sdhci-esdhc-imx: add eMMC HS200 mode support Dong Aisheng
2013-10-31  7:18   ` Shawn Guo
2013-11-13 11:17     ` Dong Aisheng
2013-11-26 21:39 ` [PATCH 0/2] mmc: sdhci-esdhc-imx: adding " Chris Ball

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).