On 04/05/2017 12:08 PM, Simon Glass wrote: > Hi Marek, > > On 5 April 2017 at 03:35, Marek Vasut <[email protected]> wrote: >> On 04/05/2017 04:21 AM, Simon Glass wrote: >>> Hi, >>> >>> On 4 April 2017 at 19:26, Kever Yang <[email protected]> wrote: >>>> Hi Eddie, >>>> >>>> >>>> We should only need to do only one time cache operation for a buffer >>>> >>>> ready to do DMA transfer, so you need to remove another cache invalidate >>>> >>>> operation for the same buffer in the same function. >>> >>> I think this is a more general problem and might cause issues with >>> other drivers. So I have sent this patch: >>> >>> http://patchwork.ozlabs.org/patch/746917/ >>> >> >> This feels like papering over a problem though ... which will bite you >> later anyway. > > I believe the problem only happens because we have cached zero bytes > caused by this function. If the driver does the right thing (as dwc2.c > already does) then everything should be find from then on.
And I think the driver is where this should be fixed ? That is, the driver should do the right thing and flush/invalidate caches correctly. > Notice that the problem does not happen without driver model, since > non-DM code in dwc2.c uses BSS for the buffers, which is zeroed with > the cache off. -- Best regards, Marek Vasut _______________________________________________ U-Boot mailing list [email protected] https://lists.denx.de/listinfo/u-boot

