diff options
| -rw-r--r-- | include/linux/dma-debug.h | 27 | ||||
| -rw-r--r-- | lib/dma-debug.c | 24 |
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 | ||
| 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 | #else /* CONFIG_DMA_API_DEBUG */ | 71 | #else /* CONFIG_DMA_API_DEBUG */ |
| 61 | 72 | ||
| 62 | static inline void dma_debug_init(u32 num_entries) | 73 | static 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 | ||
| 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) | ||
| 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 | } |
| 759 | EXPORT_SYMBOL(debug_dma_sync_single_for_device); | 759 | EXPORT_SYMBOL(debug_dma_sync_single_for_device); |
| 760 | 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); | ||
| 784 | |||
