Lines Matching refs:total_sg
209 unsigned int total_sg) in virtqueue_use_indirect() argument
217 return (vq->indirect && total_sg > 1 && vq->vq.num_free); in virtqueue_use_indirect()
427 unsigned int total_sg, in alloc_indirect_split() argument
440 desc = kmalloc_array(total_sg, sizeof(struct vring_desc), gfp); in alloc_indirect_split()
444 for (i = 0; i < total_sg; i++) in alloc_indirect_split()
480 unsigned int total_sg, in virtqueue_add_split() argument
506 BUG_ON(total_sg == 0); in virtqueue_add_split()
510 if (virtqueue_use_indirect(_vq, total_sg)) in virtqueue_add_split()
511 desc = alloc_indirect_split(_vq, total_sg, gfp); in virtqueue_add_split()
514 WARN_ON_ONCE(total_sg > vq->split.vring.num && !vq->indirect); in virtqueue_add_split()
527 descs_used = total_sg; in virtqueue_add_split()
585 vq, desc, total_sg * sizeof(struct vring_desc), in virtqueue_add_split()
592 total_sg * sizeof(struct vring_desc), in virtqueue_add_split()
644 for (n = 0; n < total_sg; n++) { in virtqueue_add_split()
1035 static struct vring_packed_desc *alloc_indirect_packed(unsigned int total_sg, in alloc_indirect_packed() argument
1047 desc = kmalloc_array(total_sg, sizeof(struct vring_packed_desc), gfp); in alloc_indirect_packed()
1054 unsigned int total_sg, in virtqueue_add_indirect_packed() argument
1067 desc = alloc_indirect_packed(total_sg, gfp); in virtqueue_add_indirect_packed()
1097 total_sg * sizeof(struct vring_packed_desc), in virtqueue_add_indirect_packed()
1103 vq->packed.vring.desc[head].len = cpu_to_le32(total_sg * in virtqueue_add_indirect_packed()
1109 vq->packed.desc_extra[id].len = total_sg * in virtqueue_add_indirect_packed()
1166 unsigned int total_sg, in virtqueue_add_packed() argument
1192 BUG_ON(total_sg == 0); in virtqueue_add_packed()
1194 if (virtqueue_use_indirect(_vq, total_sg)) in virtqueue_add_packed()
1195 return virtqueue_add_indirect_packed(vq, sgs, total_sg, in virtqueue_add_packed()
1201 WARN_ON_ONCE(total_sg > vq->packed.vring.num && !vq->indirect); in virtqueue_add_packed()
1205 descs_used = total_sg; in virtqueue_add_packed()
1227 (++c == total_sg ? 0 : VRING_DESC_F_NEXT) | in virtqueue_add_packed()
1293 for (n = 0; n < total_sg; n++) { in virtqueue_add_packed()
1785 unsigned int total_sg, in virtqueue_add() argument
1794 return vq->packed_ring ? virtqueue_add_packed(_vq, sgs, total_sg, in virtqueue_add()
1796 virtqueue_add_split(_vq, sgs, total_sg, in virtqueue_add()
1821 unsigned int i, total_sg = 0; in virtqueue_add_sgs() local
1828 total_sg++; in virtqueue_add_sgs()
1830 return virtqueue_add(_vq, sgs, total_sg, out_sgs, in_sgs, in virtqueue_add_sgs()