Lines Matching defs:vq

95 	struct vqueue_info *vq;
102 for (vq = vs->vs_queues, i = 0; i < nvq; vq++, i++) {
103 vq->vq_flags = 0;
104 vq->vq_last_avail = 0;
105 vq->vq_save_used = 0;
106 vq->vq_pfn = 0;
107 vq->vq_msix_idx = VIRTIO_MSI_NO_VECTOR;
174 struct vqueue_info *vq;
179 vq = &vs->vs_queues[vs->vs_curq];
180 vq->vq_pfn = pfn;
182 size = vring_size(vq->vq_qsize);
186 vq->vq_desc = (struct virtio_desc *)base;
187 base += vq->vq_qsize * sizeof(struct virtio_desc);
190 vq->vq_avail = (struct vring_avail *)base;
191 base += (2 + vq->vq_qsize + 1) * sizeof(uint16_t);
197 vq->vq_used = (struct vring_used *)base;
200 vq->vq_flags = VQ_ALLOC;
201 vq->vq_last_avail = 0;
202 vq->vq_save_used = 0;
262 vq_getchain(struct vqueue_info *vq, uint16_t *pidx,
273 vs = vq->vq_vs;
278 * update vq->vq_avail->va_idx until all of the descriptors
284 * since the last time we updated vq->vq_last_avail.
289 idx = vq->vq_last_avail;
290 ndesc = (uint16_t)((u_int)vq->vq_avail->va_idx - idx);
293 if (ndesc > vq->vq_qsize) {
310 *pidx = next = vq->vq_avail->va_ring[idx & (vq->vq_qsize - 1)];
311 vq->vq_last_avail++;
313 if (next >= vq->vq_qsize) {
320 vdir = &vq->vq_desc[next];
391 vq_retchain(struct vqueue_info *vq)
394 vq->vq_last_avail--;
405 vq_relchain(struct vqueue_info *vq, uint16_t idx, uint32_t iolen)
421 mask = vq->vq_qsize - 1;
422 vuh = vq->vq_used;
454 vq_endchains(struct vqueue_info *vq, int used_all_avail)
469 vs = vq->vq_vs;
470 old_idx = vq->vq_save_used;
471 vq->vq_save_used = new_idx = vq->vq_used->vu_idx;
483 event_idx = VQ_USED_EVENT_IDX(vq);
492 !(vq->vq_avail->va_flags & VRING_AVAIL_F_NO_INTERRUPT);
495 vq_interrupt(vs, vq);
668 struct vqueue_info *vq;
762 vq = &vs->vs_queues[value];
763 if (vq->vq_notify)
764 (*vq->vq_notify)(DEV_SOFTC(vs), vq);
766 (*vc->vc_qnotify)(DEV_SOFTC(vs), vq);
769 "%s: qnotify queue %d: missing vq/vc notify\r\n",
783 vq = &vs->vs_queues[vs->vs_curq];
784 vq->vq_msix_idx = value;