On Mon, Jun 20, 2011 at 09:50:10AM +0200, Marek Szyprowski wrote:
This patch removes dma bounce hooks from the common dma mapping implementation on ARM architecture and creates a separate set of dma_map_ops for dma bounce devices.
Why all this additional indirection for no gain?
@@ -278,7 +278,7 @@ static inline dma_addr_t map_single(struct device *dev, void *ptr, size_t size, * We don't need to sync the DMA buffer since * it was allocated via the coherent allocators. */
__dma_single_cpu_to_dev(ptr, size, dir);
}dma_ops.sync_single_for_device(dev, dma_addr, size, dir);
return dma_addr; @@ -317,7 +317,7 @@ static inline void unmap_single(struct device *dev, dma_addr_t dma_addr, } free_safe_buffer(dev->archdata.dmabounce, buf); } else {
__dma_single_dev_to_cpu(dma_to_virt(dev, dma_addr), size, dir);
}dma_ops.sync_single_for_cpu(dev, dma_addr, size, dir);
}