Home
last modified time | relevance | path

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

123

/linux-6.1.9/include/linux/
Dvirtio.h29 struct virtqueue { struct
31 void (*callback)(struct virtqueue *vq); argument
41 int virtqueue_add_outbuf(struct virtqueue *vq, argument
46 int virtqueue_add_inbuf(struct virtqueue *vq,
51 int virtqueue_add_inbuf_ctx(struct virtqueue *vq,
57 int virtqueue_add_sgs(struct virtqueue *vq,
64 bool virtqueue_kick(struct virtqueue *vq);
66 bool virtqueue_kick_prepare(struct virtqueue *vq);
68 bool virtqueue_notify(struct virtqueue *vq);
70 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),
83 struct virtqueue *vring_new_virtqueue(unsigned int index,
90 bool (*notify)(struct virtqueue *vq),
91 void (*callback)(struct virtqueue *vq),
98 void vring_del_virtqueue(struct virtqueue *vq);
Dvirtio_config.h94 typedef void vq_callback_t(struct virtqueue *);
105 struct virtqueue *vqs[], vq_callback_t *callbacks[],
113 int (*set_vq_affinity)(struct virtqueue *vq,
119 int (*disable_vq_and_reset)(struct virtqueue *vq);
120 int (*enable_vq_after_reset)(struct virtqueue *vq);
208 struct virtqueue *virtio_find_single_vq(struct virtio_device *vdev, in virtio_find_single_vq()
213 struct virtqueue *vq; in virtio_find_single_vq()
223 struct virtqueue *vqs[], vq_callback_t *callbacks[], in virtio_find_vqs()
232 struct virtqueue *vqs[], vq_callback_t *callbacks[], in virtio_find_vqs_ctx()
316 int virtqueue_set_affinity(struct virtqueue *vq, const struct cpumask *cpu_mask) in virtqueue_set_affinity()
/linux-6.1.9/tools/virtio/linux/
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);
52 void *virtqueue_get_buf(struct virtqueue *vq, unsigned int *len);
54 void virtqueue_disable_cb(struct virtqueue *vq);
56 bool virtqueue_enable_cb(struct virtqueue *vq);
57 bool virtqueue_enable_cb_delayed(struct virtqueue *vq);
[all …]
Dvirtio_config.h7 int (*disable_vq_and_reset)(struct virtqueue *vq);
8 int (*enable_vq_after_reset)(struct virtqueue *vq);
/linux-6.1.9/drivers/virtio/
Dvirtio_pci_common.h35 struct virtqueue *vq;
78 struct virtqueue *(*setup_vq)(struct virtio_pci_device *vp_dev,
81 void (*callback)(struct virtqueue *vq),
107 bool vp_notify(struct virtqueue *vq);
112 struct virtqueue *vqs[], vq_callback_t *callbacks[],
122 int vp_set_vq_affinity(struct virtqueue *vq, const struct cpumask *cpu_mask);
Dvirtio_ring.c155 struct virtqueue vq;
200 bool (*notify)(struct virtqueue *vq);
215 static struct virtqueue *__vring_new_virtqueue(unsigned int index,
220 bool (*notify)(struct virtqueue *),
221 void (*callback)(struct virtqueue *),
224 static void vring_free(struct virtqueue *_vq);
465 static struct vring_desc *alloc_indirect_split(struct virtqueue *_vq, in alloc_indirect_split()
488 static inline unsigned int virtqueue_add_desc_split(struct virtqueue *vq, in virtqueue_add_desc_split()
517 static inline int virtqueue_add_split(struct virtqueue *_vq, in virtqueue_add_split()
700 static bool virtqueue_kick_prepare_split(struct virtqueue *_vq) in virtqueue_kick_prepare_split()
[all …]
Dvirtio_vdpa.c39 struct virtqueue *vq;
105 static bool virtio_vdpa_notify(struct virtqueue *vq) in virtio_vdpa_notify()
131 static struct virtqueue *
133 void (*callback)(struct virtqueue *vq), in virtio_vdpa_setup_vq()
141 struct virtqueue *vq; in virtio_vdpa_setup_vq()
239 static void virtio_vdpa_del_vq(struct virtqueue *vq) in virtio_vdpa_del_vq()
262 struct virtqueue *vq, *n; in virtio_vdpa_del_vqs()
269 struct virtqueue *vqs[], in virtio_vdpa_find_vqs()
Dvirtio_pci_modern.c182 static int vp_active_vq(struct virtqueue *vq, u16 msix_vec) in vp_active_vq()
205 static int vp_modern_disable_vq_and_reset(struct virtqueue *vq) in vp_modern_disable_vq_and_reset()
244 static int vp_modern_enable_vq_after_reset(struct virtqueue *vq) in vp_modern_enable_vq_after_reset()
291 static struct virtqueue *setup_vq(struct virtio_pci_device *vp_dev, in setup_vq()
294 void (*callback)(struct virtqueue *vq), in setup_vq()
301 struct virtqueue *vq; in setup_vq()
348 struct virtqueue *vqs[], in vp_modern_find_vqs()
354 struct virtqueue *vq; in vp_modern_find_vqs()
371 struct virtqueue *vq = info->vq; in del_vq()
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 int 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()
235 struct virtqueue *vq, *n; in vp_del_vqs()
285 struct virtqueue *vqs[], vq_callback_t *callbacks[], in vp_find_vqs_msix()
359 struct virtqueue *vqs[], vq_callback_t *callbacks[], in vp_find_vqs_intx()
398 struct virtqueue *vqs[], vq_callback_t *callbacks[], in vp_find_vqs()
431 int vp_set_vq_affinity(struct virtqueue *vq, const struct cpumask *cpu_mask) in vp_set_vq_affinity()
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()
Dvirtio_balloon.c57 struct virtqueue *inflate_vq, *deflate_vq, *stats_vq, *free_page_vq;
120 struct virtqueue *reporting_vq;
138 static void balloon_ack(struct virtqueue *vq) in balloon_ack()
145 static void tell_host(struct virtio_balloon *vb, struct virtqueue *vq) in tell_host()
166 struct virtqueue *vq = vb->reporting_vq; in virtballoon_free_page_report()
363 static void stats_request(struct virtqueue *vq) in stats_request()
375 struct virtqueue *vq; in stats_handle_request()
492 struct virtqueue *vqs[VIRTIO_BALLOON_VQ_MAX]; in init_vqs()
581 struct virtqueue *vq = vb->free_page_vq; in send_cmd_id_start()
600 struct virtqueue *vq = vb->free_page_vq; in send_cmd_id_stop()
[all …]
Dvirtio_mmio.c98 struct virtqueue *vq;
278 static bool vm_notify(struct virtqueue *vq) in vm_notify()
318 static void vm_del_vq(struct virtqueue *vq) in vm_del_vq()
346 struct virtqueue *vq, *n; in vm_del_vqs()
361 static struct virtqueue *vm_setup_vq(struct virtio_device *vdev, unsigned int index, in vm_setup_vq()
362 void (*callback)(struct virtqueue *vq), in vm_setup_vq()
367 struct virtqueue *vq; in vm_setup_vq()
474 struct virtqueue *vqs[], in vm_find_vqs()
/linux-6.1.9/net/vmw_vsock/
Dvirtio_transport.c31 struct virtqueue *vqs[VSOCK_VQ_MAX];
92 struct virtqueue *vq; in virtio_transport_send_pkt_work()
143 struct virtqueue *rx_vq = vsock->vqs[VSOCK_VQ_RX]; in virtio_transport_send_pkt_work()
231 struct virtqueue *rx_vq = vsock->vqs[VSOCK_VQ_RX]; in virtio_transport_cancel_pkt()
252 struct virtqueue *vq; in virtio_vsock_rx_fill()
292 struct virtqueue *vq; in virtio_transport_tx_work()
322 struct virtqueue *vq = vsock->vqs[VSOCK_VQ_RX]; in virtio_transport_more_replies()
336 struct virtqueue *vq; in virtio_vsock_event_fill_one()
398 struct virtqueue *vq; in virtio_transport_event_work()
425 static void virtio_vsock_event_done(struct virtqueue *vq) in virtio_vsock_event_done()
[all …]
/linux-6.1.9/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),
/linux-6.1.9/drivers/i2c/busses/
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-6.1.9/drivers/nvdimm/
Dvirtio_pmem.h36 struct virtqueue *req_vq;
53 void virtio_pmem_host_ack(struct virtqueue *vq);
/linux-6.1.9/Documentation/userspace-api/
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-6.1.9/drivers/bluetooth/
Dvirtio_bt.c24 struct virtqueue *vqs[VIRTBT_NUM_VQS];
31 struct virtqueue *vq = vbt->vqs[VIRTBT_VQ_RX]; in virtbt_add_inbuf()
70 struct virtqueue *vq = vbt->vqs[i]; in virtbt_close()
231 static void virtbt_tx_done(struct virtqueue *vq) in virtbt_tx_done()
240 static void virtbt_rx_done(struct virtqueue *vq) in virtbt_rx_done()
/linux-6.1.9/sound/virtio/
Dvirtio_pcm.h103 void virtsnd_pcm_tx_notify_cb(struct virtqueue *vqueue);
105 void virtsnd_pcm_rx_notify_cb(struct virtqueue *vqueue);
/linux-6.1.9/drivers/char/
Dvirtio_console.c153 struct virtqueue *c_ivq, *c_ovq;
162 struct virtqueue **in_vqs, **out_vqs;
194 struct virtqueue *in_vq, *out_vq;
317 struct virtqueue *vq) in find_port_by_vq()
492 static int add_inbuf(struct virtqueue *vq, struct port_buffer *buf) in add_inbuf()
552 struct virtqueue *vq; in __send_control_msg()
609 struct virtqueue *out_vq; in __send_to_port()
1327 static int fill_queue(struct virtqueue *vq, spinlock_t *lock) in fill_queue()
1702 struct virtqueue *vq; in control_work_handler()
1728 static void flush_bufs(struct virtqueue *vq, bool can_sleep) in flush_bufs()
[all …]
/linux-6.1.9/arch/um/drivers/
Dvirtio_uml.c370 struct virtqueue *vq; in vu_req_read_message()
432 struct virtqueue *vq; in vu_req_interrupt()
776 static bool vu_notify(struct virtqueue *vq) in vu_notify()
804 struct virtqueue *vq = opaque; in vu_interrupt()
857 static void vu_del_vq(struct virtqueue *vq) in vu_del_vq()
880 struct virtqueue *vq, *n; in vu_del_vqs()
895 struct virtqueue *vq) in vu_setup_vq_call_fd()
938 static struct virtqueue *vu_setup_vq(struct virtio_device *vdev, in vu_setup_vq()
945 struct virtqueue *vq; in vu_setup_vq()
1016 struct virtqueue *vqs[], vq_callback_t *callbacks[], in vu_find_vqs()
[all …]
/linux-6.1.9/drivers/remoteproc/
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()
/linux-6.1.9/drivers/crypto/virtio/
Dvirtio_crypto_common.h22 struct virtqueue *vq;
35 struct virtqueue *ctrl_vq;
/linux-6.1.9/drivers/scsi/
Dvirtio_scsi.c68 struct virtqueue *vq;
177 struct virtqueue *vq = virtscsi_vq->vq; in virtscsi_vq_done()
191 static void virtscsi_req_done(struct virtqueue *vq) in virtscsi_req_done()
219 static void virtscsi_ctrl_done(struct virtqueue *vq) in virtscsi_ctrl_done()
409 static void virtscsi_event_done(struct virtqueue *vq) in virtscsi_event_done()
417 static int __virtscsi_add_cmd(struct virtqueue *vq, in __virtscsi_add_cmd()
772 struct virtqueue *vq) in virtscsi_init_vq()
793 struct virtqueue **vqs; in virtscsi_init()
797 vqs = kmalloc_array(num_vqs, sizeof(struct virtqueue *), GFP_KERNEL); in virtscsi_init()

123