dma-mapping: add the device argument to dma_mapping_error()
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / include / asm-x86 / swiotlb.h
CommitLineData
1da177e4 1#ifndef _ASM_SWIOTLB_H
cde14bbf 2#define _ASM_SWIOTLB_H 1
1da177e4 3
17a941d8
MBY
4#include <asm/dma-mapping.h>
5
1da177e4
LT
6/* SWIOTLB interface */
7
17a941d8
MBY
8extern dma_addr_t swiotlb_map_single(struct device *hwdev, void *ptr,
9 size_t size, int dir);
10extern void *swiotlb_alloc_coherent(struct device *hwdev, size_t size,
a4c2d7d9 11 dma_addr_t *dma_handle, gfp_t flags);
1da177e4 12extern void swiotlb_unmap_single(struct device *hwdev, dma_addr_t dev_addr,
a4c2d7d9 13 size_t size, int dir);
1da177e4 14extern void swiotlb_sync_single_for_cpu(struct device *hwdev,
a4c2d7d9
JP
15 dma_addr_t dev_addr,
16 size_t size, int dir);
1da177e4 17extern void swiotlb_sync_single_for_device(struct device *hwdev,
a4c2d7d9
JP
18 dma_addr_t dev_addr,
19 size_t size, int dir);
878a97cf
JL
20extern void swiotlb_sync_single_range_for_cpu(struct device *hwdev,
21 dma_addr_t dev_addr,
22 unsigned long offset,
23 size_t size, int dir);
24extern void swiotlb_sync_single_range_for_device(struct device *hwdev,
25 dma_addr_t dev_addr,
26 unsigned long offset,
27 size_t size, int dir);
1da177e4 28extern void swiotlb_sync_sg_for_cpu(struct device *hwdev,
a4c2d7d9
JP
29 struct scatterlist *sg, int nelems,
30 int dir);
1da177e4 31extern void swiotlb_sync_sg_for_device(struct device *hwdev,
a4c2d7d9
JP
32 struct scatterlist *sg, int nelems,
33 int dir);
1da177e4 34extern int swiotlb_map_sg(struct device *hwdev, struct scatterlist *sg,
a4c2d7d9 35 int nents, int direction);
1da177e4 36extern void swiotlb_unmap_sg(struct device *hwdev, struct scatterlist *sg,
a4c2d7d9 37 int nents, int direction);
8d8bb39b 38extern int swiotlb_dma_mapping_error(struct device *hwdev, dma_addr_t dma_addr);
a4c2d7d9
JP
39extern void swiotlb_free_coherent(struct device *hwdev, size_t size,
40 void *vaddr, dma_addr_t dma_handle);
17a941d8
MBY
41extern int swiotlb_dma_supported(struct device *hwdev, u64 mask);
42extern void swiotlb_init(void);
1da177e4 43
65f87d8a
AK
44extern int swiotlb_force;
45
1da177e4
LT
46#ifdef CONFIG_SWIOTLB
47extern int swiotlb;
be54f9d1 48extern void pci_swiotlb_init(void);
1da177e4
LT
49#else
50#define swiotlb 0
be54f9d1
FT
51static inline void pci_swiotlb_init(void)
52{
53}
1da177e4
LT
54#endif
55
cde14bbf
JB
56static inline void dma_mark_clean(void *addr, size_t size) {}
57
58#endif /* _ASM_SWIOTLB_H */