2021-07-19 14:14:42

by Eli Cohen

[permalink] [raw]
Subject: [PATCH] vdpa/vdpa_sim: Use the negotiated features when calling vringh_init_iotlb

When calling vringh_init_iotlb(), use the negotiated features which
might be different than the supported features.

Fixes: 011c35bac5ef ("vdpa_sim: add supported_features field in vdpasim_dev_attr)
Signed-off-by: Eli Cohen <[email protected]>
---
drivers/vdpa/vdpa_sim/vdpa_sim.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/vdpa/vdpa_sim/vdpa_sim.c b/drivers/vdpa/vdpa_sim/vdpa_sim.c
index 14e024de5cbf..89a474c7a096 100644
--- a/drivers/vdpa/vdpa_sim/vdpa_sim.c
+++ b/drivers/vdpa/vdpa_sim/vdpa_sim.c
@@ -66,7 +66,7 @@ static void vdpasim_queue_ready(struct vdpasim *vdpasim, unsigned int idx)
{
struct vdpasim_virtqueue *vq = &vdpasim->vqs[idx];

- vringh_init_iotlb(&vq->vring, vdpasim->dev_attr.supported_features,
+ vringh_init_iotlb(&vq->vring, vdpasim->features,
VDPASIM_QUEUE_MAX, false,
(struct vring_desc *)(uintptr_t)vq->desc_addr,
(struct vring_avail *)
@@ -86,7 +86,7 @@ static void vdpasim_vq_reset(struct vdpasim *vdpasim,
vq->device_addr = 0;
vq->cb = NULL;
vq->private = NULL;
- vringh_init_iotlb(&vq->vring, vdpasim->dev_attr.supported_features,
+ vringh_init_iotlb(&vq->vring, vdpasim->features,
VDPASIM_QUEUE_MAX, false, NULL, NULL, NULL);

vq->vring.notify = NULL;
--
2.30.1


2021-07-20 03:17:19

by Jason Wang

[permalink] [raw]
Subject: Re: [PATCH] vdpa/vdpa_sim: Use the negotiated features when calling vringh_init_iotlb


?? 2021/7/19 ????9:44, Eli Cohen д??:
> When calling vringh_init_iotlb(), use the negotiated features which
> might be different than the supported features.
>
> Fixes: 011c35bac5ef ("vdpa_sim: add supported_features field in vdpasim_dev_attr)


As Stefano said.

It should be 2c53d0f64c06f ("vdpasim: vDPA device simulator")

Other than this

Acked-by: Jason Wang <[email protected]>


> Signed-off-by: Eli Cohen <[email protected]>
> ---
> drivers/vdpa/vdpa_sim/vdpa_sim.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/vdpa/vdpa_sim/vdpa_sim.c b/drivers/vdpa/vdpa_sim/vdpa_sim.c
> index 14e024de5cbf..89a474c7a096 100644
> --- a/drivers/vdpa/vdpa_sim/vdpa_sim.c
> +++ b/drivers/vdpa/vdpa_sim/vdpa_sim.c
> @@ -66,7 +66,7 @@ static void vdpasim_queue_ready(struct vdpasim *vdpasim, unsigned int idx)
> {
> struct vdpasim_virtqueue *vq = &vdpasim->vqs[idx];
>
> - vringh_init_iotlb(&vq->vring, vdpasim->dev_attr.supported_features,
> + vringh_init_iotlb(&vq->vring, vdpasim->features,
> VDPASIM_QUEUE_MAX, false,
> (struct vring_desc *)(uintptr_t)vq->desc_addr,
> (struct vring_avail *)
> @@ -86,7 +86,7 @@ static void vdpasim_vq_reset(struct vdpasim *vdpasim,
> vq->device_addr = 0;
> vq->cb = NULL;
> vq->private = NULL;
> - vringh_init_iotlb(&vq->vring, vdpasim->dev_attr.supported_features,
> + vringh_init_iotlb(&vq->vring, vdpasim->features,
> VDPASIM_QUEUE_MAX, false, NULL, NULL, NULL);
>
> vq->vring.notify = NULL;

2021-07-20 05:18:46

by Eli Cohen

[permalink] [raw]
Subject: Re: [PATCH] vdpa/vdpa_sim: Use the negotiated features when calling vringh_init_iotlb

On Tue, Jul 20, 2021 at 11:13:00AM +0800, Jason Wang wrote:
>
> 在 2021/7/19 下午9:44, Eli Cohen 写道:
> > When calling vringh_init_iotlb(), use the negotiated features which
> > might be different than the supported features.
> >
> > Fixes: 011c35bac5ef ("vdpa_sim: add supported_features field in vdpasim_dev_attr)
>
>
> As Stefano said.
>
> It should be 2c53d0f64c06f ("vdpasim: vDPA device simulator")

Makes sense. Though I haven't got Stefano's message.
I will post another one.

>
> Other than this
>
> Acked-by: Jason Wang <[email protected]>
>
>
> > Signed-off-by: Eli Cohen <[email protected]>
> > ---
> > drivers/vdpa/vdpa_sim/vdpa_sim.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/vdpa/vdpa_sim/vdpa_sim.c b/drivers/vdpa/vdpa_sim/vdpa_sim.c
> > index 14e024de5cbf..89a474c7a096 100644
> > --- a/drivers/vdpa/vdpa_sim/vdpa_sim.c
> > +++ b/drivers/vdpa/vdpa_sim/vdpa_sim.c
> > @@ -66,7 +66,7 @@ static void vdpasim_queue_ready(struct vdpasim *vdpasim, unsigned int idx)
> > {
> > struct vdpasim_virtqueue *vq = &vdpasim->vqs[idx];
> > - vringh_init_iotlb(&vq->vring, vdpasim->dev_attr.supported_features,
> > + vringh_init_iotlb(&vq->vring, vdpasim->features,
> > VDPASIM_QUEUE_MAX, false,
> > (struct vring_desc *)(uintptr_t)vq->desc_addr,
> > (struct vring_avail *)
> > @@ -86,7 +86,7 @@ static void vdpasim_vq_reset(struct vdpasim *vdpasim,
> > vq->device_addr = 0;
> > vq->cb = NULL;
> > vq->private = NULL;
> > - vringh_init_iotlb(&vq->vring, vdpasim->dev_attr.supported_features,
> > + vringh_init_iotlb(&vq->vring, vdpasim->features,
> > VDPASIM_QUEUE_MAX, false, NULL, NULL, NULL);
> > vq->vring.notify = NULL;
>