aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/swiotlb.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/swiotlb.h')
-rw-r--r--include/linux/swiotlb.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/include/linux/swiotlb.h b/include/linux/swiotlb.h
index 250d766f17f7..8c0e349f4a6c 100644
--- a/include/linux/swiotlb.h
+++ b/include/linux/swiotlb.h
@@ -25,6 +25,28 @@ extern int swiotlb_force;
25extern void swiotlb_init(int verbose); 25extern void swiotlb_init(int verbose);
26extern void swiotlb_init_with_tbl(char *tlb, unsigned long nslabs, int verbose); 26extern void swiotlb_init_with_tbl(char *tlb, unsigned long nslabs, int verbose);
27 27
28/*
29 * Enumeration for sync targets
30 */
31enum dma_sync_target {
32 SYNC_FOR_CPU = 0,
33 SYNC_FOR_DEVICE = 1,
34};
35extern void *swiotlb_tbl_map_single(struct device *hwdev, dma_addr_t tbl_dma_addr,
36 phys_addr_t phys, size_t size,
37 enum dma_data_direction dir);
38
39extern void swiotlb_tbl_unmap_single(struct device *hwdev, char *dma_addr,
40 size_t size, enum dma_data_direction dir);
41
42extern void swiotlb_tbl_sync_single(struct device *hwdev, char *dma_addr,
43 size_t size, enum dma_data_direction dir,
44 enum dma_sync_target target);
45
46/* Accessory functions. */
47extern void swiotlb_bounce(phys_addr_t phys, char *dma_addr, size_t size,
48 enum dma_data_direction dir);
49
28extern void 50extern void
29*swiotlb_alloc_coherent(struct device *hwdev, size_t size, 51*swiotlb_alloc_coherent(struct device *hwdev, size_t size,
30 dma_addr_t *dma_handle, gfp_t flags); 52 dma_addr_t *dma_handle, gfp_t flags);