Message ID | 20220629065656.54420-14-xuanzhuo@linux.alibaba.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | virtio pci support VIRTIO_F_RING_RESET | expand |
在 2022/6/29 14:56, Xuan Zhuo 写道: > In vring_create_virtqueue_split() save vring_align, may_reduce_num to > structure vring_virtqueue_split. Used to create a new vring when > implementing resize . > > Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> Acked-by: Jason Wang <jasowang@redhat.com> > --- > drivers/virtio/virtio_ring.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/drivers/virtio/virtio_ring.c b/drivers/virtio/virtio_ring.c > index 4c8972da5423..9c83c5e6d5a9 100644 > --- a/drivers/virtio/virtio_ring.c > +++ b/drivers/virtio/virtio_ring.c > @@ -105,6 +105,13 @@ struct vring_virtqueue_split { > /* DMA address and size information */ > dma_addr_t queue_dma_addr; > size_t queue_size_in_bytes; > + > + /* > + * The parameters for creating vrings are reserved for creating new > + * vring. > + */ > + u32 vring_align; > + bool may_reduce_num; > }; > > struct vring_virtqueue_packed { > @@ -1098,6 +1105,8 @@ static struct virtqueue *vring_create_virtqueue_split( > return NULL; > } > > + to_vvq(vq)->split.vring_align = vring_align; > + to_vvq(vq)->split.may_reduce_num = may_reduce_num; > to_vvq(vq)->split.queue_dma_addr = vring.queue_dma_addr; > to_vvq(vq)->split.queue_size_in_bytes = vring.queue_size_in_bytes; > to_vvq(vq)->we_own_ring = true;
diff --git a/drivers/virtio/virtio_ring.c b/drivers/virtio/virtio_ring.c index 4c8972da5423..9c83c5e6d5a9 100644 --- a/drivers/virtio/virtio_ring.c +++ b/drivers/virtio/virtio_ring.c @@ -105,6 +105,13 @@ struct vring_virtqueue_split { /* DMA address and size information */ dma_addr_t queue_dma_addr; size_t queue_size_in_bytes; + + /* + * The parameters for creating vrings are reserved for creating new + * vring. + */ + u32 vring_align; + bool may_reduce_num; }; struct vring_virtqueue_packed { @@ -1098,6 +1105,8 @@ static struct virtqueue *vring_create_virtqueue_split( return NULL; } + to_vvq(vq)->split.vring_align = vring_align; + to_vvq(vq)->split.may_reduce_num = may_reduce_num; to_vvq(vq)->split.queue_dma_addr = vring.queue_dma_addr; to_vvq(vq)->split.queue_size_in_bytes = vring.queue_size_in_bytes; to_vvq(vq)->we_own_ring = true;
In vring_create_virtqueue_split() save vring_align, may_reduce_num to structure vring_virtqueue_split. Used to create a new vring when implementing resize . Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> --- drivers/virtio/virtio_ring.c | 9 +++++++++ 1 file changed, 9 insertions(+)