Lines Matching full:needed
670 int needed; in virtqueue_enqueue() local
673 needed = readable + writable; in virtqueue_enqueue()
676 VQASSERT(vq, needed == sg->sg_nseg, in virtqueue_enqueue()
677 "segment count mismatch, %d, %d", needed, sg->sg_nseg); in virtqueue_enqueue()
679 needed <= vq->vq_nentries || needed <= vq->vq_max_indirect_size, in virtqueue_enqueue()
680 "too many segments to enqueue: %d, %d/%d", needed, in virtqueue_enqueue()
683 if (needed < 1) in virtqueue_enqueue()
688 if (vq_ring_use_indirect(vq, needed)) { in virtqueue_enqueue()
691 } else if (vq->vq_free_cnt < needed) in virtqueue_enqueue()
701 dxp->ndescs = needed; in virtqueue_enqueue()
710 vq->vq_free_cnt -= needed; in virtqueue_enqueue()
859 int i, needed; in vq_ring_enqueue_segments() local
865 needed = readable + writable; in vq_ring_enqueue_segments()
868 i < needed; in vq_ring_enqueue_segments()
878 if (i < needed - 1) in vq_ring_enqueue_segments()
889 vq_ring_use_indirect(struct virtqueue *vq, int needed) in vq_ring_use_indirect() argument
895 if (vq->vq_max_indirect_size < needed) in vq_ring_use_indirect()
898 if (needed < 2) in vq_ring_use_indirect()
910 int needed; in vq_ring_enqueue_indirect() local
913 needed = readable + writable; in vq_ring_enqueue_indirect()
914 VQASSERT(vq, needed <= vq->vq_max_indirect_size, in vq_ring_enqueue_indirect()
928 dp->len = vq_gtoh32(vq, needed * sizeof(struct vring_desc)); in vq_ring_enqueue_indirect()