Lines Matching refs:last_avail_idx
126 uint16_t last_avail_idx; member
692 if (vq->shadow_avail_idx != vq->last_avail_idx) { in virtio_queue_empty_rcu()
696 return vring_avail_idx(vq) == vq->last_avail_idx; in virtio_queue_empty_rcu()
711 if (vq->shadow_avail_idx != vq->last_avail_idx) { in virtio_queue_split_empty()
716 empty = vring_avail_idx(vq) == vq->last_avail_idx; in virtio_queue_split_empty()
736 vq->last_avail_idx); in virtio_queue_packed_empty_rcu()
853 vq->last_avail_idx -= num; in virtqueue_split_rewind()
858 if (vq->last_avail_idx < num) { in virtqueue_packed_rewind()
859 vq->last_avail_idx = vq->vring.num + vq->last_avail_idx - num; in virtqueue_packed_rewind()
862 vq->last_avail_idx -= num; in virtqueue_packed_rewind()
949 max_steps = (vq->last_avail_idx - vq->used_idx) % vq->vring.num; in virtqueue_ordered_fill()
1270 idx = vq->last_avail_idx; in virtqueue_split_get_avail_bytes()
1410 idx = vq->last_avail_idx; in virtqueue_packed_get_avail_bytes()
1717 if (!virtqueue_get_head(vq, vq->last_avail_idx++, &head)) { in virtqueue_split_pop()
1722 vring_set_avail_event(vq, vq->last_avail_idx); in virtqueue_split_pop()
1810 idx = (vq->last_avail_idx - 1) % vq->vring.num; in virtqueue_split_pop()
1862 i = vq->last_avail_idx; in virtqueue_packed_pop()
1952 vq->used_elems[vq->last_avail_idx].index = elem->index; in virtqueue_packed_pop()
1953 vq->used_elems[vq->last_avail_idx].len = elem->len; in virtqueue_packed_pop()
1954 vq->used_elems[vq->last_avail_idx].ndescs = elem->ndescs; in virtqueue_packed_pop()
1957 vq->last_avail_idx += elem->ndescs; in virtqueue_packed_pop()
1960 if (vq->last_avail_idx >= vq->vring.num) { in virtqueue_packed_pop()
1961 vq->last_avail_idx -= vq->vring.num; in virtqueue_packed_pop()
1965 vq->shadow_avail_idx = vq->last_avail_idx; in virtqueue_packed_pop()
2013 unsigned int idx = vq->last_avail_idx; in virtqueue_packed_drop_all()
2019 vq->last_avail_idx , true); in virtqueue_packed_drop_all()
2035 vq->last_avail_idx += elem.ndescs; in virtqueue_packed_drop_all()
2036 if (vq->last_avail_idx >= vq->vring.num) { in virtqueue_packed_drop_all()
2037 vq->last_avail_idx -= vq->vring.num; in virtqueue_packed_drop_all()
2056 if (!virtqueue_get_head(vq, vq->last_avail_idx, &elem.index)) { in virtqueue_split_drop_all()
2060 vq->last_avail_idx++; in virtqueue_split_drop_all()
2062 vring_set_avail_event(vq, vq->last_avail_idx); in virtqueue_split_drop_all()
2287 vdev->vq[i].last_avail_idx = 0; in __virtio_queue_reset()
2797 VMSTATE_UINT16(last_avail_idx, struct VirtQueue),
3017 qemu_put_be16s(f, &vdev->vq[i].last_avail_idx); in virtio_save()
3293 qemu_get_be16s(f, &vdev->vq[i].last_avail_idx); in virtio_load()
3297 if (!vdev->vq[i].vring.desc && vdev->vq[i].last_avail_idx) { in virtio_load()
3300 i, vdev->vq[i].last_avail_idx); in virtio_load()
3381 vdev->vq[i].shadow_avail_idx = vdev->vq[i].last_avail_idx; in virtio_load()
3387 nheads = vring_avail_idx(&vdev->vq[i]) - vdev->vq[i].last_avail_idx; in virtio_load()
3394 vdev->vq[i].last_avail_idx, nheads); in virtio_load()
3409 vdev->vq[i].inuse = (uint16_t)(vdev->vq[i].last_avail_idx - in virtio_load()
3415 vdev->vq[i].last_avail_idx, in virtio_load()
3612 avail = vdev->vq[n].last_avail_idx; in virtio_queue_packed_get_last_avail_idx()
3624 return vdev->vq[n].last_avail_idx; in virtio_queue_split_get_last_avail_idx()
3641 vq->last_avail_idx = vq->shadow_avail_idx = idx & 0x7fff; in virtio_queue_packed_set_last_avail_idx()
3652 vdev->vq[n].last_avail_idx = idx; in virtio_queue_split_set_last_avail_idx()
3677 vdev->vq[n].last_avail_idx = vring_used_idx(&vdev->vq[n]); in virtio_queue_split_restore_last_avail_idx()
3678 vdev->vq[n].shadow_avail_idx = vdev->vq[n].last_avail_idx; in virtio_queue_split_restore_last_avail_idx()
4230 status->last_avail_idx = in qmp_x_query_virtio_queue_status()
4236 status->last_avail_idx = vdev->vq[queue].last_avail_idx; in qmp_x_query_virtio_queue_status()
4316 head = vring_avail_ring(vq, vq->last_avail_idx % vq->vring.num); in qmp_x_query_virtio_queue_element()