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