Hi Jaeohoon,
Thanks for quick review.
>------- Original Message -------
>Sender : Jaehoon Chung<[email protected]> S4/Engineer/System S/W
>Lab./Samsung Electronics
>Date : Oct 07, 2013 17:36 (GMT+09:00)
>Title : Re: [PATCH] mmc: dw_mmc: Add hardware lock error (HLE) to the CMD
>error flag
>Hi, Alim.
>On 10/07/2013 05:21 PM, ALIM AKHTAR wrote:
>>
>>
>>> ------- Original Message -------
>>> Sender : Jaehoon Chung S4/Engineer/System S/W Lab./Samsung Electronics
>>> Date : Oct 07, 2013 13:34 (GMT+09:00)
>>> Title : Re: [PATCH] mmc: dw_mmc: Add hardware lock error (HLE) to the CMD
>>> error flag
>>
>>> On 10/07/2013 01:22 PM, ALIM AKHTAR wrote:
>>>> Hi Jaehoon,
>>>>
>>>>> ------- Original Message -------
>>>>> Sender : Jaehoon Chung S4/Engineer/System S/W Lab./Samsung Electronics
>>>>> Date : Oct 06, 2013 17:28 (GMT+09:00)
>>>> Title : Re: [PATCH] mmc: dw_mmc: Add hardware lock error (HLE) to the CMD
>>>> error flag
>>>
>>>> Hi Alim,
>>>
>>>> On 10/03/2013 06:18 PM, alim akhtar wrote:
>>>>> From: Alim Akhtar
>>>>>
>>>>> Hardware locked error set when the dw_mmc controller cannot load a
>>>>> command issued by software. When software sets the start_cmd bit in the
>>>>> CMD register, the controller tries to load the command. If the command
>>>>> buffer is already filled with a command, this error is raised. Currently
>>>>> driver does not handle HLE interrupt, which results in a system hang.
>>>> When SDMMC_INT_HLE is set into CMD_ERROR_FLAGS,.then could driver handle
>>>> the HLE interrupt?
>>> Yes, this will be handled as a part of DW_MCI_CMD_ERROR_FLAGS error
>>> handling.
>>> Could some command or data be lost?
>> No, Data and command will not be lost as they are not send out.
>Maybe it needs to discuss how recovery the command/data, when HLE interrupt is
>occured.
>I want to know, do you have the recovery method when HLE interrupt is occured?
>
>As you mentioned, this patch controlled the HLE error and can't send the any
>command/data.
>Patch like this had already posted at mailing list.
Can you point to the link?
>But we also need to control after occurred the HLE.
Well, dw_mmc controller document just say "The software then has to reload the
command" to recover from HLE.
>In SD-card's case, card can be inserted/removed. but in case of eMMC, can't it.
>It should be maintained the hardware lock status.
HLE is independent of emmc/sd slot and handling should be the same.
Insert/removal is one way to simulate HLE, this is how I found this.
Are you suggesting to check for INT_STATUE for emmc and handle it in case of
HLE?
>>Best Regards,
>>Jaehoon Chung
>>>>
>>>>> Best Regards,
>>>>> Jaehoon Chung
>>>>>
>>>>> HLE can be simulated by quickly inserting and removing sd card in card
>>>>> slot (30 ~ 40 times in say 20 secs)
>>>>>
>>>>> Reviewed-by: Doug Anderson
>>>>> Signed-off-by: Alim Akhtar
>>>>> ---
>>>>> drivers/mmc/host/dw_mmc.c | 2 +-
>>>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>>>
>>>>> diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
>>>>> index 0a6a512..24b4a52 100644
>>>>> --- a/drivers/mmc/host/dw_mmc.c
>>>>> +++ b/drivers/mmc/host/dw_mmc.c
>>>>> @@ -44,7 +44,7 @@
>>>>> SDMMC_INT_HTO | SDMMC_INT_SBE | \
>>>>> SDMMC_INT_EBE)
>>>>> #define DW_MCI_CMD_ERROR_FLAGS (SDMMC_INT_RTO | SDMMC_INT_RCRC | \
>>>>> - SDMMC_INT_RESP_ERR)
>>>>> + SDMMC_INT_RESP_ERR | SDMMC_INT_HLE)
>>>>> #define DW_MCI_ERROR_FLAGS (DW_MCI_DATA_ERROR_FLAGS | \
>>>>> DW_MCI_CMD_ERROR_FLAGS | SDMMC_INT_HLE)
>>>>> #define DW_MCI_SEND_STATUS 1
>>>>> N‹§²æìr¸›yúèšØb²X¬¶Ç§vØ^–)Þº{.nÇ+‰·¥Š{±šg"žØ^n‡r¡ö¦zË?ëh™¨èÚ&¢ø®G«?éh®(階ŠÝ¢j"?ú¶m§ÿï?êäz¹Þ–Šàþf£¢·hšˆ§~ˆmml==