> > What "proper alignment"?  None is mentioned in any
> > part of the linux/Documentation/DMA-mapping.txt ...
> 
> Yes - in fact there are no requirements at all mentioned there wrt. to
> the address to be mapped by pci_map_single(). ...

Or for other use with pci DMA; pci_map_single is only one of the
documented APIs.


>    I don't know much about details of PCI-specs,
> but I'm really wondering, whether a BM device may access the system memory
> using arbitrary alignment. 

That was my issue:  if there's such an alignment concern, then it
should be documented so any Linux developer can know it.  What
you wrote seemed to me to suggest you knew of some specific
omission in the documentation.


>    I might be wrong, but I've seen USB transaction
> which are failing when transfer buffer was located at some non-kmalloced
> location. And there are more such reports here on this list.

Statements do circulate about only using kmalloc'd memory, but since
I can't recall explanations for them they sound mostly like voodoo.
There could be reasons, unknown to me and also not documented
for general knowledge in DMA-mapping.txt ...


> Thanks for the clarification. I simply have not installed your patches yet
> (due to x86 and no need for slab debugging so far) and don't wanted to
> claim nothing would have changed with your pci-pool included - due to some
> locking requirements for example. Looking at the code makes me believe
> you've found a really clean solution!

Well, for the problem that pci_pool addresses!  It's just generalizing
the kmem_cache model to work with uncached PCI memory.  But
there are a few other issues host controller drivers on non-PC style
(x86, Mac) platforms need to deal with for bus mastering PCI DMA.

- Dave



_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
http://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to