[ofa-general] mthca use of dma_sync_single is bogus

Roland Dreier rdreier at cisco.com
Mon Jul 9 14:29:40 PDT 2007


 >     void
 >     dma_sync_single_range(struct device *dev, dma_addr_t dma_handle,
 >     		      unsigned long offset, size_t size,
 >     		      enum dma_data_direction direction)

It seems the document has bitrotted a little, since
dma_sync_single_range() doesn't actually exist for most architectures;
what is really implemented is dma_sync_single_range_for_cpu() and
dma_sync_single_range_for_device().  But assuming those are usable in
our situation, they seem to be exactly what we want.  I'll try to get
clarification from the DMA API experts (and also fix the documentation
in the kernel).

Unfortunately it seems like the kernel's swiotlb does not implement
the full DMA API so this won't actually fix Xen :(.

 - R.



More information about the general mailing list