Home
last modified time | relevance | path

Searched refs:iommufd_ctx (Results 1 – 16 of 16) sorted by relevance

/Linux-v6.6/include/linux/
Diommufd.h16 struct iommufd_ctx;
21 struct iommufd_device *iommufd_device_bind(struct iommufd_ctx *ictx,
29 struct iommufd_ctx *iommufd_device_to_ictx(struct iommufd_device *idev);
48 iommufd_access_create(struct iommufd_ctx *ictx,
55 void iommufd_ctx_get(struct iommufd_ctx *ictx);
58 struct iommufd_ctx *iommufd_ctx_from_file(struct file *file);
59 struct iommufd_ctx *iommufd_ctx_from_fd(int fd);
60 void iommufd_ctx_put(struct iommufd_ctx *ictx);
61 bool iommufd_ctx_has_group(struct iommufd_ctx *ictx, struct iommu_group *group);
70 int iommufd_vfio_compat_ioas_get_id(struct iommufd_ctx *ictx, u32 *out_ioas_id);
[all …]
Dvfio.h21 struct iommufd_ctx;
106 struct iommufd_ctx *ictx, u32 *out_device_id);
127 struct iommufd_ctx *vfio_iommufd_device_ictx(struct vfio_device *vdev);
128 int vfio_iommufd_get_dev_id(struct vfio_device *vdev, struct iommufd_ctx *ictx);
130 struct iommufd_ctx *ictx, u32 *out_device_id);
135 struct iommufd_ctx *ictx, u32 *out_device_id);
140 static inline struct iommufd_ctx *
147 vfio_iommufd_get_dev_id(struct vfio_device *vdev, struct iommufd_ctx *ictx) in vfio_iommufd_get_dev_id()
153 ((int (*)(struct vfio_device *vdev, struct iommufd_ctx *ictx, \
162 ((int (*)(struct vfio_device *vdev, struct iommufd_ctx *ictx, \
/Linux-v6.6/drivers/iommu/iommufd/
Diommufd_private.h17 struct iommufd_ctx { struct
62 int iopt_map_user_pages(struct iommufd_ctx *ictx, struct io_pagetable *iopt,
93 struct iommufd_ctx *ictx;
99 int iommufd_vfio_ioctl(struct iommufd_ctx *ictx, unsigned int cmd,
144 struct iommufd_object *iommufd_get_object(struct iommufd_ctx *ictx, u32 id,
152 void iommufd_object_abort(struct iommufd_ctx *ictx, struct iommufd_object *obj);
153 void iommufd_object_abort_and_destroy(struct iommufd_ctx *ictx,
155 void iommufd_object_finalize(struct iommufd_ctx *ictx,
157 void __iommufd_object_destroy_user(struct iommufd_ctx *ictx,
159 static inline void iommufd_object_destroy_user(struct iommufd_ctx *ictx, in iommufd_object_destroy_user()
[all …]
Dmain.c32 struct iommufd_object *_iommufd_object_alloc(struct iommufd_ctx *ictx, in _iommufd_object_alloc()
81 void iommufd_object_finalize(struct iommufd_ctx *ictx, in iommufd_object_finalize()
92 void iommufd_object_abort(struct iommufd_ctx *ictx, struct iommufd_object *obj) in iommufd_object_abort()
105 void iommufd_object_abort_and_destroy(struct iommufd_ctx *ictx, in iommufd_object_abort_and_destroy()
115 struct iommufd_object *iommufd_get_object(struct iommufd_ctx *ictx, u32 id, in iommufd_get_object()
136 static struct iommufd_object *iommufd_object_remove(struct iommufd_ctx *ictx, in iommufd_object_remove()
177 void __iommufd_object_destroy_user(struct iommufd_ctx *ictx, in __iommufd_object_destroy_user()
222 struct iommufd_ctx *ictx; in iommufd_fops_open()
247 struct iommufd_ctx *ictx = filp->private_data; in iommufd_fops_release()
369 struct iommufd_ctx *ictx = filp->private_data; in iommufd_fops_ioctl()
[all …]
Dvfio_compat.c15 static struct iommufd_ioas *get_compat_ioas(struct iommufd_ctx *ictx) in get_compat_ioas()
36 int iommufd_vfio_compat_ioas_get_id(struct iommufd_ctx *ictx, u32 *out_ioas_id) in iommufd_vfio_compat_ioas_get_id()
55 int iommufd_vfio_compat_set_no_iommu(struct iommufd_ctx *ictx) in iommufd_vfio_compat_set_no_iommu()
80 int iommufd_vfio_compat_ioas_create(struct iommufd_ctx *ictx) in iommufd_vfio_compat_ioas_create()
159 static int iommufd_vfio_map_dma(struct iommufd_ctx *ictx, unsigned int cmd, in iommufd_vfio_map_dma()
197 static int iommufd_vfio_unmap_dma(struct iommufd_ctx *ictx, unsigned int cmd, in iommufd_vfio_unmap_dma()
256 static int iommufd_vfio_cc_iommu(struct iommufd_ctx *ictx) in iommufd_vfio_cc_iommu()
279 static int iommufd_vfio_check_extension(struct iommufd_ctx *ictx, in iommufd_vfio_check_extension()
315 static int iommufd_vfio_set_iommu(struct iommufd_ctx *ictx, unsigned long type) in iommufd_vfio_set_iommu()
439 static int iommufd_vfio_iommu_get_info(struct iommufd_ctx *ictx, in iommufd_vfio_iommu_get_info()
[all …]
Ddevice.c60 static struct iommufd_group *iommufd_get_group(struct iommufd_ctx *ictx, in iommufd_get_group()
161 struct iommufd_device *iommufd_device_bind(struct iommufd_ctx *ictx, in iommufd_device_bind()
246 bool iommufd_ctx_has_group(struct iommufd_ctx *ictx, struct iommu_group *group) in iommufd_ctx_has_group()
283 struct iommufd_ctx *iommufd_device_to_ictx(struct iommufd_device *idev) in iommufd_device_to_ictx()
775 iommufd_access_create(struct iommufd_ctx *ictx, in iommufd_access_create()
Dioas.c23 struct iommufd_ioas *iommufd_ioas_alloc(struct iommufd_ctx *ictx) in iommufd_ioas_alloc()
323 struct iommufd_ctx *ictx) in iommufd_option_rlimit_mode()
Dhw_pagetable.c74 iommufd_hw_pagetable_alloc(struct iommufd_ctx *ictx, struct iommufd_ioas *ioas, in iommufd_hw_pagetable_alloc()
Dselftest.c108 struct iommufd_ctx *ictx;
Dio_pagetable.c385 int iopt_map_user_pages(struct iommufd_ctx *ictx, struct io_pagetable *iopt, in iopt_map_user_pages()
/Linux-v6.6/drivers/vfio/
Diommufd.c14 struct iommufd_ctx *ictx) in vfio_iommufd_device_has_compat_ioas()
24 struct iommufd_ctx *ictx = df->iommufd; in vfio_df_iommufd_bind()
32 struct iommufd_ctx *ictx) in vfio_iommufd_compat_attach_ioas()
64 struct iommufd_ctx *vfio_iommufd_device_ictx(struct vfio_device *vdev) in vfio_iommufd_device_ictx()
85 int vfio_iommufd_get_dev_id(struct vfio_device *vdev, struct iommufd_ctx *ictx) in vfio_iommufd_get_dev_id()
114 struct iommufd_ctx *ictx, u32 *out_device_id) in vfio_iommufd_physical_bind()
193 struct iommufd_ctx *ictx, u32 *out_device_id) in vfio_iommufd_emulated_bind()
Dvfio.h15 struct iommufd_ctx;
27 struct iommufd_ctx *iommufd; /* protected by struct vfio_device_set::lock */
94 struct iommufd_ctx *iommufd;
322 struct iommufd_ctx *ictx);
326 struct iommufd_ctx *ictx);
330 struct iommufd_ctx *ictx) in vfio_iommufd_device_has_compat_ioas()
346 struct iommufd_ctx *ictx) in vfio_iommufd_compat_attach_ioas()
Dvfio_main.c462 struct iommufd_ctx *iommufd = df->iommufd; in vfio_df_device_first_open()
497 struct iommufd_ctx *iommufd = df->iommufd; in vfio_df_device_last_close()
Dgroup.c106 struct iommufd_ctx *iommufd; in vfio_group_ioctl_set_container()
/Linux-v6.6/drivers/vfio/pci/
Dvfio_pci_core.c185 struct iommufd_ctx *iommufd_ctx);
802 struct iommufd_ctx *iommufd = vfio_iommufd_device_ictx(fill->vdev); in vfio_pci_fill_devs()
2466 struct iommufd_ctx *iommufd_ctx) in vfio_pci_dev_set_hot_reset() argument
2518 if (iommufd_ctx) { in vfio_pci_dev_set_hot_reset()
2520 iommufd_ctx); in vfio_pci_dev_set_hot_reset()
/Linux-v6.6/Documentation/driver-api/
Dvfio.rst296 group can not be bound to multiple iommufd_ctx or shared between native
410 struct iommufd_ctx *ictx, u32 *out_device_id);