H. Peter Anvin | 1965aae | 2008-10-22 22:26:29 -0700 | [diff] [blame] | 1 | #ifndef _ASM_X86_SWIOTLB_H |
| 2 | #define _ASM_X86_SWIOTLB_H |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 3 | |
FUJITA Tomonori | 1da4f98 | 2008-12-28 15:02:05 +0900 | [diff] [blame] | 4 | #include <linux/swiotlb.h> |
Muli Ben-Yehuda | 17a941d | 2006-01-11 22:44:42 +0100 | [diff] [blame] | 5 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 6 | #ifdef CONFIG_SWIOTLB |
| 7 | extern int swiotlb; |
Konrad Rzeszutek Wilk | efa631c | 2010-08-26 13:57:59 -0400 | [diff] [blame] | 8 | extern int __init pci_swiotlb_detect_override(void); |
| 9 | extern int __init pci_swiotlb_detect_4gb(void); |
FUJITA Tomonori | 186a250 | 2009-12-15 20:47:56 +0900 | [diff] [blame] | 10 | extern void __init pci_swiotlb_init(void); |
Konrad Rzeszutek Wilk | efa631c | 2010-08-26 13:57:59 -0400 | [diff] [blame] | 11 | extern void __init pci_swiotlb_late_init(void); |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 12 | #else |
| 13 | #define swiotlb 0 |
Konrad Rzeszutek Wilk | efa631c | 2010-08-26 13:57:59 -0400 | [diff] [blame] | 14 | static inline int pci_swiotlb_detect_override(void) |
| 15 | { |
| 16 | return 0; |
| 17 | } |
| 18 | static inline int pci_swiotlb_detect_4gb(void) |
FUJITA Tomonori | be54f9d | 2008-07-11 10:23:45 +0900 | [diff] [blame] | 19 | { |
FUJITA Tomonori | b18485e | 2009-11-12 00:03:28 +0900 | [diff] [blame] | 20 | return 0; |
FUJITA Tomonori | be54f9d | 2008-07-11 10:23:45 +0900 | [diff] [blame] | 21 | } |
FUJITA Tomonori | 186a250 | 2009-12-15 20:47:56 +0900 | [diff] [blame] | 22 | static inline void pci_swiotlb_init(void) |
| 23 | { |
| 24 | } |
Konrad Rzeszutek Wilk | efa631c | 2010-08-26 13:57:59 -0400 | [diff] [blame] | 25 | static inline void pci_swiotlb_late_init(void) |
| 26 | { |
| 27 | } |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 28 | #endif |
| 29 | |
Jan Beulich | cde14bb | 2007-02-05 18:46:40 -0800 | [diff] [blame] | 30 | static inline void dma_mark_clean(void *addr, size_t size) {} |
| 31 | |
Akinobu Mita | 9c5a362 | 2014-06-04 16:06:50 -0700 | [diff] [blame] | 32 | extern void *x86_swiotlb_alloc_coherent(struct device *hwdev, size_t size, |
| 33 | dma_addr_t *dma_handle, gfp_t flags, |
| 34 | struct dma_attrs *attrs); |
| 35 | extern void x86_swiotlb_free_coherent(struct device *dev, size_t size, |
| 36 | void *vaddr, dma_addr_t dma_addr, |
| 37 | struct dma_attrs *attrs); |
| 38 | |
H. Peter Anvin | 1965aae | 2008-10-22 22:26:29 -0700 | [diff] [blame] | 39 | #endif /* _ASM_X86_SWIOTLB_H */ |