Lines Matching refs:total_sg
204 unsigned int total_sg) in virtqueue_use_indirect() argument
212 return (vq->indirect && total_sg > 1 && vq->vq.num_free); in virtqueue_use_indirect()
393 unsigned int total_sg, in alloc_indirect_split() argument
406 desc = kmalloc_array(total_sg, sizeof(struct vring_desc), gfp); in alloc_indirect_split()
410 for (i = 0; i < total_sg; i++) in alloc_indirect_split()
417 unsigned int total_sg, in virtqueue_add_split() argument
443 BUG_ON(total_sg == 0); in virtqueue_add_split()
447 if (virtqueue_use_indirect(_vq, total_sg)) in virtqueue_add_split()
448 desc = alloc_indirect_split(_vq, total_sg, gfp); in virtqueue_add_split()
451 WARN_ON_ONCE(total_sg > vq->split.vring.num && !vq->indirect); in virtqueue_add_split()
464 descs_used = total_sg; in virtqueue_add_split()
513 vq, desc, total_sg * sizeof(struct vring_desc), in virtqueue_add_split()
524 total_sg * sizeof(struct vring_desc)); in virtqueue_add_split()
575 for (n = 0; n < total_sg; n++) { in virtqueue_add_split()
962 static struct vring_packed_desc *alloc_indirect_packed(unsigned int total_sg, in alloc_indirect_packed() argument
974 desc = kmalloc_array(total_sg, sizeof(struct vring_packed_desc), gfp); in alloc_indirect_packed()
981 unsigned int total_sg, in virtqueue_add_indirect_packed() argument
994 desc = alloc_indirect_packed(total_sg, gfp); in virtqueue_add_indirect_packed()
1024 total_sg * sizeof(struct vring_packed_desc), in virtqueue_add_indirect_packed()
1030 vq->packed.vring.desc[head].len = cpu_to_le32(total_sg * in virtqueue_add_indirect_packed()
1036 vq->packed.desc_extra[id].len = total_sg * in virtqueue_add_indirect_packed()
1093 unsigned int total_sg, in virtqueue_add_packed() argument
1119 BUG_ON(total_sg == 0); in virtqueue_add_packed()
1121 if (virtqueue_use_indirect(_vq, total_sg)) in virtqueue_add_packed()
1122 return virtqueue_add_indirect_packed(vq, sgs, total_sg, in virtqueue_add_packed()
1128 WARN_ON_ONCE(total_sg > vq->packed.vring.num && !vq->indirect); in virtqueue_add_packed()
1132 descs_used = total_sg; in virtqueue_add_packed()
1154 (++c == total_sg ? 0 : VRING_DESC_F_NEXT) | in virtqueue_add_packed()
1219 for (n = 0; n < total_sg; n++) { in virtqueue_add_packed()
1695 unsigned int total_sg, in virtqueue_add() argument
1704 return vq->packed_ring ? virtqueue_add_packed(_vq, sgs, total_sg, in virtqueue_add()
1706 virtqueue_add_split(_vq, sgs, total_sg, in virtqueue_add()
1731 unsigned int i, total_sg = 0; in virtqueue_add_sgs() local
1738 total_sg++; in virtqueue_add_sgs()
1740 return virtqueue_add(_vq, sgs, total_sg, out_sgs, in_sgs, in virtqueue_add_sgs()