[U-Boot] [PATCH 1/3] mmc: dw_mmc: change the read/write order under fifo mode
Simon Glass
sjg at chromium.org
Fri Sep 23 04:39:47 CEST 2016
Hi,
On 7 September 2016 at 21:54, Jaehoon Chung <jh80.chung at samsung.com> wrote:
> On 09/08/2016 12:43 PM, Ziyuan Xu wrote:
>>
>>
>> On 2016年09月07日 14:50, Jaehoon Chung wrote:
>>> On 09/07/2016 03:14 PM, Ziyuan Xu wrote:
>>>> hi Jaehoon,
>>>>
>>>>
>>>> On 2016年08月30日 17:54, Jaehoon Chung wrote:
>>>>> Hi Jacob,
>>>>>
>>>>> On 08/30/2016 02:26 AM, Jacob Chen wrote:
>>>>>> From: "jacob2.chen" <jacob2.chen at rock-chips.com>
>>>>>>
>>>>>> The former implement have a bug.
>>>>>> It will cause wrong data reading sometimes.
>>>>> Could you explain what bug is there?
>>>>>> Signed-off-by: jacob2.chen <jacob2.chen at rock-chips.com>
>>>>> Could you change from jacob2.chen to your name?
>>>>>
>>>>>> ---
>>>>>>
>>>>>> drivers/mmc/dw_mmc.c | 32 +++++++++++++++++---------------
>>>>>> 1 file changed, 17 insertions(+), 15 deletions(-)
>>>>>>
>>>>>> diff --git a/drivers/mmc/dw_mmc.c b/drivers/mmc/dw_mmc.c
>>>>>> index afc674d..f072739 100644
>>>>>> --- a/drivers/mmc/dw_mmc.c
>>>>>> +++ b/drivers/mmc/dw_mmc.c
>>>>>> @@ -120,35 +120,37 @@ static int dwmci_data_transfer(struct dwmci_host *host, struct mmc_data *data)
>>>>>> if (host->fifo_mode && size) {
>>>>>> len = 0;
>>>>>> - if (data->flags == MMC_DATA_READ) {
>>>>>> - if ((dwmci_readl(host, DWMCI_RINTSTS) &
>>>>>> - DWMCI_INTMSK_RXDR)) {
>>>>>> + if (data->flags == MMC_DATA_READ &&
>>>>>> + (mask & DWMCI_INTMSK_RXDR)) {
>>>>>> + while (size) {
>>>>>> len = dwmci_readl(host, DWMCI_STATUS);
>>>>>> len = (len >> DWMCI_FIFO_SHIFT) &
>>>>>> - DWMCI_FIFO_MASK;
>>>>>> + DWMCI_FIFO_MASK;
What is the status of this patch please?
[...]
Regards,
Simon
More information about the U-Boot
mailing list