Lines Matching refs:iommufd
67 return group->container || group->iommufd; in vfio_group_has_iommu()
92 if (group->iommufd) { in vfio_group_ioctl_unset_container()
93 iommufd_ctx_put(group->iommufd); in vfio_group_ioctl_unset_container()
94 group->iommufd = NULL; in vfio_group_ioctl_unset_container()
106 struct iommufd_ctx *iommufd; in vfio_group_ioctl_set_container() local
133 iommufd = iommufd_ctx_from_file(fd_file(f)); in vfio_group_ioctl_set_container()
134 if (!IS_ERR(iommufd)) { in vfio_group_ioctl_set_container()
137 ret = iommufd_vfio_compat_set_no_iommu(iommufd); in vfio_group_ioctl_set_container()
139 ret = iommufd_vfio_compat_ioas_create(iommufd); in vfio_group_ioctl_set_container()
142 iommufd_ctx_put(iommufd); in vfio_group_ioctl_set_container()
146 group->iommufd = iommufd; in vfio_group_ioctl_set_container()
187 df->iommufd = device->group->iommufd; in vfio_df_group_open()
188 if (df->iommufd && vfio_device_is_noiommu(device) && device->open_count == 0) { in vfio_df_group_open()
195 vfio_iommufd_device_has_compat_ioas(device, df->iommufd)) in vfio_df_group_open()
206 if (df->iommufd && device->open_count == 1) { in vfio_df_group_open()
207 ret = vfio_iommufd_compat_attach_ioas(device, df->iommufd); in vfio_df_group_open()
225 df->iommufd = NULL; in vfio_df_group_open()
242 df->iommufd = NULL; in vfio_df_group_close()
493 if (group->iommufd) { in vfio_group_fops_release()
494 iommufd_ctx_put(group->iommufd); in vfio_group_fops_release()
495 group->iommufd = NULL; in vfio_group_fops_release()