Line data Source code
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 0 : 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 0 : }
59 :
60 0 : static inline void debug_dma_unmap_page(struct device *dev, dma_addr_t addr,
61 : size_t size, int direction)
62 : {
63 0 : }
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 0 : static inline void debug_dma_unmap_sg(struct device *dev,
71 : struct scatterlist *sglist,
72 : int nelems, int dir)
73 : {
74 0 : }
75 :
76 0 : static inline void debug_dma_alloc_coherent(struct device *dev, size_t size,
77 : dma_addr_t dma_addr, void *virt)
78 : {
79 0 : }
80 :
81 0 : static inline void debug_dma_free_coherent(struct device *dev, size_t size,
82 : void *virt, dma_addr_t addr)
83 : {
84 0 : }
85 :
86 0 : 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 0 : }
91 :
92 0 : static inline void debug_dma_unmap_resource(struct device *dev,
93 : dma_addr_t dma_addr, size_t size,
94 : int direction)
95 : {
96 0 : }
97 :
98 0 : 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 0 : }
103 :
104 0 : 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 0 : }
109 :
110 0 : static inline void debug_dma_sync_sg_for_cpu(struct device *dev,
111 : struct scatterlist *sg,
112 : int nelems, int direction)
113 : {
114 0 : }
115 :
116 0 : static inline void debug_dma_sync_sg_for_device(struct device *dev,
117 : struct scatterlist *sg,
118 : int nelems, int direction)
119 : {
120 0 : }
121 : #endif /* CONFIG_DMA_API_DEBUG */
122 : #endif /* _KERNEL_DMA_DEBUG_H */
|