Re: PCI DMA to small buffers on cache-incoherent arch

Oliver Neukum
2002-06-12T12:03:20Z

> For your example, I don't buy it. You could well design the USB urb
> allocation in such a way that they are passed down the controller of
> a given device.

Urbs are not the problem. An urb abstractly speaking is just a description
of io. It does not contain a buffer, just a pointer to it.

However many drivers allocate some of these buffers together with their
device descriptors, which would, if a special allocator must be used,
become impossible.
Usbcore could allocate bounce buffers, but performance would suck.

If I understand both Davids correctly this is the solution.
Buffers for dma must be allocated seperately using a special allocation
function which is given the device so it can allocate correctly.
David B wants a bus specific pointer to a function in the generic
driver structure, right ?

Regards
Oliver