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()
49 static void vfio_df_get_kvm_safe(struct vfio_device_file *df) in vfio_df_get_kvm_safe() argument
51 spin_lock(&df->kvm_ref_lock); in vfio_df_get_kvm_safe()
52 vfio_device_get_kvm_safe(df->device, df->kvm); in vfio_df_get_kvm_safe()
53 spin_unlock(&df->kvm_ref_lock); in vfio_df_get_kvm_safe()
56 long vfio_df_ioctl_bind_iommufd(struct vfio_device_file *df, in vfio_df_ioctl_bind_iommufd() argument
59 struct vfio_device *device = df->device; in vfio_df_ioctl_bind_iommufd()
64 static_assert(__same_type(arg->out_devid, df->devid)); in vfio_df_ioctl_bind_iommufd()
75 if (df->group) in vfio_df_ioctl_bind_iommufd()
84 if (df->access_granted) { in vfio_df_ioctl_bind_iommufd()
89 df->iommufd = iommufd_ctx_from_fd(bind.iommufd); in vfio_df_ioctl_bind_iommufd()
90 if (IS_ERR(df->iommufd)) { in vfio_df_ioctl_bind_iommufd()
91 ret = PTR_ERR(df->iommufd); in vfio_df_ioctl_bind_iommufd()
92 df->iommufd = NULL; in vfio_df_ioctl_bind_iommufd()
102 vfio_df_get_kvm_safe(df); in vfio_df_ioctl_bind_iommufd()
104 ret = vfio_df_open(df); in vfio_df_ioctl_bind_iommufd()
108 ret = copy_to_user(&arg->out_devid, &df->devid, in vfio_df_ioctl_bind_iommufd()
109 sizeof(df->devid)) ? -EFAULT : 0; in vfio_df_ioctl_bind_iommufd()
118 smp_store_release(&df->access_granted, true); in vfio_df_ioctl_bind_iommufd()
123 vfio_df_close(df); in vfio_df_ioctl_bind_iommufd()
126 iommufd_ctx_put(df->iommufd); in vfio_df_ioctl_bind_iommufd()
127 df->iommufd = NULL; in vfio_df_ioctl_bind_iommufd()
134 void vfio_df_unbind_iommufd(struct vfio_device_file *df) in vfio_df_unbind_iommufd() argument
136 struct vfio_device *device = df->device; in vfio_df_unbind_iommufd()
143 if (!df->access_granted) in vfio_df_unbind_iommufd()
147 vfio_df_close(df); in vfio_df_unbind_iommufd()
149 iommufd_ctx_put(df->iommufd); in vfio_df_unbind_iommufd()
155 int vfio_df_ioctl_attach_pt(struct vfio_device_file *df, in vfio_df_ioctl_attach_pt() argument
158 struct vfio_device *device = df->device; in vfio_df_ioctl_attach_pt()
191 int vfio_df_ioctl_detach_pt(struct vfio_device_file *df, in vfio_df_ioctl_detach_pt() argument
194 struct vfio_device *device = df->device; in vfio_df_ioctl_detach_pt()