Lines Matching full:vring
97 VduseRing vring; member
233 vq->used_idx = le16toh(vq->vring.used->idx); in vduse_queue_check_inflights()
426 return le16toh(vq->vring.avail->flags); in vring_avail_flags()
431 vq->shadow_avail_idx = le16toh(vq->vring.avail->idx); in vring_avail_idx()
438 return le16toh(vq->vring.avail->ring[i]); in vring_avail_ring()
443 return vring_avail_ring(vq, vq->vring.num); in vring_get_used_event()
453 *head = vring_avail_ring(vq, idx % vq->vring.num); in vduse_queue_get_head()
456 if (*head >= vq->vring.num) { in vduse_queue_get_head()
528 if (unlikely(!vq->vring.avail)) { in vduse_queue_empty()
569 if (unlikely(!vq->vring.avail)) { in vduse_queue_notify()
586 memcpy(&vq->vring.used->ring[vq->vring.num], &val_le, sizeof(uint16_t)); in vring_set_avail_event()
648 struct vring_desc *desc = vq->vring.desc; in vduse_queue_map_desc()
652 unsigned int max = vq->vring.num; in vduse_queue_map_desc()
747 if (unlikely(!vq->vring.avail)) { in vduse_queue_pop()
769 if (vq->inuse >= vq->vring.num) { in vduse_queue_pop()
798 struct vring_used *used = vq->vring.used; in vring_used_write()
808 if (unlikely(!vq->vring.used)) { in vduse_queue_fill()
812 idx = (idx + vq->used_idx) % vq->vring.num; in vduse_queue_fill()
821 vq->vring.used->idx = htole16(val); in vring_used_idx_set()
829 if (unlikely(!vq->vring.used)) { in vduse_queue_flush()
861 vq->vring.desc = iova_to_va(dev, &len, desc_addr); in vduse_queue_update_vring()
867 vq->vring.avail = iova_to_va(dev, &len, avail_addr); in vduse_queue_update_vring()
873 vq->vring.used = iova_to_va(dev, &len, used_addr); in vduse_queue_update_vring()
878 if (!vq->vring.desc || !vq->vring.avail || !vq->vring.used) { in vduse_queue_update_vring()
904 vq->vring.num = vq_info.num; in vduse_queue_enable()
905 vq->vring.desc_addr = vq_info.desc_addr; in vduse_queue_enable()
906 vq->vring.avail_addr = vq_info.driver_addr; in vduse_queue_enable()
907 vq->vring.used_addr = vq_info.device_addr; in vduse_queue_enable()
911 fprintf(stderr, "Failed to update vring for vq[%d]\n", vq->index); in vduse_queue_enable()
960 vq->vring.num = 0; in vduse_queue_disable()
961 vq->vring.desc_addr = 0; in vduse_queue_disable()
962 vq->vring.avail_addr = 0; in vduse_queue_disable()
963 vq->vring.used_addr = 0; in vduse_queue_disable()
964 vq->vring.desc = 0; in vduse_queue_disable()
965 vq->vring.avail = 0; in vduse_queue_disable()
966 vq->vring.used = 0; in vduse_queue_disable()
1036 if (vduse_queue_update_vring(vq, vq->vring.desc_addr, in vduse_dev_handler()
1037 vq->vring.avail_addr, in vduse_dev_handler()
1038 vq->vring.used_addr)) { in vduse_dev_handler()
1039 fprintf(stderr, "Failed to update vring for vq[%d]\n", in vduse_dev_handler()