Lines Matching defs:iommu_ops
249 struct iommu_ops { struct
250 bool (*capable)(enum iommu_cap);
253 struct iommu_domain *(*domain_alloc)(unsigned iommu_domain_type);
254 void (*domain_free)(struct iommu_domain *);
256 int (*attach_dev)(struct iommu_domain *domain, struct device *dev);
257 void (*detach_dev)(struct iommu_domain *domain, struct device *dev);
258 int (*map)(struct iommu_domain *domain, unsigned long iova,
260 size_t (*unmap)(struct iommu_domain *domain, unsigned long iova,
262 void (*flush_iotlb_all)(struct iommu_domain *domain);
263 void (*iotlb_sync_map)(struct iommu_domain *domain);
264 void (*iotlb_sync)(struct iommu_domain *domain,
266 phys_addr_t (*iova_to_phys)(struct iommu_domain *domain, dma_addr_t iova);
267 int (*add_device)(struct device *dev);
268 void (*remove_device)(struct device *dev);
269 struct iommu_group *(*device_group)(struct device *dev);
270 int (*domain_get_attr)(struct iommu_domain *domain,
272 int (*domain_set_attr)(struct iommu_domain *domain,
276 void (*get_resv_regions)(struct device *dev, struct list_head *list);
277 void (*put_resv_regions)(struct device *dev, struct list_head *list);
278 void (*apply_resv_region)(struct device *dev,
283 int (*domain_window_enable)(struct iommu_domain *domain, u32 wnd_nr,
285 void (*domain_window_disable)(struct iommu_domain *domain, u32 wnd_nr);
287 int (*of_xlate)(struct device *dev, struct of_phandle_args *args);
288 bool (*is_attach_deferred)(struct iommu_domain *domain, struct device *dev);
291 bool (*dev_has_feat)(struct device *dev, enum iommu_dev_features f);
292 bool (*dev_feat_enabled)(struct device *dev, enum iommu_dev_features f);
293 int (*dev_enable_feat)(struct device *dev, enum iommu_dev_features f);
294 int (*dev_disable_feat)(struct device *dev, enum iommu_dev_features f);
297 int (*aux_attach_dev)(struct iommu_domain *domain, struct device *dev);
298 void (*aux_detach_dev)(struct iommu_domain *domain, struct device *dev);
322 const struct iommu_ops *ops; argument
612 struct iommu_ops {}; struct