Lines Matching refs:last_avail_idx

126     uint16_t last_avail_idx;  member
683 if (vq->shadow_avail_idx != vq->last_avail_idx) { in virtio_queue_empty_rcu()
687 return vring_avail_idx(vq) == vq->last_avail_idx; in virtio_queue_empty_rcu()
702 if (vq->shadow_avail_idx != vq->last_avail_idx) { in virtio_queue_split_empty()
707 empty = vring_avail_idx(vq) == vq->last_avail_idx; in virtio_queue_split_empty()
727 vq->last_avail_idx); in virtio_queue_packed_empty_rcu()
844 vq->last_avail_idx -= num; in virtqueue_split_rewind()
849 if (vq->last_avail_idx < num) { in virtqueue_packed_rewind()
850 vq->last_avail_idx = vq->vring.num + vq->last_avail_idx - num; in virtqueue_packed_rewind()
853 vq->last_avail_idx -= num; in virtqueue_packed_rewind()
940 max_steps = (vq->last_avail_idx - vq->used_idx) % vq->vring.num; in virtqueue_ordered_fill()
1261 idx = vq->last_avail_idx; in virtqueue_split_get_avail_bytes()
1401 idx = vq->last_avail_idx; in virtqueue_packed_get_avail_bytes()
1708 if (!virtqueue_get_head(vq, vq->last_avail_idx++, &head)) { in virtqueue_split_pop()
1713 vring_set_avail_event(vq, vq->last_avail_idx); in virtqueue_split_pop()
1800 idx = (vq->last_avail_idx - 1) % vq->vring.num; in virtqueue_split_pop()
1852 i = vq->last_avail_idx; in virtqueue_packed_pop()
1941 vq->used_elems[vq->last_avail_idx].index = elem->index; in virtqueue_packed_pop()
1942 vq->used_elems[vq->last_avail_idx].len = elem->len; in virtqueue_packed_pop()
1943 vq->used_elems[vq->last_avail_idx].ndescs = elem->ndescs; in virtqueue_packed_pop()
1946 vq->last_avail_idx += elem->ndescs; in virtqueue_packed_pop()
1949 if (vq->last_avail_idx >= vq->vring.num) { in virtqueue_packed_pop()
1950 vq->last_avail_idx -= vq->vring.num; in virtqueue_packed_pop()
1954 vq->shadow_avail_idx = vq->last_avail_idx; in virtqueue_packed_pop()
2002 unsigned int idx = vq->last_avail_idx; in virtqueue_packed_drop_all()
2008 vq->last_avail_idx , true); in virtqueue_packed_drop_all()
2024 vq->last_avail_idx += elem.ndescs; in virtqueue_packed_drop_all()
2025 if (vq->last_avail_idx >= vq->vring.num) { in virtqueue_packed_drop_all()
2026 vq->last_avail_idx -= vq->vring.num; in virtqueue_packed_drop_all()
2045 if (!virtqueue_get_head(vq, vq->last_avail_idx, &elem.index)) { in virtqueue_split_drop_all()
2049 vq->last_avail_idx++; in virtqueue_split_drop_all()
2051 vring_set_avail_event(vq, vq->last_avail_idx); in virtqueue_split_drop_all()
2272 vdev->vq[i].last_avail_idx = 0; in __virtio_queue_reset()
2821 VMSTATE_UINT16(last_avail_idx, struct VirtQueue),
3041 qemu_put_be16s(f, &vdev->vq[i].last_avail_idx); in virtio_save()
3267 qemu_get_be16s(f, &vdev->vq[i].last_avail_idx); in virtio_load()
3271 if (!vdev->vq[i].vring.desc && vdev->vq[i].last_avail_idx) { in virtio_load()
3274 i, vdev->vq[i].last_avail_idx); in virtio_load()
3355 vdev->vq[i].shadow_avail_idx = vdev->vq[i].last_avail_idx; in virtio_load()
3361 nheads = vring_avail_idx(&vdev->vq[i]) - vdev->vq[i].last_avail_idx; in virtio_load()
3368 vdev->vq[i].last_avail_idx, nheads); in virtio_load()
3383 vdev->vq[i].inuse = (uint16_t)(vdev->vq[i].last_avail_idx - in virtio_load()
3389 vdev->vq[i].last_avail_idx, in virtio_load()
3582 avail = vdev->vq[n].last_avail_idx; in virtio_queue_packed_get_last_avail_idx()
3594 return vdev->vq[n].last_avail_idx; in virtio_queue_split_get_last_avail_idx()
3611 vq->last_avail_idx = vq->shadow_avail_idx = idx & 0x7fff; in virtio_queue_packed_set_last_avail_idx()
3622 vdev->vq[n].last_avail_idx = idx; in virtio_queue_split_set_last_avail_idx()
3648 vdev->vq[n].last_avail_idx = vring_used_idx(&vdev->vq[n]); in virtio_queue_split_restore_last_avail_idx()
3649 vdev->vq[n].shadow_avail_idx = vdev->vq[n].last_avail_idx; in virtio_queue_split_restore_last_avail_idx()
4203 status->last_avail_idx = in qmp_x_query_virtio_queue_status()
4209 status->last_avail_idx = vdev->vq[queue].last_avail_idx; in qmp_x_query_virtio_queue_status()
4289 head = vring_avail_ring(vq, vq->last_avail_idx % vq->vring.num); in qmp_x_query_virtio_queue_element()