Message ID | 20240508063718.69806-2-xuanzhuo@linux.alibaba.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | virtio_net: rx enable premapped mode by default | expand |
On Wed, May 08, 2024 at 02:37:15PM +0800, Xuan Zhuo wrote: > Now, we have virtio DMA APIs, the driver can be the premapped > mode whatever the virtio core uses dma api or not. > > So remove the limit of checking use_dma_api from > virtqueue_set_dma_premapped(). > > Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> > Acked-by: Jason Wang <jasowang@redhat.com> > --- > drivers/virtio/virtio_ring.c | 7 +------ > 1 file changed, 1 insertion(+), 6 deletions(-) > > diff --git a/drivers/virtio/virtio_ring.c b/drivers/virtio/virtio_ring.c > index 6f7e5010a673..85d0dc26ae9f 100644 > --- a/drivers/virtio/virtio_ring.c > +++ b/drivers/virtio/virtio_ring.c > @@ -2782,7 +2782,7 @@ EXPORT_SYMBOL_GPL(virtqueue_resize); > * > * Returns zero or a negative error. > * 0: success. > - * -EINVAL: vring does not use the dma api, so we can not enable premapped mode. > + * -EINVAL: the vq is in use. To me it sounds more like -EBUSY with the current error description. But I suspect that the error is returned, when the following condition is not met: * This function must be called immediately after creating the vq, or after vq * reset, and before adding any buffers to it. If I am not mistaking, then a better way to put it would be: * -EINVAL: too late to enable premapped mode, the vq already contains buffers > */ > int virtqueue_set_dma_premapped(struct virtqueue *_vq) > { > @@ -2798,11 +2798,6 @@ int virtqueue_set_dma_premapped(struct virtqueue *_vq) > return -EINVAL; > } > > - if (!vq->use_dma_api) { > - END_USE(vq); > - return -EINVAL; > - } > - > vq->premapped = true; > vq->do_unmap = false; > > -- > 2.32.0.3.g01195cf9f > >
diff --git a/drivers/virtio/virtio_ring.c b/drivers/virtio/virtio_ring.c index 6f7e5010a673..85d0dc26ae9f 100644 --- a/drivers/virtio/virtio_ring.c +++ b/drivers/virtio/virtio_ring.c @@ -2782,7 +2782,7 @@ EXPORT_SYMBOL_GPL(virtqueue_resize); * * Returns zero or a negative error. * 0: success. - * -EINVAL: vring does not use the dma api, so we can not enable premapped mode. + * -EINVAL: the vq is in use. */ int virtqueue_set_dma_premapped(struct virtqueue *_vq) { @@ -2798,11 +2798,6 @@ int virtqueue_set_dma_premapped(struct virtqueue *_vq) return -EINVAL; } - if (!vq->use_dma_api) { - END_USE(vq); - return -EINVAL; - } - vq->premapped = true; vq->do_unmap = false;