Home
last modified time | relevance | path

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

/Linux-v6.6/include/linux/
Diommufd.h17 struct iommufd_access;
47 struct iommufd_access *
50 void iommufd_access_destroy(struct iommufd_access *access);
51 int iommufd_access_attach(struct iommufd_access *access, u32 ioas_id);
52 int iommufd_access_replace(struct iommufd_access *access, u32 ioas_id);
53 void iommufd_access_detach(struct iommufd_access *access);
63 int iommufd_access_pin_pages(struct iommufd_access *access, unsigned long iova,
66 void iommufd_access_unpin_pages(struct iommufd_access *access,
68 int iommufd_access_rw(struct iommufd_access *access, unsigned long iova,
83 static inline int iommufd_access_pin_pages(struct iommufd_access *access, in iommufd_access_pin_pages()
[all …]
Dvfio.h23 struct iommufd_access;
65 struct iommufd_access *iommufd_access; member
/Linux-v6.6/drivers/vfio/
Diommufd.c195 struct iommufd_access *user; in vfio_iommufd_emulated_bind()
202 vdev->iommufd_access = user; in vfio_iommufd_emulated_bind()
211 if (vdev->iommufd_access) { in vfio_iommufd_emulated_unbind()
212 iommufd_access_destroy(vdev->iommufd_access); in vfio_iommufd_emulated_unbind()
214 vdev->iommufd_access = NULL; in vfio_iommufd_emulated_unbind()
226 rc = iommufd_access_replace(vdev->iommufd_access, *pt_id); in vfio_iommufd_emulated_attach_ioas()
228 rc = iommufd_access_attach(vdev->iommufd_access, *pt_id); in vfio_iommufd_emulated_attach_ioas()
240 if (WARN_ON(!vdev->iommufd_access) || in vfio_iommufd_emulated_detach_ioas()
244 iommufd_access_detach(vdev->iommufd_access); in vfio_iommufd_emulated_detach_ioas()
Dvfio_main.c1544 if (device->iommufd_access) { in vfio_pin_pages()
1556 device->iommufd_access, ALIGN_DOWN(iova, PAGE_SIZE), in vfio_pin_pages()
1585 if (device->iommufd_access) { in vfio_unpin_pages()
1588 iommufd_access_unpin_pages(device->iommufd_access, in vfio_unpin_pages()
1623 if (device->iommufd_access) { in vfio_dma_rw()
1634 return iommufd_access_rw(device->iommufd_access, iova, data, in vfio_dma_rw()
/Linux-v6.6/drivers/iommu/iommufd/
Ddevice.c690 static int iommufd_access_change_ioas(struct iommufd_access *access, in iommufd_access_change_ioas()
737 static int iommufd_access_change_ioas_id(struct iommufd_access *access, u32 id) in iommufd_access_change_ioas_id()
751 struct iommufd_access *access = in iommufd_access_destroy_object()
752 container_of(obj, struct iommufd_access, obj); in iommufd_access_destroy_object()
774 struct iommufd_access *
778 struct iommufd_access *access; in iommufd_access_create()
813 void iommufd_access_destroy(struct iommufd_access *access) in iommufd_access_destroy()
819 void iommufd_access_detach(struct iommufd_access *access) in iommufd_access_detach()
831 int iommufd_access_attach(struct iommufd_access *access, u32 ioas_id) in iommufd_access_attach()
847 int iommufd_access_replace(struct iommufd_access *access, u32 ioas_id) in iommufd_access_replace()
[all …]
Diommufd_private.h301 struct iommufd_access { struct
313 int iopt_add_access(struct io_pagetable *iopt, struct iommufd_access *access); argument
315 struct iommufd_access *access,
Dio_pagetable.c817 struct iommufd_access *access; in iopt_check_iova_alignment()
909 struct iommufd_access *access; in iopt_calculate_iova_alignment()
1137 int iopt_add_access(struct io_pagetable *iopt, struct iommufd_access *access) in iopt_add_access()
1161 struct iommufd_access *access, in iopt_remove_access()
Dselftest.c604 struct iommufd_access *access;
739 struct iommufd_access *access; in iommufd_test_create_access()
/Linux-v6.6/Documentation/userspace-api/
Diommufd.rst138 iommufd_access object that is similar to the domain binding a physical device
155 xarray if they have been pinned through an iommufd_access.