Lines Matching refs:iommu_domain

38 struct iommu_domain;
49 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
269 struct iommu_domain *(*domain_alloc)(unsigned iommu_domain_type);
333 int (*attach_dev)(struct iommu_domain *domain, struct device *dev);
334 int (*set_dev_pasid)(struct iommu_domain *domain, struct device *dev,
337 int (*map)(struct iommu_domain *domain, unsigned long iova,
339 int (*map_pages)(struct iommu_domain *domain, unsigned long iova,
342 size_t (*unmap)(struct iommu_domain *domain, unsigned long iova,
344 size_t (*unmap_pages)(struct iommu_domain *domain, unsigned long iova,
348 void (*flush_iotlb_all)(struct iommu_domain *domain);
349 void (*iotlb_sync_map)(struct iommu_domain *domain, unsigned long iova,
351 void (*iotlb_sync)(struct iommu_domain *domain,
354 phys_addr_t (*iova_to_phys)(struct iommu_domain *domain,
357 bool (*enforce_cache_coherency)(struct iommu_domain *domain);
358 int (*enable_nesting)(struct iommu_domain *domain);
359 int (*set_pgtable_quirks)(struct iommu_domain *domain,
362 void (*free)(struct iommu_domain *domain);
449 int iommu_deferred_attach(struct device *dev, struct iommu_domain *domain);
468 extern struct iommu_domain *iommu_domain_alloc(const struct bus_type *bus);
469 extern void iommu_domain_free(struct iommu_domain *domain);
470 extern int iommu_attach_device(struct iommu_domain *domain,
472 extern void iommu_detach_device(struct iommu_domain *domain,
474 extern int iommu_sva_unbind_gpasid(struct iommu_domain *domain,
476 extern struct iommu_domain *iommu_get_domain_for_dev(struct device *dev);
477 extern struct iommu_domain *iommu_get_dma_domain(struct device *dev);
478 extern int iommu_map(struct iommu_domain *domain, unsigned long iova,
480 extern size_t iommu_unmap(struct iommu_domain *domain, unsigned long iova,
482 extern size_t iommu_unmap_fast(struct iommu_domain *domain,
485 extern ssize_t iommu_map_sg(struct iommu_domain *domain, unsigned long iova,
488 extern phys_addr_t iommu_iova_to_phys(struct iommu_domain *domain, dma_addr_t iova);
489 extern void iommu_set_fault_handler(struct iommu_domain *domain,
503 extern int iommu_attach_group(struct iommu_domain *domain,
505 extern void iommu_detach_group(struct iommu_domain *domain,
533 extern struct iommu_domain *iommu_group_default_domain(struct iommu_group *);
535 int iommu_enable_nesting(struct iommu_domain *domain);
536 int iommu_set_pgtable_quirks(struct iommu_domain *domain,
541 extern int report_iommu_fault(struct iommu_domain *domain, struct device *dev,
544 static inline void iommu_flush_iotlb_all(struct iommu_domain *domain) in iommu_flush_iotlb_all()
550 static inline void iommu_iotlb_sync(struct iommu_domain *domain, in iommu_iotlb_sync()
613 static inline void iommu_iotlb_gather_add_page(struct iommu_domain *domain, in iommu_iotlb_gather_add_page()
670 struct iommu_domain *domain;
721 struct iommu_domain *iommu_sva_domain_alloc(struct device *dev,
723 int iommu_attach_device_pasid(struct iommu_domain *domain,
725 void iommu_detach_device_pasid(struct iommu_domain *domain,
727 struct iommu_domain *
751 static inline struct iommu_domain *iommu_domain_alloc(const struct bus_type *bus) in iommu_domain_alloc()
756 static inline void iommu_domain_free(struct iommu_domain *domain) in iommu_domain_free()
760 static inline int iommu_attach_device(struct iommu_domain *domain, in iommu_attach_device()
766 static inline void iommu_detach_device(struct iommu_domain *domain, in iommu_detach_device()
771 static inline struct iommu_domain *iommu_get_domain_for_dev(struct device *dev) in iommu_get_domain_for_dev()
776 static inline int iommu_map(struct iommu_domain *domain, unsigned long iova, in iommu_map()
782 static inline size_t iommu_unmap(struct iommu_domain *domain, in iommu_unmap()
788 static inline size_t iommu_unmap_fast(struct iommu_domain *domain, in iommu_unmap_fast()
795 static inline ssize_t iommu_map_sg(struct iommu_domain *domain, in iommu_map_sg()
802 static inline void iommu_flush_iotlb_all(struct iommu_domain *domain) in iommu_flush_iotlb_all()
806 static inline void iommu_iotlb_sync(struct iommu_domain *domain, in iommu_iotlb_sync()
811 static inline phys_addr_t iommu_iova_to_phys(struct iommu_domain *domain, dma_addr_t iova) in iommu_iova_to_phys()
816 static inline void iommu_set_fault_handler(struct iommu_domain *domain, in iommu_set_fault_handler()
850 static inline int iommu_attach_group(struct iommu_domain *domain, in iommu_attach_group()
856 static inline void iommu_detach_group(struct iommu_domain *domain, in iommu_detach_group()
939 static inline int iommu_set_pgtable_quirks(struct iommu_domain *domain, in iommu_set_pgtable_quirks()
961 static inline void iommu_iotlb_gather_add_page(struct iommu_domain *domain, in iommu_iotlb_gather_add_page()
1070 static inline struct iommu_domain *
1076 static inline int iommu_attach_device_pasid(struct iommu_domain *domain, in iommu_attach_device_pasid()
1082 static inline void iommu_detach_device_pasid(struct iommu_domain *domain, in iommu_detach_device_pasid()
1087 static inline struct iommu_domain *
1112 static inline size_t iommu_map_sgtable(struct iommu_domain *domain, in iommu_map_sgtable()
1132 int iommu_get_msi_cookie(struct iommu_domain *domain, dma_addr_t base);
1146 static inline int iommu_get_msi_cookie(struct iommu_domain *domain, dma_addr_t base) in iommu_get_msi_cookie()