Lines Matching refs:iommu_domain
39 struct iommu_domain;
50 typedef int (*iommu_fault_handler_t)(struct iommu_domain *,
95 struct iommu_domain { struct
116 static inline bool iommu_is_dma_domain(struct iommu_domain *domain) in iommu_is_dma_domain() argument
256 struct iommu_domain *(*domain_alloc)(unsigned iommu_domain_type);
320 int (*attach_dev)(struct iommu_domain *domain, struct device *dev);
321 int (*set_dev_pasid)(struct iommu_domain *domain, struct device *dev,
324 int (*map)(struct iommu_domain *domain, unsigned long iova,
326 int (*map_pages)(struct iommu_domain *domain, unsigned long iova,
329 size_t (*unmap)(struct iommu_domain *domain, unsigned long iova,
331 size_t (*unmap_pages)(struct iommu_domain *domain, unsigned long iova,
335 void (*flush_iotlb_all)(struct iommu_domain *domain);
336 void (*iotlb_sync_map)(struct iommu_domain *domain, unsigned long iova,
338 void (*iotlb_sync)(struct iommu_domain *domain,
341 phys_addr_t (*iova_to_phys)(struct iommu_domain *domain,
344 bool (*enforce_cache_coherency)(struct iommu_domain *domain);
345 int (*enable_nesting)(struct iommu_domain *domain);
346 int (*set_pgtable_quirks)(struct iommu_domain *domain,
349 void (*free)(struct iommu_domain *domain);
432 int iommu_deferred_attach(struct device *dev, struct iommu_domain *domain);
462 extern struct iommu_domain *iommu_domain_alloc(struct bus_type *bus);
464 extern void iommu_domain_free(struct iommu_domain *domain);
465 extern int iommu_attach_device(struct iommu_domain *domain,
467 extern void iommu_detach_device(struct iommu_domain *domain,
469 extern int iommu_sva_unbind_gpasid(struct iommu_domain *domain,
471 extern struct iommu_domain *iommu_get_domain_for_dev(struct device *dev);
472 extern struct iommu_domain *iommu_get_dma_domain(struct device *dev);
473 extern int iommu_map(struct iommu_domain *domain, unsigned long iova,
475 extern size_t iommu_unmap(struct iommu_domain *domain, unsigned long iova,
477 extern size_t iommu_unmap_fast(struct iommu_domain *domain,
480 extern ssize_t iommu_map_sg(struct iommu_domain *domain, unsigned long iova,
483 extern phys_addr_t iommu_iova_to_phys(struct iommu_domain *domain, dma_addr_t iova);
484 extern void iommu_set_fault_handler(struct iommu_domain *domain,
498 extern int iommu_attach_group(struct iommu_domain *domain,
500 extern void iommu_detach_group(struct iommu_domain *domain,
528 extern struct iommu_domain *iommu_group_default_domain(struct iommu_group *);
530 int iommu_enable_nesting(struct iommu_domain *domain);
531 int iommu_set_pgtable_quirks(struct iommu_domain *domain,
536 extern int report_iommu_fault(struct iommu_domain *domain, struct device *dev,
539 static inline void iommu_flush_iotlb_all(struct iommu_domain *domain) in iommu_flush_iotlb_all()
545 static inline void iommu_iotlb_sync(struct iommu_domain *domain, in iommu_iotlb_sync()
608 static inline void iommu_iotlb_gather_add_page(struct iommu_domain *domain, in iommu_iotlb_gather_add_page()
665 struct iommu_domain *domain;
717 struct iommu_domain *iommu_sva_domain_alloc(struct device *dev,
719 int iommu_attach_device_pasid(struct iommu_domain *domain,
721 void iommu_detach_device_pasid(struct iommu_domain *domain,
723 struct iommu_domain *
745 static inline struct iommu_domain *iommu_domain_alloc(struct bus_type *bus) in iommu_domain_alloc()
755 static inline void iommu_domain_free(struct iommu_domain *domain) in iommu_domain_free()
759 static inline int iommu_attach_device(struct iommu_domain *domain, in iommu_attach_device()
765 static inline void iommu_detach_device(struct iommu_domain *domain, in iommu_detach_device()
770 static inline struct iommu_domain *iommu_get_domain_for_dev(struct device *dev) in iommu_get_domain_for_dev()
775 static inline int iommu_map(struct iommu_domain *domain, unsigned long iova, in iommu_map()
781 static inline size_t iommu_unmap(struct iommu_domain *domain, in iommu_unmap()
787 static inline size_t iommu_unmap_fast(struct iommu_domain *domain, in iommu_unmap_fast()
794 static inline ssize_t iommu_map_sg(struct iommu_domain *domain, in iommu_map_sg()
801 static inline void iommu_flush_iotlb_all(struct iommu_domain *domain) in iommu_flush_iotlb_all()
805 static inline void iommu_iotlb_sync(struct iommu_domain *domain, in iommu_iotlb_sync()
810 static inline phys_addr_t iommu_iova_to_phys(struct iommu_domain *domain, dma_addr_t iova) in iommu_iova_to_phys()
815 static inline void iommu_set_fault_handler(struct iommu_domain *domain, in iommu_set_fault_handler()
849 static inline int iommu_attach_group(struct iommu_domain *domain, in iommu_attach_group()
855 static inline void iommu_detach_group(struct iommu_domain *domain, in iommu_detach_group()
938 static inline int iommu_set_pgtable_quirks(struct iommu_domain *domain, in iommu_set_pgtable_quirks()
960 static inline void iommu_iotlb_gather_add_page(struct iommu_domain *domain, in iommu_iotlb_gather_add_page()
1069 static inline struct iommu_domain *
1075 static inline int iommu_attach_device_pasid(struct iommu_domain *domain, in iommu_attach_device_pasid()
1081 static inline void iommu_detach_device_pasid(struct iommu_domain *domain, in iommu_detach_device_pasid()
1086 static inline struct iommu_domain *
1104 static inline size_t iommu_map_sgtable(struct iommu_domain *domain, in iommu_map_sgtable()
1124 int iommu_get_msi_cookie(struct iommu_domain *domain, dma_addr_t base);
1138 static inline int iommu_get_msi_cookie(struct iommu_domain *domain, dma_addr_t base) in iommu_get_msi_cookie()