Commit 948408ba3e2a67ed0f95e18ed5be1c622c2c5fc3
1 parent
b9d2317e0c
Exists in
master
and in
4 other branches
dma-debug: add checks for sync_single_range_*
Impact: add debug callbacks for dma_sync_single_range_for_* functions Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Showing 2 changed files with 51 additions and 0 deletions Side-by-side Diff
include/linux/dma-debug.h
... | ... | @@ -57,6 +57,17 @@ |
57 | 57 | dma_addr_t dma_handle, |
58 | 58 | size_t size, int direction); |
59 | 59 | |
60 | +extern 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 | + | |
66 | +extern 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 | 71 | #else /* CONFIG_DMA_API_DEBUG */ |
61 | 72 | |
62 | 73 | static inline void dma_debug_init(u32 num_entries) |
... | ... | @@ -106,6 +117,22 @@ |
106 | 117 | static inline void debug_dma_sync_single_for_device(struct device *dev, |
107 | 118 | dma_addr_t dma_handle, |
108 | 119 | size_t size, int direction) |
120 | +{ | |
121 | +} | |
122 | + | |
123 | +static 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 | + | |
131 | +static 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) | |
109 | 136 | { |
110 | 137 | } |
111 | 138 |
lib/dma-debug.c
... | ... | @@ -757,4 +757,28 @@ |
757 | 757 | check_sync(dev, dma_handle, size, 0, direction, false); |
758 | 758 | } |
759 | 759 | EXPORT_SYMBOL(debug_dma_sync_single_for_device); |
760 | + | |
761 | +void 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 | +} | |
771 | +EXPORT_SYMBOL(debug_dma_sync_single_range_for_cpu); | |
772 | + | |
773 | +void 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 | +} | |
783 | +EXPORT_SYMBOL(debug_dma_sync_single_range_for_device); |