Home
last modified time | relevance | path

Searched refs:ioas (Results 1 – 4 of 4) sorted by relevance

/linux/drivers/iommu/iommufd/
H A Dvfio_compat.c17 struct iommufd_ioas *ioas = ERR_PTR(-ENODEV); in get_compat_ioas() local
22 ioas = ictx->vfio_ioas; in get_compat_ioas()
25 return ioas; in get_compat_ioas()
38 struct iommufd_ioas *ioas; in iommufd_vfio_compat_ioas_get_id() local
40 ioas = get_compat_ioas(ictx); in iommufd_vfio_compat_ioas_get_id()
41 if (IS_ERR(ioas)) in iommufd_vfio_compat_ioas_get_id()
42 return PTR_ERR(ioas); in iommufd_vfio_compat_ioas_get_id()
43 *out_ioas_id = ioas->obj.id; in iommufd_vfio_compat_ioas_get_id()
44 iommufd_put_object(ictx, &ioas->obj); in iommufd_vfio_compat_ioas_get_id()
82 struct iommufd_ioas *ioas = NULL; in iommufd_vfio_compat_ioas_create() local
[all …]
H A Dioas.c15 struct iommufd_ioas *ioas = container_of(obj, struct iommufd_ioas, obj); in iommufd_ioas_destroy() local
18 rc = iopt_unmap_all(&ioas->iopt, NULL); in iommufd_ioas_destroy()
20 iopt_destroy_table(&ioas->iopt); in iommufd_ioas_destroy()
21 mutex_destroy(&ioas->mutex); in iommufd_ioas_destroy()
26 struct iommufd_ioas *ioas; in iommufd_ioas_alloc() local
28 ioas = iommufd_object_alloc(ictx, ioas, IOMMUFD_OBJ_IOAS); in iommufd_ioas_alloc()
29 if (IS_ERR(ioas)) in iommufd_ioas_alloc()
30 return ioas; in iommufd_ioas_alloc()
32 iopt_init_table(&ioas->iopt); in iommufd_ioas_alloc()
33 INIT_LIST_HEAD(&ioas->hwpt_list); in iommufd_ioas_alloc()
[all …]
H A Ddevice.c338 rc = iopt_table_enforce_dev_resv_regions(&hwpt_paging->ioas->iopt, in iommufd_device_attach_reserved_iova()
347 iopt_remove_reserved_iova(&hwpt_paging->ioas->iopt, in iommufd_device_attach_reserved_iova()
393 iopt_remove_reserved_iova(&hwpt_paging->ioas->iopt, idev->dev); in iommufd_hw_pagetable_attach()
412 iopt_remove_reserved_iova(&hwpt_paging->ioas->iopt, idev->dev); in iommufd_hw_pagetable_detach()
440 iopt_remove_reserved_iova(&hwpt_paging->ioas->iopt, cur->dev); in iommufd_group_remove_reserved_iova()
454 if (!old_hwpt_paging || hwpt_paging->ioas != old_hwpt_paging->ioas) { in iommufd_group_do_replace_reserved_iova()
457 &hwpt_paging->ioas->iopt, cur->dev, NULL); in iommufd_group_do_replace_reserved_iova()
509 (!hwpt_paging || hwpt_paging->ioas != old_hwpt_paging->ioas)) in iommufd_device_do_replace()
545 struct iommufd_ioas *ioas, u32 *pt_id, in iommufd_device_auto_get_domain() argument
565 mutex_lock(&ioas->mutex); in iommufd_device_auto_get_domain()
[all …]
H A Diommufd_private.h283 struct iommufd_ioas *ioas; member
348 iommufd_hwpt_paging_alloc(struct iommufd_ctx *ictx, struct iommufd_ioas *ioas,
369 lockdep_assert_not_held(&hwpt_paging->ioas->mutex); in iommufd_hw_pagetable_put()
421 struct iommufd_ioas *ioas; member