Lines Matching refs:extra
291 const struct vring_desc_extra *extra) in vring_need_unmap_buffer() argument
293 return vring->use_map_api && (extra->addr != DMA_MAPPING_ERROR); in vring_need_unmap_buffer()
456 struct vring_desc_extra *extra) in vring_unmap_one_split() argument
460 flags = extra->flags; in vring_unmap_one_split()
465 } else if (!vring_need_unmap_buffer(vq, extra)) in vring_unmap_one_split()
469 extra->addr, in vring_unmap_one_split()
470 extra->len, in vring_unmap_one_split()
476 return extra->next; in vring_unmap_one_split()
483 struct vring_desc_extra *extra; in alloc_indirect_split() local
494 size = sizeof(*desc) * total_sg + sizeof(*extra) * total_sg; in alloc_indirect_split()
500 extra = (struct vring_desc_extra *)&desc[total_sg]; in alloc_indirect_split()
503 extra[i].next = i + 1; in alloc_indirect_split()
510 struct vring_desc_extra *extra, in virtqueue_add_desc_split() argument
522 extra[i].addr = premapped ? DMA_MAPPING_ERROR : addr; in virtqueue_add_desc_split()
523 extra[i].len = len; in virtqueue_add_desc_split()
524 extra[i].flags = flags; in virtqueue_add_desc_split()
526 next = extra[i].next; in virtqueue_add_desc_split()
544 struct vring_desc_extra *extra; in virtqueue_add_split() local
580 extra = (struct vring_desc_extra *)&desc[total_sg]; in virtqueue_add_split()
584 extra = vq->split.desc_extra; in virtqueue_add_split()
615 i = virtqueue_add_desc_split(_vq, desc, extra, i, addr, len, in virtqueue_add_split()
632 i = virtqueue_add_desc_split(_vq, desc, extra, i, addr, len, in virtqueue_add_split()
640 if (!indirect && vring_need_unmap_buffer(vq, &extra[prev])) in virtqueue_add_split()
710 i = vring_unmap_one_split(vq, &extra[i]); in virtqueue_add_split()
754 struct vring_desc_extra *extra; in detach_buf_split() local
761 extra = vq->split.desc_extra; in detach_buf_split()
767 vring_unmap_one_split(vq, &extra[i]); in detach_buf_split()
772 vring_unmap_one_split(vq, &extra[i]); in detach_buf_split()
795 extra = (struct vring_desc_extra *)&indir_desc[num]; in detach_buf_split()
799 vring_unmap_one_split(vq, &extra[j]); in detach_buf_split()
1047 struct vring_desc_extra *extra; in vring_alloc_state_extra_split() local
1054 extra = vring_alloc_desc_extra(num); in vring_alloc_state_extra_split()
1055 if (!extra) in vring_alloc_state_extra_split()
1061 vring_split->desc_extra = extra; in vring_alloc_state_extra_split()
1275 const struct vring_desc_extra *extra) in vring_unmap_extra_packed() argument
1279 flags = extra->flags; in vring_unmap_extra_packed()
1284 } else if (!vring_need_unmap_buffer(vq, extra)) in vring_unmap_extra_packed()
1288 extra->addr, extra->len, in vring_unmap_extra_packed()
1297 struct vring_desc_extra *extra; in alloc_indirect_packed() local
1308 size = (sizeof(*desc) + sizeof(*extra)) * total_sg; in alloc_indirect_packed()
1314 extra = (struct vring_desc_extra *)&desc[total_sg]; in alloc_indirect_packed()
1317 extra[i].next = i + 1; in alloc_indirect_packed()
1331 struct vring_desc_extra *extra; in virtqueue_add_indirect_packed() local
1343 extra = (struct vring_desc_extra *)&desc[total_sg]; in virtqueue_add_indirect_packed()
1369 extra[i].addr = premapped ? DMA_MAPPING_ERROR : addr; in virtqueue_add_indirect_packed()
1370 extra[i].len = len; in virtqueue_add_indirect_packed()
1371 extra[i].flags = n < out_sgs ? 0 : VRING_DESC_F_WRITE; in virtqueue_add_indirect_packed()
1439 vring_unmap_extra_packed(vq, &extra[i]); in virtqueue_add_indirect_packed()
1677 struct vring_desc_extra *extra; in detach_buf_packed() local
1689 extra = (struct vring_desc_extra *)&desc[num]; in detach_buf_packed()
1692 vring_unmap_extra_packed(vq, &extra[i]); in detach_buf_packed()
2045 struct vring_desc_extra *extra; in vring_alloc_state_extra_packed() local
2054 extra = vring_alloc_desc_extra(num); in vring_alloc_state_extra_packed()
2055 if (!extra) in vring_alloc_state_extra_packed()
2059 vring_packed->desc_extra = extra; in vring_alloc_state_extra_packed()