mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-04-03 00:35:30 -04:00
virtio_ring: use vring_virtqueue for enable_cb_delayed 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> Reviewed-by: Eugenio Pérez <eperezma@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Message-Id: <20251230064649.55597-10-jasowang@redhat.com>
This commit is contained in:
committed by
Michael S. Tsirkin
parent
74847cb573
commit
62fa22cdab
@@ -921,9 +921,8 @@ static unsigned int virtqueue_enable_cb_prepare_split(struct vring_virtqueue *vq
|
||||
return last_used_idx;
|
||||
}
|
||||
|
||||
static bool virtqueue_enable_cb_delayed_split(struct virtqueue *_vq)
|
||||
static bool virtqueue_enable_cb_delayed_split(struct vring_virtqueue *vq)
|
||||
{
|
||||
struct vring_virtqueue *vq = to_vvq(_vq);
|
||||
u16 bufs;
|
||||
|
||||
START_USE(vq);
|
||||
@@ -937,7 +936,7 @@ static bool virtqueue_enable_cb_delayed_split(struct virtqueue *_vq)
|
||||
vq->split.avail_flags_shadow &= ~VRING_AVAIL_F_NO_INTERRUPT;
|
||||
if (!vq->event)
|
||||
vq->split.vring.avail->flags =
|
||||
cpu_to_virtio16(_vq->vdev,
|
||||
cpu_to_virtio16(vq->vq.vdev,
|
||||
vq->split.avail_flags_shadow);
|
||||
}
|
||||
/* TODO: tune this threshold */
|
||||
@@ -945,9 +944,9 @@ static bool virtqueue_enable_cb_delayed_split(struct virtqueue *_vq)
|
||||
|
||||
virtio_store_mb(vq->weak_barriers,
|
||||
&vring_used_event(&vq->split.vring),
|
||||
cpu_to_virtio16(_vq->vdev, vq->last_used_idx + bufs));
|
||||
cpu_to_virtio16(vq->vq.vdev, vq->last_used_idx + bufs));
|
||||
|
||||
if (unlikely((u16)(virtio16_to_cpu(_vq->vdev, vq->split.vring.used->idx)
|
||||
if (unlikely((u16)(virtio16_to_cpu(vq->vq.vdev, vq->split.vring.used->idx)
|
||||
- vq->last_used_idx) > bufs)) {
|
||||
END_USE(vq);
|
||||
return false;
|
||||
@@ -1836,9 +1835,8 @@ static unsigned int virtqueue_enable_cb_prepare_packed(struct vring_virtqueue *v
|
||||
return vq->last_used_idx;
|
||||
}
|
||||
|
||||
static bool virtqueue_enable_cb_delayed_packed(struct virtqueue *_vq)
|
||||
static bool virtqueue_enable_cb_delayed_packed(struct vring_virtqueue *vq)
|
||||
{
|
||||
struct vring_virtqueue *vq = to_vvq(_vq);
|
||||
u16 used_idx, wrap_counter, last_used_idx;
|
||||
u16 bufs;
|
||||
|
||||
@@ -2634,8 +2632,8 @@ bool virtqueue_enable_cb_delayed(struct virtqueue *_vq)
|
||||
if (vq->event_triggered)
|
||||
data_race(vq->event_triggered = false);
|
||||
|
||||
return vq->packed_ring ? virtqueue_enable_cb_delayed_packed(_vq) :
|
||||
virtqueue_enable_cb_delayed_split(_vq);
|
||||
return vq->packed_ring ? virtqueue_enable_cb_delayed_packed(vq) :
|
||||
virtqueue_enable_cb_delayed_split(vq);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(virtqueue_enable_cb_delayed);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user