Lines Matching refs:iommu_domain

39 struct iommu_domain;
49 typedef int (*iommu_fault_handler_t)(struct iommu_domain *,
89 struct iommu_domain { struct
99 static inline bool iommu_is_dma_domain(struct iommu_domain *domain) in iommu_is_dma_domain() argument
246 struct iommu_domain *(*domain_alloc)(unsigned iommu_domain_type);
247 void (*domain_free)(struct iommu_domain *);
249 int (*attach_dev)(struct iommu_domain *domain, struct device *dev);
250 void (*detach_dev)(struct iommu_domain *domain, struct device *dev);
251 int (*map)(struct iommu_domain *domain, unsigned long iova,
253 int (*map_pages)(struct iommu_domain *domain, unsigned long iova,
256 size_t (*unmap)(struct iommu_domain *domain, unsigned long iova,
258 size_t (*unmap_pages)(struct iommu_domain *domain, unsigned long iova,
261 void (*flush_iotlb_all)(struct iommu_domain *domain);
262 void (*iotlb_sync_map)(struct iommu_domain *domain, unsigned long iova,
264 void (*iotlb_sync)(struct iommu_domain *domain,
266 phys_addr_t (*iova_to_phys)(struct iommu_domain *domain, dma_addr_t iova);
271 int (*enable_nesting)(struct iommu_domain *domain);
272 int (*set_pgtable_quirks)(struct iommu_domain *domain,
279 struct iommu_domain *domain,
283 bool (*is_attach_deferred)(struct iommu_domain *domain, struct device *dev);
292 int (*aux_attach_dev)(struct iommu_domain *domain, struct device *dev);
293 void (*aux_detach_dev)(struct iommu_domain *domain, struct device *dev);
294 int (*aux_get_pasid)(struct iommu_domain *domain, struct device *dev);
304 int (*cache_invalidate)(struct iommu_domain *domain, struct device *dev,
306 int (*sva_bind_gpasid)(struct iommu_domain *domain,
391 int iommu_deferred_attach(struct device *dev, struct iommu_domain *domain);
416 extern struct iommu_domain *iommu_domain_alloc(struct bus_type *bus);
418 extern void iommu_domain_free(struct iommu_domain *domain);
419 extern int iommu_attach_device(struct iommu_domain *domain,
421 extern void iommu_detach_device(struct iommu_domain *domain,
423 extern int iommu_uapi_cache_invalidate(struct iommu_domain *domain,
427 extern int iommu_uapi_sva_bind_gpasid(struct iommu_domain *domain,
429 extern int iommu_uapi_sva_unbind_gpasid(struct iommu_domain *domain,
431 extern int iommu_sva_unbind_gpasid(struct iommu_domain *domain,
433 extern struct iommu_domain *iommu_get_domain_for_dev(struct device *dev);
434 extern struct iommu_domain *iommu_get_dma_domain(struct device *dev);
435 extern int iommu_map(struct iommu_domain *domain, unsigned long iova,
437 extern int iommu_map_atomic(struct iommu_domain *domain, unsigned long iova,
439 extern size_t iommu_unmap(struct iommu_domain *domain, unsigned long iova,
441 extern size_t iommu_unmap_fast(struct iommu_domain *domain,
444 extern ssize_t iommu_map_sg(struct iommu_domain *domain, unsigned long iova,
446 extern ssize_t iommu_map_sg_atomic(struct iommu_domain *domain,
449 extern phys_addr_t iommu_iova_to_phys(struct iommu_domain *domain, dma_addr_t iova);
450 extern void iommu_set_fault_handler(struct iommu_domain *domain,
466 extern int iommu_attach_group(struct iommu_domain *domain,
468 extern void iommu_detach_group(struct iommu_domain *domain,
500 extern struct iommu_domain *iommu_group_default_domain(struct iommu_group *);
502 int iommu_enable_nesting(struct iommu_domain *domain);
503 int iommu_set_pgtable_quirks(struct iommu_domain *domain,
508 extern int report_iommu_fault(struct iommu_domain *domain, struct device *dev,
511 static inline void iommu_flush_iotlb_all(struct iommu_domain *domain) in iommu_flush_iotlb_all()
517 static inline void iommu_iotlb_sync(struct iommu_domain *domain, in iommu_iotlb_sync()
580 static inline void iommu_iotlb_gather_add_page(struct iommu_domain *domain, in iommu_iotlb_gather_add_page()
674 int iommu_aux_attach_device(struct iommu_domain *domain, struct device *dev);
675 void iommu_aux_detach_device(struct iommu_domain *domain, struct device *dev);
676 int iommu_aux_get_pasid(struct iommu_domain *domain, struct device *dev);
703 static inline struct iommu_domain *iommu_domain_alloc(struct bus_type *bus) in iommu_domain_alloc()
713 static inline void iommu_domain_free(struct iommu_domain *domain) in iommu_domain_free()
717 static inline int iommu_attach_device(struct iommu_domain *domain, in iommu_attach_device()
723 static inline void iommu_detach_device(struct iommu_domain *domain, in iommu_detach_device()
728 static inline struct iommu_domain *iommu_get_domain_for_dev(struct device *dev) in iommu_get_domain_for_dev()
733 static inline int iommu_map(struct iommu_domain *domain, unsigned long iova, in iommu_map()
739 static inline int iommu_map_atomic(struct iommu_domain *domain, in iommu_map_atomic()
746 static inline size_t iommu_unmap(struct iommu_domain *domain, in iommu_unmap()
752 static inline size_t iommu_unmap_fast(struct iommu_domain *domain, in iommu_unmap_fast()
759 static inline ssize_t iommu_map_sg(struct iommu_domain *domain, in iommu_map_sg()
766 static inline ssize_t iommu_map_sg_atomic(struct iommu_domain *domain, in iommu_map_sg_atomic()
773 static inline void iommu_flush_iotlb_all(struct iommu_domain *domain) in iommu_flush_iotlb_all()
777 static inline void iommu_iotlb_sync(struct iommu_domain *domain, in iommu_iotlb_sync()
782 static inline phys_addr_t iommu_iova_to_phys(struct iommu_domain *domain, dma_addr_t iova) in iommu_iova_to_phys()
787 static inline void iommu_set_fault_handler(struct iommu_domain *domain, in iommu_set_fault_handler()
821 static inline int iommu_attach_group(struct iommu_domain *domain, in iommu_attach_group()
827 static inline void iommu_detach_group(struct iommu_domain *domain, in iommu_detach_group()
922 static inline int iommu_set_pgtable_quirks(struct iommu_domain *domain, in iommu_set_pgtable_quirks()
944 static inline void iommu_iotlb_gather_add_page(struct iommu_domain *domain, in iommu_iotlb_gather_add_page()
1022 iommu_aux_attach_device(struct iommu_domain *domain, struct device *dev) in iommu_aux_attach_device()
1028 iommu_aux_detach_device(struct iommu_domain *domain, struct device *dev) in iommu_aux_detach_device()
1033 iommu_aux_get_pasid(struct iommu_domain *domain, struct device *dev) in iommu_aux_get_pasid()
1054 iommu_uapi_cache_invalidate(struct iommu_domain *domain, in iommu_uapi_cache_invalidate()
1061 static inline int iommu_uapi_sva_bind_gpasid(struct iommu_domain *domain, in iommu_uapi_sva_bind_gpasid()
1067 static inline int iommu_uapi_sva_unbind_gpasid(struct iommu_domain *domain, in iommu_uapi_sva_unbind_gpasid()
1073 static inline int iommu_sva_unbind_gpasid(struct iommu_domain *domain, in iommu_sva_unbind_gpasid()
1096 static inline size_t iommu_map_sgtable(struct iommu_domain *domain, in iommu_map_sgtable()