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
Rafal
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "[email protected]"