1#ifndef _ASM_IA64_MACHVEC_HPZX1_SWIOTLB_h
2#define _ASM_IA64_MACHVEC_HPZX1_SWIOTLB_h
3
4extern ia64_mv_setup_t				dig_setup;
5extern ia64_mv_dma_alloc_coherent		hwsw_alloc_coherent;
6extern ia64_mv_dma_free_coherent		hwsw_free_coherent;
7extern ia64_mv_dma_map_single			hwsw_map_single;
8extern ia64_mv_dma_unmap_single			hwsw_unmap_single;
9extern ia64_mv_dma_map_sg			hwsw_map_sg;
10extern ia64_mv_dma_unmap_sg			hwsw_unmap_sg;
11extern ia64_mv_dma_supported			hwsw_dma_supported;
12extern ia64_mv_dma_mapping_error		hwsw_dma_mapping_error;
13extern ia64_mv_dma_sync_single_for_cpu		hwsw_sync_single_for_cpu;
14extern ia64_mv_dma_sync_sg_for_cpu		hwsw_sync_sg_for_cpu;
15extern ia64_mv_dma_sync_single_for_device	hwsw_sync_single_for_device;
16extern ia64_mv_dma_sync_sg_for_device		hwsw_sync_sg_for_device;
17
18/*
19 * This stuff has dual use!
20 *
21 * For a generic kernel, the macros are used to initialize the
22 * platform's machvec structure.  When compiling a non-generic kernel,
23 * the macros are used directly.
24 */
25#define platform_name				"hpzx1_swiotlb"
26
27#define platform_setup				dig_setup
28#define platform_dma_init			machvec_noop
29#define platform_dma_alloc_coherent		hwsw_alloc_coherent
30#define platform_dma_free_coherent		hwsw_free_coherent
31#define platform_dma_map_single			hwsw_map_single
32#define platform_dma_unmap_single		hwsw_unmap_single
33#define platform_dma_map_sg			hwsw_map_sg
34#define platform_dma_unmap_sg			hwsw_unmap_sg
35#define platform_dma_supported			hwsw_dma_supported
36#define platform_dma_mapping_error		hwsw_dma_mapping_error
37#define platform_dma_sync_single_for_cpu	hwsw_sync_single_for_cpu
38#define platform_dma_sync_sg_for_cpu		hwsw_sync_sg_for_cpu
39#define platform_dma_sync_single_for_device	hwsw_sync_single_for_device
40#define platform_dma_sync_sg_for_device		hwsw_sync_sg_for_device
41
42#endif /* _ASM_IA64_MACHVEC_HPZX1_SWIOTLB_h */
43