Lines Matching refs:virtqueue
57 struct virtqueue { struct
122 static int virtqueue_init_indirect(struct virtqueue *vq, int);
123 static void virtqueue_free_indirect(struct virtqueue *vq);
124 static void virtqueue_init_indirect_list(struct virtqueue *,
127 static void vq_ring_init(struct virtqueue *);
128 static void vq_ring_update_avail(struct virtqueue *, uint16_t);
129 static uint16_t vq_ring_enqueue_segments(struct virtqueue *,
131 static int vq_ring_use_indirect(struct virtqueue *, int);
132 static void vq_ring_enqueue_indirect(struct virtqueue *, void *,
134 static int vq_ring_enable_interrupt(struct virtqueue *, uint16_t);
135 static int vq_ring_must_notify_host(struct virtqueue *);
136 static void vq_ring_notify_host(struct virtqueue *);
137 static void vq_ring_free_chain(struct virtqueue *, uint16_t);
139 SDT_PROVIDER_DEFINE(virtqueue);
140 SDT_PROBE_DEFINE6(virtqueue, , enqueue_segments, entry, "struct virtqueue *",
142 SDT_PROBE_DEFINE1(virtqueue, , enqueue_segments, return, "uint16_t");
155 struct vq_alloc_info *info, struct virtqueue **vqp) in virtqueue_alloc()
157 struct virtqueue *vq; in virtqueue_alloc()
181 vq = malloc(sizeof(struct virtqueue) + in virtqueue_alloc()
232 virtqueue_init_indirect(struct virtqueue *vq, int indirect_size) in virtqueue_init_indirect()
275 virtqueue_free_indirect(struct virtqueue *vq) in virtqueue_free_indirect()
296 virtqueue_init_indirect_list(struct virtqueue *vq, in virtqueue_init_indirect_list()
309 virtqueue_reinit(struct virtqueue *vq, uint16_t size) in virtqueue_reinit()
351 virtqueue_free(struct virtqueue *vq) in virtqueue_free()
373 virtqueue_paddr(struct virtqueue *vq) in virtqueue_paddr()
380 virtqueue_desc_paddr(struct virtqueue *vq) in virtqueue_desc_paddr()
387 virtqueue_avail_paddr(struct virtqueue *vq) in virtqueue_avail_paddr()
394 virtqueue_used_paddr(struct virtqueue *vq) in virtqueue_used_paddr()
401 virtqueue_index(struct virtqueue *vq) in virtqueue_index()
408 virtqueue_size(struct virtqueue *vq) in virtqueue_size()
415 virtqueue_nfree(struct virtqueue *vq) in virtqueue_nfree()
422 virtqueue_empty(struct virtqueue *vq) in virtqueue_empty()
429 virtqueue_full(struct virtqueue *vq) in virtqueue_full()
436 virtqueue_notify(struct virtqueue *vq) in virtqueue_notify()
448 virtqueue_nused(struct virtqueue *vq) in virtqueue_nused()
461 virtqueue_intr_filter(struct virtqueue *vq) in virtqueue_intr_filter()
473 virtqueue_intr(struct virtqueue *vq) in virtqueue_intr()
480 virtqueue_enable_intr(struct virtqueue *vq) in virtqueue_enable_intr()
487 virtqueue_postpone_intr(struct virtqueue *vq, vq_postpone_t hint) in virtqueue_postpone_intr()
512 virtqueue_disable_intr(struct virtqueue *vq) in virtqueue_disable_intr()
525 virtqueue_enqueue(struct virtqueue *vq, void *cookie, struct sglist *sg, in virtqueue_enqueue()
578 virtqueue_dequeue(struct virtqueue *vq, uint32_t *len) in virtqueue_dequeue()
605 virtqueue_poll(struct virtqueue *vq, uint32_t *len) in virtqueue_poll()
619 virtqueue_drain(struct virtqueue *vq, int *last) in virtqueue_drain()
642 virtqueue_dump(struct virtqueue *vq) in virtqueue_dump()
661 vq_ring_init(struct virtqueue *vq) in vq_ring_init()
679 vq_ring_update_avail(struct virtqueue *vq, uint16_t desc_idx) in vq_ring_update_avail()
702 vq_ring_enqueue_segments(struct virtqueue *vq, struct vring_desc *desc, in vq_ring_enqueue_segments()
710 SDT_PROBE6(virtqueue, , enqueue_segments, entry, vq, desc, head_idx, in vq_ring_enqueue_segments()
732 SDT_PROBE1(virtqueue, , enqueue_segments, return, idx); in vq_ring_enqueue_segments()
737 vq_ring_use_indirect(struct virtqueue *vq, int needed) in vq_ring_use_indirect()
753 vq_ring_enqueue_indirect(struct virtqueue *vq, void *cookie, in vq_ring_enqueue_indirect()
793 vq_ring_enable_interrupt(struct virtqueue *vq, uint16_t ndesc) in vq_ring_enable_interrupt()
822 vq_ring_must_notify_host(struct virtqueue *vq) in vq_ring_must_notify_host()
839 vq_ring_notify_host(struct virtqueue *vq) in vq_ring_notify_host()
847 vq_ring_free_chain(struct virtqueue *vq, uint16_t desc_idx) in vq_ring_free_chain()