diff options
author | Yasunori Goto <y-goto@jp.fujitsu.com> | 2009-02-02 20:52:03 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-02-03 00:57:24 -0500 |
commit | 0d688da5505d77bcef2441e0a22d8cc26459702d (patch) | |
tree | ab71f037ce9953e3652bb617b6b604ed42fa4514 /arch/ia64 | |
parent | d7ab5c46ae2743079a40bb4060e510418c0842b4 (diff) |
IA64: fix swiotlb alloc_coherent for non DMA_64BIT_MASK devices, fix
Because dma_alloc_coherent() always required DMA zone even if DMA is
NOT necessary, FUJITA Tomonori posted a patch to fix it:
http://marc.info/?l=linux-ia64&m=123314730923356&w=2
However, this fix needs one more patch to fix completely.
I tested and confirmed dma_alloc_coherent() returns
correct zone after applied following patch.
Signed-off-by: Yasunori Goto <y-goto@jp.fujitsu.com>
Acked-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/ia64')
-rw-r--r-- | arch/ia64/include/asm/dma-mapping.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/ia64/include/asm/dma-mapping.h b/arch/ia64/include/asm/dma-mapping.h index abe52575e905..36c0009dbece 100644 --- a/arch/ia64/include/asm/dma-mapping.h +++ b/arch/ia64/include/asm/dma-mapping.h | |||
@@ -24,7 +24,7 @@ static inline void *dma_alloc_coherent(struct device *dev, size_t size, | |||
24 | dma_addr_t *daddr, gfp_t gfp) | 24 | dma_addr_t *daddr, gfp_t gfp) |
25 | { | 25 | { |
26 | struct dma_map_ops *ops = platform_dma_get_ops(dev); | 26 | struct dma_map_ops *ops = platform_dma_get_ops(dev); |
27 | return ops->alloc_coherent(dev, size, daddr, gfp | GFP_DMA); | 27 | return ops->alloc_coherent(dev, size, daddr, gfp); |
28 | } | 28 | } |
29 | 29 | ||
30 | static inline void dma_free_coherent(struct device *dev, size_t size, | 30 | static inline void dma_free_coherent(struct device *dev, size_t size, |