Message ID | a37c5b1646f8fc4981d842abeb6f85f14fd5d261.1662916759.git.kangjie.xu@linux.alibaba.com |
---|---|
State | New |
Headers | show |
Series | Support VIRTIO_F_RING_RESET for virtio-net, vhost-net kernel in virtio pci-modern | expand |
On Mon, Sep 12, 2022 at 1:22 AM Kangjie Xu <kangjie.xu@linux.alibaba.com> wrote: > > Expose vhost_virtqueue_stop(), we need to use it when resetting a > virtqueue. > > Signed-off-by: Kangjie Xu <kangjie.xu@linux.alibaba.com> > Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> Acked-by: Jason Wang <jasowang@redhat.com> > --- > hw/virtio/vhost.c | 8 ++++---- > include/hw/virtio/vhost.h | 2 ++ > 2 files changed, 6 insertions(+), 4 deletions(-) > > diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c > index 7900bc81ab..5407f60226 100644 > --- a/hw/virtio/vhost.c > +++ b/hw/virtio/vhost.c > @@ -1201,10 +1201,10 @@ fail_alloc_desc: > return r; > } > > -static void vhost_virtqueue_stop(struct vhost_dev *dev, > - struct VirtIODevice *vdev, > - struct vhost_virtqueue *vq, > - unsigned idx) > +void vhost_virtqueue_stop(struct vhost_dev *dev, > + struct VirtIODevice *vdev, > + struct vhost_virtqueue *vq, > + unsigned idx) > { > int vhost_vq_index = dev->vhost_ops->vhost_get_vq_index(dev, idx); > struct vhost_vring_state state = { > diff --git a/include/hw/virtio/vhost.h b/include/hw/virtio/vhost.h > index b092f57d98..2b168b2269 100644 > --- a/include/hw/virtio/vhost.h > +++ b/include/hw/virtio/vhost.h > @@ -281,6 +281,8 @@ int vhost_device_iotlb_miss(struct vhost_dev *dev, uint64_t iova, int write); > > int vhost_virtqueue_start(struct vhost_dev *dev, struct VirtIODevice *vdev, > struct vhost_virtqueue *vq, unsigned idx); > +void vhost_virtqueue_stop(struct vhost_dev *dev, struct VirtIODevice *vdev, > + struct vhost_virtqueue *vq, unsigned idx); > > void vhost_dev_reset_inflight(struct vhost_inflight *inflight); > void vhost_dev_free_inflight(struct vhost_inflight *inflight); > -- > 2.32.0 >
diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c index 7900bc81ab..5407f60226 100644 --- a/hw/virtio/vhost.c +++ b/hw/virtio/vhost.c @@ -1201,10 +1201,10 @@ fail_alloc_desc: return r; } -static void vhost_virtqueue_stop(struct vhost_dev *dev, - struct VirtIODevice *vdev, - struct vhost_virtqueue *vq, - unsigned idx) +void vhost_virtqueue_stop(struct vhost_dev *dev, + struct VirtIODevice *vdev, + struct vhost_virtqueue *vq, + unsigned idx) { int vhost_vq_index = dev->vhost_ops->vhost_get_vq_index(dev, idx); struct vhost_vring_state state = { diff --git a/include/hw/virtio/vhost.h b/include/hw/virtio/vhost.h index b092f57d98..2b168b2269 100644 --- a/include/hw/virtio/vhost.h +++ b/include/hw/virtio/vhost.h @@ -281,6 +281,8 @@ int vhost_device_iotlb_miss(struct vhost_dev *dev, uint64_t iova, int write); int vhost_virtqueue_start(struct vhost_dev *dev, struct VirtIODevice *vdev, struct vhost_virtqueue *vq, unsigned idx); +void vhost_virtqueue_stop(struct vhost_dev *dev, struct VirtIODevice *vdev, + struct vhost_virtqueue *vq, unsigned idx); void vhost_dev_reset_inflight(struct vhost_inflight *inflight); void vhost_dev_free_inflight(struct vhost_inflight *inflight);