Lines Matching refs:vfio_device

37 struct vfio_device {  struct
103 int (*init)(struct vfio_device *vdev);
104 void (*release)(struct vfio_device *vdev);
105 int (*bind_iommufd)(struct vfio_device *vdev,
107 void (*unbind_iommufd)(struct vfio_device *vdev);
108 int (*attach_ioas)(struct vfio_device *vdev, u32 *pt_id);
109 void (*detach_ioas)(struct vfio_device *vdev);
110 int (*open_device)(struct vfio_device *vdev);
111 void (*close_device)(struct vfio_device *vdev);
112 ssize_t (*read)(struct vfio_device *vdev, char __user *buf,
114 ssize_t (*write)(struct vfio_device *vdev, const char __user *buf,
116 long (*ioctl)(struct vfio_device *vdev, unsigned int cmd,
118 int (*mmap)(struct vfio_device *vdev, struct vm_area_struct *vma);
119 void (*request)(struct vfio_device *vdev, unsigned int count);
120 int (*match)(struct vfio_device *vdev, char *buf);
121 void (*dma_unmap)(struct vfio_device *vdev, u64 iova, u64 length);
122 int (*device_feature)(struct vfio_device *device, u32 flags,
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);
129 int vfio_iommufd_physical_bind(struct vfio_device *vdev,
131 void vfio_iommufd_physical_unbind(struct vfio_device *vdev);
132 int vfio_iommufd_physical_attach_ioas(struct vfio_device *vdev, u32 *pt_id);
133 void vfio_iommufd_physical_detach_ioas(struct vfio_device *vdev);
134 int vfio_iommufd_emulated_bind(struct vfio_device *vdev,
136 void vfio_iommufd_emulated_unbind(struct vfio_device *vdev);
137 int vfio_iommufd_emulated_attach_ioas(struct vfio_device *vdev, u32 *pt_id);
138 void vfio_iommufd_emulated_detach_ioas(struct vfio_device *vdev);
141 vfio_iommufd_device_ictx(struct vfio_device *vdev) in vfio_iommufd_device_ictx()
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, \
156 ((void (*)(struct vfio_device *vdev)) NULL)
158 ((int (*)(struct vfio_device *vdev, u32 *pt_id)) NULL)
160 ((void (*)(struct vfio_device *vdev)) NULL)
162 ((int (*)(struct vfio_device *vdev, struct iommufd_ctx *ictx, \
165 ((void (*)(struct vfio_device *vdev)) NULL)
167 ((int (*)(struct vfio_device *vdev, u32 *pt_id)) NULL)
169 ((void (*)(struct vfio_device *vdev)) NULL)
172 static inline bool vfio_device_cdev_opened(struct vfio_device *device) in vfio_device_cdev_opened()
196 struct vfio_device *device,
198 int (*migration_get_state)(struct vfio_device *device,
200 int (*migration_get_data_size)(struct vfio_device *device,
220 int (*log_start)(struct vfio_device *device,
222 int (*log_stop)(struct vfio_device *device);
223 int (*log_read_and_clear)(struct vfio_device *device,
257 struct vfio_device *_vfio_alloc_device(size_t size, struct device *dev,
266 static inline void vfio_put_device(struct vfio_device *device) in vfio_put_device()
271 int vfio_register_group_dev(struct vfio_device *device);
272 int vfio_register_emulated_iommu_dev(struct vfio_device *device);
273 void vfio_unregister_group_dev(struct vfio_device *device);
275 int vfio_assign_device_set(struct vfio_device *device, void *set_id);
277 struct vfio_device *
281 int vfio_mig_get_next_state(struct vfio_device *device,
295 bool vfio_file_has_dev(struct file *file, struct vfio_device *device);
307 static inline bool vfio_file_has_dev(struct file *file, struct vfio_device *device) in vfio_file_has_dev()
318 int vfio_pin_pages(struct vfio_device *device, dma_addr_t iova,
320 void vfio_unpin_pages(struct vfio_device *device, dma_addr_t iova, int npage);
321 int vfio_dma_rw(struct vfio_device *device, dma_addr_t iova,