diff options
-rw-r--r-- | arch/ia64/dig/dig_vtd_iommu.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/arch/ia64/dig/dig_vtd_iommu.c b/arch/ia64/dig/dig_vtd_iommu.c index 1c8a079017a3..fdb8ba9f4992 100644 --- a/arch/ia64/dig/dig_vtd_iommu.c +++ b/arch/ia64/dig/dig_vtd_iommu.c | |||
@@ -1,6 +1,7 @@ | |||
1 | #include <linux/types.h> | 1 | #include <linux/types.h> |
2 | #include <linux/kernel.h> | 2 | #include <linux/kernel.h> |
3 | #include <linux/module.h> | 3 | #include <linux/module.h> |
4 | #include <linux/dma-mapping.h> | ||
4 | #include <linux/intel-iommu.h> | 5 | #include <linux/intel-iommu.h> |
5 | 6 | ||
6 | void * | 7 | void * |
@@ -57,3 +58,20 @@ vtd_dma_mapping_error(struct device *dev, dma_addr_t dma_addr) | |||
57 | return 0; | 58 | return 0; |
58 | } | 59 | } |
59 | EXPORT_SYMBOL_GPL(vtd_dma_mapping_error); | 60 | EXPORT_SYMBOL_GPL(vtd_dma_mapping_error); |
61 | |||
62 | extern int iommu_dma_supported(struct device *dev, u64 mask); | ||
63 | |||
64 | struct dma_mapping_ops vtd_dma_ops = { | ||
65 | .alloc_coherent = vtd_alloc_coherent, | ||
66 | .free_coherent = vtd_free_coherent, | ||
67 | .map_single_attrs = vtd_map_single_attrs, | ||
68 | .unmap_single_attrs = vtd_unmap_single_attrs, | ||
69 | .map_sg_attrs = vtd_map_sg_attrs, | ||
70 | .unmap_sg_attrs = vtd_unmap_sg_attrs, | ||
71 | .sync_single_for_cpu = machvec_dma_sync_single, | ||
72 | .sync_sg_for_cpu = machvec_dma_sync_sg, | ||
73 | .sync_single_for_device = machvec_dma_sync_single, | ||
74 | .sync_sg_for_device = machvec_dma_sync_sg, | ||
75 | .dma_supported_op = iommu_dma_supported, | ||
76 | .mapping_error = vtd_dma_mapping_error, | ||
77 | }; | ||