Home
last modified time | relevance | path

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

123

/linux/include/linux/
A Dvirtio.h31 struct virtqueue { struct
33 void (*callback)(struct virtqueue *vq); argument
43 int virtqueue_add_outbuf(struct virtqueue *vq, argument
48 int virtqueue_add_inbuf(struct virtqueue *vq,
59 int virtqueue_add_sgs(struct virtqueue *vq,
68 bool virtqueue_kick(struct virtqueue *vq);
72 bool virtqueue_notify(struct virtqueue *vq);
79 void virtqueue_disable_cb(struct virtqueue *vq);
81 bool virtqueue_enable_cb(struct virtqueue *vq);
104 int virtqueue_reset(struct virtqueue *vq,
[all …]
A Dvirtio_ring.h60 struct virtqueue;
69 struct virtqueue *vring_create_virtqueue(unsigned int index,
76 bool (*notify)(struct virtqueue *vq),
77 void (*callback)(struct virtqueue *vq),
91 bool (*notify)(struct virtqueue *vq),
92 void (*callback)(struct virtqueue *vq),
100 struct virtqueue *vring_new_virtqueue(unsigned int index,
107 bool (*notify)(struct virtqueue *vq),
108 void (*callback)(struct virtqueue *vq),
115 void vring_del_virtqueue(struct virtqueue *vq);
[all …]
A Dvirtio_config.h19 typedef void vq_callback_t(struct virtqueue *);
118 struct virtqueue *vqs[],
126 int (*set_vq_affinity)(struct virtqueue *vq,
132 int (*disable_vq_and_reset)(struct virtqueue *vq);
133 int (*enable_vq_after_reset)(struct virtqueue *vq);
222 struct virtqueue *vqs[], in virtio_find_vqs()
230 struct virtqueue *virtio_find_single_vq(struct virtio_device *vdev, in virtio_find_single_vq()
236 struct virtqueue *vq; in virtio_find_single_vq()
320 int virtqueue_set_affinity(struct virtqueue *vq, const struct cpumask *cpu_mask) in virtqueue_set_affinity()
/linux/tools/virtio/linux/
A Dvirtio.h20 struct virtqueue { struct
22 void (*callback)(struct virtqueue *vq); argument
33 int virtqueue_add_sgs(struct virtqueue *vq, argument
40 int virtqueue_add_outbuf(struct virtqueue *vq,
45 int virtqueue_add_inbuf(struct virtqueue *vq,
50 bool virtqueue_kick(struct virtqueue *vq);
54 void virtqueue_disable_cb(struct virtqueue *vq);
56 bool virtqueue_enable_cb(struct virtqueue *vq);
67 bool (*notify)(struct virtqueue *vq),
68 void (*callback)(struct virtqueue *vq),
[all …]
A Dvirtio_config.h9 int (*disable_vq_and_reset)(struct virtqueue *vq);
10 int (*enable_vq_after_reset)(struct virtqueue *vq);
/linux/drivers/virtio/
A Dvirtio_ring.c155 struct virtqueue vq;
208 bool (*notify)(struct virtqueue *vq);
1149 bool (*notify)(struct virtqueue *), in vring_create_virtqueue_split() argument
1150 void (*callback)(struct virtqueue *), in vring_create_virtqueue_split() argument
1155 struct virtqueue *vq; in vring_create_virtqueue_split()
2061 bool (*notify)(struct virtqueue *), in vring_create_virtqueue_packed() argument
2062 void (*callback)(struct virtqueue *), in vring_create_virtqueue_packed() argument
2673 bool (*notify)(struct virtqueue *), in vring_create_virtqueue() argument
2697 bool (*notify)(struct virtqueue *), in vring_create_virtqueue_dma() argument
3021 struct virtqueue *_vq; in virtio_break_device()
[all …]
A Dvirtio_pci_common.h36 struct virtqueue *vq;
98 struct virtqueue *(*setup_vq)(struct virtio_pci_device *vp_dev,
101 void (*callback)(struct virtqueue *vq),
128 bool vp_notify(struct virtqueue *vq);
133 struct virtqueue *vqs[], struct virtqueue_info vqs_info[],
142 int vp_set_vq_affinity(struct virtqueue *vq, const struct cpumask *cpu_mask);
182 void vp_modern_avq_done(struct virtqueue *vq);
A Dvirtio_vdpa.c40 struct virtqueue *vq;
106 static bool virtio_vdpa_notify(struct virtqueue *vq) in virtio_vdpa_notify()
116 static bool virtio_vdpa_notify_with_data(struct virtqueue *vq) in virtio_vdpa_notify_with_data()
143 static struct virtqueue *
145 void (*callback)(struct virtqueue *vq), in virtio_vdpa_setup_vq()
153 bool (*notify)(struct virtqueue *vq) = virtio_vdpa_notify; in virtio_vdpa_setup_vq()
155 struct virtqueue *vq; in virtio_vdpa_setup_vq()
270 static void virtio_vdpa_del_vq(struct virtqueue *vq) in virtio_vdpa_del_vq()
293 struct virtqueue *vq, *n; in virtio_vdpa_del_vqs()
360 struct virtqueue *vqs[], in virtio_vdpa_find_vqs()
[all …]
A Dvirtio_pci_common.c51 bool vp_notify(struct virtqueue *vq) in vp_notify()
207 void (*callback)(struct virtqueue *vq), in vp_setup_vq()
215 struct virtqueue *vq; in vp_setup_vq()
271 struct virtqueue *vq, *n; in vp_del_vqs()
329 static struct virtqueue *
337 struct virtqueue *vq; in vp_find_one_vq_msix()
377 struct virtqueue *vqs[], in vp_find_vqs_msix()
386 struct virtqueue *vq; in vp_find_vqs_msix()
458 struct virtqueue *vqs[], in vp_find_vqs_intx()
464 struct virtqueue *vq; in vp_find_vqs_intx()
[all …]
A Dvirtio_pci_modern.c46 void vp_modern_avq_done(struct virtqueue *vq) in vp_modern_avq_done()
70 struct virtqueue *vq; in virtqueue_exec_admin_cmd()
233 struct virtqueue *vq; in vp_modern_avq_cleanup()
448 static int vp_active_vq(struct virtqueue *vq, u16 msix_vec) in vp_active_vq()
557 static bool vp_notify_with_data(struct virtqueue *vq) in vp_notify_with_data()
569 void (*callback)(struct virtqueue *vq), in setup_vq()
576 bool (*notify)(struct virtqueue *vq); in setup_vq()
577 struct virtqueue *vq; in setup_vq()
626 struct virtqueue *vqs[], in vp_modern_find_vqs()
631 struct virtqueue *vq; in vp_modern_find_vqs()
[all …]
A Dvirtio_mmio.c99 struct virtqueue *vq;
279 static bool vm_notify(struct virtqueue *vq) in vm_notify()
289 static bool vm_notify_with_data(struct virtqueue *vq) in vm_notify_with_data()
329 static void vm_del_vq(struct virtqueue *vq) in vm_del_vq()
357 struct virtqueue *vq, *n; in vm_del_vqs()
372 static struct virtqueue *vm_setup_vq(struct virtio_device *vdev, unsigned int index, in vm_setup_vq()
373 void (*callback)(struct virtqueue *vq), in vm_setup_vq()
377 bool (*notify)(struct virtqueue *vq); in vm_setup_vq()
379 struct virtqueue *vq; in vm_setup_vq()
491 struct virtqueue *vqs[], in vm_find_vqs()
A Dvirtio_pci_legacy.c110 static struct virtqueue *setup_vq(struct virtio_pci_device *vp_dev, in setup_vq()
113 void (*callback)(struct virtqueue *vq), in setup_vq()
118 struct virtqueue *vq; in setup_vq()
173 struct virtqueue *vq = info->vq; in del_vq()
A Dvirtio_balloon.c57 struct virtqueue *inflate_vq, *deflate_vq, *stats_vq, *free_page_vq;
120 struct virtqueue *reporting_vq;
176 static void balloon_ack(struct virtqueue *vq) in balloon_ack()
183 static void tell_host(struct virtio_balloon *vb, struct virtqueue *vq) in tell_host()
204 struct virtqueue *vq = vb->reporting_vq; in virtballoon_free_page_report()
434 static void stats_request(struct virtqueue *vq) in stats_request()
448 struct virtqueue *vq; in stats_handle_request()
582 struct virtqueue *vqs[VIRTIO_BALLOON_VQ_MAX]; in init_vqs()
662 struct virtqueue *vq = vb->free_page_vq; in send_cmd_id_start()
681 struct virtqueue *vq = vb->free_page_vq; in send_cmd_id_stop()
[all …]
/linux/Documentation/driver-api/virtio/
A Dwriting_virtio_drivers.rst24 virtqueue definitions in the device. A basic driver skeleton could look
34 struct virtqueue *vq;
37 static void virtio_dummy_recv_cb(struct virtqueue *vq)
57 /* the device has a single virtqueue */
121 virtqueue. virtio_device_ready() is used to enable the virtqueue and to
144 appropriate virtqueue using any of the virtqueue_add_inbuf(),
148 `scatterlists`, respectively. Then, once the virtqueue is set up, a call
168 read the data produced by the device (if the virtqueue was set up with
175 The virtqueue callbacks can be disabled and re-enabled using the
187 device or the virtqueue (virtio_reset_device()).
/linux/net/vmw_vsock/
A Dvirtio_transport.c31 struct virtqueue *vqs[VSOCK_VQ_MAX];
159 struct virtqueue *vq; in virtio_transport_send_pkt_work()
216 struct virtqueue *vq = vsock->vqs[VSOCK_VQ_TX]; in virtio_transport_send_skb_fast_path()
292 struct virtqueue *rx_vq = vsock->vqs[VSOCK_VQ_RX]; in virtio_transport_cancel_pkt()
312 struct virtqueue *vq; in virtio_vsock_rx_fill()
343 struct virtqueue *vq; in virtio_transport_tx_work()
373 struct virtqueue *vq = vsock->vqs[VSOCK_VQ_RX]; in virtio_transport_more_replies()
387 struct virtqueue *vq; in virtio_vsock_event_fill_one()
449 struct virtqueue *vq; in virtio_transport_event_work()
512 struct virtqueue *vq = vsock->vqs[VSOCK_VQ_TX]; in virtio_transport_can_msgzerocopy()
[all …]
/linux/drivers/gpu/drm/virtio/
A Dvirtgpu_trace.h12 TP_PROTO(struct virtqueue *vq, struct virtio_gpu_ctrl_hdr *hdr, u32 seqno),
43 TP_PROTO(struct virtqueue *vq, struct virtio_gpu_ctrl_hdr *hdr, u32 seqno),
48 TP_PROTO(struct virtqueue *vq, struct virtio_gpu_ctrl_hdr *hdr, u32 seqno),
/linux/drivers/i2c/busses/
A Di2c-virtio.c31 struct virtqueue *vq;
48 static void virtio_i2c_msg_done(struct virtqueue *vq) in virtio_i2c_msg_done()
57 static int virtio_i2c_prepare_reqs(struct virtqueue *vq, in virtio_i2c_prepare_reqs()
109 static int virtio_i2c_complete_reqs(struct virtqueue *vq, in virtio_i2c_complete_reqs()
137 struct virtqueue *vq = vi->vq; in virtio_i2c_xfer()
/linux/drivers/nvdimm/
A Dvirtio_pmem.h36 struct virtqueue *req_vq;
53 void virtio_pmem_host_ack(struct virtqueue *vq);
/linux/Documentation/userspace-api/
A Dvduse.rst28 2. Setup each virtqueue with ioctl(VDUSE_VQ_SETUP) on /dev/vduse/$NAME.
104 add per-virtqueue configuration such as the max size of virtqueue to the device.
140 - VDUSE_GET_VQ_STATE: Get the state for virtqueue, userspace should return
141 avail index for split virtqueue or the device/driver ring wrap counters and
142 the avail and used index for packed virtqueue.
157 1. Get the specified virtqueue's information with the VDUSE_VQ_GET_INFO ioctl,
230 5. Inject an interrupt for specific virtqueue with the VDUSE_INJECT_VQ_IRQ ioctl
/linux/drivers/bluetooth/
A Dvirtio_bt.c24 struct virtqueue *vqs[VIRTBT_NUM_VQS];
31 struct virtqueue *vq = vbt->vqs[VIRTBT_VQ_RX]; in virtbt_add_inbuf()
77 struct virtqueue *vq = vbt->vqs[i]; in virtbt_close_vdev()
239 static void virtbt_tx_done(struct virtqueue *vq) in virtbt_tx_done()
248 static void virtbt_rx_done(struct virtqueue *vq) in virtbt_rx_done()
/linux/sound/virtio/
A Dvirtio_pcm.h105 void virtsnd_pcm_tx_notify_cb(struct virtqueue *vqueue);
107 void virtsnd_pcm_rx_notify_cb(struct virtqueue *vqueue);
/linux/drivers/char/
A Dvirtio_console.c146 struct virtqueue *c_ivq, *c_ovq;
155 struct virtqueue **in_vqs, **out_vqs;
187 struct virtqueue *in_vq, *out_vq;
307 struct virtqueue *vq) in find_port_by_vq()
542 struct virtqueue *vq; in __send_control_msg()
599 struct virtqueue *out_vq; in __send_to_port()
1665 struct virtqueue *vq; in control_work_handler()
1700 static void out_intr(struct virtqueue *vq) in out_intr()
1713 static void in_intr(struct virtqueue *vq) in in_intr()
1807 struct virtqueue **vqs; in init_vqs()
[all …]
/linux/drivers/s390/virtio/
A Dvirtio_ccw.c156 struct virtqueue *vq;
447 static bool virtio_ccw_kvm_notify(struct virtqueue *vq) in virtio_ccw_kvm_notify()
452 static bool virtio_ccw_kvm_notify_with_data(struct virtqueue *vq) in virtio_ccw_kvm_notify_with_data()
473 static void virtio_ccw_del_vq(struct virtqueue *vq, struct ccw1 *ccw) in virtio_ccw_del_vq()
522 struct virtqueue *vq, *n; in virtio_ccw_del_vqs()
544 bool (*notify)(struct virtqueue *vq); in virtio_ccw_setup_vq()
546 struct virtqueue *vq = NULL; in virtio_ccw_setup_vq()
641 struct virtqueue *vqs[], int nvqs, in virtio_ccw_register_adapter_ind()
691 struct virtqueue *vqs[], in virtio_ccw_find_vqs()
1118 struct virtqueue *vq; in virtio_ccw_vq_by_ind()
[all …]
/linux/arch/um/drivers/
A Dvirtio_uml.c371 struct virtqueue *vq; in vu_req_read_message()
433 struct virtqueue *vq; in vu_req_interrupt()
777 static bool vu_notify(struct virtqueue *vq) in vu_notify()
805 struct virtqueue *vq = opaque; in vu_interrupt()
881 struct virtqueue *vq, *n; in vu_del_vqs()
896 struct virtqueue *vq) in vu_setup_vq_call_fd()
946 struct virtqueue *vq; in vu_setup_vq()
1017 struct virtqueue *vqs[], in vu_find_vqs()
1023 struct virtqueue *vq; in vu_find_vqs()
1406 struct virtqueue *vq; in virtio_uml_suspend()
[all …]
/linux/drivers/remoteproc/
A Dremoteproc_virtio.c65 static bool rproc_virtio_notify(struct virtqueue *vq) in rproc_virtio_notify()
103 static struct virtqueue *rp_find_vq(struct virtio_device *vdev, in rp_find_vq()
105 void (*callback)(struct virtqueue *vq), in rp_find_vq()
114 struct virtqueue *vq; in rp_find_vq()
168 struct virtqueue *vq, *n; in __rproc_virtio_del_vqs()
184 struct virtqueue *vqs[], in rproc_virtio_find_vqs()

Completed in 61 milliseconds

123