Merge tag 'dlm-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm
[linux-2.6-microblaze.git] / kernel / dma / debug.h
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Copyright (C) 2008 Advanced Micro Devices, Inc.
4  *
5  * Author: Joerg Roedel <joerg.roedel@amd.com>
6  */
7
8 #ifndef _KERNEL_DMA_DEBUG_H
9 #define _KERNEL_DMA_DEBUG_H
10
11 #ifdef CONFIG_DMA_API_DEBUG
12 extern 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
16 extern void debug_dma_unmap_page(struct device *dev, dma_addr_t addr,
17                                  size_t size, int direction);
18
19 extern void debug_dma_map_sg(struct device *dev, struct scatterlist *sg,
20                              int nents, int mapped_ents, int direction);
21
22 extern void debug_dma_unmap_sg(struct device *dev, struct scatterlist *sglist,
23                                int nelems, int dir);
24
25 extern void debug_dma_alloc_coherent(struct device *dev, size_t size,
26                                      dma_addr_t dma_addr, void *virt);
27
28 extern void debug_dma_free_coherent(struct device *dev, size_t size,
29                                     void *virt, dma_addr_t addr);
30
31 extern 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
35 extern void debug_dma_unmap_resource(struct device *dev, dma_addr_t dma_addr,
36                                      size_t size, int direction);
37
38 extern void debug_dma_sync_single_for_cpu(struct device *dev,
39                                           dma_addr_t dma_handle, size_t size,
40                                           int direction);
41
42 extern void debug_dma_sync_single_for_device(struct device *dev,
43                                              dma_addr_t dma_handle,
44                                              size_t size, int direction);
45
46 extern void debug_dma_sync_sg_for_cpu(struct device *dev,
47                                       struct scatterlist *sg,
48                                       int nelems, int direction);
49
50 extern void debug_dma_sync_sg_for_device(struct device *dev,
51                                          struct scatterlist *sg,
52                                          int nelems, int direction);
53 #else /* CONFIG_DMA_API_DEBUG */
54 static 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
60 static inline void debug_dma_unmap_page(struct device *dev, dma_addr_t addr,
61                                         size_t size, int direction)
62 {
63 }
64
65 static inline void debug_dma_map_sg(struct device *dev, struct scatterlist *sg,
66                                     int nents, int mapped_ents, int direction)
67 {
68 }
69
70 static inline void debug_dma_unmap_sg(struct device *dev,
71                                       struct scatterlist *sglist,
72                                       int nelems, int dir)
73 {
74 }
75
76 static inline void debug_dma_alloc_coherent(struct device *dev, size_t size,
77                                             dma_addr_t dma_addr, void *virt)
78 {
79 }
80
81 static inline void debug_dma_free_coherent(struct device *dev, size_t size,
82                                            void *virt, dma_addr_t addr)
83 {
84 }
85
86 static 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
92 static inline void debug_dma_unmap_resource(struct device *dev,
93                                             dma_addr_t dma_addr, size_t size,
94                                             int direction)
95 {
96 }
97
98 static 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
104 static 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
110 static inline void debug_dma_sync_sg_for_cpu(struct device *dev,
111                                              struct scatterlist *sg,
112                                              int nelems, int direction)
113 {
114 }
115
116 static inline void debug_dma_sync_sg_for_device(struct device *dev,
117                                                 struct scatterlist *sg,
118                                                 int nelems, int direction)
119 {
120 }
121 #endif /* CONFIG_DMA_API_DEBUG */
122 #endif /* _KERNEL_DMA_DEBUG_H */