summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/include/asm/dma-mapping.h
diff options
context:
space:
mode:
authorFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2009-08-04 21:08:28 +0200
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2009-08-28 06:24:11 +0200
commit80d3e8abb73dad3983fef2597b52cab8fbcd876b (patch)
tree39d73950289a3de9cbdb2846da3d340374034ce4 /arch/powerpc/include/asm/dma-mapping.h
parentpowerpc: Handle SWIOTLB mapping error properly (diff)
downloadlinux-80d3e8abb73dad3983fef2597b52cab8fbcd876b.tar.xz
linux-80d3e8abb73dad3983fef2597b52cab8fbcd876b.zip
powerpc: Add CONFIG_DMA_API_DEBUG support
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/include/asm/dma-mapping.h')
-rw-r--r--arch/powerpc/include/asm/dma-mapping.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/arch/powerpc/include/asm/dma-mapping.h b/arch/powerpc/include/asm/dma-mapping.h
index 4bd41b4051e3..cb2ca41dd526 100644
--- a/arch/powerpc/include/asm/dma-mapping.h
+++ b/arch/powerpc/include/asm/dma-mapping.h
@@ -127,9 +127,15 @@ static inline void *dma_alloc_coherent(struct device *dev, size_t size,
dma_addr_t *dma_handle, gfp_t flag)
{
struct dma_map_ops *dma_ops = get_dma_ops(dev);
+ void *cpu_addr;
BUG_ON(!dma_ops);
- return dma_ops->alloc_coherent(dev, size, dma_handle, flag);
+
+ cpu_addr = dma_ops->alloc_coherent(dev, size, dma_handle, flag);
+
+ debug_dma_alloc_coherent(dev, size, *dma_handle, cpu_addr);
+
+ return cpu_addr;
}
static inline void dma_free_coherent(struct device *dev, size_t size,
@@ -138,6 +144,9 @@ static inline void dma_free_coherent(struct device *dev, size_t size,
struct dma_map_ops *dma_ops = get_dma_ops(dev);
BUG_ON(!dma_ops);
+
+ debug_dma_free_coherent(dev, size, cpu_addr, dma_handle);
+
dma_ops->free_coherent(dev, size, cpu_addr, dma_handle);
}