Lines Matching refs:vring_split

216 					       struct vring_virtqueue_split *vring_split,
957 static void virtqueue_vring_init_split(struct vring_virtqueue_split *vring_split, in virtqueue_vring_init_split() argument
964 vring_split->avail_flags_shadow = 0; in virtqueue_vring_init_split()
965 vring_split->avail_idx_shadow = 0; in virtqueue_vring_init_split()
969 vring_split->avail_flags_shadow |= VRING_AVAIL_F_NO_INTERRUPT; in virtqueue_vring_init_split()
971 vring_split->vring.avail->flags = cpu_to_virtio16(vdev, in virtqueue_vring_init_split()
972 vring_split->avail_flags_shadow); in virtqueue_vring_init_split()
1000 struct vring_virtqueue_split *vring_split) in virtqueue_vring_attach_split() argument
1002 vq->split = *vring_split; in virtqueue_vring_attach_split()
1008 static int vring_alloc_state_extra_split(struct vring_virtqueue_split *vring_split) in vring_alloc_state_extra_split() argument
1012 u32 num = vring_split->vring.num; in vring_alloc_state_extra_split()
1024 vring_split->desc_state = state; in vring_alloc_state_extra_split()
1025 vring_split->desc_extra = extra; in vring_alloc_state_extra_split()
1034 static void vring_free_split(struct vring_virtqueue_split *vring_split, in vring_free_split() argument
1037 vring_free_queue(vdev, vring_split->queue_size_in_bytes, in vring_free_split()
1038 vring_split->vring.desc, in vring_free_split()
1039 vring_split->queue_dma_addr); in vring_free_split()
1041 kfree(vring_split->desc_state); in vring_free_split()
1042 kfree(vring_split->desc_extra); in vring_free_split()
1045 static int vring_alloc_queue_split(struct vring_virtqueue_split *vring_split, in vring_alloc_queue_split() argument
1082 vring_init(&vring_split->vring, num, queue, vring_align); in vring_alloc_queue_split()
1084 vring_split->queue_dma_addr = dma_addr; in vring_alloc_queue_split()
1085 vring_split->queue_size_in_bytes = vring_size(num, vring_align); in vring_alloc_queue_split()
1087 vring_split->vring_align = vring_align; in vring_alloc_queue_split()
1088 vring_split->may_reduce_num = may_reduce_num; in vring_alloc_queue_split()
1105 struct vring_virtqueue_split vring_split = {}; in vring_create_virtqueue_split() local
1109 err = vring_alloc_queue_split(&vring_split, vdev, num, vring_align, in vring_create_virtqueue_split()
1114 vq = __vring_new_virtqueue(index, &vring_split, vdev, weak_barriers, in vring_create_virtqueue_split()
1117 vring_free_split(&vring_split, vdev); in vring_create_virtqueue_split()
1128 struct vring_virtqueue_split vring_split = {}; in virtqueue_resize_split() local
1133 err = vring_alloc_queue_split(&vring_split, vdev, num, in virtqueue_resize_split()
1139 err = vring_alloc_state_extra_split(&vring_split); in virtqueue_resize_split()
1145 virtqueue_vring_init_split(&vring_split, vq); in virtqueue_resize_split()
1147 virtqueue_init(vq, vring_split.vring.num); in virtqueue_resize_split()
1148 virtqueue_vring_attach_split(vq, &vring_split); in virtqueue_resize_split()
1153 vring_free_split(&vring_split, vdev); in virtqueue_resize_split()
2478 struct vring_virtqueue_split *vring_split, in __vring_new_virtqueue() argument
2519 err = vring_alloc_state_extra_split(vring_split); in __vring_new_virtqueue()
2525 virtqueue_vring_init_split(vring_split, vq); in __vring_new_virtqueue()
2527 virtqueue_init(vq, vring_split->vring.num); in __vring_new_virtqueue()
2528 virtqueue_vring_attach_split(vq, vring_split); in __vring_new_virtqueue()
2641 struct vring_virtqueue_split vring_split = {}; in vring_new_virtqueue() local
2646 vring_init(&vring_split.vring, num, pages, vring_align); in vring_new_virtqueue()
2647 return __vring_new_virtqueue(index, &vring_split, vdev, weak_barriers, in vring_new_virtqueue()