On 2009-08-03, at 17:59, Hans Petter Selasky wrote: > On Monday 03 August 2009 17:01:37 Rafal Jaworowski wrote: >> Hans, >> So how do you want to proceed with these cache sync issues? We need >> to >> fix this before 8.0. > > Hi, > > CC'ed current: We have a case on ARM where bus_dmamap_sync() is not > suffient > to update the CPU cache. One reason for this is that USB needs to > invalidate It's not only ARM, but some MIPS and PowerPC observe this as well; actually I'd expect any system with non-coherent DMA will suffer from this with current USB stack. > the same memory area multiple times. Busdma sync expects paired > operation when > using the PRE and POST flags, from what I understand. I do not > consider this > an USB issue, hence Semihalf has got the USB stack working by manually > inserting CPU flush/invalidate calls into usb_pc_cpu_invalidate() and > usb_pc_cpu_flush(). Their other solution however which modifies the > bus_dmamap_sync() flags will break on platforms with more than 4 > GByte of > memory. > > Maybe Rafal can give a quick summar to new people at the -current > list, or see > previous thread on the ARM mailing list. This issue was discussed already: http://docs.freebsd.org/cgi/getmsg.cgi?fetch=50307+0+archive/2009/freebsd-usb/20090628.freebsd-usb See also the beginning of this thread: http://docs.freebsd.org/cgi/getmsg.cgi?fetch=10461+0+archive/2009/freebsd-arm/20090726.freebsd-arm RafalReceived on Mon Aug 03 2009 - 14:52:50 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:53 UTC