[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <54178A0D.1050004@toshiba.co.jp>
Date: Tue, 16 Sep 2014 00:53:34 +0000
From: <hisanao.kinkawa@...hiba.co.jp>
To: <jean-michel.hautbois@...alys.com>, <jh80.chung@...sung.com>
CC: <linux-kernel@...r.kernel.org>, <linux-mmc@...r.kernel.org>,
<tgih.jun@...sung.com>, <ulf.hansson@...aro.org>,
<chris@...ntf.net>
Subject: Re: [PATCH] mmc: Add delay between CMD6 and CMD13 for Sandisk eMMC
cards
Hi
Do not hit the following bug?
Often, This bug fails setting of CMD6.
-------- Original Message --------
Subject: Re: [PATCH v2] mmc:sdhci: handle busy-end interrupt during command
Date: Tue, 2 Sep 2014 11:27:51 +0200
From: Ulf Hansson <ulf.hansson@...aro.org>
To: Chanho Min <chanho.min@....com>
On 30 August 2014 05:40, Chanho Min <chanho.min@....com> wrote:
> It is fully legal for a controller to start handling busy-end interrupt
> before it has signaled that the command has completed. So make sure
> we do things in the proper order, Or it results that command interrupt
> is ignored so it can cause unexpected operations. This is founded at some
> toshiba emmc with the bellow warning.
>
> "mmc0: Got command interrupt 0x00000001 even though
> no command operation was in progress."
>
> This issue has been also reported by Youssef TRIKI:
> It is not specific to Toshiba devices, and happens with eMMC devices
> as well as SD card which support Auto-CMD12 rather than CMD23.
>
> Also, similar patch is submitted by:
> Gwendal Grignou <gwendal@...omium.org>
>
> Changes since v1:
> Fixed conflict with the next of git.linaro.org/people/ulf.hansson/mmc.git
> and Tested if issue is fixed again.
>
> Signed-off-by: Hankyung Yu <hankyung.yu@....com>
> Signed-off-by: Chanho Min <chanho.min@....com>
> Tested-by: Youssef TRIKI <youssef.triki@...com>
Best Regards,
=======================================================
Hisanao Kinkawa [hisanao.kinkawa@...hiba.co.jp <mailto:hisanao.kinkawa@...hiba.co.jp>]
=======================================================
(2014/09/15 20:29), Jean-Michel Hautbois wrote:
> 2014-09-15 12:53 GMT+02:00 Jean-Michel Hautbois
> <jean-michel.hautbois@...alys.com>:
>> 2014-09-15 12:44 GMT+02:00 Jaehoon Chung <jh80.chung@...sung.com>:
>>> On 09/15/2014 07:08 PM, Jean-Michel Hautbois wrote:
>>>> Hi Jaehoon,
>>>>
>>>>> On 09/09/2014 09:26 PM, Jean-Michel Hautbois wrote:
>>>>>> Tested on a i.MX6 board, with Sandisk SDIN5D1-2G.
>>>>>> Without this patch, I/O errors occur.
>>>>>> This eMMC seems to have a different Manufacturer ID as it reads 0x45
>>>>>> and not 0x2 as specified in datasheet.
>>>>> I think this patch don't merge into mainline.
>>>>> This is not solution for problem.
>>>>> you mentioned the below comment, this is workaround.
>>>> Yes
>>>>
>>>>>> Signed-off-by: Jean-Michel Hautbois <jean-michel.hautbois@...alys.com>
>>>>>> ---
>>>>>> drivers/mmc/core/mmc_ops.c | 9 +++++++++
>>>>>> 1 file changed, 9 insertions(+)
>>>>>>
>>>>>> diff --git a/drivers/mmc/core/mmc_ops.c b/drivers/mmc/core/mmc_ops.c
>>>>>> index f51b5ba..91babaa 100644
>>>>>> --- a/drivers/mmc/core/mmc_ops.c
>>>>>> +++ b/drivers/mmc/core/mmc_ops.c
>>>>>> @@ -458,6 +458,15 @@ int __mmc_switch(struct mmc_card *card, u8 set, u8 index, u8 value,
>>>>>> if (!use_busy_signal)
>>>>>> return 0;
>>>>>>
>>>>>> + /* WORKAROUND: for Sandisk eMMC cards, it might need certain delay
>>>>>> + * before sending CMD13 after CMD6
>>>>>> + * On SDIN5D1-2G MANFID is 0x45 and not 0x2 as specified in datasheet
>>>>>> + */
>>>>>> + if (card->cid.manfid == CID_MANFID_SANDISK ||
>>>>>> + card->cid.manfid == 0x45) {
>>>>>> + msleep(1);
>>>>>> + }
>>>>> If it's a general problem of Sandisk SDIN5D1-2G,
>>>>> I think you need to verify this problem. And can you use the MMC_FIXUP() and QUIRK?
>>>> Well, this is difficult to verify, I know that on all my SDIN5D1-2G I
>>>> have this MANFID different from what is defined by CID_MANFID_SANDISK.
>>>> How should I use MMC_FIXUP ? Like this ?
>>> I think you need to explain why delay is need.
>>> i didn't have same card, but it might be your host controller or other problem.
>> Well, I don't know why it is needed, this is undocumented, nothing in
>> datasheet explains anything about this.
> It seems to be uSDHC / DDR mode related. I don't even know if this is
> limited to Sandisk !
> And I don't have another board with another manufacturer eMMC to test.
> Maybe some guys from Freescale could help with this ?
>
> Thanks,
> JM
> --
> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
> the body of a message to majordomo@...r.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> .
>
Powered by blists - more mailing lists