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]

 



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




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

  Powered by Linux