Lines Matching refs:df

27 	struct vfio_device_file *df;  in vfio_device_fops_cdev_open()  local
34 df = vfio_allocate_device_file(device); in vfio_device_fops_cdev_open()
35 if (IS_ERR(df)) { in vfio_device_fops_cdev_open()
36 ret = PTR_ERR(df); in vfio_device_fops_cdev_open()
40 filep->private_data = df; in vfio_device_fops_cdev_open()
56 static void vfio_df_get_kvm_safe(struct vfio_device_file *df) in vfio_df_get_kvm_safe() argument
58 spin_lock(&df->kvm_ref_lock); in vfio_df_get_kvm_safe()
59 vfio_device_get_kvm_safe(df->device, df->kvm); in vfio_df_get_kvm_safe()
60 spin_unlock(&df->kvm_ref_lock); in vfio_df_get_kvm_safe()
63 long vfio_df_ioctl_bind_iommufd(struct vfio_device_file *df, in vfio_df_ioctl_bind_iommufd() argument
66 struct vfio_device *device = df->device; in vfio_df_ioctl_bind_iommufd()
71 static_assert(__same_type(arg->out_devid, df->devid)); in vfio_df_ioctl_bind_iommufd()
82 if (df->group) in vfio_df_ioctl_bind_iommufd()
91 if (df->access_granted) { in vfio_df_ioctl_bind_iommufd()
96 df->iommufd = iommufd_ctx_from_fd(bind.iommufd); in vfio_df_ioctl_bind_iommufd()
97 if (IS_ERR(df->iommufd)) { in vfio_df_ioctl_bind_iommufd()
98 ret = PTR_ERR(df->iommufd); in vfio_df_ioctl_bind_iommufd()
99 df->iommufd = NULL; in vfio_df_ioctl_bind_iommufd()
109 vfio_df_get_kvm_safe(df); in vfio_df_ioctl_bind_iommufd()
111 ret = vfio_df_open(df); in vfio_df_ioctl_bind_iommufd()
115 ret = copy_to_user(&arg->out_devid, &df->devid, in vfio_df_ioctl_bind_iommufd()
116 sizeof(df->devid)) ? -EFAULT : 0; in vfio_df_ioctl_bind_iommufd()
125 smp_store_release(&df->access_granted, true); in vfio_df_ioctl_bind_iommufd()
130 vfio_df_close(df); in vfio_df_ioctl_bind_iommufd()
133 iommufd_ctx_put(df->iommufd); in vfio_df_ioctl_bind_iommufd()
134 df->iommufd = NULL; in vfio_df_ioctl_bind_iommufd()
141 void vfio_df_unbind_iommufd(struct vfio_device_file *df) in vfio_df_unbind_iommufd() argument
143 struct vfio_device *device = df->device; in vfio_df_unbind_iommufd()
150 if (!df->access_granted) in vfio_df_unbind_iommufd()
154 vfio_df_close(df); in vfio_df_unbind_iommufd()
156 iommufd_ctx_put(df->iommufd); in vfio_df_unbind_iommufd()
162 int vfio_df_ioctl_attach_pt(struct vfio_device_file *df, in vfio_df_ioctl_attach_pt() argument
166 struct vfio_device *device = df->device; in vfio_df_ioctl_attach_pt()
221 int vfio_df_ioctl_detach_pt(struct vfio_device_file *df, in vfio_df_ioctl_detach_pt() argument
225 struct vfio_device *device = df->device; in vfio_df_ioctl_detach_pt()