diff options
author | Milton Miller <miltonm@bga.com> | 2011-06-24 05:05:24 -0400 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2011-09-19 19:19:35 -0400 |
commit | d24f9c6999eacd3a7bc2b289e49fcb2bf2fafef2 (patch) | |
tree | 66276ee7149e5eab4b7ec9785bad7bdf0564ea3d /arch/powerpc/include | |
parent | 3a8f7558e475b68254d8bc3a2211f3f89bf67a71 (diff) |
powerpc: Use the newly added get_required_mask dma_map_ops hook
Now that the generic code has dma_map_ops set, instead of having a
messy ifdef & if block in the base dma_get_required_mask hook push
the computation into the dma ops.
If the ops fails to set the get_required_mask hook default to the
width of dma_addr_t.
This also corrects ibmbus ibmebus_dma_supported to require a 64
bit mask. I doubt anything is checking or setting the dma mask on
that bus.
Signed-off-by: Milton Miller <miltonm@bga.com>
Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Cc: linuxppc-dev@lists.ozlabs.org
Cc: linux-kernel@vger.kernel.org
Cc: benh@kernel.crashing.org
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/include')
-rw-r--r-- | arch/powerpc/include/asm/device.h | 2 | ||||
-rw-r--r-- | arch/powerpc/include/asm/dma-mapping.h | 3 |
2 files changed, 2 insertions, 3 deletions
diff --git a/arch/powerpc/include/asm/device.h b/arch/powerpc/include/asm/device.h index 16d25c0974b..d57c08acedf 100644 --- a/arch/powerpc/include/asm/device.h +++ b/arch/powerpc/include/asm/device.h | |||
@@ -37,4 +37,6 @@ struct pdev_archdata { | |||
37 | u64 dma_mask; | 37 | u64 dma_mask; |
38 | }; | 38 | }; |
39 | 39 | ||
40 | #define ARCH_HAS_DMA_GET_REQUIRED_MASK | ||
41 | |||
40 | #endif /* _ASM_POWERPC_DEVICE_H */ | 42 | #endif /* _ASM_POWERPC_DEVICE_H */ |
diff --git a/arch/powerpc/include/asm/dma-mapping.h b/arch/powerpc/include/asm/dma-mapping.h index 8135e66a4bb..dd70fac57ec 100644 --- a/arch/powerpc/include/asm/dma-mapping.h +++ b/arch/powerpc/include/asm/dma-mapping.h | |||
@@ -20,8 +20,6 @@ | |||
20 | 20 | ||
21 | #define DMA_ERROR_CODE (~(dma_addr_t)0x0) | 21 | #define DMA_ERROR_CODE (~(dma_addr_t)0x0) |
22 | 22 | ||
23 | #define ARCH_HAS_DMA_GET_REQUIRED_MASK | ||
24 | |||
25 | /* Some dma direct funcs must be visible for use in other dma_ops */ | 23 | /* Some dma direct funcs must be visible for use in other dma_ops */ |
26 | extern void *dma_direct_alloc_coherent(struct device *dev, size_t size, | 24 | extern void *dma_direct_alloc_coherent(struct device *dev, size_t size, |
27 | dma_addr_t *dma_handle, gfp_t flag); | 25 | dma_addr_t *dma_handle, gfp_t flag); |
@@ -71,7 +69,6 @@ static inline unsigned long device_to_mask(struct device *dev) | |||
71 | */ | 69 | */ |
72 | #ifdef CONFIG_PPC64 | 70 | #ifdef CONFIG_PPC64 |
73 | extern struct dma_map_ops dma_iommu_ops; | 71 | extern struct dma_map_ops dma_iommu_ops; |
74 | extern u64 dma_iommu_get_required_mask(struct device *dev); | ||
75 | #endif | 72 | #endif |
76 | extern struct dma_map_ops dma_direct_ops; | 73 | extern struct dma_map_ops dma_direct_ops; |
77 | 74 | ||