[RESEND PATCH] usb: mtu3: flush cache for the first GPD when allocate GPD ring

Marek Vasut marex at denx.de
Wed Nov 3 11:13:04 CET 2021


On 11/3/21 3:39 AM, Chunfeng Yun wrote:
> Hi Marek,
> 
> On Thu, 2021-10-21 at 13:33 +0800, Chunfeng Yun wrote:
>> When allocate the GPD ring, and tell its address to the controller,
>> then
>> the driver starts or resumes the QMU, the controller will try to
>> access
>> the first GPD, so need flush the first one to avoid wrong GPD status.
>>
>> Reported-by: Xin Lin <Xin.Lin at mediatek.com>
>> Signed-off-by: Chunfeng Yun <chunfeng.yun at mediatek.com>
>> ---
>>   drivers/usb/mtu3/mtu3_qmu.c | 1 +
>>   1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/usb/mtu3/mtu3_qmu.c
>> b/drivers/usb/mtu3/mtu3_qmu.c
>> index 95eaf6d236..e8dc0095ab 100644
>> --- a/drivers/usb/mtu3/mtu3_qmu.c
>> +++ b/drivers/usb/mtu3/mtu3_qmu.c
>> @@ -112,6 +112,7 @@ int mtu3_gpd_ring_alloc(struct mtu3_ep *mep)
>>   	memset(gpd, 0, QMU_GPD_RING_SIZE);
>>   	ring->dma = (dma_addr_t)gpd;
>>   	gpd_ring_init(ring, gpd);
>> +	mtu3_flush_cache((uintptr_t)gpd, sizeof(*gpd));
>>   
>>   	return 0;
>>   }
> Could you please pick up this patch?

Should be on its way, thanks for the reminder.


More information about the U-Boot mailing list