Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/kernel/dma/debug.h
29265 views
1
/* SPDX-License-Identifier: GPL-2.0-only */
2
/*
3
* Copyright (C) 2008 Advanced Micro Devices, Inc.
4
*
5
* Author: Joerg Roedel <[email protected]>
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
extern void debug_dma_alloc_pages(struct device *dev, struct page *page,
58
size_t size, int direction,
59
dma_addr_t dma_addr,
60
unsigned long attrs);
61
extern void debug_dma_free_pages(struct device *dev, struct page *page,
62
size_t size, int direction,
63
dma_addr_t dma_addr);
64
#else /* CONFIG_DMA_API_DEBUG */
65
static inline void debug_dma_map_page(struct device *dev, struct page *page,
66
size_t offset, size_t size,
67
int direction, dma_addr_t dma_addr,
68
unsigned long attrs)
69
{
70
}
71
72
static inline void debug_dma_unmap_page(struct device *dev, dma_addr_t addr,
73
size_t size, int direction)
74
{
75
}
76
77
static inline void debug_dma_map_sg(struct device *dev, struct scatterlist *sg,
78
int nents, int mapped_ents, int direction,
79
unsigned long attrs)
80
{
81
}
82
83
static inline void debug_dma_unmap_sg(struct device *dev,
84
struct scatterlist *sglist,
85
int nelems, int dir)
86
{
87
}
88
89
static inline void debug_dma_alloc_coherent(struct device *dev, size_t size,
90
dma_addr_t dma_addr, void *virt,
91
unsigned long attrs)
92
{
93
}
94
95
static inline void debug_dma_free_coherent(struct device *dev, size_t size,
96
void *virt, dma_addr_t addr)
97
{
98
}
99
100
static inline void debug_dma_map_resource(struct device *dev, phys_addr_t addr,
101
size_t size, int direction,
102
dma_addr_t dma_addr,
103
unsigned long attrs)
104
{
105
}
106
107
static inline void debug_dma_unmap_resource(struct device *dev,
108
dma_addr_t dma_addr, size_t size,
109
int direction)
110
{
111
}
112
113
static inline void debug_dma_sync_single_for_cpu(struct device *dev,
114
dma_addr_t dma_handle,
115
size_t size, int direction)
116
{
117
}
118
119
static inline void debug_dma_sync_single_for_device(struct device *dev,
120
dma_addr_t dma_handle,
121
size_t size, int direction)
122
{
123
}
124
125
static inline void debug_dma_sync_sg_for_cpu(struct device *dev,
126
struct scatterlist *sg,
127
int nelems, int direction)
128
{
129
}
130
131
static inline void debug_dma_sync_sg_for_device(struct device *dev,
132
struct scatterlist *sg,
133
int nelems, int direction)
134
{
135
}
136
137
static inline void debug_dma_alloc_pages(struct device *dev, struct page *page,
138
size_t size, int direction,
139
dma_addr_t dma_addr,
140
unsigned long attrs)
141
{
142
}
143
144
static inline void debug_dma_free_pages(struct device *dev, struct page *page,
145
size_t size, int direction,
146
dma_addr_t dma_addr)
147
{
148
}
149
#endif /* CONFIG_DMA_API_DEBUG */
150
#endif /* _KERNEL_DMA_DEBUG_H */
151
152