xref: /openbmc/linux/arch/ia64/kernel/dma-mapping.c (revision 82e6fdd6)
1 // SPDX-License-Identifier: GPL-2.0
2 #include <linux/dma-mapping.h>
3 #include <linux/swiotlb.h>
4 #include <linux/export.h>
5 
6 /* Set this to 1 if there is a HW IOMMU in the system */
7 int iommu_detected __read_mostly;
8 
9 const struct dma_map_ops *dma_ops;
10 EXPORT_SYMBOL(dma_ops);
11 
12 #define PREALLOC_DMA_DEBUG_ENTRIES (1 << 16)
13 
14 static int __init dma_init(void)
15 {
16 	dma_debug_init(PREALLOC_DMA_DEBUG_ENTRIES);
17 
18 	return 0;
19 }
20 fs_initcall(dma_init);
21 
22 const struct dma_map_ops *dma_get_ops(struct device *dev)
23 {
24 	return dma_ops;
25 }
26 EXPORT_SYMBOL(dma_get_ops);
27 
28 #ifdef CONFIG_SWIOTLB
29 void __init swiotlb_dma_init(void)
30 {
31 	dma_ops = &swiotlb_dma_ops;
32 	swiotlb_init(1);
33 }
34 #endif
35