Lines Matching refs:needed
525 int needed; in virtqueue_enqueue() local
528 needed = readable + writable; in virtqueue_enqueue()
531 VQASSERT(vq, needed == sg->sg_nseg, in virtqueue_enqueue()
532 "segment count mismatch, %d, %d", needed, sg->sg_nseg); in virtqueue_enqueue()
534 needed <= vq->vq_nentries || needed <= vq->vq_max_indirect_size, in virtqueue_enqueue()
535 "too many segments to enqueue: %d, %d/%d", needed, in virtqueue_enqueue()
538 if (needed < 1) in virtqueue_enqueue()
543 if (vq_ring_use_indirect(vq, needed)) { in virtqueue_enqueue()
546 } else if (vq->vq_free_cnt < needed) in virtqueue_enqueue()
556 dxp->ndescs = needed; in virtqueue_enqueue()
562 vq->vq_free_cnt -= needed; in virtqueue_enqueue()
703 int i, needed; in vq_ring_enqueue_segments() local
706 needed = readable + writable; in vq_ring_enqueue_segments()
709 i < needed; in vq_ring_enqueue_segments()
719 if (i < needed - 1) in vq_ring_enqueue_segments()
729 vq_ring_use_indirect(struct virtqueue *vq, int needed) in vq_ring_use_indirect() argument
735 if (vq->vq_max_indirect_size < needed) in vq_ring_use_indirect()
738 if (needed < 2) in vq_ring_use_indirect()
750 int needed; in vq_ring_enqueue_indirect() local
753 needed = readable + writable; in vq_ring_enqueue_indirect()
754 VQASSERT(vq, needed <= vq->vq_max_indirect_size, in vq_ring_enqueue_indirect()
768 dp->len = vq_gtoh32(vq, needed * sizeof(struct vring_desc)); in vq_ring_enqueue_indirect()