1
2
3
4
5
6
7
8#ifndef _KERNEL_DMA_DEBUG_H
9#define _KERNEL_DMA_DEBUG_H
10
11#ifdef CONFIG_DMA_API_DEBUG
12extern void debug_dma_map_page(struct device *dev, struct page *page,
13 size_t offset, size_t size,
14 int direction, dma_addr_t dma_addr);
15
16extern void debug_dma_unmap_page(struct device *dev, dma_addr_t addr,
17 size_t size, int direction);
18
19extern void debug_dma_map_sg(struct device *dev, struct scatterlist *sg,
20 int nents, int mapped_ents, int direction);
21
22extern void debug_dma_unmap_sg(struct device *dev, struct scatterlist *sglist,
23 int nelems, int dir);
24
25extern void debug_dma_alloc_coherent(struct device *dev, size_t size,
26 dma_addr_t dma_addr, void *virt);
27
28extern void debug_dma_free_coherent(struct device *dev, size_t size,
29 void *virt, dma_addr_t addr);
30
31extern void debug_dma_map_resource(struct device *dev, phys_addr_t addr,
32 size_t size, int direction,
33 dma_addr_t dma_addr);
34
35extern void debug_dma_unmap_resource(struct device *dev, dma_addr_t dma_addr,
36 size_t size, int direction);
37
38extern void debug_dma_sync_single_for_cpu(struct device *dev,
39 dma_addr_t dma_handle, size_t size,
40 int direction);
41
42extern void debug_dma_sync_single_for_device(struct device *dev,
43 dma_addr_t dma_handle,
44 size_t size, int direction);
45
46extern void debug_dma_sync_sg_for_cpu(struct device *dev,
47 struct scatterlist *sg,
48 int nelems, int direction);
49
50extern void debug_dma_sync_sg_for_device(struct device *dev,
51 struct scatterlist *sg,
52 int nelems, int direction);
53#else
54static inline void debug_dma_map_page(struct device *dev, struct page *page,
55 size_t offset, size_t size,
56 int direction, dma_addr_t dma_addr)
57{
58}
59
60static inline void debug_dma_unmap_page(struct device *dev, dma_addr_t addr,
61 size_t size, int direction)
62{
63}
64
65static inline void debug_dma_map_sg(struct device *dev, struct scatterlist *sg,
66 int nents, int mapped_ents, int direction)
67{
68}
69
70static inline void debug_dma_unmap_sg(struct device *dev,
71 struct scatterlist *sglist,
72 int nelems, int dir)
73{
74}
75
76static inline void debug_dma_alloc_coherent(struct device *dev, size_t size,
77 dma_addr_t dma_addr, void *virt)
78{
79}
80
81static inline void debug_dma_free_coherent(struct device *dev, size_t size,
82 void *virt, dma_addr_t addr)
83{
84}
85
86static inline void debug_dma_map_resource(struct device *dev, phys_addr_t addr,
87 size_t size, int direction,
88 dma_addr_t dma_addr)
89{
90}
91
92static inline void debug_dma_unmap_resource(struct device *dev,
93 dma_addr_t dma_addr, size_t size,
94 int direction)
95{
96}
97
98static inline void debug_dma_sync_single_for_cpu(struct device *dev,
99 dma_addr_t dma_handle,
100 size_t size, int direction)
101{
102}
103
104static inline void debug_dma_sync_single_for_device(struct device *dev,
105 dma_addr_t dma_handle,
106 size_t size, int direction)
107{
108}
109
110static inline void debug_dma_sync_sg_for_cpu(struct device *dev,
111 struct scatterlist *sg,
112 int nelems, int direction)
113{
114}
115
116static inline void debug_dma_sync_sg_for_device(struct device *dev,
117 struct scatterlist *sg,
118 int nelems, int direction)
119{
120}
121#endif
122#endif
123