diff mbox

[1/1] mmc: sdhci-esdhc-imx: fix mmc ddr mode regression issue

Message ID 1399618395-359-1-git-send-email-b29396@freescale.com (mailing list archive)
State New, archived
Headers show

Commit Message

Aisheng Dong May 9, 2014, 6:53 a.m. UTC
The regression is caused by the following commit ...

commit 79f7ae7c45a6ccf04e2908337461dee615f6afb0
Author: Seungwon Jeon <tgih.jun@samsung.com>
Date:   Fri Mar 14 21:11:56 2014 +0900

mmc: clarify DDR timing mode between SD-UHS and eMMC

This change distinguishes DDR timing mode of current
mixed usage to clarify device type.

Signed-off-by: Seungwon Jeon <tgih.jun@samsung.com>
Acked-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Chris Ball <chris@printf.net>

... and the line below.

@@ -1264,7 +1264,7 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr,
goto err;
	}
		mmc_card_set_ddr_mode(card);
-		mmc_set_timing(card->host, MMC_TIMING_UHS_DDR50);
+		mmc_set_timing(card->host, MMC_TIMING_MMC_DDR52);
		mmc_set_bus_width(card->host, bus_width);
	}
}

It's caused by the platform driver was still using MMC_TIMING_UHS_DDR50 for MMC DDR
mode which needs update too.

Reported-by: Fabio Estevam <fabio.estevam@freescale.com>
Reported-by: Shawn Guo <shawn.guo@freescale.com>
Signed-off-by: Dong Aisheng <b29396@freescale.com>
---
 drivers/mmc/host/sdhci-esdhc-imx.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

Comments

Aisheng Dong May 9, 2014, 7:30 a.m. UTC | #1
On Fri, May 09, 2014 at 10:42:42AM +0200, Ulf Hansson wrote:
> On 9 May 2014 08:53, Dong Aisheng <b29396@freescale.com> wrote:
> > The regression is caused by the following commit ...
> >
> > commit 79f7ae7c45a6ccf04e2908337461dee615f6afb0
> > Author: Seungwon Jeon <tgih.jun@samsung.com>
> > Date:   Fri Mar 14 21:11:56 2014 +0900
> >
> > mmc: clarify DDR timing mode between SD-UHS and eMMC
> >
> > This change distinguishes DDR timing mode of current
> > mixed usage to clarify device type.
> >
> > Signed-off-by: Seungwon Jeon <tgih.jun@samsung.com>
> > Acked-by: Jaehoon Chung <jh80.chung@samsung.com>
> > Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
> > Signed-off-by: Chris Ball <chris@printf.net>
> >
> > ... and the line below.
> >
> > @@ -1264,7 +1264,7 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr,
> > goto err;
> >         }
> >                 mmc_card_set_ddr_mode(card);
> > -               mmc_set_timing(card->host, MMC_TIMING_UHS_DDR50);
> > +               mmc_set_timing(card->host, MMC_TIMING_MMC_DDR52);
> >                 mmc_set_bus_width(card->host, bus_width);
> >         }
> > }
> >
> > It's caused by the platform driver was still using MMC_TIMING_UHS_DDR50 for MMC DDR
> > mode which needs update too.
> >
> > Reported-by: Fabio Estevam <fabio.estevam@freescale.com>
> > Reported-by: Shawn Guo <shawn.guo@freescale.com>
> > Signed-off-by: Dong Aisheng <b29396@freescale.com>
> 
> Hi Dong,
> 
> Thanks for the fix. I will include this in the next PR I send to Chris.
> 

Hi Ulf,

Okay, thanks a lot.

Regards
Dong Aisheng

