Re: [Intel-gfx] [PATCH 07/10] vfio-iommufd: Support iommufd for physical VFIO devices

Jason Gunthorpe
2022-11-04T19:51:32Z

On Tue, Nov 01, 2022 at 08:21:20AM +0000, Tian, Kevin wrote:
> > From: Jason Gunthorpe <jgg@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?

As in the other email, nothing to do, driver is "bound" but doesn't
actually need iommufd at all.

> > + 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.

Ok

> > +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...

Yes, this if should just be deleted

Thanks,
Jason