Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

virtio_ring: switch to use vring_virtqueue for virtqueue_add variants

Those variants are used internally so let's switch to use
vring_virtqueue as parameter to be consistent with other internal
virtqueue helpers.

Acked-by: Eugenio Pérez <eperezma@redhat.com>
Reviewed-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Message-Id: <20251230064649.55597-7-jasowang@redhat.com>

authored by

Jason Wang and committed by
Michael S. Tsirkin
4a0fa90b 8b8590b7

+19 -20
+19 -20
drivers/virtio/virtio_ring.c
··· 476 476 return extra->next; 477 477 } 478 478 479 - static struct vring_desc *alloc_indirect_split(struct virtqueue *_vq, 479 + static struct vring_desc *alloc_indirect_split(struct vring_virtqueue *vq, 480 480 unsigned int total_sg, 481 481 gfp_t gfp) 482 482 { ··· 505 505 return desc; 506 506 } 507 507 508 - static inline unsigned int virtqueue_add_desc_split(struct virtqueue *vq, 508 + static inline unsigned int virtqueue_add_desc_split(struct vring_virtqueue *vq, 509 509 struct vring_desc *desc, 510 510 struct vring_desc_extra *extra, 511 511 unsigned int i, ··· 513 513 unsigned int len, 514 514 u16 flags, bool premapped) 515 515 { 516 + struct virtio_device *vdev = vq->vq.vdev; 516 517 u16 next; 517 518 518 - desc[i].flags = cpu_to_virtio16(vq->vdev, flags); 519 - desc[i].addr = cpu_to_virtio64(vq->vdev, addr); 520 - desc[i].len = cpu_to_virtio32(vq->vdev, len); 519 + desc[i].flags = cpu_to_virtio16(vdev, flags); 520 + desc[i].addr = cpu_to_virtio64(vdev, addr); 521 + desc[i].len = cpu_to_virtio32(vdev, len); 521 522 522 523 extra[i].addr = premapped ? DMA_MAPPING_ERROR : addr; 523 524 extra[i].len = len; ··· 526 525 527 526 next = extra[i].next; 528 527 529 - desc[i].next = cpu_to_virtio16(vq->vdev, next); 528 + desc[i].next = cpu_to_virtio16(vdev, next); 530 529 531 530 return next; 532 531 } 533 532 534 - static inline int virtqueue_add_split(struct virtqueue *_vq, 533 + static inline int virtqueue_add_split(struct vring_virtqueue *vq, 535 534 struct scatterlist *sgs[], 536 535 unsigned int total_sg, 537 536 unsigned int out_sgs, ··· 541 540 bool premapped, 542 541 gfp_t gfp) 543 542 { 544 - struct vring_virtqueue *vq = to_vvq(_vq); 545 543 struct vring_desc_extra *extra; 546 544 struct scatterlist *sg; 547 545 struct vring_desc *desc; ··· 565 565 head = vq->free_head; 566 566 567 567 if (virtqueue_use_indirect(vq, total_sg)) 568 - desc = alloc_indirect_split(_vq, total_sg, gfp); 568 + desc = alloc_indirect_split(vq, total_sg, gfp); 569 569 else { 570 570 desc = NULL; 571 571 WARN_ON_ONCE(total_sg > vq->split.vring.num && !vq->indirect); ··· 612 612 /* Note that we trust indirect descriptor 613 613 * table since it use stream DMA mapping. 614 614 */ 615 - i = virtqueue_add_desc_split(_vq, desc, extra, i, addr, len, 615 + i = virtqueue_add_desc_split(vq, desc, extra, i, addr, len, 616 616 VRING_DESC_F_NEXT, 617 617 premapped); 618 618 } ··· 629 629 /* Note that we trust indirect descriptor 630 630 * table since it use stream DMA mapping. 631 631 */ 632 - i = virtqueue_add_desc_split(_vq, desc, extra, i, addr, len, 632 + i = virtqueue_add_desc_split(vq, desc, extra, i, addr, len, 633 633 VRING_DESC_F_NEXT | 634 634 VRING_DESC_F_WRITE, 635 635 premapped); 636 636 } 637 637 } 638 638 /* Last one doesn't continue. */ 639 - desc[prev].flags &= cpu_to_virtio16(_vq->vdev, ~VRING_DESC_F_NEXT); 639 + desc[prev].flags &= cpu_to_virtio16(vq->vq.vdev, ~VRING_DESC_F_NEXT); 640 640 if (!indirect && vring_need_unmap_buffer(vq, &extra[prev])) 641 641 vq->split.desc_extra[prev & (vq->split.vring.num - 1)].flags &= 642 642 ~VRING_DESC_F_NEXT; ··· 649 649 if (vring_mapping_error(vq, addr)) 650 650 goto unmap_release; 651 651 652 - virtqueue_add_desc_split(_vq, vq->split.vring.desc, 652 + virtqueue_add_desc_split(vq, vq->split.vring.desc, 653 653 vq->split.desc_extra, 654 654 head, addr, 655 655 total_sg * sizeof(struct vring_desc), ··· 675 675 /* Put entry in available array (but don't update avail->idx until they 676 676 * do sync). */ 677 677 avail = vq->split.avail_idx_shadow & (vq->split.vring.num - 1); 678 - vq->split.vring.avail->ring[avail] = cpu_to_virtio16(_vq->vdev, head); 678 + vq->split.vring.avail->ring[avail] = cpu_to_virtio16(vq->vq.vdev, head); 679 679 680 680 /* Descriptors and available array need to be set before we expose the 681 681 * new available array entries. */ 682 682 virtio_wmb(vq->weak_barriers); 683 683 vq->split.avail_idx_shadow++; 684 - vq->split.vring.avail->idx = cpu_to_virtio16(_vq->vdev, 684 + vq->split.vring.avail->idx = cpu_to_virtio16(vq->vq.vdev, 685 685 vq->split.avail_idx_shadow); 686 686 vq->num_added++; 687 687 ··· 691 691 /* This is very unlikely, but theoretically possible. Kick 692 692 * just in case. */ 693 693 if (unlikely(vq->num_added == (1 << 16) - 1)) 694 - virtqueue_kick(_vq); 694 + virtqueue_kick(&vq->vq); 695 695 696 696 return 0; 697 697 ··· 1439 1439 return -ENOMEM; 1440 1440 } 1441 1441 1442 - static inline int virtqueue_add_packed(struct virtqueue *_vq, 1442 + static inline int virtqueue_add_packed(struct vring_virtqueue *vq, 1443 1443 struct scatterlist *sgs[], 1444 1444 unsigned int total_sg, 1445 1445 unsigned int out_sgs, ··· 1449 1449 bool premapped, 1450 1450 gfp_t gfp) 1451 1451 { 1452 - struct vring_virtqueue *vq = to_vvq(_vq); 1453 1452 struct vring_packed_desc *desc; 1454 1453 struct scatterlist *sg; 1455 1454 unsigned int i, n, c, descs_used, err_idx, len; ··· 2260 2261 { 2261 2262 struct vring_virtqueue *vq = to_vvq(_vq); 2262 2263 2263 - return vq->packed_ring ? virtqueue_add_packed(_vq, sgs, total_sg, 2264 + return vq->packed_ring ? virtqueue_add_packed(vq, sgs, total_sg, 2264 2265 out_sgs, in_sgs, data, ctx, premapped, gfp) : 2265 - virtqueue_add_split(_vq, sgs, total_sg, 2266 + virtqueue_add_split(vq, sgs, total_sg, 2266 2267 out_sgs, in_sgs, data, ctx, premapped, gfp); 2267 2268 } 2268 2269