Home
last modified time | relevance | path

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

/openbmc/linux/include/linux/
H A 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 …]
H A 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, \
/openbmc/linux/drivers/iommu/iommufd/
H A 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 …]
H A 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 …]
H A 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 …]
H A 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()
H A Dioas.c23 struct iommufd_ioas *iommufd_ioas_alloc(struct iommufd_ctx *ictx) in iommufd_ioas_alloc()
331 struct iommufd_ctx *ictx) in iommufd_option_rlimit_mode()
H A Dhw_pagetable.c74 iommufd_hw_pagetable_alloc(struct iommufd_ctx *ictx, struct iommufd_ioas *ioas, in iommufd_hw_pagetable_alloc()
H A Dselftest.c123 struct iommufd_ctx *ictx;
H A Dio_pagetable.c405 int iopt_map_user_pages(struct iommufd_ctx *ictx, struct io_pagetable *iopt, in iopt_map_user_pages()
/openbmc/linux/drivers/vfio/
H A 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()
H A 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()
H A 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()
H A Dgroup.c106 struct iommufd_ctx *iommufd; in vfio_group_ioctl_set_container()
/openbmc/linux/drivers/vfio/pci/
H A Dvfio_pci_core.c185 struct iommufd_ctx *iommufd_ctx);
803 struct iommufd_ctx *iommufd = vfio_iommufd_device_ictx(fill->vdev); in vfio_pci_fill_devs()
2486 struct iommufd_ctx *iommufd_ctx) in vfio_pci_dev_set_hot_reset() argument
2538 if (iommufd_ctx) { in vfio_pci_dev_set_hot_reset()
2540 iommufd_ctx); in vfio_pci_dev_set_hot_reset()
/openbmc/linux/Documentation/driver-api/
H A Dvfio.rst296 group can not be bound to multiple iommufd_ctx or shared between native
410 struct iommufd_ctx *ictx, u32 *out_device_id);