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 */ |
131 | |