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.h11
4 files changed, 12 insertions, 18 deletions
diff --git a/arch/x86/kernel/pci-base_32.c b/arch/x86/kernel/pci-base_32.c
index dce03c81bb25..36488245e361 100644
--- a/arch/x86/kernel/pci-base_32.c
+++ b/arch/x86/kernel/pci-base_32.c
@@ -36,6 +36,7 @@ static const struct dma_mapping_ops pci32_dma_ops = {
36 .map_sg = pci32_dma_map_sg, 36 .map_sg = pci32_dma_map_sg,
37 .unmap_sg = NULL, 37 .unmap_sg = NULL,
38 .sync_single_for_cpu = NULL, 38 .sync_single_for_cpu = NULL,
39 .sync_single_for_device = NULL,
39}; 40};
40 41
41const struct dma_mapping_ops *dma_ops = &pci32_dma_ops; 42const 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 507069d231dd..8ad582c2080a 100644
--- a/include/asm-x86/dma-mapping.h
+++ b/include/asm-x86/dma-mapping.h
@@ -103,4 +103,15 @@ dma_sync_single_for_cpu(struct device *hwdev, dma_addr_t dma_handle,
103 flush_write_buffers(); 103 flush_write_buffers();
104} 104}
105 105
106static inline void
107dma_sync_single_for_device(struct device *hwdev, dma_addr_t dma_handle,
108 size_t size, int direction)
109{
110 BUG_ON(!valid_dma_direction(direction));
111 if (dma_ops->sync_single_for_device)
112 dma_ops->sync_single_for_device(hwdev, dma_handle, size,
113 direction);
114 flush_write_buffers();
115}
116
106#endif 117#endif
diff --git a/include/asm-x86/dma-mapping_32.h b/include/asm-x86/dma-mapping_32.h
index a05b2fc810bb..b91771a6a0bd 100644
--- a/include/asm-x86/dma-mapping_32.h
+++ b/include/asm-x86/dma-mapping_32.h
@@ -33,13 +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_single_for_device(struct device *dev, dma_addr_t dma_handle, size_t size,
37 enum dma_data_direction direction)
38{
39 flush_write_buffers();
40}
41
42static inline void
43dma_sync_single_range_for_cpu(struct device *dev, dma_addr_t dma_handle, 36dma_sync_single_range_for_cpu(struct device *dev, dma_addr_t dma_handle,
44 unsigned long offset, size_t size, 37 unsigned long offset, size_t size,
45 enum dma_data_direction direction) 38 enum dma_data_direction direction)
diff --git a/include/asm-x86/dma-mapping_64.h b/include/asm-x86/dma-mapping_64.h
index b055964d1a27..b539f61f3c78 100644
--- a/include/asm-x86/dma-mapping_64.h
+++ b/include/asm-x86/dma-mapping_64.h
@@ -29,17 +29,6 @@ extern void dma_free_coherent(struct device *dev, size_t size, void *vaddr,
29#define dma_unmap_page dma_unmap_single 29#define dma_unmap_page dma_unmap_single
30 30
31static inline void 31static inline void
32dma_sync_single_for_device(struct device *hwdev, dma_addr_t dma_handle,
33 size_t size, int direction)
34{
35 BUG_ON(!valid_dma_direction(direction));
36 if (dma_ops->sync_single_for_device)
37 dma_ops->sync_single_for_device(hwdev, dma_handle, size,
38 direction);
39 flush_write_buffers();
40}
41
42static inline void
43dma_sync_single_range_for_cpu(struct device *hwdev, dma_addr_t dma_handle, 32dma_sync_single_range_for_cpu(struct device *hwdev, dma_addr_t dma_handle,
44 unsigned long offset, size_t size, int direction) 33 unsigned long offset, size_t size, int direction)
45{ 34{