aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlauber Costa <gcosta@redhat.com>2008-03-25 17:36:29 -0400
committerIngo Molnar <mingo@elte.hu>2008-04-19 13:19:56 -0400
commited435dee9cb470082e4550edbfcbc7e81132e976 (patch)
tree6322a0baf9dfedc301340f82788a8569ffe9e97f
parent713623326c816b145105769f174ec237815e53f1 (diff)
x86: move dma_sync_sg_for_cpu to common header
i386 gets an empty function. Signed-off-by: Glauber Costa <gcosta@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-rw-r--r--arch/x86/kernel/pci-base_32.c1
-rw-r--r--include/asm-x86/dma-mapping.h9
-rw-r--r--include/asm-x86/dma-mapping_32.h6
-rw-r--r--include/asm-x86/dma-mapping_64.h11
4 files changed, 10 insertions, 17 deletions
diff --git a/arch/x86/kernel/pci-base_32.c b/arch/x86/kernel/pci-base_32.c
index 4512c307b60c..d876600aaeb6 100644
--- a/arch/x86/kernel/pci-base_32.c
+++ b/arch/x86/kernel/pci-base_32.c
@@ -39,6 +39,7 @@ static const struct dma_mapping_ops pci32_dma_ops = {
39 .sync_single_for_device = NULL, 39 .sync_single_for_device = NULL,
40 .sync_single_range_for_cpu = NULL, 40 .sync_single_range_for_cpu = NULL,
41 .sync_single_range_for_device = NULL, 41 .sync_single_range_for_device = NULL,
42 .sync_sg_for_cpu = NULL,
42}; 43};
43 44
44const struct dma_mapping_ops *dma_ops = &pci32_dma_ops; 45const struct dma_mapping_ops *dma_ops = &pci32_dma_ops;
diff --git a/include/asm-x86/dma-mapping.h b/include/asm-x86/dma-mapping.h
index 260538b6ce2c..1a301d7e4726 100644
--- a/include/asm-x86/dma-mapping.h
+++ b/include/asm-x86/dma-mapping.h
@@ -139,4 +139,13 @@ dma_sync_single_range_for_device(struct device *hwdev, dma_addr_t dma_handle,
139 flush_write_buffers(); 139 flush_write_buffers();
140} 140}
141 141
142static inline void
143dma_sync_sg_for_cpu(struct device *hwdev, struct scatterlist *sg,
144 int nelems, int direction)
145{
146 BUG_ON(!valid_dma_direction(direction));
147 if (dma_ops->sync_sg_for_cpu)
148 dma_ops->sync_sg_for_cpu(hwdev, sg, nelems, direction);
149 flush_write_buffers();
150}
142#endif 151#endif
diff --git a/include/asm-x86/dma-mapping_32.h b/include/asm-x86/dma-mapping_32.h
index 60d5371c7de7..e7c82e34af9e 100644
--- a/include/asm-x86/dma-mapping_32.h
+++ b/include/asm-x86/dma-mapping_32.h
@@ -33,12 +33,6 @@ dma_unmap_page(struct device *dev, dma_addr_t dma_address, size_t size,
33} 33}
34 34
35static inline void 35static inline void
36dma_sync_sg_for_cpu(struct device *dev, struct scatterlist *sg, int nelems,
37 enum dma_data_direction direction)
38{
39}
40
41static inline void
42dma_sync_sg_for_device(struct device *dev, struct scatterlist *sg, int nelems, 36dma_sync_sg_for_device(struct device *dev, struct scatterlist *sg, int nelems,
43 enum dma_data_direction direction) 37 enum dma_data_direction direction)
44{ 38{
diff --git a/include/asm-x86/dma-mapping_64.h b/include/asm-x86/dma-mapping_64.h
index dfa66cc525bc..804b154abaf8 100644
--- a/include/asm-x86/dma-mapping_64.h
+++ b/include/asm-x86/dma-mapping_64.h
@@ -27,17 +27,6 @@ extern void dma_free_coherent(struct device *dev, size_t size, void *vaddr,
27 dma_map_single((dev), page_address(page)+(offset), (size), (dir)) 27 dma_map_single((dev), page_address(page)+(offset), (size), (dir))
28 28
29#define dma_unmap_page dma_unmap_single 29#define dma_unmap_page dma_unmap_single
30
31static inline void
32dma_sync_sg_for_cpu(struct device *hwdev, struct scatterlist *sg,
33 int nelems, int direction)
34{
35 BUG_ON(!valid_dma_direction(direction));
36 if (dma_ops->sync_sg_for_cpu)
37 dma_ops->sync_sg_for_cpu(hwdev, sg, nelems, direction);
38 flush_write_buffers();
39}
40
41static inline void 30static inline void
42dma_sync_sg_for_device(struct device *hwdev, struct scatterlist *sg, 31dma_sync_sg_for_device(struct device *hwdev, struct scatterlist *sg,
43 int nelems, int direction) 32 int nelems, int direction)