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