Blame view
include/linux/dma-debug.h
5.61 KB
f2f45e5f3
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
/* * Copyright (C) 2008 Advanced Micro Devices, Inc. * * Author: Joerg Roedel <joerg.roedel@amd.com> * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 as published * by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef __DMA_DEBUG_H #define __DMA_DEBUG_H |
6bf078715
|
22 |
#include <linux/types.h> |
f2f45e5f3
|
23 |
struct device; |
972aa45ce
|
24 |
struct scatterlist; |
41531c8f5
|
25 |
struct bus_type; |
f2f45e5f3
|
26 |
|
6bf078715
|
27 |
#ifdef CONFIG_DMA_API_DEBUG |
41531c8f5
|
28 |
extern void dma_debug_add_bus(struct bus_type *bus); |
6bf078715
|
29 |
extern void dma_debug_init(u32 num_entries); |
e6a1a89d5
|
30 |
extern int dma_debug_resize_entries(u32 num_entries); |
f62bc980e
|
31 32 33 34 |
extern void debug_dma_map_page(struct device *dev, struct page *page, size_t offset, size_t size, int direction, dma_addr_t dma_addr, bool map_single); |
6c9c6d630
|
35 |
extern void debug_dma_mapping_error(struct device *dev, dma_addr_t dma_addr); |
f62bc980e
|
36 37 |
extern void debug_dma_unmap_page(struct device *dev, dma_addr_t addr, size_t size, int direction, bool map_single); |
972aa45ce
|
38 39 40 41 42 |
extern void debug_dma_map_sg(struct device *dev, struct scatterlist *sg, int nents, int mapped_ents, int direction); extern void debug_dma_unmap_sg(struct device *dev, struct scatterlist *sglist, int nelems, int dir); |
f62bc980e
|
43 |
|
6bfd44987
|
44 45 46 47 48 |
extern void debug_dma_alloc_coherent(struct device *dev, size_t size, dma_addr_t dma_addr, void *virt); extern void debug_dma_free_coherent(struct device *dev, size_t size, void *virt, dma_addr_t addr); |
0e74b34df
|
49 50 51 52 53 54 |
extern void debug_dma_map_resource(struct device *dev, phys_addr_t addr, size_t size, int direction, dma_addr_t dma_addr); extern void debug_dma_unmap_resource(struct device *dev, dma_addr_t dma_addr, size_t size, int direction); |
b9d2317e0
|
55 56 57 58 59 60 61 |
extern void debug_dma_sync_single_for_cpu(struct device *dev, dma_addr_t dma_handle, size_t size, int direction); extern void debug_dma_sync_single_for_device(struct device *dev, dma_addr_t dma_handle, size_t size, int direction); |
948408ba3
|
62 63 64 65 66 67 68 69 70 71 |
extern void debug_dma_sync_single_range_for_cpu(struct device *dev, dma_addr_t dma_handle, unsigned long offset, size_t size, int direction); extern void debug_dma_sync_single_range_for_device(struct device *dev, dma_addr_t dma_handle, unsigned long offset, size_t size, int direction); |
a31fba5d6
|
72 73 74 75 76 77 78 |
extern void debug_dma_sync_sg_for_cpu(struct device *dev, struct scatterlist *sg, int nelems, int direction); extern void debug_dma_sync_sg_for_device(struct device *dev, struct scatterlist *sg, int nelems, int direction); |
ac26c18bd
|
79 |
extern void debug_dma_dump_mappings(struct device *dev); |
0abdd7a81
|
80 |
extern void debug_dma_assert_idle(struct page *page); |
6bf078715
|
81 |
#else /* CONFIG_DMA_API_DEBUG */ |
84be58d46
|
82 |
static inline void dma_debug_add_bus(struct bus_type *bus) |
41531c8f5
|
83 84 |
{ } |
6bf078715
|
85 86 87 |
static inline void dma_debug_init(u32 num_entries) { } |
e6a1a89d5
|
88 89 90 91 |
static inline int dma_debug_resize_entries(u32 num_entries) { return 0; } |
f62bc980e
|
92 93 94 95 96 97 |
static inline void debug_dma_map_page(struct device *dev, struct page *page, size_t offset, size_t size, int direction, dma_addr_t dma_addr, bool map_single) { } |
6c9c6d630
|
98 99 100 101 |
static inline void debug_dma_mapping_error(struct device *dev, dma_addr_t dma_addr) { } |
f62bc980e
|
102 103 104 105 106 |
static inline void debug_dma_unmap_page(struct device *dev, dma_addr_t addr, size_t size, int direction, bool map_single) { } |
972aa45ce
|
107 108 109 110 111 112 113 114 115 116 |
static inline void debug_dma_map_sg(struct device *dev, struct scatterlist *sg, int nents, int mapped_ents, int direction) { } static inline void debug_dma_unmap_sg(struct device *dev, struct scatterlist *sglist, int nelems, int dir) { } |
f62bc980e
|
117 |
|
6bfd44987
|
118 119 120 121 122 123 124 125 126 |
static inline void debug_dma_alloc_coherent(struct device *dev, size_t size, dma_addr_t dma_addr, void *virt) { } static inline void debug_dma_free_coherent(struct device *dev, size_t size, void *virt, dma_addr_t addr) { } |
0e74b34df
|
127 128 129 130 131 132 133 134 135 136 137 |
static inline void debug_dma_map_resource(struct device *dev, phys_addr_t addr, size_t size, int direction, dma_addr_t dma_addr) { } static inline void debug_dma_unmap_resource(struct device *dev, dma_addr_t dma_addr, size_t size, int direction) { } |
b9d2317e0
|
138 139 140 141 142 143 144 145 146 147 148 |
static inline void debug_dma_sync_single_for_cpu(struct device *dev, dma_addr_t dma_handle, size_t size, int direction) { } static inline void debug_dma_sync_single_for_device(struct device *dev, dma_addr_t dma_handle, size_t size, int direction) { } |
948408ba3
|
149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 |
static inline void debug_dma_sync_single_range_for_cpu(struct device *dev, dma_addr_t dma_handle, unsigned long offset, size_t size, int direction) { } static inline void debug_dma_sync_single_range_for_device(struct device *dev, dma_addr_t dma_handle, unsigned long offset, size_t size, int direction) { } |
a31fba5d6
|
164 165 166 167 168 169 170 171 172 173 174 |
static inline void debug_dma_sync_sg_for_cpu(struct device *dev, struct scatterlist *sg, int nelems, int direction) { } static inline void debug_dma_sync_sg_for_device(struct device *dev, struct scatterlist *sg, int nelems, int direction) { } |
ac26c18bd
|
175 176 177 |
static inline void debug_dma_dump_mappings(struct device *dev) { } |
0abdd7a81
|
178 179 180 |
static inline void debug_dma_assert_idle(struct page *page) { } |
6bf078715
|
181 |
#endif /* CONFIG_DMA_API_DEBUG */ |
f2f45e5f3
|
182 |
#endif /* __DMA_DEBUG_H */ |