Lines Matching defs:iommu_ops

250 struct iommu_ops {  struct
251 bool (*capable)(enum iommu_cap);
254 struct iommu_domain *(*domain_alloc)(unsigned iommu_domain_type);
255 void (*domain_free)(struct iommu_domain *);
257 int (*attach_dev)(struct iommu_domain *domain, struct device *dev);
258 void (*detach_dev)(struct iommu_domain *domain, struct device *dev);
259 int (*map)(struct iommu_domain *domain, unsigned long iova,
261 int (*map_pages)(struct iommu_domain *domain, unsigned long iova,
264 int (*map_sg)(struct iommu_domain *domain, unsigned long iova,
267 size_t (*unmap)(struct iommu_domain *domain, unsigned long iova,
269 size_t (*unmap_pages)(struct iommu_domain *domain, unsigned long iova,
272 void (*flush_iotlb_all)(struct iommu_domain *domain);
273 void (*iotlb_sync_map)(struct iommu_domain *domain, unsigned long iova,
275 void (*iotlb_sync)(struct iommu_domain *domain,
277 phys_addr_t (*iova_to_phys)(struct iommu_domain *domain, dma_addr_t iova);
278 struct iommu_device *(*probe_device)(struct device *dev);
279 void (*release_device)(struct device *dev);
280 void (*probe_finalize)(struct device *dev);
281 struct iommu_group *(*device_group)(struct device *dev);
282 int (*domain_get_attr)(struct iommu_domain *domain,
284 int (*domain_set_attr)(struct iommu_domain *domain,
288 void (*get_resv_regions)(struct device *dev, struct list_head *list);
289 void (*put_resv_regions)(struct device *dev, struct list_head *list);
290 void (*apply_resv_region)(struct device *dev,
295 int (*domain_window_enable)(struct iommu_domain *domain, u32 wnd_nr,
297 void (*domain_window_disable)(struct iommu_domain *domain, u32 wnd_nr);
299 int (*of_xlate)(struct device *dev, struct of_phandle_args *args);
300 bool (*is_attach_deferred)(struct iommu_domain *domain, struct device *dev);
303 bool (*dev_has_feat)(struct device *dev, enum iommu_dev_features f);
304 bool (*dev_feat_enabled)(struct device *dev, enum iommu_dev_features f);
305 int (*dev_enable_feat)(struct device *dev, enum iommu_dev_features f);
306 int (*dev_disable_feat)(struct device *dev, enum iommu_dev_features f);
309 int (*aux_attach_dev)(struct iommu_domain *domain, struct device *dev);
310 void (*aux_detach_dev)(struct iommu_domain *domain, struct device *dev);
311 int (*aux_get_pasid)(struct iommu_domain *domain, struct device *dev);
313 struct iommu_sva *(*sva_bind)(struct device *dev, struct mm_struct *mm,
315 void (*sva_unbind)(struct iommu_sva *handle);
316 u32 (*sva_get_pasid)(struct iommu_sva *handle);
318 int (*page_response)(struct device *dev,
343 const struct iommu_ops *ops; argument
674 struct iommu_ops {}; struct