On Mon, Jun 07, 2021 at 10:30:42AM +0800, Jason Wang wrote:
> 
> 在 2021/6/4 下午11:57, Leon Romanovsky 写道:
> > On Fri, Jun 04, 2021 at 10:35:59AM +0800, Jason Wang wrote:
> > > 在 2021/6/3 下午7:22, Eli Cohen 写道:
> > > > Before SF support was introduced, the DMA device was equal to
> > > > mdev->device which was in essence equal to pdev->dev;
> > > > With SF introduction this is no longer true. It has already been
> > > > handled for vhost_vdpa since the reference to the dma device can from
> > > > within mlx5_vdpa. With virtio_vdpa this broke. To fix this we set the
> > > > real dma device when initializing the device.
> > > > 
> > > > Fixes: 1a86b377aa21 ("vdpa/mlx5: Add VDPA driver for supported mlx5 
> > > > devices")
> > > 
> > > Note sure this is correct, according to the commit log it should be the
> > > patch that introduces the SF or aux bus support for vDPA.
> > Where did you see that?
> > 
> > git log -p drivers/vdpa/mlx5/net/mlx5_vnet.c
> > 
> > ...
> > +       mvdev->vdev.dma_dev = mdev->device;
> > +       err = mlx5_vdpa_alloc_resources(&ndev->mvdev);
> > ...
> >   comes from commit 1a86b377aa21 ("vdpa/mlx5: Add VDPA driver for supported 
> > mlx5 devices")
> 
> 
> If I read the commit log and code correctly:
> 
> "
> 
> With SF introduction this is no longer true.
> 
> "
> 
> It works before SF is introduced.

Yes, you are right, sorry for the noise.

> 
> Thanks
> 
> 
> > 
> > Thanks
> > 
> > > 
> > > > Signed-off-by: Eli Cohen <e...@nvidia.com>
> > > 
> > > Patch looks correct.
> > > 
> > > Thanks
> > > 
> > > 
> > > > ---
> > > >    drivers/vdpa/mlx5/net/mlx5_vnet.c | 2 +-
> > > >    1 file changed, 1 insertion(+), 1 deletion(-)
> > > > 
> > > > diff --git a/drivers/vdpa/mlx5/net/mlx5_vnet.c 
> > > > b/drivers/vdpa/mlx5/net/mlx5_vnet.c
> > > > index bc33f2c523d3..a4ff158181e0 100644
> > > > --- a/drivers/vdpa/mlx5/net/mlx5_vnet.c
> > > > +++ b/drivers/vdpa/mlx5/net/mlx5_vnet.c
> > > > @@ -2046,7 +2046,7 @@ static int mlx5_vdpa_dev_add(struct vdpa_mgmt_dev 
> > > > *v_mdev, const char *name)
> > > >         if (err)
> > > >                 goto err_mtu;
> > > > -       mvdev->vdev.dma_dev = mdev->device;
> > > > +       mvdev->vdev.dma_dev = &mdev->pdev->dev;
> > > >         err = mlx5_vdpa_alloc_resources(&ndev->mvdev);
> > > >         if (err)
> > > >                 goto err_mtu;
> > > _______________________________________________
> > > Virtualization mailing list
> > > Virtualization@lists.linux-foundation.org
> > > https://lists.linuxfoundation.org/mailman/listinfo/virtualization
> 
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

Reply via email to