diff options
author | Joerg Roedel <joerg.roedel@amd.com> | 2009-01-09 08:55:38 -0500 |
---|---|---|
committer | Joerg Roedel <joerg.roedel@amd.com> | 2009-03-05 14:35:21 -0500 |
commit | 948408ba3e2a67ed0f95e18ed5be1c622c2c5fc3 (patch) | |
tree | 16b13f15e34772e6c99a09b90ca5cfafaaa8f271 | |
parent | b9d2317e0c4aed02afd20022083b2a485289605d (diff) |
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>
-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 | |||