1 #ifndef _ASM_IA64_MACHVEC_DIG_VTD_h 2 #define _ASM_IA64_MACHVEC_DIG_VTD_h 3 4 extern ia64_mv_setup_t dig_setup; 5 extern ia64_mv_dma_alloc_coherent vtd_alloc_coherent; 6 extern ia64_mv_dma_free_coherent vtd_free_coherent; 7 extern ia64_mv_dma_map_single_attrs vtd_map_single_attrs; 8 extern ia64_mv_dma_unmap_single_attrs vtd_unmap_single_attrs; 9 extern ia64_mv_dma_map_sg_attrs vtd_map_sg_attrs; 10 extern ia64_mv_dma_unmap_sg_attrs vtd_unmap_sg_attrs; 11 extern ia64_mv_dma_supported iommu_dma_supported; 12 extern ia64_mv_dma_mapping_error vtd_dma_mapping_error; 13 extern ia64_mv_dma_init pci_iommu_alloc; 14 15 /* 16 * This stuff has dual use! 17 * 18 * For a generic kernel, the macros are used to initialize the 19 * platform's machvec structure. When compiling a non-generic kernel, 20 * the macros are used directly. 21 */ 22 #define platform_name "dig_vtd" 23 #define platform_setup dig_setup 24 #define platform_dma_init pci_iommu_alloc 25 #define platform_dma_alloc_coherent vtd_alloc_coherent 26 #define platform_dma_free_coherent vtd_free_coherent 27 #define platform_dma_map_single_attrs vtd_map_single_attrs 28 #define platform_dma_unmap_single_attrs vtd_unmap_single_attrs 29 #define platform_dma_map_sg_attrs vtd_map_sg_attrs 30 #define platform_dma_unmap_sg_attrs vtd_unmap_sg_attrs 31 #define platform_dma_sync_single_for_cpu machvec_dma_sync_single 32 #define platform_dma_sync_sg_for_cpu machvec_dma_sync_sg 33 #define platform_dma_sync_single_for_device machvec_dma_sync_single 34 #define platform_dma_sync_sg_for_device machvec_dma_sync_sg 35 #define platform_dma_supported iommu_dma_supported 36 #define platform_dma_mapping_error vtd_dma_mapping_error 37 38 #endif /* _ASM_IA64_MACHVEC_DIG_VTD_h */ 39