kernel/Kconfig.kexec: drop select of KEXEC for CRASH_DUMP
[platform/kernel/linux-starfive.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                                unsigned long attrs);
16
17 extern void debug_dma_unmap_page(struct device *dev, dma_addr_t addr,
18                                  size_t size, int direction);
19
20 extern void debug_dma_map_sg(struct device *dev, struct scatterlist *sg,
21                              int nents, int mapped_ents, int direction,
22                              unsigned long attrs);
23
24 extern void debug_dma_unmap_sg(struct device *dev, struct scatterlist *sglist,
25                                int nelems, int dir);
26
27 extern void debug_dma_alloc_coherent(struct device *dev, size_t size,
28                                      dma_addr_t dma_addr, void *virt,
29                                      unsigned long attrs);
30
31 extern void debug_dma_free_coherent(struct device *dev, size_t size,
32                                     void *virt, dma_addr_t addr);
33
34 extern void debug_dma_map_resource(struct device *dev, phys_addr_t addr,
35                                    size_t size, int direction,
36                                    dma_addr_t dma_addr,
37                                    unsigned long attrs);
38
39 extern void debug_dma_unmap_resource(struct device *dev, dma_addr_t dma_addr,
40                                      size_t size, int direction);
41
42 extern void debug_dma_sync_single_for_cpu(struct device *dev,
43                                           dma_addr_t dma_handle, size_t size,
44                                           int direction);
45
46 extern void debug_dma_sync_single_for_device(struct device *dev,
47                                              dma_addr_t dma_handle,
48                                              size_t size, int direction);
49
50 extern void debug_dma_sync_sg_for_cpu(struct device *dev,
51                                       struct scatterlist *sg,
52                                       int nelems, int direction);
53
54 extern void debug_dma_sync_sg_for_device(struct device *dev,
55                                          struct scatterlist *sg,
56                                          int nelems, int direction);
57 #else /* CONFIG_DMA_API_DEBUG */
58 static inline void debug_dma_map_page(struct device *dev, struct page *page,
59                                       size_t offset, size_t size,
60                                       int direction, dma_addr_t dma_addr,
61                                       unsigned long attrs)
62 {
63 }
64
65 static inline void debug_dma_unmap_page(struct device *dev, dma_addr_t addr,
66                                         size_t size, int direction)
67 {
68 }
69
70 static inline void debug_dma_map_sg(struct device *dev, struct scatterlist *sg,
71                                     int nents, int mapped_ents, int direction,
72                                     unsigned long attrs)
73 {
74 }
75
76 static inline void debug_dma_unmap_sg(struct device *dev,
77                                       struct scatterlist *sglist,
78                                       int nelems, int dir)
79 {
80 }
81
82 static inline void debug_dma_alloc_coherent(struct device *dev, size_t size,
83                                             dma_addr_t dma_addr, void *virt,
84                                             unsigned long attrs)
85 {
86 }
87
88 static inline void debug_dma_free_coherent(struct device *dev, size_t size,
89                                            void *virt, dma_addr_t addr)
90 {
91 }
92
93 static inline void debug_dma_map_resource(struct device *dev, phys_addr_t addr,
94                                           size_t size, int direction,
95                                           dma_addr_t dma_addr,
96                                           unsigned long attrs)
97 {
98 }
99
100 static inline void debug_dma_unmap_resource(struct device *dev,
101                                             dma_addr_t dma_addr, size_t size,
102                                             int direction)
103 {
104 }
105
106 static inline void debug_dma_sync_single_for_cpu(struct device *dev,
107                                                  dma_addr_t dma_handle,
108                                                  size_t size, int direction)
109 {
110 }
111
112 static inline void debug_dma_sync_single_for_device(struct device *dev,
113                                                     dma_addr_t dma_handle,
114                                                     size_t size, int direction)
115 {
116 }
117
118 static inline void debug_dma_sync_sg_for_cpu(struct device *dev,
119                                              struct scatterlist *sg,
120                                              int nelems, int direction)
121 {
122 }
123
124 static inline void debug_dma_sync_sg_for_device(struct device *dev,
125                                                 struct scatterlist *sg,
126                                                 int nelems, int direction)
127 {
128 }
129 #endif /* CONFIG_DMA_API_DEBUG */
130 #endif /* _KERNEL_DMA_DEBUG_H */