Home
last modified time | relevance | path

Searched refs:virtqueue (Results 1 – 25 of 46) sorted by relevance

12

/kernel/linux/linux-5.10/include/linux/
Dvirtio.h27 struct virtqueue { struct
29 void (*callback)(struct virtqueue *vq); argument
37 int virtqueue_add_outbuf(struct virtqueue *vq, argument
42 int virtqueue_add_inbuf(struct virtqueue *vq,
47 int virtqueue_add_inbuf_ctx(struct virtqueue *vq,
53 int virtqueue_add_sgs(struct virtqueue *vq,
60 bool virtqueue_kick(struct virtqueue *vq);
62 bool virtqueue_kick_prepare(struct virtqueue *vq);
64 bool virtqueue_notify(struct virtqueue *vq);
66 void *virtqueue_get_buf(struct virtqueue *vq, unsigned int *len);
[all …]
Dvirtio_ring.h60 struct virtqueue;
68 struct virtqueue *vring_create_virtqueue(unsigned int index,
75 bool (*notify)(struct virtqueue *vq),
76 void (*callback)(struct virtqueue *vq),
80 struct virtqueue *__vring_new_virtqueue(unsigned int index,
85 bool (*notify)(struct virtqueue *),
86 void (*callback)(struct virtqueue *),
93 struct virtqueue *vring_new_virtqueue(unsigned int index,
100 bool (*notify)(struct virtqueue *vq),
101 void (*callback)(struct virtqueue *vq),
[all …]
Dvirtio_config.h77 typedef void vq_callback_t(struct virtqueue *);
88 struct virtqueue *vqs[], vq_callback_t *callbacks[],
95 int (*set_vq_affinity)(struct virtqueue *vq,
188 struct virtqueue *virtio_find_single_vq(struct virtio_device *vdev, in virtio_find_single_vq()
193 struct virtqueue *vq; in virtio_find_single_vq()
203 struct virtqueue *vqs[], vq_callback_t *callbacks[], in virtio_find_vqs()
212 struct virtqueue *vqs[], vq_callback_t *callbacks[], in virtio_find_vqs_ctx()
255 int virtqueue_set_affinity(struct virtqueue *vq, const struct cpumask *cpu_mask) in virtqueue_set_affinity()
/kernel/linux/linux-5.10/tools/virtio/linux/
Dvirtio.h19 struct virtqueue { struct
21 void (*callback)(struct virtqueue *vq); argument
30 int virtqueue_add_sgs(struct virtqueue *vq, argument
37 int virtqueue_add_outbuf(struct virtqueue *vq,
42 int virtqueue_add_inbuf(struct virtqueue *vq,
47 bool virtqueue_kick(struct virtqueue *vq);
49 void *virtqueue_get_buf(struct virtqueue *vq, unsigned int *len);
51 void virtqueue_disable_cb(struct virtqueue *vq);
53 bool virtqueue_enable_cb(struct virtqueue *vq);
54 bool virtqueue_enable_cb_delayed(struct virtqueue *vq);
[all …]
/kernel/linux/linux-5.10/drivers/virtio/
Dvirtio_pci_common.h33 struct virtqueue *vq;
97 struct virtqueue *(*setup_vq)(struct virtio_pci_device *vp_dev,
100 void (*callback)(struct virtqueue *vq),
126 bool vp_notify(struct virtqueue *vq);
131 struct virtqueue *vqs[], vq_callback_t *callbacks[],
141 int vp_set_vq_affinity(struct virtqueue *vq, const struct cpumask *cpu_mask);
Dvirtio_ring.c88 struct virtqueue vq;
181 bool (*notify)(struct virtqueue *vq);
203 static inline bool virtqueue_use_indirect(struct virtqueue *_vq, in virtqueue_use_indirect()
392 static struct vring_desc *alloc_indirect_split(struct virtqueue *_vq, in alloc_indirect_split()
415 static inline int virtqueue_add_split(struct virtqueue *_vq, in virtqueue_add_split()
589 static bool virtqueue_kick_prepare_split(struct virtqueue *_vq) in virtqueue_kick_prepare_split()
678 static void *virtqueue_get_buf_ctx_split(struct virtqueue *_vq, in virtqueue_get_buf_ctx_split()
736 static void virtqueue_disable_cb_split(struct virtqueue *_vq) in virtqueue_disable_cb_split()
749 static unsigned virtqueue_enable_cb_prepare_split(struct virtqueue *_vq) in virtqueue_enable_cb_prepare_split()
774 static bool virtqueue_poll_split(struct virtqueue *_vq, unsigned last_used_idx) in virtqueue_poll_split()
[all …]
Dvirtio_vdpa.c39 struct virtqueue *vq;
107 static bool virtio_vdpa_notify(struct virtqueue *vq) in virtio_vdpa_notify()
133 static struct virtqueue *
135 void (*callback)(struct virtqueue *vq), in virtio_vdpa_setup_vq()
143 struct virtqueue *vq; in virtio_vdpa_setup_vq()
218 static void virtio_vdpa_del_vq(struct virtqueue *vq) in virtio_vdpa_del_vq()
242 struct virtqueue *vq, *n; in virtio_vdpa_del_vqs()
249 struct virtqueue *vqs[], in virtio_vdpa_find_vqs()
Dvirtio_pci_common.c41 bool vp_notify(struct virtqueue *vq) in vp_notify()
174 static struct virtqueue *vp_setup_vq(struct virtio_device *vdev, unsigned index, in vp_setup_vq()
175 void (*callback)(struct virtqueue *vq), in vp_setup_vq()
182 struct virtqueue *vq; in vp_setup_vq()
211 static void vp_del_vq(struct virtqueue *vq) in vp_del_vq()
229 struct virtqueue *vq, *n; in vp_del_vqs()
279 struct virtqueue *vqs[], vq_callback_t *callbacks[], in vp_find_vqs_msix()
353 struct virtqueue *vqs[], vq_callback_t *callbacks[], in vp_find_vqs_intx()
392 struct virtqueue *vqs[], vq_callback_t *callbacks[], in vp_find_vqs()
422 int vp_set_vq_affinity(struct virtqueue *vq, const struct cpumask *cpu_mask) in vp_set_vq_affinity()
Dvirtio_pci_legacy.c113 static struct virtqueue *setup_vq(struct virtio_pci_device *vp_dev, in setup_vq()
116 void (*callback)(struct virtqueue *vq), in setup_vq()
121 struct virtqueue *vq; in setup_vq()
178 struct virtqueue *vq = info->vq; in del_vq()
Dvirtio_balloon.c64 struct virtqueue *inflate_vq, *deflate_vq, *stats_vq, *free_page_vq;
127 struct virtqueue *reporting_vq;
145 static void balloon_ack(struct virtqueue *vq) in balloon_ack()
152 static void tell_host(struct virtio_balloon *vb, struct virtqueue *vq) in tell_host()
173 struct virtqueue *vq = vb->reporting_vq; in virtballoon_free_page_report()
370 static void stats_request(struct virtqueue *vq) in stats_request()
382 struct virtqueue *vq; in stats_handle_request()
499 struct virtqueue *vqs[VIRTIO_BALLOON_VQ_MAX]; in init_vqs()
588 struct virtqueue *vq = vb->free_page_vq; in send_cmd_id_start()
607 struct virtqueue *vq = vb->free_page_vq; in send_cmd_id_stop()
[all …]
Dvirtio_mmio.c98 struct virtqueue *vq;
273 static bool vm_notify(struct virtqueue *vq) in vm_notify()
313 static void vm_del_vq(struct virtqueue *vq) in vm_del_vq()
341 struct virtqueue *vq, *n; in vm_del_vqs()
349 static struct virtqueue *vm_setup_vq(struct virtio_device *vdev, unsigned index, in vm_setup_vq()
350 void (*callback)(struct virtqueue *vq), in vm_setup_vq()
355 struct virtqueue *vq; in vm_setup_vq()
460 struct virtqueue *vqs[], in vm_find_vqs()
Dvirtio_input.c17 struct virtqueue *evt, *sts;
32 static void virtinput_recv_events(struct virtqueue *vq) in virtinput_recv_events()
90 static void virtinput_recv_status(struct virtqueue *vq) in virtinput_recv_status()
172 struct virtqueue *vqs[2]; in virtinput_init_vqs()
/kernel/linux/linux-5.10/net/vmw_vsock/
Dvirtio_transport.c31 struct virtqueue *vqs[VSOCK_VQ_MAX];
91 struct virtqueue *vq; in virtio_transport_send_pkt_work()
142 struct virtqueue *rx_vq = vsock->vqs[VSOCK_VQ_RX]; in virtio_transport_send_pkt_work()
230 struct virtqueue *rx_vq = vsock->vqs[VSOCK_VQ_RX]; in virtio_transport_cancel_pkt()
251 struct virtqueue *vq; in virtio_vsock_rx_fill()
291 struct virtqueue *vq; in virtio_transport_tx_work()
321 struct virtqueue *vq = vsock->vqs[VSOCK_VQ_RX]; in virtio_transport_more_replies()
335 struct virtqueue *vq; in virtio_vsock_event_fill_one()
397 struct virtqueue *vq; in virtio_transport_event_work()
424 static void virtio_vsock_event_done(struct virtqueue *vq) in virtio_vsock_event_done()
[all …]
/kernel/linux/linux-5.10/drivers/gpu/drm/virtio/
Dvirtgpu_trace.h12 TP_PROTO(struct virtqueue *vq, struct virtio_gpu_ctrl_hdr *hdr),
39 TP_PROTO(struct virtqueue *vq, struct virtio_gpu_ctrl_hdr *hdr),
44 TP_PROTO(struct virtqueue *vq, struct virtio_gpu_ctrl_hdr *hdr),
Dvirtgpu_drv.h160 struct virtqueue *vq;
341 void virtio_gpu_ctrl_ack(struct virtqueue *vq);
342 void virtio_gpu_cursor_ack(struct virtqueue *vq);
343 void virtio_gpu_fence_ack(struct virtqueue *vq);
/kernel/linux/linux-5.10/drivers/nvdimm/
Dvirtio_pmem.h36 struct virtqueue *req_vq;
53 void virtio_pmem_host_ack(struct virtqueue *vq);
/kernel/linux/linux-5.10/drivers/remoteproc/
Dremoteproc_virtio.c27 static bool rproc_virtio_notify(struct virtqueue *vq) in rproc_virtio_notify()
65 static struct virtqueue *rp_find_vq(struct virtio_device *vdev, in rp_find_vq()
67 void (*callback)(struct virtqueue *vq), in rp_find_vq()
76 struct virtqueue *vq; in rp_find_vq()
128 struct virtqueue *vq, *n; in __rproc_virtio_del_vqs()
144 struct virtqueue *vqs[], in rproc_virtio_find_vqs()
/kernel/linux/linux-5.10/drivers/char/
Dvirtio_console.c152 struct virtqueue *c_ivq, *c_ovq;
161 struct virtqueue **in_vqs, **out_vqs;
193 struct virtqueue *in_vq, *out_vq;
316 struct virtqueue *vq) in find_port_by_vq()
491 static int add_inbuf(struct virtqueue *vq, struct port_buffer *buf) in add_inbuf()
551 struct virtqueue *vq; in __send_control_msg()
608 struct virtqueue *out_vq; in __send_to_port()
1326 static int fill_queue(struct virtqueue *vq, spinlock_t *lock) in fill_queue()
1704 struct virtqueue *vq; in control_work_handler()
1730 static void flush_bufs(struct virtqueue *vq, bool can_sleep) in flush_bufs()
[all …]
/kernel/linux/linux-5.10/drivers/crypto/virtio/
Dvirtio_crypto_common.h21 struct virtqueue *vq;
34 struct virtqueue *ctrl_vq;
/kernel/linux/linux-5.10/arch/um/drivers/
Dvirtio_uml.c69 struct virtqueue *vq;
358 struct virtqueue *vq; in vu_req_interrupt()
722 static bool vu_notify(struct virtqueue *vq) in vu_notify()
747 struct virtqueue *vq = opaque; in vu_interrupt()
800 static void vu_del_vq(struct virtqueue *vq) in vu_del_vq()
819 struct virtqueue *vq, *n; in vu_del_vqs()
834 struct virtqueue *vq) in vu_setup_vq_call_fd()
886 static void vu_defer_irq_callback(struct virtqueue *vq) in vu_defer_irq_callback()
894 static struct virtqueue *vu_setup_vq(struct virtio_device *vdev, in vu_setup_vq()
901 struct virtqueue *vq; in vu_setup_vq()
[all …]
/kernel/linux/linux-5.10/drivers/scsi/
Dvirtio_scsi.c67 struct virtqueue *vq;
178 struct virtqueue *vq = virtscsi_vq->vq; in virtscsi_vq_done()
192 static void virtscsi_req_done(struct virtqueue *vq) in virtscsi_req_done()
220 static void virtscsi_ctrl_done(struct virtqueue *vq) in virtscsi_ctrl_done()
410 static void virtscsi_event_done(struct virtqueue *vq) in virtscsi_event_done()
418 static int __virtscsi_add_cmd(struct virtqueue *vq, in __virtscsi_add_cmd()
774 struct virtqueue *vq) in virtscsi_init_vq()
795 struct virtqueue **vqs; in virtscsi_init()
799 vqs = kmalloc_array(num_vqs, sizeof(struct virtqueue *), GFP_KERNEL); in virtscsi_init()
/kernel/linux/linux-5.10/drivers/s390/virtio/
Dvirtio_ccw.c123 struct virtqueue *vq;
191 static void drop_airq_indicator(struct virtqueue *vq, struct airq_info *info) in drop_airq_indicator()
261 static unsigned long get_airq_indicator(struct virtqueue *vqs[], int nvqs, in get_airq_indicator()
416 static bool virtio_ccw_kvm_notify(struct virtqueue *vq) in virtio_ccw_kvm_notify()
446 static void virtio_ccw_del_vq(struct virtqueue *vq, struct ccw1 *ccw) in virtio_ccw_del_vq()
495 struct virtqueue *vq, *n; in virtio_ccw_del_vqs()
511 static struct virtqueue *virtio_ccw_setup_vq(struct virtio_device *vdev, in virtio_ccw_setup_vq()
518 struct virtqueue *vq = NULL; in virtio_ccw_setup_vq()
604 struct virtqueue *vqs[], int nvqs, in virtio_ccw_register_adapter_ind()
653 struct virtqueue *vqs[], in virtio_ccw_find_vqs()
[all …]
/kernel/linux/linux-5.10/Documentation/filesystems/
Dvirtiofs.rst64 FUSE requests are placed into a virtqueue and processed by the host. The
73 This is especially important if the virtqueue becomes full since it is then
75 the virtio-fs device uses a "hiprio" virtqueue specifically for requests that
/kernel/linux/linux-5.10/drivers/char/hw_random/
Dvirtio-rng.c20 struct virtqueue *vq;
30 static void random_recv_done(struct virtqueue *vq) in random_recv_done()
/kernel/linux/linux-5.10/tools/virtio/
Dvringh_test.c27 static bool never_notify_host(struct virtqueue *vq) in never_notify_host()
32 static void never_callback_guest(struct virtqueue *vq) in never_callback_guest()
70 static bool parallel_notify_host(struct virtqueue *vq) in parallel_notify_host()
83 static bool no_notify_host(struct virtqueue *vq) in no_notify_host()
294 struct virtqueue *vq; in parallel_test()
442 struct virtqueue *vq; in main()

12