Oliver Neukum wrote:
Oliver, what kind of DMA issues are you referring to?
IOW is it a problem that the read and write buffers are
allocated together?  (that is, if the read buffer were being
used, which I suspect is rare)

On some architectures a read to memory sharing a cache line
with a buffer that is undergoing DMA can cause data corruption.
We had an actual bug report caused by this some time ago on this list.
I think that was for one of the not-quite-supported-yet
PPC architectures.  We didn't merge all the patches for
the relevant USB support yet; at least the hub driver
still needs the related updates.


So I'd prefer two buffers for cleaness' sake.
Hmm, the read and write buffers are 8Kbytes each ... what was
the architecture that shared 16 Kbyte cachelines?  :)

Actually, for those buffers I'd prefer to see the
buffers allocated using usb_buffer_alloc(), so
that on architectures that have DMA restrictions
(SA-1111 for example) there'd be no extra "bounce"
through a temporary DMA buffer.

- Dave




-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to