aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-generic/dma-mapping-common.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-generic/dma-mapping-common.h')
-rw-r--r--include/asm-generic/dma-mapping-common.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/include/asm-generic/dma-mapping-common.h b/include/asm-generic/dma-mapping-common.h
index 0c80bb38773..9fa3f96e38c 100644
--- a/include/asm-generic/dma-mapping-common.h
+++ b/include/asm-generic/dma-mapping-common.h
@@ -123,7 +123,12 @@ static inline void dma_sync_single_range_for_cpu(struct device *dev,
123 size_t size, 123 size_t size,
124 enum dma_data_direction dir) 124 enum dma_data_direction dir)
125{ 125{
126 dma_sync_single_for_cpu(dev, addr + offset, size, dir); 126 const struct dma_map_ops *ops = get_dma_ops(dev);
127
128 BUG_ON(!valid_dma_direction(dir));
129 if (ops->sync_single_for_cpu)
130 ops->sync_single_for_cpu(dev, addr + offset, size, dir);
131 debug_dma_sync_single_range_for_cpu(dev, addr, offset, size, dir);
127} 132}
128 133
129static inline void dma_sync_single_range_for_device(struct device *dev, 134static inline void dma_sync_single_range_for_device(struct device *dev,
@@ -132,7 +137,12 @@ static inline void dma_sync_single_range_for_device(struct device *dev,
132 size_t size, 137 size_t size,
133 enum dma_data_direction dir) 138 enum dma_data_direction dir)
134{ 139{
135 dma_sync_single_for_device(dev, addr + offset, size, dir); 140 const struct dma_map_ops *ops = get_dma_ops(dev);
141
142 BUG_ON(!valid_dma_direction(dir));
143 if (ops->sync_single_for_device)
144 ops->sync_single_for_device(dev, addr + offset, size, dir);
145 debug_dma_sync_single_range_for_device(dev, addr, offset, size, dir);
136} 146}
137 147
138static inline void 148static inline void