diff options
| author | Joerg Roedel <joerg.roedel@amd.com> | 2009-01-09 14:55:38 +0100 | 
|---|---|---|
| committer | Joerg Roedel <joerg.roedel@amd.com> | 2009-03-05 20:35:21 +0100 | 
| commit | 948408ba3e2a67ed0f95e18ed5be1c622c2c5fc3 (patch) | |
| tree | 16b13f15e34772e6c99a09b90ca5cfafaaa8f271 | |
| parent | b9d2317e0c4aed02afd20022083b2a485289605d (diff) | |
| download | olio-linux-3.10-948408ba3e2a67ed0f95e18ed5be1c622c2c5fc3.tar.xz olio-linux-3.10-948408ba3e2a67ed0f95e18ed5be1c622c2c5fc3.zip  | |
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 0eee7af5143..e9b903503ad 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,  					     dma_addr_t dma_handle,  					     size_t size, int direction); +extern void debug_dma_sync_single_range_for_cpu(struct device *dev, +						dma_addr_t dma_handle, +						unsigned long offset, +						size_t size, +						int direction); + +extern void debug_dma_sync_single_range_for_device(struct device *dev, +						   dma_addr_t dma_handle, +						   unsigned long offset, +						   size_t size, int direction); +  #else /* CONFIG_DMA_API_DEBUG */  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,  {  } +static inline void debug_dma_sync_single_range_for_cpu(struct device *dev, +						       dma_addr_t dma_handle, +						       unsigned long offset, +						       size_t size, +						       int direction) +{ +} + +static inline void debug_dma_sync_single_range_for_device(struct device *dev, +							  dma_addr_t dma_handle, +							  unsigned long offset, +							  size_t size, +							  int direction) +{ +} +  #endif /* CONFIG_DMA_API_DEBUG */  #endif /* __DMA_DEBUG_H */ diff --git a/lib/dma-debug.c b/lib/dma-debug.c index 714cfb6ca0e..d1c0ac1831b 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,  }  EXPORT_SYMBOL(debug_dma_sync_single_for_device); +void debug_dma_sync_single_range_for_cpu(struct device *dev, +					 dma_addr_t dma_handle, +					 unsigned long offset, size_t size, +					 int direction) +{ +	if (unlikely(global_disable)) +		return; + +	check_sync(dev, dma_handle, size, offset, direction, true); +} +EXPORT_SYMBOL(debug_dma_sync_single_range_for_cpu); + +void debug_dma_sync_single_range_for_device(struct device *dev, +					    dma_addr_t dma_handle, +					    unsigned long offset, +					    size_t size, int direction) +{ +	if (unlikely(global_disable)) +		return; + +	check_sync(dev, dma_handle, size, offset, direction, false); +} +EXPORT_SYMBOL(debug_dma_sync_single_range_for_device); +  |