Lines Matching refs:needed
519 int needed; in virtqueue_enqueue() local
522 needed = readable + writable; in virtqueue_enqueue()
525 VQASSERT(vq, needed == sg->sg_nseg, in virtqueue_enqueue()
526 "segment count mismatch, %d, %d", needed, sg->sg_nseg); in virtqueue_enqueue()
528 needed <= vq->vq_nentries || needed <= vq->vq_max_indirect_size, in virtqueue_enqueue()
529 "too many segments to enqueue: %d, %d/%d", needed, in virtqueue_enqueue()
532 if (needed < 1) in virtqueue_enqueue()
537 if (vq_ring_use_indirect(vq, needed)) { in virtqueue_enqueue()
540 } else if (vq->vq_free_cnt < needed) in virtqueue_enqueue()
550 dxp->ndescs = needed; in virtqueue_enqueue()
556 vq->vq_free_cnt -= needed; in virtqueue_enqueue()
696 int i, needed; in vq_ring_enqueue_segments() local
699 needed = readable + writable; in vq_ring_enqueue_segments()
702 i < needed; in vq_ring_enqueue_segments()
712 if (i < needed - 1) in vq_ring_enqueue_segments()
722 vq_ring_use_indirect(struct virtqueue *vq, int needed) in vq_ring_use_indirect() argument
728 if (vq->vq_max_indirect_size < needed) in vq_ring_use_indirect()
731 if (needed < 2) in vq_ring_use_indirect()
743 int needed; in vq_ring_enqueue_indirect() local
746 needed = readable + writable; in vq_ring_enqueue_indirect()
747 VQASSERT(vq, needed <= vq->vq_max_indirect_size, in vq_ring_enqueue_indirect()
761 dp->len = needed * sizeof(struct vring_desc); in vq_ring_enqueue_indirect()