Lines Matching defs:vfio_group
70 struct vfio_group {
262 static int vfio_alloc_group_minor(struct vfio_group *group)
274 static void vfio_group_get(struct vfio_group *group);
300 static void vfio_group_unlock_and_free(struct vfio_group *group)
314 static struct vfio_group *vfio_create_group(struct iommu_group *iommu_group)
316 struct vfio_group *group, *tmp;
393 struct vfio_group *group = container_of(kref, struct vfio_group, kref);
413 static void vfio_group_put(struct vfio_group *group)
420 struct vfio_group *group;
433 static void vfio_group_schedule_put(struct vfio_group *group)
447 static void vfio_group_get(struct vfio_group *group)
456 static struct vfio_group *vfio_group_try_get(struct vfio_group *group)
458 struct vfio_group *target = group;
474 struct vfio_group *vfio_group_get_from_iommu(struct iommu_group *iommu_group)
476 struct vfio_group *group;
491 static struct vfio_group *vfio_group_get_from_minor(int minor)
493 struct vfio_group *group;
507 static struct vfio_group *vfio_group_get_from_dev(struct device *dev)
510 struct vfio_group *group;
538 static struct vfio_device *vfio_group_get_device(struct vfio_group *group,
602 struct vfio_group *group = data;
632 static int vfio_group_nb_add_dev(struct vfio_group *group, struct device *dev)
654 static int vfio_group_nb_verify(struct vfio_group *group, struct device *dev)
666 struct vfio_group *group = container_of(nb, struct vfio_group, nb);
757 struct vfio_group *group;
772 * A found vfio_group already holds a reference to the
773 * iommu_group. A created vfio_group keeps the reference.
829 * Go the long way around, from the iommu_group to the vfio_group
834 struct vfio_group *group;
848 static struct vfio_device *vfio_device_get_from_name(struct vfio_group *group,
891 struct vfio_group *group = device->group;
1037 struct vfio_group *group;
1252 static void __vfio_group_unset_container(struct vfio_group *group)
1287 static int vfio_group_unset_container(struct vfio_group *group)
1307 static void vfio_group_try_dissolve_container(struct vfio_group *group)
1313 static int vfio_group_set_container(struct vfio_group *group, int container_fd)
1370 static bool vfio_group_viable(struct vfio_group *group)
1376 static int vfio_group_add_container_user(struct vfio_group *group)
1395 static int vfio_group_get_device_fd(struct vfio_group *group, char *buf)
1460 struct vfio_group *group = filep->private_data;
1526 struct vfio_group *group;
1563 struct vfio_group *group = filep->private_data;
1681 struct vfio_group *vfio_group_get_external_user(struct file *filep)
1683 struct vfio_group *group = filep->private_data;
1718 struct vfio_group *vfio_group_get_external_user_from_dev(struct device *dev)
1720 struct vfio_group *group;
1737 void vfio_group_put_external_user(struct vfio_group *group)
1744 bool vfio_external_group_match_file(struct vfio_group *test_group,
1747 struct vfio_group *group = filep->private_data;
1753 int vfio_external_user_iommu_id(struct vfio_group *group)
1759 long vfio_external_check_extension(struct vfio_group *group, unsigned long arg)
1899 struct vfio_group *group;
1951 struct vfio_group *group;
2006 int vfio_group_pin_pages(struct vfio_group *group,
2054 int vfio_group_unpin_pages(struct vfio_group *group,
2105 int vfio_dma_rw(struct vfio_group *group, dma_addr_t user_iova,
2128 static int vfio_register_iommu_notifier(struct vfio_group *group,
2153 static int vfio_unregister_iommu_notifier(struct vfio_group *group,
2177 void vfio_group_set_kvm(struct vfio_group *group, struct kvm *kvm)
2185 static int vfio_register_group_notifier(struct vfio_group *group,
2209 * The attaching of kvm and vfio_group might already happen, so
2221 static int vfio_unregister_group_notifier(struct vfio_group *group,
2240 struct vfio_group *group;
2269 struct vfio_group *group;