Lines Matching refs:desc_state
132 struct vring_desc_state_split *desc_state; member
168 struct vring_desc_state_packed *desc_state; member
538 vq->split.desc_state[head].data = data; in virtqueue_add_split()
540 vq->split.desc_state[head].indir_desc = desc; in virtqueue_add_split()
542 vq->split.desc_state[head].indir_desc = ctx; in virtqueue_add_split()
627 vq->split.desc_state[head].data = NULL; in detach_buf_split()
648 vq->split.desc_state[head].indir_desc; in detach_buf_split()
666 vq->split.desc_state[head].indir_desc = NULL; in detach_buf_split()
668 *ctx = vq->split.desc_state[head].indir_desc; in detach_buf_split()
713 if (unlikely(!vq->split.desc_state[i].data)) { in virtqueue_get_buf_ctx_split()
719 ret = vq->split.desc_state[i].data; in virtqueue_get_buf_ctx_split()
827 if (!vq->split.desc_state[i].data) in virtqueue_detach_unused_buf_split()
830 buf = vq->split.desc_state[i].data; in virtqueue_detach_unused_buf_split()
1066 vq->free_head = vq->packed.desc_state[id].next; in virtqueue_add_indirect_packed()
1069 vq->packed.desc_state[id].num = 1; in virtqueue_add_indirect_packed()
1070 vq->packed.desc_state[id].data = data; in virtqueue_add_indirect_packed()
1071 vq->packed.desc_state[id].indir_desc = desc; in virtqueue_add_indirect_packed()
1072 vq->packed.desc_state[id].last = id; in virtqueue_add_indirect_packed()
1182 curr = vq->packed.desc_state[curr].next; in virtqueue_add_packed()
1204 vq->packed.desc_state[id].num = descs_used; in virtqueue_add_packed()
1205 vq->packed.desc_state[id].data = data; in virtqueue_add_packed()
1206 vq->packed.desc_state[id].indir_desc = ctx; in virtqueue_add_packed()
1207 vq->packed.desc_state[id].last = prev; in virtqueue_add_packed()
1298 state = &vq->packed.desc_state[id]; in detach_buf_packed()
1303 vq->packed.desc_state[state->last].next = vq->free_head; in detach_buf_packed()
1312 curr = vq->packed.desc_state[curr].next; in detach_buf_packed()
1388 if (unlikely(!vq->packed.desc_state[id].data)) { in virtqueue_get_buf_ctx_packed()
1394 ret = vq->packed.desc_state[id].data; in virtqueue_get_buf_ctx_packed()
1397 vq->last_used_idx += vq->packed.desc_state[id].num; in virtqueue_get_buf_ctx_packed()
1548 if (!vq->packed.desc_state[i].data) in virtqueue_detach_unused_buf_packed()
1551 buf = vq->packed.desc_state[i].data; in virtqueue_detach_unused_buf_packed()
1651 vq->packed.desc_state = kmalloc_array(num, in vring_create_virtqueue_packed()
1654 if (!vq->packed.desc_state) in vring_create_virtqueue_packed()
1657 memset(vq->packed.desc_state, 0, in vring_create_virtqueue_packed()
1663 vq->packed.desc_state[i].next = i + 1; in vring_create_virtqueue_packed()
1685 kfree(vq->packed.desc_state); in vring_create_virtqueue_packed()
2125 vq->split.desc_state = kmalloc_array(vring.num, in __vring_new_virtqueue()
2127 if (!vq->split.desc_state) { in __vring_new_virtqueue()
2136 memset(vq->split.desc_state, 0, vring.num * in __vring_new_virtqueue()
2212 kfree(vq->packed.desc_state); in vring_del_virtqueue()
2222 kfree(vq->split.desc_state); in vring_del_virtqueue()