On Sun, 1 Jul 2007, David Brownell wrote: > As I understand it the actual mechanism is more like: platforms > always set up a chunk of memory as uncached, and always map that > through the IOMMU. Call that the DMA-{coherent,consistent} region. > > Utilities like dma_alloc_coherent() -- and hence usb_buffer_alloc(), > dma_pool_*(), and so on -- return memory from that region. > > So the resources are *always* tied up; fixed overhead. What's visible > to drivers is that per-transfer buffer operations are not needed.
I wonder about the wisdom of allocating QHs, TDs, and so forth as single contiguous entities. Since the DMA-able part is liable to end up in uncached memory, wouldn't we be better off splitting the data structures in two and putting the other parts in normal memory? Alan Stern ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel