Re: Re: [PATCH] mmc: dw_mmc: Add hardware lock error (HLE) to the CMD error flag

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




>------- Original Message -------
>Sender : Jaehoon Chung<jh80.chung@xxxxxxxxxxx> 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.
>> 
>>> 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==ÿôèº{.nÇ+‰·Ÿ®‰­†+%ŠËÿ±éݶ¥Šwÿº{.nÇ+‰·¥Š{±þiœþ)í…æèw*jg¬±¨¶‰šŽŠÝ¢jÿ¾«þG«?éÿ¢¸¢·¦j:+v‰¨ŠwèjØm¶Ÿÿþø¯ù®w¥þŠàþf£¢·hš?â?úÿ†Ù¥





[Index of Archives]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux