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

Reply via email to