Hi Seungwon/ Jaehoon, I can see there are at least three patches which address HLE (Hardware Lock Error) in dw_mmc driver. https://patchwork.kernel.org/patch/1814991/ http://www.spinics.net/lists/linux-mmc/msg21459.html and third one is my patch http://news.gmane.org/gmane.linux.kernel.mmc/cutoff=23010 Can we have some conclusion about how to handle HLE? Thanks!!! On Thu, Oct 10, 2013 at 4:31 PM, Alim Akhtar <alim.akhtar@xxxxxxxxx> wrote: > Hi Jaeohoon, > > On Mon, Oct 7, 2013 at 2:00 AM, ALIM AKHTAR <alim.akhtar@xxxxxxxxxxx> wrote: >> 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? > > Let me know if you have any other comments/ suggestions on this. > Thanks!! > >>>>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 > > -- > Regards, > Alim -- Regards, Alim -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html