Lines Matching full:viommu
60 if (hwpt_nested->viommu) in iommufd_hwpt_nested_destroy()
61 refcount_dec(&hwpt_nested->viommu->obj.users); in iommufd_hwpt_nested_destroy()
278 * iommufd_viommu_alloc_hwpt_nested() - Get a hwpt_nested for a vIOMMU
279 * @viommu: vIOMMU ojbect to associate the hwpt_nested/domain with
283 * Allocate a new IOMMU_DOMAIN_NESTED for a vIOMMU and return it as a NESTED
287 iommufd_viommu_alloc_hwpt_nested(struct iommufd_viommu *viommu, u32 flags, in iommufd_viommu_alloc_hwpt_nested() argument
298 if (!viommu->ops || !viommu->ops->alloc_domain_nested) in iommufd_viommu_alloc_hwpt_nested()
302 viommu->ictx, hwpt_nested, IOMMUFD_OBJ_HWPT_NESTED, common.obj); in iommufd_viommu_alloc_hwpt_nested()
308 hwpt_nested->viommu = viommu; in iommufd_viommu_alloc_hwpt_nested()
309 refcount_inc(&viommu->obj.users); in iommufd_viommu_alloc_hwpt_nested()
310 hwpt_nested->parent = viommu->hwpt; in iommufd_viommu_alloc_hwpt_nested()
313 viommu->ops->alloc_domain_nested(viommu, in iommufd_viommu_alloc_hwpt_nested()
322 hwpt->domain->owner = viommu->iommu_dev->ops; in iommufd_viommu_alloc_hwpt_nested()
332 iommufd_object_abort_and_destroy(viommu->ictx, &hwpt->obj); in iommufd_viommu_alloc_hwpt_nested()
394 struct iommufd_viommu *viommu; in iommufd_hwpt_alloc() local
396 viommu = container_of(pt_obj, struct iommufd_viommu, obj); in iommufd_hwpt_alloc()
397 if (viommu->iommu_dev != __iommu_get_iommu_dev(idev->dev)) { in iommufd_hwpt_alloc()
402 viommu, cmd->flags, &user_data); in iommufd_hwpt_alloc()
534 struct iommufd_viommu *viommu = in iommufd_hwpt_invalidate() local
537 if (!viommu->ops || !viommu->ops->cache_invalidate) { in iommufd_hwpt_invalidate()
541 rc = viommu->ops->cache_invalidate(viommu, &data_array); in iommufd_hwpt_invalidate()