[U-Boot] [PATCH] usb: dwc2: Align size of invalidating dcache before starting DMA
Jaehoon Chung
jh80.chung at samsung.com
Mon Aug 7 06:12:06 UTC 2017
On 07/31/2017 06:33 PM, Łukasz Majewski wrote:
> Hi Seung-Woo,
>
>> During using dwc2 usb gadget, if usb message size is too small,
>> following cache misaligned warning is shown:
>>
>> CACHE: Misaligned operation at range [bfdbcb00, bfdbcb04]
>>
>> Align size of invalidating dcache before starting DMA to remove the
>> warning.
>>
>> Signed-off-by: Seung-Woo Kim <sw0312.kim at samsung.com>
>> ---
>> drivers/usb/gadget/dwc2_udc_otg_xfer_dma.c | 3 ++-
>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/usb/gadget/dwc2_udc_otg_xfer_dma.c b/drivers/usb/gadget/dwc2_udc_otg_xfer_dma.c
>> index 0d6d2fb..b6164af 100644
>> --- a/drivers/usb/gadget/dwc2_udc_otg_xfer_dma.c
>> +++ b/drivers/usb/gadget/dwc2_udc_otg_xfer_dma.c
>> @@ -111,7 +111,8 @@ static int setdma_rx(struct dwc2_ep *ep, struct dwc2_request *req)
>> ctrl = readl(®->out_endp[ep_num].doepctl);
>>
>> invalidate_dcache_range((unsigned long) ep->dma_buf,
>> - (unsigned long) ep->dma_buf + ep->len);
>> + (unsigned long) ep->dma_buf +
>> + ROUND(ep->len, CONFIG_SYS_CACHELINE_SIZE));
>>
>> writel((unsigned int) ep->dma_buf, ®->out_endp[ep_num].doepdma);
>> writel(DOEPT_SIZ_PKT_CNT(pktcnt) | DOEPT_SIZ_XFER_SIZE(length),
>>
>
> Reviewed-by: Łukasz Majewski <lukma at denx.de>
Acked-by: Jaehoon Chung <jh80.chung at samsung.com>
Best Regards,
Jaehoon Chung
>
More information about the U-Boot
mailing list