Commit 948408ba3e2a67ed0f95e18ed5be1c622c2c5fc3

Authored by Joerg Roedel
1 parent b9d2317e0c

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  
... ... @@ -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);