Commit | Line | Data |
---|---|---|
b097186f KRW |
1 | #ifndef __LINUX_SWIOTLB_XEN_H |
2 | #define __LINUX_SWIOTLB_XEN_H | |
3 | ||
4 | #include <linux/swiotlb.h> | |
5 | ||
6 | extern void xen_swiotlb_init(int verbose); | |
7 | ||
8 | extern void | |
9 | *xen_swiotlb_alloc_coherent(struct device *hwdev, size_t size, | |
baa676fc AP |
10 | dma_addr_t *dma_handle, gfp_t flags, |
11 | struct dma_attrs *attrs); | |
b097186f KRW |
12 | |
13 | extern void | |
14 | xen_swiotlb_free_coherent(struct device *hwdev, size_t size, | |
baa676fc AP |
15 | void *vaddr, dma_addr_t dma_handle, |
16 | struct dma_attrs *attrs); | |
b097186f KRW |
17 | |
18 | extern dma_addr_t xen_swiotlb_map_page(struct device *dev, struct page *page, | |
19 | unsigned long offset, size_t size, | |
20 | enum dma_data_direction dir, | |
21 | struct dma_attrs *attrs); | |
22 | ||
23 | extern void xen_swiotlb_unmap_page(struct device *hwdev, dma_addr_t dev_addr, | |
24 | size_t size, enum dma_data_direction dir, | |
25 | struct dma_attrs *attrs); | |
26 | /* | |
27 | extern int | |
28 | xen_swiotlb_map_sg(struct device *hwdev, struct scatterlist *sg, int nents, | |
29 | enum dma_data_direction dir); | |
30 | ||
31 | extern void | |
32 | xen_swiotlb_unmap_sg(struct device *hwdev, struct scatterlist *sg, int nents, | |
33 | enum dma_data_direction dir); | |
34 | */ | |
35 | extern int | |
36 | xen_swiotlb_map_sg_attrs(struct device *hwdev, struct scatterlist *sgl, | |
37 | int nelems, enum dma_data_direction dir, | |
38 | struct dma_attrs *attrs); | |
39 | ||
40 | extern void | |
41 | xen_swiotlb_unmap_sg_attrs(struct device *hwdev, struct scatterlist *sgl, | |
42 | int nelems, enum dma_data_direction dir, | |
43 | struct dma_attrs *attrs); | |
44 | ||
45 | extern void | |
46 | xen_swiotlb_sync_single_for_cpu(struct device *hwdev, dma_addr_t dev_addr, | |
47 | size_t size, enum dma_data_direction dir); | |
48 | ||
49 | extern void | |
50 | xen_swiotlb_sync_sg_for_cpu(struct device *hwdev, struct scatterlist *sg, | |
51 | int nelems, enum dma_data_direction dir); | |
52 | ||
53 | extern void | |
54 | xen_swiotlb_sync_single_for_device(struct device *hwdev, dma_addr_t dev_addr, | |
55 | size_t size, enum dma_data_direction dir); | |
56 | ||
57 | extern void | |
58 | xen_swiotlb_sync_sg_for_device(struct device *hwdev, struct scatterlist *sg, | |
59 | int nelems, enum dma_data_direction dir); | |
60 | ||
61 | extern int | |
62 | xen_swiotlb_dma_mapping_error(struct device *hwdev, dma_addr_t dma_addr); | |
63 | ||
64 | extern int | |
65 | xen_swiotlb_dma_supported(struct device *hwdev, u64 mask); | |
66 | ||
67 | #endif /* __LINUX_SWIOTLB_XEN_H */ |