Home
last modified time | relevance | path

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

/linux-6.15/include/linux/
H A Diommufd.h22 struct iommufd_access;
82 struct iommufd_access *
85 void iommufd_access_destroy(struct iommufd_access *access);
86 int iommufd_access_attach(struct iommufd_access *access, u32 ioas_id);
87 int iommufd_access_replace(struct iommufd_access *access, u32 ioas_id);
88 void iommufd_access_detach(struct iommufd_access *access);
139 int iommufd_access_pin_pages(struct iommufd_access *access, unsigned long iova,
142 void iommufd_access_unpin_pages(struct iommufd_access *access,
144 int iommufd_access_rw(struct iommufd_access *access, unsigned long iova,
159 static inline int iommufd_access_pin_pages(struct iommufd_access *access, in iommufd_access_pin_pages()
[all …]
H A Dvfio.h23 struct iommufd_access;
65 struct iommufd_access *iommufd_access; member
/linux-6.15/drivers/vfio/
H A Diommufd.c247 struct iommufd_access *user; in vfio_iommufd_emulated_bind()
254 vdev->iommufd_access = user; in vfio_iommufd_emulated_bind()
263 if (vdev->iommufd_access) { in vfio_iommufd_emulated_unbind()
264 iommufd_access_destroy(vdev->iommufd_access); in vfio_iommufd_emulated_unbind()
266 vdev->iommufd_access = NULL; in vfio_iommufd_emulated_unbind()
278 rc = iommufd_access_replace(vdev->iommufd_access, *pt_id); in vfio_iommufd_emulated_attach_ioas()
280 rc = iommufd_access_attach(vdev->iommufd_access, *pt_id); in vfio_iommufd_emulated_attach_ioas()
292 if (WARN_ON(!vdev->iommufd_access) || in vfio_iommufd_emulated_detach_ioas()
296 iommufd_access_detach(vdev->iommufd_access); in vfio_iommufd_emulated_detach_ioas()
H A Dvfio_main.c1600 if (device->iommufd_access) { in vfio_pin_pages()
1612 device->iommufd_access, ALIGN_DOWN(iova, PAGE_SIZE), in vfio_pin_pages()
1641 if (device->iommufd_access) { in vfio_unpin_pages()
1644 iommufd_access_unpin_pages(device->iommufd_access, in vfio_unpin_pages()
1679 if (device->iommufd_access) { in vfio_dma_rw()
1690 return iommufd_access_rw(device->iommufd_access, iova, data, in vfio_dma_rw()
/linux-6.15/drivers/iommu/iommufd/
H A Ddevice.c1021 static int iommufd_access_change_ioas(struct iommufd_access *access, in iommufd_access_change_ioas()
1082 struct iommufd_access *access = in iommufd_access_destroy_object()
1083 container_of(obj, struct iommufd_access, obj); in iommufd_access_destroy_object()
1105 struct iommufd_access *
1109 struct iommufd_access *access; in iommufd_access_create()
1144 void iommufd_access_destroy(struct iommufd_access *access) in iommufd_access_destroy()
1150 void iommufd_access_detach(struct iommufd_access *access) in iommufd_access_detach()
1162 int iommufd_access_attach(struct iommufd_access *access, u32 ioas_id) in iommufd_access_attach()
1178 int iommufd_access_replace(struct iommufd_access *access, u32 ioas_id) in iommufd_access_replace()
1214 struct iommufd_access *access; in iommufd_access_notify_unmap()
[all …]
H A Diommufd_private.h444 struct iommufd_access { struct
456 int iopt_add_access(struct io_pagetable *iopt, struct iommufd_access *access); argument
458 struct iommufd_access *access,
H A Dio_pagetable.c1056 struct iommufd_access *access; in iopt_check_iova_alignment()
1148 struct iommufd_access *access; in iopt_calculate_iova_alignment()
1386 int iopt_add_access(struct io_pagetable *iopt, struct iommufd_access *access) in iopt_add_access()
1413 struct iommufd_access *access, in iopt_remove_access()
H A Dselftest.c92 static unsigned long iommufd_test_syz_conv_iova(struct iommufd_access *access, in iommufd_test_syz_conv_iova()
1222 struct iommufd_access *access;
1357 struct iommufd_access *access; in iommufd_test_create_access()
/linux-6.15/Documentation/userspace-api/
H A Diommufd.rst287 iommufd_access object that is similar to the domain binding a physical device
304 xarray if they have been pinned through an iommufd_access.