Lines Matching refs:vq
97 void virtqueue_disable_intr(struct virtqueue *vq);
102 void virtqueue_detatch_unused(struct virtqueue *vq);
105 virtqueue_full(const struct virtqueue *vq) in virtqueue_full() argument
107 return vq->vq_free_cnt == 0; in virtqueue_full()
110 #define VIRTQUEUE_NUSED(vq) \ argument
111 ((uint16_t)((vq)->vq_ring.used->idx - (vq)->vq_used_cons_idx))
114 vq_update_avail_idx(struct virtqueue *vq) in vq_update_avail_idx() argument
117 vq->vq_ring.avail->idx = vq->vq_avail_idx; in vq_update_avail_idx()
121 vq_update_avail_ring(struct virtqueue *vq, uint16_t desc_idx) in vq_update_avail_ring() argument
131 avail_idx = (uint16_t)(vq->vq_avail_idx & (vq->vq_nentries - 1)); in vq_update_avail_ring()
132 if (unlikely(vq->vq_ring.avail->ring[avail_idx] != desc_idx)) in vq_update_avail_ring()
133 vq->vq_ring.avail->ring[avail_idx] = desc_idx; in vq_update_avail_ring()
134 vq->vq_avail_idx++; in vq_update_avail_ring()
138 virtqueue_kick_prepare(struct virtqueue *vq) in virtqueue_kick_prepare() argument
140 return !(vq->vq_ring.used->flags & VRING_USED_F_NO_NOTIFY); in virtqueue_kick_prepare()
144 virtqueue_notify(struct virtqueue *vq) in virtqueue_notify() argument
151 VTPCI_OPS(vq->hw)->notify_queue(vq->hw, vq); in virtqueue_notify()
157 #define VIRTQUEUE_DUMP(vq) do { \ argument
159 used_idx = (vq)->vq_ring.used->idx; \
160 nused = (uint16_t)(used_idx - (vq)->vq_used_cons_idx); \
165 (vq)->vq_nentries, (vq)->vq_free_cnt, nused, \
166 (vq)->vq_desc_head_idx, (vq)->vq_ring.avail->idx, \
167 (vq)->vq_used_cons_idx, (vq)->vq_ring.used->idx, \
168 (vq)->vq_ring.avail->flags, (vq)->vq_ring.used->flags); \