Lines Matching refs:total_sg
233 unsigned int total_sg) in virtqueue_use_indirect() argument
239 return (vq->indirect && total_sg > 1 && vq->vq.num_free); in virtqueue_use_indirect()
466 unsigned int total_sg, in alloc_indirect_split() argument
479 desc = kmalloc_array(total_sg, sizeof(struct vring_desc), gfp); in alloc_indirect_split()
483 for (i = 0; i < total_sg; i++) in alloc_indirect_split()
519 unsigned int total_sg, in virtqueue_add_split() argument
545 BUG_ON(total_sg == 0); in virtqueue_add_split()
549 if (virtqueue_use_indirect(vq, total_sg)) in virtqueue_add_split()
550 desc = alloc_indirect_split(_vq, total_sg, gfp); in virtqueue_add_split()
553 WARN_ON_ONCE(total_sg > vq->split.vring.num && !vq->indirect); in virtqueue_add_split()
566 descs_used = total_sg; in virtqueue_add_split()
624 vq, desc, total_sg * sizeof(struct vring_desc), in virtqueue_add_split()
631 total_sg * sizeof(struct vring_desc), in virtqueue_add_split()
683 for (n = 0; n < total_sg; n++) { in virtqueue_add_split()
1213 static struct vring_packed_desc *alloc_indirect_packed(unsigned int total_sg, in alloc_indirect_packed() argument
1225 desc = kmalloc_array(total_sg, sizeof(struct vring_packed_desc), gfp); in alloc_indirect_packed()
1232 unsigned int total_sg, in virtqueue_add_indirect_packed() argument
1245 desc = alloc_indirect_packed(total_sg, gfp); in virtqueue_add_indirect_packed()
1277 total_sg * sizeof(struct vring_packed_desc), in virtqueue_add_indirect_packed()
1283 vq->packed.vring.desc[head].len = cpu_to_le32(total_sg * in virtqueue_add_indirect_packed()
1289 vq->packed.desc_extra[id].len = total_sg * in virtqueue_add_indirect_packed()
1346 unsigned int total_sg, in virtqueue_add_packed() argument
1373 BUG_ON(total_sg == 0); in virtqueue_add_packed()
1375 if (virtqueue_use_indirect(vq, total_sg)) { in virtqueue_add_packed()
1376 err = virtqueue_add_indirect_packed(vq, sgs, total_sg, out_sgs, in virtqueue_add_packed()
1389 WARN_ON_ONCE(total_sg > vq->packed.vring.num && !vq->indirect); in virtqueue_add_packed()
1393 descs_used = total_sg; in virtqueue_add_packed()
1415 (++c == total_sg ? 0 : VRING_DESC_F_NEXT) | in virtqueue_add_packed()
1481 for (n = 0; n < total_sg; n++) { in virtqueue_add_packed()
2085 unsigned int total_sg, in virtqueue_add() argument
2094 return vq->packed_ring ? virtqueue_add_packed(_vq, sgs, total_sg, in virtqueue_add()
2096 virtqueue_add_split(_vq, sgs, total_sg, in virtqueue_add()
2121 unsigned int i, total_sg = 0; in virtqueue_add_sgs() local
2128 total_sg++; in virtqueue_add_sgs()
2130 return virtqueue_add(_vq, sgs, total_sg, out_sgs, in_sgs, in virtqueue_add_sgs()