Lines Matching defs:iommu_domain

38 struct iommu_domain;
130 struct iommu_domain *domain;
151 typedef int (*iommu_fault_handler_t)(struct iommu_domain *,
204 struct iommu_domain {
223 * Next iommu_domain in mm->iommu_mm->sva-domains list
231 static inline bool iommu_is_dma_domain(struct iommu_domain *domain)
368 int (*set_dirty_tracking)(struct iommu_domain *domain, bool enabled);
369 int (*read_and_clear_dirty)(struct iommu_domain *domain,
518 * @domain_alloc_paging: Allocate an iommu_domain that can be used for
520 * @domain_alloc_sva: Allocate an iommu_domain for Shared Virtual Addressing.
556 struct iommu_domain *(*domain_alloc)(unsigned iommu_domain_type);
557 struct iommu_domain *(*domain_alloc_user)(
558 struct device *dev, u32 flags, struct iommu_domain *parent,
560 struct iommu_domain *(*domain_alloc_paging)(struct device *dev);
561 struct iommu_domain *(*domain_alloc_sva)(struct device *dev,
584 struct iommu_domain *domain);
589 struct iommu_domain *identity_domain;
590 struct iommu_domain *blocked_domain;
591 struct iommu_domain *release_domain;
592 struct iommu_domain *default_domain;
634 int (*attach_dev)(struct iommu_domain *domain, struct device *dev);
635 int (*set_dev_pasid)(struct iommu_domain *domain, struct device *dev,
638 int (*map_pages)(struct iommu_domain *domain, unsigned long iova,
641 size_t (*unmap_pages)(struct iommu_domain *domain, unsigned long iova,
645 void (*flush_iotlb_all)(struct iommu_domain *domain);
646 int (*iotlb_sync_map)(struct iommu_domain *domain, unsigned long iova,
648 void (*iotlb_sync)(struct iommu_domain *domain,
650 int (*cache_invalidate_user)(struct iommu_domain *domain,
653 phys_addr_t (*iova_to_phys)(struct iommu_domain *domain,
656 bool (*enforce_cache_coherency)(struct iommu_domain *domain);
657 int (*enable_nesting)(struct iommu_domain *domain);
658 int (*set_pgtable_quirks)(struct iommu_domain *domain,
661 void (*free)(struct iommu_domain *domain);
747 int iommu_deferred_attach(struct device *dev, struct iommu_domain *domain);
782 extern struct iommu_domain *iommu_domain_alloc(const struct bus_type *bus);
783 extern void iommu_domain_free(struct iommu_domain *domain);
784 extern int iommu_attach_device(struct iommu_domain *domain,
786 extern void iommu_detach_device(struct iommu_domain *domain,
788 extern int iommu_sva_unbind_gpasid(struct iommu_domain *domain,
790 extern struct iommu_domain *iommu_get_domain_for_dev(struct device *dev);
791 extern struct iommu_domain *iommu_get_dma_domain(struct device *dev);
792 extern int iommu_map(struct iommu_domain *domain, unsigned long iova,
794 extern size_t iommu_unmap(struct iommu_domain *domain, unsigned long iova,
796 extern size_t iommu_unmap_fast(struct iommu_domain *domain,
799 extern ssize_t iommu_map_sg(struct iommu_domain *domain, unsigned long iova,
802 extern phys_addr_t iommu_iova_to_phys(struct iommu_domain *domain, dma_addr_t iova);
803 extern void iommu_set_fault_handler(struct iommu_domain *domain,
817 extern int iommu_attach_group(struct iommu_domain *domain,
819 extern void iommu_detach_group(struct iommu_domain *domain,
837 extern struct iommu_domain *iommu_group_default_domain(struct iommu_group *);
839 int iommu_enable_nesting(struct iommu_domain *domain);
840 int iommu_set_pgtable_quirks(struct iommu_domain *domain,
845 extern int report_iommu_fault(struct iommu_domain *domain, struct device *dev,
848 static inline void iommu_flush_iotlb_all(struct iommu_domain *domain)
854 static inline void iommu_iotlb_sync(struct iommu_domain *domain,
917 static inline void iommu_iotlb_gather_add_page(struct iommu_domain *domain,
997 struct iommu_domain *domain;
1054 int iommu_attach_device_pasid(struct iommu_domain *domain,
1056 void iommu_detach_device_pasid(struct iommu_domain *domain,
1058 struct iommu_domain *
1084 static inline struct iommu_domain *iommu_domain_alloc(const struct bus_type *bus)
1089 static inline void iommu_domain_free(struct iommu_domain *domain)
1093 static inline int iommu_attach_device(struct iommu_domain *domain,
1099 static inline void iommu_detach_device(struct iommu_domain *domain,
1104 static inline struct iommu_domain *iommu_get_domain_for_dev(struct device *dev)
1109 static inline int iommu_map(struct iommu_domain *domain, unsigned long iova,
1115 static inline size_t iommu_unmap(struct iommu_domain *domain,
1121 static inline size_t iommu_unmap_fast(struct iommu_domain *domain,
1128 static inline ssize_t iommu_map_sg(struct iommu_domain *domain,
1135 static inline void iommu_flush_iotlb_all(struct iommu_domain *domain)
1139 static inline void iommu_iotlb_sync(struct iommu_domain *domain,
1144 static inline phys_addr_t iommu_iova_to_phys(struct iommu_domain *domain, dma_addr_t iova)
1149 static inline void iommu_set_fault_handler(struct iommu_domain *domain,
1183 static inline int iommu_attach_group(struct iommu_domain *domain,
1189 static inline void iommu_detach_group(struct iommu_domain *domain,
1247 static inline int iommu_set_pgtable_quirks(struct iommu_domain *domain,
1269 static inline void iommu_iotlb_gather_add_page(struct iommu_domain *domain,
1390 static inline int iommu_attach_device_pasid(struct iommu_domain *domain,
1396 static inline void iommu_detach_device_pasid(struct iommu_domain *domain,
1401 static inline struct iommu_domain *
1434 static inline ssize_t iommu_map_sgtable(struct iommu_domain *domain,
1451 int iommu_get_msi_cookie(struct iommu_domain *domain, dma_addr_t base);
1461 static inline int iommu_get_msi_cookie(struct iommu_domain *domain, dma_addr_t base)
1530 struct iommu_domain *iommu_sva_domain_alloc(struct device *dev,
1557 static inline struct iommu_domain *