aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86/kernel/pci-base_32.c1
-rw-r--r--include/asm-x86/dma-mapping.h11
-rw-r--r--include/asm-x86/dma-mapping_32.h7
-rw-r--r--include/asm-x86/dma-mapping_64.h12
4 files changed, 12 insertions, 19 deletions
diff --git a/arch/x86/kernel/pci-base_32.c b/arch/x86/kernel/pci-base_32.c
index d876600aaeb6..033d94ec5000 100644
--- a/arch/x86/kernel/pci-base_32.c
+++ b/arch/x86/kernel/pci-base_32.c
@@ -40,6 +40,7 @@ static const struct dma_mapping_ops pci32_dma_ops = {
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 .sync_sg_for_cpu = NULL,
43 .sync_sg_for_device = NULL,
43}; 44};
44 45
45const struct dma_mapping_ops *dma_ops = &pci32_dma_ops; 46const 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 1a301d7e4726..53a404b0f9ee 100644
--- a/include/asm-x86/dma-mapping.h
+++ b/include/asm-x86/dma-mapping.h
@@ -148,4 +148,15 @@ dma_sync_sg_for_cpu(struct device *hwdev, struct scatterlist *sg,
148 dma_ops->sync_sg_for_cpu(hwdev, sg, nelems, direction); 148 dma_ops->sync_sg_for_cpu(hwdev, sg, nelems, direction);
149 flush_write_buffers(); 149 flush_write_buffers();
150} 150}
151
152static inline void
153dma_sync_sg_for_device(struct device *hwdev, struct scatterlist *sg,
154 int nelems, int direction)
155{
156 BUG_ON(!valid_dma_direction(direction));
157 if (dma_ops->sync_sg_for_device)
158 dma_ops->sync_sg_for_device(hwdev, sg, nelems, direction);
159
160 flush_write_buffers();
161}
151#endif 162#endif
diff --git a/include/asm-x86/dma-mapping_32.h b/include/asm-x86/dma-mapping_32.h
index e7c82e34af9e..eff42f495107 100644
--- a/include/asm-x86/dma-mapping_32.h
+++ b/include/asm-x86/dma-mapping_32.h
@@ -32,13 +32,6 @@ dma_unmap_page(struct device *dev, dma_addr_t dma_address, size_t size,
32 BUG_ON(!valid_dma_direction(direction)); 32 BUG_ON(!valid_dma_direction(direction));
33} 33}
34 34
35static inline void
36dma_sync_sg_for_device(struct device *dev, struct scatterlist *sg, int nelems,
37 enum dma_data_direction direction)
38{
39 flush_write_buffers();
40}
41
42static inline int 35static inline int
43dma_mapping_error(dma_addr_t dma_addr) 36dma_mapping_error(dma_addr_t dma_addr)
44{ 37{
diff --git a/include/asm-x86/dma-mapping_64.h b/include/asm-x86/dma-mapping_64.h
index 804b154abaf8..707dbbe86a26 100644
--- a/include/asm-x86/dma-mapping_64.h
+++ b/include/asm-x86/dma-mapping_64.h
@@ -27,18 +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
30static inline void
31dma_sync_sg_for_device(struct device *hwdev, struct scatterlist *sg,
32 int nelems, int direction)
33{
34 BUG_ON(!valid_dma_direction(direction));
35 if (dma_ops->sync_sg_for_device) {
36 dma_ops->sync_sg_for_device(hwdev, sg, nelems, direction);
37 }
38
39 flush_write_buffers();
40}
41
42extern int dma_supported(struct device *hwdev, u64 mask); 30extern int dma_supported(struct device *hwdev, u64 mask);
43 31
44/* same for gart, swiotlb, and nommu */ 32/* same for gart, swiotlb, and nommu */