Re: [PATCH 2/7] virtio-pci library: switch to use vp_modern_map_vq_notify()

From: Eli Cohen
Date: Wed Apr 21 2021 - 03:45:07 EST


On Thu, Apr 15, 2021 at 03:31:42AM -0400, Jason Wang wrote:
> This patch switch to use vp_modern_map_notify() for virtio-pci
> library.
>
> Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>

Reviewed-by: Eli Cohen <elic@xxxxxxxxxx>

> ---
> drivers/virtio/virtio_pci_modern.c | 27 ++-------------------------
> 1 file changed, 2 insertions(+), 25 deletions(-)
>
> diff --git a/drivers/virtio/virtio_pci_modern.c b/drivers/virtio/virtio_pci_modern.c
> index fbd4ebc00eb6..29607d9bd95c 100644
> --- a/drivers/virtio/virtio_pci_modern.c
> +++ b/drivers/virtio/virtio_pci_modern.c
> @@ -192,7 +192,7 @@ static struct virtqueue *setup_vq(struct virtio_pci_device *vp_dev,
>
> struct virtio_pci_modern_device *mdev = &vp_dev->mdev;
> struct virtqueue *vq;
> - u16 num, off;
> + u16 num;
> int err;
>
> if (index >= vp_modern_get_num_queues(mdev))
> @@ -208,9 +208,6 @@ static struct virtqueue *setup_vq(struct virtio_pci_device *vp_dev,
> return ERR_PTR(-EINVAL);
> }
>
> - /* get offset of notification word for this vq */
> - off = vp_modern_get_queue_notify_off(mdev, index);
> -
> info->msix_vector = msix_vec;
>
> /* create the vring */
> @@ -227,27 +224,7 @@ static struct virtqueue *setup_vq(struct virtio_pci_device *vp_dev,
> virtqueue_get_avail_addr(vq),
> virtqueue_get_used_addr(vq));
>
> - if (mdev->notify_base) {
> - /* offset should not wrap */
> - if ((u64)off * mdev->notify_offset_multiplier + 2
> - > mdev->notify_len) {
> - dev_warn(&mdev->pci_dev->dev,
> - "bad notification offset %u (x %u) "
> - "for queue %u > %zd",
> - off, mdev->notify_offset_multiplier,
> - index, mdev->notify_len);
> - err = -EINVAL;
> - goto err_map_notify;
> - }
> - vq->priv = (void __force *)mdev->notify_base +
> - off * mdev->notify_offset_multiplier;
> - } else {
> - vq->priv = (void __force *)vp_modern_map_capability(mdev,
> - mdev->notify_map_cap, 2, 2,
> - off * mdev->notify_offset_multiplier, 2,
> - NULL);
> - }
> -
> + vq->priv = vp_modern_map_vq_notify(mdev, index);
> if (!vq->priv) {
> err = -ENOMEM;
> goto err_map_notify;
> --
> 2.18.1
>