From 5291ca3c4e279efe50036477b2ff60a535bd0dbc Mon Sep 17 00:00:00 2001 From: FUJITA Tomonori Date: Fri, 10 Jul 2009 10:04:57 +0900 Subject: [PATCH] --- yaml --- r: 158047 b: refs/heads/master c: 9a937c91eea31c4b594ea49a2a23c57003e04987 h: refs/heads/master i: 158045: 4549934e28285d9a1a30767fbd6ddf23054ff3c2 158043: 704214135220f9ec6840d90bfd1f7e7eef5d8ca5 158039: fd341c1f70c5556a210b6f33dc82e06ec11f3e3c 158031: 27d3111ca074a366cb8c5eaf3a564df0ed3581e8 158015: 3fdb908c0aca878113857172a9245908c8bb2ea8 v: v3 --- [refs] | 2 +- trunk/arch/powerpc/include/asm/dma-mapping.h | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 7b3f51566fe9..4ec9ea672ba6 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a0b00ca84b3ecb9eebd62ad34880d8cc0d988c8a +refs/heads/master: 9a937c91eea31c4b594ea49a2a23c57003e04987 diff --git a/trunk/arch/powerpc/include/asm/dma-mapping.h b/trunk/arch/powerpc/include/asm/dma-mapping.h index b44aaabdd1a6..6ff1f8581d79 100644 --- a/trunk/arch/powerpc/include/asm/dma-mapping.h +++ b/trunk/arch/powerpc/include/asm/dma-mapping.h @@ -424,6 +424,19 @@ static inline int dma_mapping_error(struct device *dev, dma_addr_t dma_addr) #endif } +static inline bool dma_capable(struct device *dev, dma_addr_t addr, size_t size) +{ + struct dma_mapping_ops *ops = get_dma_ops(dev); + + if (ops->addr_needs_map && ops->addr_needs_map(dev, addr, size)) + return 0; + + if (!dev->dma_mask) + return 0; + + return addr + size <= *dev->dma_mask; +} + #define dma_alloc_noncoherent(d, s, h, f) dma_alloc_coherent(d, s, h, f) #define dma_free_noncoherent(d, s, v, h) dma_free_coherent(d, s, v, h) #ifdef CONFIG_NOT_COHERENT_CACHE