Lines Matching refs:df
167 static int vfio_df_group_open(struct vfio_device_file *df)
169 struct vfio_device *device = df->device;
189 df->iommufd = device->group->iommufd;
190 if (df->iommufd && vfio_device_is_noiommu(device) && device->open_count == 0) {
197 vfio_iommufd_device_has_compat_ioas(device, df->iommufd))
204 ret = vfio_df_open(df);
208 if (df->iommufd && device->open_count == 1) {
209 ret = vfio_iommufd_compat_attach_ioas(device, df->iommufd);
218 smp_store_release(&df->access_granted, true);
225 vfio_df_close(df);
227 df->iommufd = NULL;
236 void vfio_df_group_close(struct vfio_device_file *df)
238 struct vfio_device *device = df->device;
243 vfio_df_close(df);
244 df->iommufd = NULL;
255 struct vfio_device_file *df;
259 df = vfio_allocate_device_file(device);
260 if (IS_ERR(df)) {
261 ret = PTR_ERR(df);
265 df->group = device->group;
267 ret = vfio_df_group_open(df);
276 df, O_RDWR);
299 vfio_df_group_close(df);
301 kfree(df);