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()
83 long vfio_df_ioctl_bind_iommufd(struct vfio_device_file *df, in vfio_df_ioctl_bind_iommufd() argument
87 struct vfio_device *device = df->device; in vfio_df_ioctl_bind_iommufd()
93 static_assert(__same_type(arg->out_devid, df->devid)); in vfio_df_ioctl_bind_iommufd()
110 if (df->group) in vfio_df_ioctl_bind_iommufd()
119 if (df->access_granted) { in vfio_df_ioctl_bind_iommufd()
128 df->iommufd = iommufd_ctx_from_fd(bind.iommufd); in vfio_df_ioctl_bind_iommufd()
129 if (IS_ERR(df->iommufd)) { in vfio_df_ioctl_bind_iommufd()
130 ret = PTR_ERR(df->iommufd); in vfio_df_ioctl_bind_iommufd()
131 df->iommufd = NULL; in vfio_df_ioctl_bind_iommufd()
141 vfio_df_get_kvm_safe(df); in vfio_df_ioctl_bind_iommufd()
143 ret = vfio_df_open(df); in vfio_df_ioctl_bind_iommufd()
147 ret = copy_to_user(&arg->out_devid, &df->devid, in vfio_df_ioctl_bind_iommufd()
148 sizeof(df->devid)) ? -EFAULT : 0; in vfio_df_ioctl_bind_iommufd()
157 smp_store_release(&df->access_granted, true); in vfio_df_ioctl_bind_iommufd()
162 vfio_df_close(df); in vfio_df_ioctl_bind_iommufd()
165 iommufd_ctx_put(df->iommufd); in vfio_df_ioctl_bind_iommufd()
166 df->iommufd = NULL; in vfio_df_ioctl_bind_iommufd()
173 void vfio_df_unbind_iommufd(struct vfio_device_file *df) in vfio_df_unbind_iommufd() argument
175 struct vfio_device *device = df->device; in vfio_df_unbind_iommufd()
182 if (!df->access_granted) in vfio_df_unbind_iommufd()
186 vfio_df_close(df); in vfio_df_unbind_iommufd()
188 iommufd_ctx_put(df->iommufd); in vfio_df_unbind_iommufd()
194 int vfio_df_ioctl_attach_pt(struct vfio_device_file *df, in vfio_df_ioctl_attach_pt() argument
198 struct vfio_device *device = df->device; in vfio_df_ioctl_attach_pt()
253 int vfio_df_ioctl_detach_pt(struct vfio_device_file *df, in vfio_df_ioctl_detach_pt() argument
257 struct vfio_device *device = df->device; in vfio_df_ioctl_detach_pt()