Messages in this thread Patch in this message | | | Date | Mon, 6 Apr 2020 18:26:48 -0400 | From | "Michael S. Tsirkin" <> | Subject | [PATCH v6 10/12] vop: switch to virtio_legacy_init/size |
| |
These are used for legacy ring format, switch to APIs that make this explicit.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com> ---
maintainers, pls ack merging this through virtio tree due to dependency on previous patches in the patchset.
drivers/misc/mic/vop/vop_main.c | 5 +++-- drivers/misc/mic/vop/vop_vringh.c | 8 +++++--- 2 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/drivers/misc/mic/vop/vop_main.c b/drivers/misc/mic/vop/vop_main.c index 85942f6717c5..829b3b14b1d7 100644 --- a/drivers/misc/mic/vop/vop_main.c +++ b/drivers/misc/mic/vop/vop_main.c @@ -283,7 +283,7 @@ static struct virtqueue *vop_new_virtqueue(unsigned int index, bool weak_barriers = false; struct vring vring; - vring_init(&vring, num, pages, MIC_VIRTIO_RING_ALIGN); + vring_legacy_init(&vring, num, pages, MIC_VIRTIO_RING_ALIGN); vring.used = used; return __vring_new_virtqueue(index, vring, vdev, weak_barriers, context, @@ -320,7 +320,8 @@ static struct virtqueue *vop_find_vq(struct virtio_device *dev, /* First assign the vring's allocated in host memory */ vqconfig = _vop_vq_config(vdev->desc) + index; memcpy_fromio(&config, vqconfig, sizeof(config)); - _vr_size = vring_size(le16_to_cpu(config.num), MIC_VIRTIO_RING_ALIGN); + _vr_size = vring_legacy_size(le16_to_cpu(config.num), + MIC_VIRTIO_RING_ALIGN); vr_size = PAGE_ALIGN(_vr_size + sizeof(struct _mic_vring_info)); va = vpdev->hw_ops->remap(vpdev, le64_to_cpu(config.address), vr_size); if (!va) diff --git a/drivers/misc/mic/vop/vop_vringh.c b/drivers/misc/mic/vop/vop_vringh.c index 30eac172f017..0535c02d637d 100644 --- a/drivers/misc/mic/vop/vop_vringh.c +++ b/drivers/misc/mic/vop/vop_vringh.c @@ -296,7 +296,8 @@ static int vop_virtio_add_device(struct vop_vdev *vdev, num = le16_to_cpu(vqconfig[i].num); mutex_init(&vvr->vr_mutex); - vr_size = PAGE_ALIGN(vring_size(num, MIC_VIRTIO_RING_ALIGN) + + vr_size = PAGE_ALIGN(vring_legacy_size(num, + MIC_VIRTIO_RING_ALIGN) + sizeof(struct _mic_vring_info)); vr->va = (void *) __get_free_pages(GFP_KERNEL | __GFP_ZERO, @@ -308,7 +309,8 @@ static int vop_virtio_add_device(struct vop_vdev *vdev, goto err; } vr->len = vr_size; - vr->info = vr->va + vring_size(num, MIC_VIRTIO_RING_ALIGN); + vr->info = vr->va + vring_legacy_size(num, + MIC_VIRTIO_RING_ALIGN); vr->info->magic = cpu_to_le32(MIC_MAGIC + vdev->virtio_id + i); vr_addr = dma_map_single(&vpdev->dev, vr->va, vr_size, DMA_BIDIRECTIONAL); @@ -321,7 +323,7 @@ static int vop_virtio_add_device(struct vop_vdev *vdev, } vqconfig[i].address = cpu_to_le64(vr_addr); - vring_init(&vr->vr, num, vr->va, MIC_VIRTIO_RING_ALIGN); + vring_legacy_init(&vr->vr, num, vr->va, MIC_VIRTIO_RING_ALIGN); ret = vringh_init_kern(&vvr->vrh, *(u32 *)mic_vq_features(vdev->dd), num, false, vr->vr.desc, vr->vr.avail, -- MST
| |