Home
last modified time | relevance | path

Searched refs:iommufd_access (Results 1 – 10 of 10) sorted by relevance

/linux/include/linux/
H A Diommufd.h22 struct iommufd_access;
89 struct iommufd_access *
92 void iommufd_access_destroy(struct iommufd_access *access);
93 int iommufd_access_attach(struct iommufd_access *access, u32 ioas_id);
94 int iommufd_access_replace(struct iommufd_access *access, u32 ioas_id);
95 void iommufd_access_detach(struct iommufd_access *access);
132 struct iommufd_access *access;
206 int iommufd_access_pin_pages(struct iommufd_access *access, unsigned long iova,
209 void iommufd_access_unpin_pages(struct iommufd_access *access,
211 int iommufd_access_rw(struct iommufd_access *access, unsigned long iova,
[all …]
H A Dvfio.h23 struct iommufd_access;
66 struct iommufd_access *iommufd_access; member
/linux/drivers/vfio/
H A Diommufd.c251 struct iommufd_access *user; in vfio_iommufd_emulated_bind()
258 vdev->iommufd_access = user; in vfio_iommufd_emulated_bind()
267 if (vdev->iommufd_access) { in vfio_iommufd_emulated_unbind()
268 iommufd_access_destroy(vdev->iommufd_access); in vfio_iommufd_emulated_unbind()
270 vdev->iommufd_access = NULL; in vfio_iommufd_emulated_unbind()
282 rc = iommufd_access_replace(vdev->iommufd_access, *pt_id); in vfio_iommufd_emulated_attach_ioas()
284 rc = iommufd_access_attach(vdev->iommufd_access, *pt_id); in vfio_iommufd_emulated_attach_ioas()
296 if (WARN_ON(!vdev->iommufd_access) || in vfio_iommufd_emulated_detach_ioas()
300 iommufd_access_detach(vdev->iommufd_access); in vfio_iommufd_emulated_detach_ioas()
H A Dvfio_main.c1671 if (device->iommufd_access) { in vfio_pin_pages()
1683 device->iommufd_access, ALIGN_DOWN(iova, PAGE_SIZE), in vfio_pin_pages()
1712 if (device->iommufd_access) { in vfio_unpin_pages()
1715 iommufd_access_unpin_pages(device->iommufd_access, in vfio_unpin_pages()
1750 if (device->iommufd_access) { in vfio_dma_rw()
1761 return iommufd_access_rw(device->iommufd_access, iova, data, in vfio_dma_rw()
/linux/drivers/iommu/iommufd/
H A Ddevice.c1071 static int iommufd_access_change_ioas(struct iommufd_access *access, in iommufd_access_change_ioas()
1118 static int iommufd_access_change_ioas_id(struct iommufd_access *access, u32 id) in iommufd_access_change_ioas_id()
1132 struct iommufd_access *access = in iommufd_access_destroy_object()
1133 container_of(obj, struct iommufd_access, obj); in iommufd_access_destroy_object()
1143 static struct iommufd_access *__iommufd_access_create(struct iommufd_ctx *ictx) in __iommufd_access_create()
1145 struct iommufd_access *access; in __iommufd_access_create()
1161 struct iommufd_access *iommufd_access_create_internal(struct iommufd_ctx *ictx) in iommufd_access_create_internal()
1163 struct iommufd_access *access; in iommufd_access_create_internal()
1187 struct iommufd_access *
1191 struct iommufd_access *access; in iommufd_access_create()
[all …]
H A Diommufd_private.h510 struct iommufd_access { struct
522 int iopt_add_access(struct io_pagetable *iopt, struct iommufd_access *access); argument
524 struct iommufd_access *access, u32 iopt_access_list_id);
528 static inline bool iommufd_access_is_internal(struct iommufd_access *access) in iommufd_access_is_internal()
533 struct iommufd_access *iommufd_access_create_internal(struct iommufd_ctx *ictx);
537 struct iommufd_access *access) in iommufd_access_destroy_internal()
542 int iommufd_access_attach_internal(struct iommufd_access *access,
545 static inline void iommufd_access_detach_internal(struct iommufd_access *access) in iommufd_access_detach_internal()
H A Dviommu.c253 struct iommufd_access *access, in iommufd_hw_queue_destroy_access()
289 static struct iommufd_access *
295 struct iommufd_access *access; in iommufd_hw_queue_alloc_phys()
361 struct iommufd_access *access; in iommufd_hw_queue_alloc_ioctl()
H A Dio_pagetable.c1120 struct iommufd_access *access; in iopt_check_iova_alignment()
1212 struct iommufd_access *access; in iopt_calculate_iova_alignment()
1454 int iopt_add_access(struct io_pagetable *iopt, struct iommufd_access *access) in iopt_add_access()
1481 struct iommufd_access *access, u32 iopt_access_list_id) in iopt_remove_access()
H A Dselftest.c84 static unsigned long iommufd_test_syz_conv_iova(struct iommufd_access *access, in iommufd_test_syz_conv_iova()
1338 struct iommufd_access *access;
1473 struct iommufd_access *access; in iommufd_test_create_access()
/linux/Documentation/userspace-api/
H A Diommufd.rst299 iommufd_access object that is similar to the domain binding a physical device
316 xarray if they have been pinned through an iommufd_access.