Lines Matching refs:iommu_domain

38 struct iommu_domain;
160 typedef int (*iommu_fault_handler_t)(struct iommu_domain *,
222 struct iommu_domain { struct
252 static inline bool iommu_is_dma_domain(struct iommu_domain *domain) in iommu_is_dma_domain()
389 int (*set_dirty_tracking)(struct iommu_domain *domain, bool enabled);
390 int (*read_and_clear_dirty)(struct iommu_domain *domain,
632 struct iommu_domain *(*domain_alloc)(unsigned iommu_domain_type);
633 struct iommu_domain *(*domain_alloc_paging_flags)(
636 struct iommu_domain *(*domain_alloc_paging)(struct device *dev);
637 struct iommu_domain *(*domain_alloc_sva)(struct device *dev,
639 struct iommu_domain *(*domain_alloc_nested)(
640 struct device *dev, struct iommu_domain *parent, u32 flags,
664 struct device *dev, struct iommu_domain *parent_domain,
670 struct iommu_domain *identity_domain;
671 struct iommu_domain *blocked_domain;
672 struct iommu_domain *release_domain;
673 struct iommu_domain *default_domain;
716 int (*attach_dev)(struct iommu_domain *domain, struct device *dev);
717 int (*set_dev_pasid)(struct iommu_domain *domain, struct device *dev,
718 ioasid_t pasid, struct iommu_domain *old);
720 int (*map_pages)(struct iommu_domain *domain, unsigned long iova,
723 size_t (*unmap_pages)(struct iommu_domain *domain, unsigned long iova,
727 void (*flush_iotlb_all)(struct iommu_domain *domain);
728 int (*iotlb_sync_map)(struct iommu_domain *domain, unsigned long iova,
730 void (*iotlb_sync)(struct iommu_domain *domain,
732 int (*cache_invalidate_user)(struct iommu_domain *domain,
735 phys_addr_t (*iova_to_phys)(struct iommu_domain *domain,
738 bool (*enforce_cache_coherency)(struct iommu_domain *domain);
739 int (*set_pgtable_quirks)(struct iommu_domain *domain,
742 void (*free)(struct iommu_domain *domain);
828 int iommu_deferred_attach(struct device *dev, struct iommu_domain *domain);
861 struct iommu_domain *iommu_paging_domain_alloc_flags(struct device *dev, unsigned int flags);
862 static inline struct iommu_domain *iommu_paging_domain_alloc(struct device *dev) in iommu_paging_domain_alloc()
866 extern void iommu_domain_free(struct iommu_domain *domain);
867 extern int iommu_attach_device(struct iommu_domain *domain,
869 extern void iommu_detach_device(struct iommu_domain *domain,
871 extern struct iommu_domain *iommu_get_domain_for_dev(struct device *dev);
872 extern struct iommu_domain *iommu_get_dma_domain(struct device *dev);
873 extern int iommu_map(struct iommu_domain *domain, unsigned long iova,
875 extern size_t iommu_unmap(struct iommu_domain *domain, unsigned long iova,
877 extern size_t iommu_unmap_fast(struct iommu_domain *domain,
880 extern ssize_t iommu_map_sg(struct iommu_domain *domain, unsigned long iova,
883 extern phys_addr_t iommu_iova_to_phys(struct iommu_domain *domain, dma_addr_t iova);
884 extern void iommu_set_fault_handler(struct iommu_domain *domain,
898 extern int iommu_attach_group(struct iommu_domain *domain,
900 extern void iommu_detach_group(struct iommu_domain *domain,
918 extern struct iommu_domain *iommu_group_default_domain(struct iommu_group *);
920 int iommu_set_pgtable_quirks(struct iommu_domain *domain,
925 extern int report_iommu_fault(struct iommu_domain *domain, struct device *dev,
928 static inline void iommu_flush_iotlb_all(struct iommu_domain *domain) in iommu_flush_iotlb_all()
934 static inline void iommu_iotlb_sync(struct iommu_domain *domain, in iommu_iotlb_sync()
997 static inline void iommu_iotlb_gather_add_page(struct iommu_domain *domain, in iommu_iotlb_gather_add_page()
1079 struct iommu_domain *domain;
1139 int iommu_attach_device_pasid(struct iommu_domain *domain,
1142 void iommu_detach_device_pasid(struct iommu_domain *domain,
1162 static inline struct iommu_domain *iommu_paging_domain_alloc_flags(struct device *dev, in iommu_paging_domain_alloc_flags()
1168 static inline struct iommu_domain *iommu_paging_domain_alloc(struct device *dev) in iommu_paging_domain_alloc()
1173 static inline void iommu_domain_free(struct iommu_domain *domain) in iommu_domain_free()
1177 static inline int iommu_attach_device(struct iommu_domain *domain, in iommu_attach_device()
1183 static inline void iommu_detach_device(struct iommu_domain *domain, in iommu_detach_device()
1188 static inline struct iommu_domain *iommu_get_domain_for_dev(struct device *dev) in iommu_get_domain_for_dev()
1193 static inline int iommu_map(struct iommu_domain *domain, unsigned long iova, in iommu_map()
1199 static inline size_t iommu_unmap(struct iommu_domain *domain, in iommu_unmap()
1205 static inline size_t iommu_unmap_fast(struct iommu_domain *domain, in iommu_unmap_fast()
1212 static inline ssize_t iommu_map_sg(struct iommu_domain *domain, in iommu_map_sg()
1219 static inline void iommu_flush_iotlb_all(struct iommu_domain *domain) in iommu_flush_iotlb_all()
1223 static inline void iommu_iotlb_sync(struct iommu_domain *domain, in iommu_iotlb_sync()
1228 static inline phys_addr_t iommu_iova_to_phys(struct iommu_domain *domain, dma_addr_t iova) in iommu_iova_to_phys()
1233 static inline void iommu_set_fault_handler(struct iommu_domain *domain, in iommu_set_fault_handler()
1267 static inline int iommu_attach_group(struct iommu_domain *domain, in iommu_attach_group()
1273 static inline void iommu_detach_group(struct iommu_domain *domain, in iommu_detach_group()
1331 static inline int iommu_set_pgtable_quirks(struct iommu_domain *domain, in iommu_set_pgtable_quirks()
1353 static inline void iommu_iotlb_gather_add_page(struct iommu_domain *domain, in iommu_iotlb_gather_add_page()
1463 static inline int iommu_attach_device_pasid(struct iommu_domain *domain, in iommu_attach_device_pasid()
1470 static inline void iommu_detach_device_pasid(struct iommu_domain *domain, in iommu_detach_device_pasid()
1513 static inline ssize_t iommu_map_sgtable(struct iommu_domain *domain, in iommu_map_sgtable()
1528 int iommu_get_msi_cookie(struct iommu_domain *domain, dma_addr_t base);
1530 static inline int iommu_get_msi_cookie(struct iommu_domain *domain, dma_addr_t base) in iommu_get_msi_cookie()