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()
1026 total_sg * sizeof(struct vring_packed_desc), in virtqueue_add_indirect_packed()
1032 vq->packed.vring.desc[head].len = cpu_to_le32(total_sg * in virtqueue_add_indirect_packed()
1038 vq->packed.desc_extra[id].len = total_sg * in virtqueue_add_indirect_packed()
1095 unsigned int total_sg, in virtqueue_add_packed() argument
1122 BUG_ON(total_sg == 0); in virtqueue_add_packed()
1124 if (virtqueue_use_indirect(_vq, total_sg)) { in virtqueue_add_packed()
1125 err = virtqueue_add_indirect_packed(vq, sgs, total_sg, out_sgs, in virtqueue_add_packed()
1138 WARN_ON_ONCE(total_sg > vq->packed.vring.num && !vq->indirect); in virtqueue_add_packed()
1142 descs_used = total_sg; in virtqueue_add_packed()
1164 (++c == total_sg ? 0 : VRING_DESC_F_NEXT) | in virtqueue_add_packed()
1229 for (n = 0; n < total_sg; n++) { in virtqueue_add_packed()
1705 unsigned int total_sg, in virtqueue_add() argument
1714 return vq->packed_ring ? virtqueue_add_packed(_vq, sgs, total_sg, in virtqueue_add()
1716 virtqueue_add_split(_vq, sgs, total_sg, in virtqueue_add()
1741 unsigned int i, total_sg = 0; in virtqueue_add_sgs() local
1748 total_sg++; in virtqueue_add_sgs()
1750 return virtqueue_add(_vq, sgs, total_sg, out_sgs, in_sgs, in virtqueue_add_sgs()