aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/linux/dma-debug.h27
-rw-r--r--lib/dma-debug.c24
2 files changed, 51 insertions, 0 deletions
diff --git a/include/linux/dma-debug.h b/include/linux/dma-debug.h
index 0eee7af5143f..e9b903503adb 100644
--- a/include/linux/dma-debug.h
+++ b/include/linux/dma-debug.h
@@ -57,6 +57,17 @@ extern void debug_dma_sync_single_for_device(struct device *dev,
57 dma_addr_t dma_handle, 57 dma_addr_t dma_handle,
58 size_t size, int direction); 58 size_t size, int direction);
59 59
60extern void debug_dma_sync_single_range_for_cpu(struct device *dev,
61 dma_addr_t dma_handle,
62 unsigned long offset,
63 size_t size,
64 int direction);
65
66extern void debug_dma_sync_single_range_for_device(struct device *dev,
67 dma_addr_t dma_handle,
68 unsigned long offset,
69 size_t size, int direction);
70
60#else /* CONFIG_DMA_API_DEBUG */ 71#else /* CONFIG_DMA_API_DEBUG */
61 72
62static inline void dma_debug_init(u32 num_entries) 73static inline void dma_debug_init(u32 num_entries)
@@ -109,6 +120,22 @@ static inline void debug_dma_sync_single_for_device(struct device *dev,
109{ 120{
110} 121}
111 122
123static inline void debug_dma_sync_single_range_for_cpu(struct device *dev,
124 dma_addr_t dma_handle,
125 unsigned long offset,
126 size_t size,
127 int direction)
128{
129}
130
131static inline void debug_dma_sync_single_range_for_device(struct device *dev,
132 dma_addr_t dma_handle,
133 unsigned long offset,
134 size_t size,
135 int direction)
136{
137}
138
112#endif /* CONFIG_DMA_API_DEBUG */ 139#endif /* CONFIG_DMA_API_DEBUG */
113 140
114#endif /* __DMA_DEBUG_H */ 141#endif /* __DMA_DEBUG_H */
diff --git a/lib/dma-debug.c b/lib/dma-debug.c
index 714cfb6ca0e4..d1c0ac1831b7 100644
--- a/lib/dma-debug.c
+++ b/lib/dma-debug.c
@@ -758,3 +758,27 @@ void debug_dma_sync_single_for_device(struct device *dev,
758} 758}
759EXPORT_SYMBOL(debug_dma_sync_single_for_device); 759EXPORT_SYMBOL(debug_dma_sync_single_for_device);
760 760
761void debug_dma_sync_single_range_for_cpu(struct device *dev,
762 dma_addr_t dma_handle,
763 unsigned long offset, size_t size,
764 int direction)
765{
766 if (unlikely(global_disable))
767 return;
768
769 check_sync(dev, dma_handle, size, offset, direction, true);
770}
771EXPORT_SYMBOL(debug_dma_sync_single_range_for_cpu);
772
773void debug_dma_sync_single_range_for_device(struct device *dev,
774 dma_addr_t dma_handle,
775 unsigned long offset,
776 size_t size, int direction)
777{
778 if (unlikely(global_disable))
779 return;
780
781 check_sync(dev, dma_handle, size, offset, direction, false);
782}
783EXPORT_SYMBOL(debug_dma_sync_single_range_for_device);
784