Lines Matching refs:df
447 struct vfio_device_file *df;
449 df = kzalloc(sizeof(*df), GFP_KERNEL_ACCOUNT);
450 if (!df)
453 df->device = device;
454 spin_lock_init(&df->kvm_ref_lock);
456 return df;
459 static int vfio_df_device_first_open(struct vfio_device_file *df)
461 struct vfio_device *device = df->device;
462 struct iommufd_ctx *iommufd = df->iommufd;
471 ret = vfio_df_iommufd_bind(df);
486 vfio_df_iommufd_unbind(df);
494 static void vfio_df_device_last_close(struct vfio_device_file *df)
496 struct vfio_device *device = df->device;
497 struct iommufd_ctx *iommufd = df->iommufd;
504 vfio_df_iommufd_unbind(df);
510 int vfio_df_open(struct vfio_device_file *df)
512 struct vfio_device *device = df->device;
521 if (device->open_count != 0 && !df->group)
526 ret = vfio_df_device_first_open(df);
534 void vfio_df_close(struct vfio_device_file *df)
536 struct vfio_device *device = df->device;
542 vfio_df_device_last_close(df);
584 struct vfio_device_file *df = filep->private_data;
585 struct vfio_device *device = df->device;
587 if (df->group)
588 vfio_df_group_close(df);
590 vfio_df_unbind_iommufd(df);
594 kfree(df);
1207 struct vfio_device_file *df = filep->private_data;
1208 struct vfio_device *device = df->device;
1213 return vfio_df_ioctl_bind_iommufd(df, uptr);
1216 if (!smp_load_acquire(&df->access_granted))
1224 if (IS_ENABLED(CONFIG_VFIO_DEVICE_CDEV) && !df->group) {
1227 ret = vfio_df_ioctl_attach_pt(df, uptr);
1231 ret = vfio_df_ioctl_detach_pt(df, uptr);
1256 struct vfio_device_file *df = filep->private_data;
1257 struct vfio_device *device = df->device;
1260 if (!smp_load_acquire(&df->access_granted))
1273 struct vfio_device_file *df = filep->private_data;
1274 struct vfio_device *device = df->device;
1277 if (!smp_load_acquire(&df->access_granted))
1288 struct vfio_device_file *df = filep->private_data;
1289 struct vfio_device *device = df->device;
1292 if (!smp_load_acquire(&df->access_granted))
1314 struct vfio_device_file *df = file->private_data;
1318 return df->device;
1361 struct vfio_device_file *df = file->private_data;
1368 spin_lock(&df->kvm_ref_lock);
1369 df->kvm = kvm;
1370 spin_unlock(&df->kvm_ref_lock);