2010-12-01 12:51:49

by Chuanxiao Dong

[permalink] [raw]
Subject: [PATCH v4 0/4]implement eMMC4.4 standard HW reset feature

Hi,
These are the version 4 patches to implement eMMC4.4 HW reset
feature. Host controller can use this feature by trigger RST_n signal.
To enable this, byte 162 of EXT_CSD register should be set.
HW reset is implemented in mmc core layer and sdhci host layer, and it
will be used after each reading/writing/erasing timeout error occures.

change-log:
This version change the way to detect timeout error conditions. Added a
new routine mmc_handle_timeout_error to do this instead to do this in
mmc_wait_for_req. Each timeout read/write/erase command can use this
routine to do HW reset.

patch1: enable HW reset capability if card support.

patch2: add two new callback to implement HW reset in mmc core layer. In
this patch, routine mmc_handle_timeout_error was added.

patch3: implement hardware_reset callback for sdhci host. A new callback
reset_emmc was defined which will be each sdhci host controller to
implement separately.

patch4: did a HW reset after each read/write/erase command.

Thanks
Chuanxiao


2010-12-06 16:03:45

by Chuanxiao Dong

[permalink] [raw]
Subject: RE: [PATCH v4 0/4]implement eMMC4.4 standard HW reset feature

Hello all,
How about these patches? It implemented HW reset feature. When card occurred a timeout error during reading/writing/erasing, these patches will allow driver to reset eMMC card by trigger a HW reset signal.
Does anyone have any comments about the implementation of these patches? Wolfram and Arnd already pointed out the unsuitable patch headers. Thanks! :)


> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of Chuanxiao Dong
> Sent: Wednesday, December 01, 2010 8:49 PM
> To: [email protected]
> Cc: [email protected]; [email protected]; [email protected];
> [email protected]; [email protected]
> Subject: [PATCH v4 0/4]implement eMMC4.4 standard HW reset feature
>
> Hi,
> These are the version 4 patches to implement eMMC4.4 HW reset
> feature. Host controller can use this feature by trigger RST_n signal.
> To enable this, byte 162 of EXT_CSD register should be set.
> HW reset is implemented in mmc core layer and sdhci host layer, and it
> will be used after each reading/writing/erasing timeout error occures.
>
> change-log:
> This version change the way to detect timeout error conditions. Added a
> new routine mmc_handle_timeout_error to do this instead to do this in
> mmc_wait_for_req. Each timeout read/write/erase command can use this
> routine to do HW reset.
>
> patch1: enable HW reset capability if card support.
>
> patch2: add two new callback to implement HW reset in mmc core layer. In
> this patch, routine mmc_handle_timeout_error was added.
>
> patch3: implement hardware_reset callback for sdhci host. A new callback
> reset_emmc was defined which will be each sdhci host controller to
> implement separately.
>
> patch4: did a HW reset after each read/write/erase command.
>
> Thanks
> Chuanxiao
> --
> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html

2010-12-07 01:34:28

by Kyungmin Park

[permalink] [raw]
Subject: Re: [PATCH v4 0/4]implement eMMC4.4 standard HW reset feature

On Tue, Dec 7, 2010 at 1:03 AM, Dong, Chuanxiao
<[email protected]> wrote:
> Hello all,
> How about these patches? It implemented HW reset feature. When card occurred a timeout error during reading/writing/erasing, these patches will allow driver to reset eMMC card by trigger a HW reset signal.
> Does anyone have any comments about the implementation of these patches? Wolfram and Arnd already pointed out the unsuitable patch headers. Thanks! :)

Hi,
I'm not yet find a reason to use this feature. Now it uses the samsung
and sandisk v4.41 but still no problem.
I wonder what's the purpose and effect if it uses or not?

Thank you,
Kyungmin Park

>
>
>> -----Original Message-----
>> From: [email protected]
>> [mailto:[email protected]] On Behalf Of Chuanxiao Dong
>> Sent: Wednesday, December 01, 2010 8:49 PM
>> To: [email protected]
>> Cc: [email protected]; [email protected]; [email protected];
>> [email protected]; [email protected]
>> Subject: [PATCH v4 0/4]implement eMMC4.4 standard HW reset feature
>>
>> Hi,
>> ? ? ? These are the version 4 patches to implement eMMC4.4 HW reset
>> ? ? ? feature. Host controller can use this feature by trigger RST_n signal.
>> ? ? ? To enable this, byte 162 of EXT_CSD register should be set.
>> ? ? ? HW reset is implemented in mmc core layer and sdhci host layer, and it
>> ? ? ? will be used after each reading/writing/erasing timeout error occures.
>>
>> ? ? ? change-log:
>> ? ? ? This version change the way to detect timeout error conditions. Added a
>> ? ? ? new routine mmc_handle_timeout_error to do this instead to do this in
>> ? ? ? mmc_wait_for_req. Each timeout read/write/erase command can use this
>> ? ? ? routine to do HW reset.
>>
>> ? ? ? patch1: enable HW reset capability if card support.
>>
>> ? ? ? patch2: add two new callback to implement HW reset in mmc core layer. In
>> ? ? ? this patch, routine mmc_handle_timeout_error was added.
>>
>> ? ? ? patch3: implement hardware_reset callback for sdhci host. A new callback
>> ? ? ? reset_emmc was defined which will be each sdhci host controller to
>> ? ? ? implement separately.
>>
>> ? ? ? patch4: did a HW reset after each read/write/erase command.
>>
>> Thanks
>> Chuanxiao
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
>> the body of a message to [email protected]
>> 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 [email protected]
> More majordomo info at ?http://vger.kernel.org/majordomo-info.html
>

2010-12-07 02:27:32

by Chuanxiao Dong

[permalink] [raw]
Subject: RE: [PATCH v4 0/4]implement eMMC4.4 standard HW reset feature

> -----Original Message-----
> From: [email protected] [mailto:[email protected]] On Behalf Of
> Kyungmin Park
> Sent: Tuesday, December 07, 2010 9:34 AM
> To: Dong, Chuanxiao
> Cc: [email protected]; [email protected]; [email protected];
> [email protected]; [email protected]; [email protected]; Mai,
> Leonard; Arnd Bergmann; Wolfram Sang
> Subject: Re: [PATCH v4 0/4]implement eMMC4.4 standard HW reset feature
>
> On Tue, Dec 7, 2010 at 1:03 AM, Dong, Chuanxiao
> <[email protected]> wrote:
> > Hello all,
> > How about these patches? It implemented HW reset feature. When card
> occurred a timeout error during reading/writing/erasing, these patches will allow
> driver to reset eMMC card by trigger a HW reset signal.
> > Does anyone have any comments about the implementation of these patches?
> Wolfram and Arnd already pointed out the unsuitable patch headers. Thanks! :)
>
> Hi,
> I'm not yet find a reason to use this feature. Now it uses the samsung
> and sandisk v4.41 but still no problem.
> I wonder what's the purpose and effect if it uses or not?

This feature will only be used when card occurs a timeout error during reading/writing/erasing.
When host send a command to card, for some reason, if card didn't have any response to host, then host controller will generate a timeout interrupt to indicate this command is timeout.
At this time, card maybe cannot response any command unless be reset. If driver did nothing at such scenario, RFC may be crashed. So I think when timeout error occurs, reset card is needed.
Host sends CMD0 also can reset the card, but card may be dead and cannot response any command. So this patch will pull up a GPIO line to trigger a reset signal and let eMMC card reset itself, not send a command to do that.
That is my understanding of this feature.

Thanks
Chuanxiao