dma-debug: add checking for map/unmap_page/single
[linux-2.6] / include / linux / dma-debug.h
1 /*
2  * Copyright (C) 2008 Advanced Micro Devices, Inc.
3  *
4  * Author: Joerg Roedel <joerg.roedel@amd.com>
5  *
6  * This program is free software; you can redistribute it and/or modify it
7  * under the terms of the GNU General Public License version 2 as published
8  * by the Free Software Foundation.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
18  */
19
20 #ifndef __DMA_DEBUG_H
21 #define __DMA_DEBUG_H
22
23 #include <linux/types.h>
24
25 struct device;
26
27 #ifdef CONFIG_DMA_API_DEBUG
28
29 extern void dma_debug_init(u32 num_entries);
30
31 extern void debug_dma_map_page(struct device *dev, struct page *page,
32                                size_t offset, size_t size,
33                                int direction, dma_addr_t dma_addr,
34                                bool map_single);
35
36 extern void debug_dma_unmap_page(struct device *dev, dma_addr_t addr,
37                                  size_t size, int direction, bool map_single);
38
39
40 #else /* CONFIG_DMA_API_DEBUG */
41
42 static inline void dma_debug_init(u32 num_entries)
43 {
44 }
45
46 static inline void debug_dma_map_page(struct device *dev, struct page *page,
47                                       size_t offset, size_t size,
48                                       int direction, dma_addr_t dma_addr,
49                                       bool map_single)
50 {
51 }
52
53 static inline void debug_dma_unmap_page(struct device *dev, dma_addr_t addr,
54                                         size_t size, int direction,
55                                         bool map_single)
56 {
57 }
58
59
60 #endif /* CONFIG_DMA_API_DEBUG */
61
62 #endif /* __DMA_DEBUG_H */