aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/include/asm/dma-mapping.h
diff options
context:
space:
mode:
authorBecky Bruce <beckyb@kernel.crashing.org>2009-09-21 04:26:35 -0400
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2009-09-24 01:31:43 -0400
commit738ef42e32fe95553a424c04016b936c9f6c9afb (patch)
treef45f21a92eacbb22bd3223c5ac725473c6ec1d72 /arch/powerpc/include/asm/dma-mapping.h
parent1cebd7a0f62804ca24f7b7b35e8105000b9e879a (diff)
powerpc: Change archdata dma_data to a union
Sometimes this is used to hold a simple offset, and sometimes it is used to hold a pointer. This patch changes it to a union containing void * and dma_addr_t. get/set accessors are also provided, because it was getting a bit ugly to get to the actual data. Signed-off-by: Becky Bruce <beckyb@kernel.crashing.org> 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.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/arch/powerpc/include/asm/dma-mapping.h b/arch/powerpc/include/asm/dma-mapping.h
index 34b919fe8cda..e281daebddca 100644
--- a/arch/powerpc/include/asm/dma-mapping.h
+++ b/arch/powerpc/include/asm/dma-mapping.h
@@ -97,14 +97,20 @@ static inline void set_dma_ops(struct device *dev, struct dma_map_ops *ops)
97 * swiotlb use this function, but it is typically not used by implementations 97 * swiotlb use this function, but it is typically not used by implementations
98 * with an iommu. 98 * with an iommu.
99 */ 99 */
100static inline unsigned long get_dma_offset(struct device *dev) 100static inline dma_addr_t get_dma_offset(struct device *dev)
101{ 101{
102 if (dev) 102 if (dev)
103 return (unsigned long)dev->archdata.dma_data; 103 return dev->archdata.dma_data.dma_offset;
104 104
105 return PCI_DRAM_OFFSET; 105 return PCI_DRAM_OFFSET;
106} 106}
107 107
108static inline void set_dma_offset(struct device *dev, dma_addr_t off)
109{
110 if (dev)
111 dev->archdata.dma_data.dma_offset = off;
112}
113
108/* this will be removed soon */ 114/* this will be removed soon */
109#define flush_write_buffers() 115#define flush_write_buffers()
110 116