[PATCH 07/10] vfio-iommufd: Support iommufd for physical VFIO devices
Tian, Kevin
kevin.tian at intel.com
Tue Nov 1 08:21:20 UTC 2022
> From: Jason Gunthorpe <jgg at nvidia.com>
> Sent: Wednesday, October 26, 2022 2:51 AM
>
> +int vfio_iommufd_bind(struct vfio_device *vdev, struct iommufd_ctx *ictx)
> +{
> + u32 ioas_id;
> + u32 device_id;
> + int ret;
> +
> + lockdep_assert_held(&vdev->dev_set->lock);
> +
> + /*
> + * If the driver doesn't provide this op then it means the device does
> + * not do DMA at all. So nothing to do.
> + */
> + if (!vdev->ops->bind_iommufd)
> + return 0;
Nothing to do or return -EOPNOTSUPP?
> +
> + ret = vdev->ops->bind_iommufd(vdev, ictx, &device_id);
> + if (ret)
> + return ret;
> +
> + if (vdev->ops->attach_ioas) {
__vfio_register_dev() already verifies that all three callbacks must
co-exist. Then no need to check it again here and later.
> +void vfio_iommufd_unbind(struct vfio_device *vdev)
> +{
> + lockdep_assert_held(&vdev->dev_set->lock);
> +
> + if (!vdev->iommufd_device)
> + return;
there is no iommufd_device in the emulated path...
More information about the dri-devel
mailing list