xref: /openbmc/linux/arch/ia64/kernel/dma-mapping.c (revision df41017e)
1 // SPDX-License-Identifier: GPL-2.0
2 #include <linux/dma-direct.h>
3 #include <linux/export.h>
4 
5 /* Set this to 1 if there is a HW IOMMU in the system */
6 int iommu_detected __read_mostly;
7 
8 const struct dma_map_ops *dma_ops;
9 EXPORT_SYMBOL(dma_ops);
10 
11 #ifdef CONFIG_SWIOTLB
12 void *arch_dma_alloc(struct device *dev, size_t size,
13 		dma_addr_t *dma_handle, gfp_t gfp, unsigned long attrs)
14 {
15 	return dma_direct_alloc_pages(dev, size, dma_handle, gfp, attrs);
16 }
17 
18 void arch_dma_free(struct device *dev, size_t size, void *cpu_addr,
19 		dma_addr_t dma_addr, unsigned long attrs)
20 {
21 	dma_direct_free_pages(dev, size, cpu_addr, dma_addr, attrs);
22 }
23 
24 long arch_dma_coherent_to_pfn(struct device *dev, void *cpu_addr,
25 		dma_addr_t dma_addr)
26 {
27 	return page_to_pfn(virt_to_page(cpu_addr));
28 }
29 #endif
30