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, | |
10 | dma_addr_t *dma_handle, gfp_t flags); | |
11 | ||
12 | extern void | |
13 | xen_swiotlb_free_coherent(struct device *hwdev, size_t size, | |
14 | void *vaddr, dma_addr_t dma_handle); | |
15 | ||
16 | extern dma_addr_t xen_swiotlb_map_page(struct device *dev, struct page *page, | |
17 | unsigned long offset, size_t size, | |
18 | enum dma_data_direction dir, | |
19 | struct dma_attrs *attrs); | |
20 | ||
21 | extern void xen_swiotlb_unmap_page(struct device *hwdev, dma_addr_t dev_addr, | |
22 | size_t size, enum dma_data_direction dir, | |
23 | struct dma_attrs *attrs); | |
24 | /* | |
25 | extern int | |
26 | xen_swiotlb_map_sg(struct device *hwdev, struct scatterlist *sg, int nents, | |
27 | enum dma_data_direction dir); | |
28 | ||
29 | extern void | |
30 | xen_swiotlb_unmap_sg(struct device *hwdev, struct scatterlist *sg, int nents, | |
31 | enum dma_data_direction dir); | |
32 | */ | |
33 | extern int | |
34 | xen_swiotlb_map_sg_attrs(struct device *hwdev, struct scatterlist *sgl, | |
35 | int nelems, enum dma_data_direction dir, | |
36 | struct dma_attrs *attrs); | |
37 | ||
38 | extern void | |
39 | xen_swiotlb_unmap_sg_attrs(struct device *hwdev, struct scatterlist *sgl, | |
40 | int nelems, enum dma_data_direction dir, | |
41 | struct dma_attrs *attrs); | |
42 | ||
43 | extern void | |
44 | xen_swiotlb_sync_single_for_cpu(struct device *hwdev, dma_addr_t dev_addr, | |
45 | size_t size, enum dma_data_direction dir); | |
46 | ||
47 | extern void | |
48 | xen_swiotlb_sync_sg_for_cpu(struct device *hwdev, struct scatterlist *sg, | |
49 | int nelems, enum dma_data_direction dir); | |
50 | ||
51 | extern void | |
52 | xen_swiotlb_sync_single_for_device(struct device *hwdev, dma_addr_t dev_addr, | |
53 | size_t size, enum dma_data_direction dir); | |
54 | ||
55 | extern void | |
56 | xen_swiotlb_sync_sg_for_device(struct device *hwdev, struct scatterlist *sg, | |
57 | int nelems, enum dma_data_direction dir); | |
58 | ||
59 | extern int | |
60 | xen_swiotlb_dma_mapping_error(struct device *hwdev, dma_addr_t dma_addr); | |
61 | ||
62 | extern int | |
63 | xen_swiotlb_dma_supported(struct device *hwdev, u64 mask); | |
64 | ||
65 | #endif /* __LINUX_SWIOTLB_XEN_H */ |