Lines Matching refs:vq
413 #define VQ_AVAIL_EVENT_IDX(vq) \
414 (*(volatile uint16_t *)&(vq)->vq_used->vu_ring[(vq)->vq_qsize])
415 #define VQ_USED_EVENT_IDX(vq) \
416 ((vq)->vq_avail->va_ring[(vq)->vq_qsize])
422 vq_ring_ready(struct vqueue_info *vq)
425 return (vq->vq_flags & VQ_ALLOC);
433 vq_has_descs(struct vqueue_info *vq)
436 return (vq_ring_ready(vq) && vq->vq_last_avail !=
437 vq->vq_avail->va_idx);
445 vq_interrupt(struct virtio_softc *vs, struct vqueue_info *vq)
449 pci_generate_msix(vs->vs_pi, vq->vq_msix_idx);
460 vq_kick_enable(struct vqueue_info *vq)
463 vq->vq_used->vu_flags &= ~VRING_USED_F_NO_NOTIFY;
473 vq_kick_disable(struct vqueue_info *vq)
476 vq->vq_used->vu_flags |= VRING_USED_F_NO_NOTIFY;
487 int vq_getchain(struct vqueue_info *vq, uint16_t *pidx,
489 void vq_retchains(struct vqueue_info *vq, uint16_t n_chains);
490 void vq_relchain_prepare(struct vqueue_info *vq, uint16_t idx,
492 void vq_relchain_publish(struct vqueue_info *vq);
493 void vq_relchain(struct vqueue_info *vq, uint16_t idx, uint32_t iolen);
494 void vq_endchains(struct vqueue_info *vq, int used_all_avail);