[PATCH 5/8] ARM: dma-mapping: move all dma bounce code to separate dma ops structure
From: Russell King - ARM Linux <hidden>
Date: 2011-06-20 14:43:05
Also in:
linux-arch, linux-mm
From: Russell King - ARM Linux <hidden>
Date: 2011-06-20 14:43:05
Also in:
linux-arch, linux-mm
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); } }