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