> Kind regards
> Ulf Hansson
--
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
Ulf Hansson May 9, 2014, 8:42 a.m. UTC | #2
On 9 May 2014 08:53, Dong Aisheng <b29396@freescale.com> wrote:
> The regression is caused by the following commit ...
>
> commit 79f7ae7c45a6ccf04e2908337461dee615f6afb0
> Author: Seungwon Jeon <tgih.jun@samsung.com>
> Date:   Fri Mar 14 21:11:56 2014 +0900
>
> mmc: clarify DDR timing mode between SD-UHS and eMMC
>
> This change distinguishes DDR timing mode of current
> mixed usage to clarify device type.
>
> Signed-off-by: Seungwon Jeon <tgih.jun@samsung.com>
> Acked-by: Jaehoon Chung <jh80.chung@samsung.com>
> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
> Signed-off-by: Chris Ball <chris@printf.net>
>
> ... and the line below.
>
> @@ -1264,7 +1264,7 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr,
> goto err;
>         }
>                 mmc_card_set_ddr_mode(card);
> -               mmc_set_timing(card->host, MMC_TIMING_UHS_DDR50);
> +               mmc_set_timing(card->host, MMC_TIMING_MMC_DDR52);
>                 mmc_set_bus_width(card->host, bus_width);
>         }
> }
>
> It's caused by the platform driver was still using MMC_TIMING_UHS_DDR50 for MMC DDR
> mode which needs update too.
>
> Reported-by: Fabio Estevam <fabio.estevam@freescale.com>
> Reported-by: Shawn Guo <shawn.guo@freescale.com>
> Signed-off-by: Dong Aisheng <b29396@freescale.com>

Hi Dong,

Thanks for the fix. I will include this in the next PR I send to Chris.

Kind regards
Ulf Hansson
--
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
Fabio Estevam May 12, 2014, 12:14 p.m. UTC | #3
On Fri, May 9, 2014 at 3:53 AM, Dong Aisheng <b29396@freescale.com> wrote:
> The regression is caused by the following commit ...
>
> commit 79f7ae7c45a6ccf04e2908337461dee615f6afb0
> Author: Seungwon Jeon <tgih.jun@samsung.com>
> Date:   Fri Mar 14 21:11:56 2014 +0900
>
> mmc: clarify DDR timing mode between SD-UHS and eMMC
>
> This change distinguishes DDR timing mode of current
> mixed usage to clarify device type.
>
> Signed-off-by: Seungwon Jeon <tgih.jun@samsung.com>
> Acked-by: Jaehoon Chung <jh80.chung@samsung.com>
> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
> Signed-off-by: Chris Ball <chris@printf.net>
>
> ... and the line below.
>
> @@ -1264,7 +1264,7 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr,
> goto err;
>         }
>                 mmc_card_set_ddr_mode(card);
> -               mmc_set_timing(card->host, MMC_TIMING_UHS_DDR50);
> +               mmc_set_timing(card->host, MMC_TIMING_MMC_DDR52);
>                 mmc_set_bus_width(card->host, bus_width);
>         }
> }
>
> It's caused by the platform driver was still using MMC_TIMING_UHS_DDR50 for MMC DDR
> mode which needs update too.
>
> Reported-by: Fabio Estevam <fabio.estevam@freescale.com>
> Reported-by: Shawn Guo <shawn.guo@freescale.com>
> Signed-off-by: Dong Aisheng <b29396@freescale.com>

Tested-by: Fabio Estevam <fabio.estevam@freescale.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
Fabio Estevam May 27, 2014, 2:05 p.m. UTC | #4
Hi Ulf,

On Fri, May 9, 2014 at 5:42 AM, Ulf Hansson <ulf.hansson@linaro.org> wrote:
> On 9 May 2014 08:53, Dong Aisheng <b29396@freescale.com> wrote:
>> The regression is caused by the following commit ...
>>
>> commit 79f7ae7c45a6ccf04e2908337461dee615f6afb0
>> Author: Seungwon Jeon <tgih.jun@samsung.com>
>> Date:   Fri Mar 14 21:11:56 2014 +0900
>>
>> mmc: clarify DDR timing mode between SD-UHS and eMMC
>>
>> This change distinguishes DDR timing mode of current
>> mixed usage to clarify device type.
>>
>> Signed-off-by: Seungwon Jeon <tgih.jun@samsung.com>
>> Acked-by: Jaehoon Chung <jh80.chung@samsung.com>
>> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
>> Signed-off-by: Chris Ball <chris@printf.net>
>>
>> ... and the line below.
>>
>> @@ -1264,7 +1264,7 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr,
>> goto err;
>>         }
>>                 mmc_card_set_ddr_mode(card);
>> -               mmc_set_timing(card->host, MMC_TIMING_UHS_DDR50);
>> +               mmc_set_timing(card->host, MMC_TIMING_MMC_DDR52);
>>                 mmc_set_bus_width(card->host, bus_width);
>>         }
>> }
>>
>> It's caused by the platform driver was still using MMC_TIMING_UHS_DDR50 for MMC DDR
>> mode which needs update too.
>>
>> Reported-by: Fabio Estevam <fabio.estevam@freescale.com>
>> Reported-by: Shawn Guo <shawn.guo@freescale.com>
>> Signed-off-by: Dong Aisheng <b29396@freescale.com>
>
> Hi Dong,
>
> Thanks for the fix. I will include this in the next PR I send to Chris.

It seems this one is still missing in linux-next.
--
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
Ulf Hansson May 27, 2014, 2:27 p.m. UTC | #5
On 27 May 2014 16:05, Fabio Estevam <festevam@gmail.com> wrote:
> Hi Ulf,
>
> On Fri, May 9, 2014 at 5:42 AM, Ulf Hansson <ulf.hansson@linaro.org> wrote:
>> On 9 May 2014 08:53, Dong Aisheng <b29396@freescale.com> wrote:
>>> The regression is caused by the following commit ...
>>>
>>> commit 79f7ae7c45a6ccf04e2908337461dee615f6afb0
>>> Author: Seungwon Jeon <tgih.jun@samsung.com>
>>> Date:   Fri Mar 14 21:11:56 2014 +0900
>>>
>>> mmc: clarify DDR timing mode between SD-UHS and eMMC
>>>
>>> This change distinguishes DDR timing mode of current
>>> mixed usage to clarify device type.
>>>
>>> Signed-off-by: Seungwon Jeon <tgih.jun@samsung.com>
>>> Acked-by: Jaehoon Chung <jh80.chung@samsung.com>
>>> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
>>> Signed-off-by: Chris Ball <chris@printf.net>
>>>
>>> ... and the line below.
>>>
>>> @@ -1264,7 +1264,7 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr,
>>> goto err;
>>>         }
>>>                 mmc_card_set_ddr_mode(card);
>>> -               mmc_set_timing(card->host, MMC_TIMING_UHS_DDR50);
>>> +               mmc_set_timing(card->host, MMC_TIMING_MMC_DDR52);
>>>                 mmc_set_bus_width(card->host, bus_width);
>>>         }
>>> }
>>>
>>> It's caused by the platform driver was still using MMC_TIMING_UHS_DDR50 for MMC DDR
>>> mode which needs update too.
>>>
>>> Reported-by: Fabio Estevam <fabio.estevam@freescale.com>
>>> Reported-by: Shawn Guo <shawn.guo@freescale.com>
>>> Signed-off-by: Dong Aisheng <b29396@freescale.com>
>>
>> Hi Dong,
>>
>> Thanks for the fix. I will include this in the next PR I send to Chris.
>
> It seems this one is still missing in linux-next.

The patch is applied to Chris' mmc tree. Currently, Stehpen can't
merge the latest version of Chris' tree since we have mange to break
it. :-)

I hope Chris will merge the following patch to his tree the next few
days, that will solve the problem.
[PATCH] mmc: sdhci-s3c: use mmc_of_parse and remove the card_tasklet

Kind regards
Ulf Hansson
--
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/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c
index b841bb7..16e4219 100644
--- a/drivers/mmc/host/sdhci-esdhc-imx.c
+++ b/drivers/mmc/host/sdhci-esdhc-imx.c
@@ -858,6 +858,7 @@  static int esdhc_set_uhs_signaling(struct sdhci_host *host, unsigned int uhs)
 		imx_data->uhs_mode = SDHCI_CTRL_UHS_SDR104;
 		break;
 	case MMC_TIMING_UHS_DDR50:
+	case MMC_TIMING_MMC_DDR52:
 		imx_data->uhs_mode = SDHCI_CTRL_UHS_DDR50;
 		writel(readl(host->ioaddr + ESDHC_MIX_CTRL) |
 				ESDHC_MIX_CTRL_DDREN,