1 /* Public domain. */
2 
3 #ifndef _LINUXKPI_LINUX_IOMMU_H_
4 #define	_LINUXKPI_LINUX_IOMMU_H_
5 
6 #include <linux/device.h>
7 
8 #define	__IOMMU_DOMAIN_PAGING	(1U << 0)
9 #define	__IOMMU_DOMAIN_DMA_API	(1U << 1)
10 #define	__IOMMU_DOMAIN_PT	(1U << 2)
11 #define	__IOMMU_DOMAIN_DMA_FQ	(1U << 3)
12 
13 #define	IOMMU_DOMAIN_BLOCKED	(0U)
14 #define	IOMMU_DOMAIN_IDENTITY	(__IOMMU_DOMAIN_PT)
15 #define	IOMMU_DOMAIN_UNMANAGED	(__IOMMU_DOMAIN_PAGING)
16 #define	IOMMU_DOMAIN_DMA	(__IOMMU_DOMAIN_PAGING | __IOMMU_DOMAIN_DMA_API)
17 #define	IOMMU_DOMAIN_DMA_FQ	(__IOMMU_DOMAIN_PAGING | __IOMMU_DOMAIN_DMA_API | __IOMMU_DOMAIN_DMA_FQ)
18 
19 struct iommu_domain {
20 	unsigned int type;
21 };
22 
23 static inline struct iommu_domain *
24 iommu_get_domain_for_dev(struct device *dev __unused)
25 {
26 	return (NULL);
27 }
28 
29 #endif /* _LINUXKPI_LINUX_IOMMU_H_ */
30