/openbmc/linux/include/linux/ |
H A D | iommufd.h | 16 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 D | vfio.h | 21 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 D | iommufd_private.h | 17 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 D | main.c | 32 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 D | vfio_compat.c | 15 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 D | device.c | 60 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 D | ioas.c | 23 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 D | hw_pagetable.c | 74 iommufd_hw_pagetable_alloc(struct iommufd_ctx *ictx, struct iommufd_ioas *ioas, in iommufd_hw_pagetable_alloc()
|
H A D | selftest.c | 123 struct iommufd_ctx *ictx;
|
H A D | io_pagetable.c | 405 int iopt_map_user_pages(struct iommufd_ctx *ictx, struct io_pagetable *iopt, in iopt_map_user_pages()
|
/openbmc/linux/drivers/vfio/ |
H A D | iommufd.c | 14 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 D | vfio.h | 15 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 D | vfio_main.c | 462 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 D | group.c | 106 struct iommufd_ctx *iommufd; in vfio_group_ioctl_set_container()
|
/openbmc/linux/drivers/vfio/pci/ |
H A D | vfio_pci_core.c | 185 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 D | vfio.rst | 296 group can not be bound to multiple iommufd_ctx or shared between native 410 struct iommufd_ctx *ictx, u32 *out_device_id);
|