Home
last modified time | relevance | path

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

1234

/openbmc/linux/include/linux/
H A Dvirtio.h30 struct virtqueue { struct
32 void (*callback)(struct virtqueue *vq); argument
42 int virtqueue_add_outbuf(struct virtqueue *vq, argument
47 int virtqueue_add_inbuf(struct virtqueue *vq,
52 int virtqueue_add_inbuf_ctx(struct virtqueue *vq,
58 int virtqueue_add_sgs(struct virtqueue *vq,
65 struct device *virtqueue_dma_dev(struct virtqueue *vq);
67 bool virtqueue_kick(struct virtqueue *vq);
69 bool virtqueue_kick_prepare(struct virtqueue *vq);
71 bool virtqueue_notify(struct virtqueue *vq);
[all …]
H 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),
84 struct virtqueue *vring_create_virtqueue_dma(unsigned int index,
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),
[all …]
H A Dvirtio_config.h19 typedef void vq_callback_t(struct virtqueue *);
107 struct virtqueue *vqs[], vq_callback_t *callbacks[],
115 int (*set_vq_affinity)(struct virtqueue *vq,
121 int (*disable_vq_and_reset)(struct virtqueue *vq);
122 int (*enable_vq_after_reset)(struct virtqueue *vq);
210 struct virtqueue *virtio_find_single_vq(struct virtio_device *vdev, in virtio_find_single_vq()
215 struct virtqueue *vq; in virtio_find_single_vq()
225 struct virtqueue *vqs[], vq_callback_t *callbacks[], in virtio_find_vqs()
234 struct virtqueue *vqs[], vq_callback_t *callbacks[], in virtio_find_vqs_ctx()
318 int virtqueue_set_affinity(struct virtqueue *vq, const struct cpumask *cpu_mask) in virtqueue_set_affinity()
/openbmc/linux/tools/virtio/linux/
H 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);
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 …]
/openbmc/u-boot/include/
H A Dvirtio_ring.h99 struct virtqueue { struct
178 int virtqueue_add(struct virtqueue *vq, struct virtio_sg *sgs[],
192 void virtqueue_kick(struct virtqueue *vq);
211 void *virtqueue_get_buf(struct virtqueue *vq, unsigned int *len);
229 struct virtqueue *vring_create_virtqueue(unsigned int index, unsigned int num,
244 void vring_del_virtqueue(struct virtqueue *vq);
252 unsigned int virtqueue_get_vring_size(struct virtqueue *vq);
260 ulong virtqueue_get_desc_addr(struct virtqueue *vq);
268 ulong virtqueue_get_avail_addr(struct virtqueue *vq);
276 ulong virtqueue_get_used_addr(struct virtqueue *vq);
[all …]
/openbmc/u-boot/drivers/virtio/
H A Dvirtio_ring.c16 int virtqueue_add(struct virtqueue *vq, struct virtio_sg *sgs[], in virtqueue_add()
102 static bool virtqueue_kick_prepare(struct virtqueue *vq) in virtqueue_kick_prepare()
128 void virtqueue_kick(struct virtqueue *vq) in virtqueue_kick()
134 static void detach_buf(struct virtqueue *vq, unsigned int head) in detach_buf()
154 static inline bool more_used(const struct virtqueue *vq) in more_used()
160 void *virtqueue_get_buf(struct virtqueue *vq, unsigned int *len) in virtqueue_get_buf()
204 static struct virtqueue *__vring_new_virtqueue(unsigned int index, in __vring_new_virtqueue()
209 struct virtqueue *vq; in __vring_new_virtqueue()
243 struct virtqueue *vring_create_virtqueue(unsigned int index, unsigned int num, in vring_create_virtqueue()
247 struct virtqueue *vq; in vring_create_virtqueue()
[all …]
H A Dvirtio_sandbox.c88 static struct virtqueue *virtio_sandbox_setup_vq(struct udevice *udev, in virtio_sandbox_setup_vq()
92 struct virtqueue *vq; in virtio_sandbox_setup_vq()
118 static void virtio_sandbox_del_vq(struct virtqueue *vq) in virtio_sandbox_del_vq()
126 struct virtqueue *vq, *n; in virtio_sandbox_del_vqs()
135 struct virtqueue *vqs[]) in virtio_sandbox_find_vqs()
150 static int virtio_sandbox_notify(struct udevice *udev, struct virtqueue *vq) in virtio_sandbox_notify()
H A Dvirtio_pci_legacy.c190 static struct virtqueue *virtio_pci_setup_vq(struct udevice *udev, in virtio_pci_setup_vq()
194 struct virtqueue *vq; in virtio_pci_setup_vq()
225 static void virtio_pci_del_vq(struct virtqueue *vq) in virtio_pci_del_vq()
241 struct virtqueue *vq, *n; in virtio_pci_del_vqs()
250 struct virtqueue *vqs[]) in virtio_pci_find_vqs()
265 static int virtio_pci_notify(struct udevice *udev, struct virtqueue *vq) in virtio_pci_notify()
H A Dvirtio_mmio.c188 static struct virtqueue *virtio_mmio_setup_vq(struct udevice *udev, in virtio_mmio_setup_vq()
192 struct virtqueue *vq; in virtio_mmio_setup_vq()
277 static void virtio_mmio_del_vq(struct virtqueue *vq) in virtio_mmio_del_vq()
297 struct virtqueue *vq, *n; in virtio_mmio_del_vqs()
306 struct virtqueue *vqs[]) in virtio_mmio_find_vqs()
321 static int virtio_mmio_notify(struct udevice *udev, struct virtqueue *vq) in virtio_mmio_notify()
/openbmc/linux/drivers/virtio/
H A Dvirtio_ring.c155 struct virtqueue vq;
208 bool (*notify)(struct virtqueue *vq);
226 static struct virtqueue *__vring_new_virtqueue(unsigned int index,
231 bool (*notify)(struct virtqueue *),
232 void (*callback)(struct virtqueue *),
236 static void vring_free(struct virtqueue *_vq);
492 static struct vring_desc *alloc_indirect_split(struct virtqueue *_vq, in alloc_indirect_split()
515 static inline unsigned int virtqueue_add_desc_split(struct virtqueue *vq, in virtqueue_add_desc_split()
544 static inline int virtqueue_add_split(struct virtqueue *_vq, in virtqueue_add_split()
734 static bool virtqueue_kick_prepare_split(struct virtqueue *_vq) in virtqueue_kick_prepare_split()
[all …]
H A Dvirtio_pci_common.h35 struct virtqueue *vq;
79 struct virtqueue *(*setup_vq)(struct virtio_pci_device *vp_dev,
82 void (*callback)(struct virtqueue *vq),
108 bool vp_notify(struct virtqueue *vq);
113 struct virtqueue *vqs[], vq_callback_t *callbacks[],
123 int vp_set_vq_affinity(struct virtqueue *vq, const struct cpumask *cpu_mask);
H 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()
267 static void virtio_vdpa_del_vq(struct virtqueue *vq) in virtio_vdpa_del_vq()
290 struct virtqueue *vq, *n; in virtio_vdpa_del_vqs()
357 struct virtqueue *vqs[], in virtio_vdpa_find_vqs()
[all …]
H A 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 bool vp_notify_with_data(struct virtqueue *vq) in vp_notify_with_data()
300 static struct virtqueue *setup_vq(struct virtio_pci_device *vp_dev, in setup_vq()
303 void (*callback)(struct virtqueue *vq), in setup_vq()
310 bool (*notify)(struct virtqueue *vq); in setup_vq()
311 struct virtqueue *vq; in setup_vq()
358 struct virtqueue *vqs[], in vp_modern_find_vqs()
364 struct virtqueue *vq; in vp_modern_find_vqs()
[all …]
H A 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()
361 struct virtqueue *vqs[], vq_callback_t *callbacks[], in vp_find_vqs_intx()
400 struct virtqueue *vqs[], vq_callback_t *callbacks[], in vp_find_vqs()
433 int vp_set_vq_affinity(struct virtqueue *vq, const struct cpumask *cpu_mask) in vp_set_vq_affinity()
H 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()
H 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()
H A 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()
496 struct virtqueue *vqs[VIRTIO_BALLOON_VQ_MAX]; in init_vqs()
585 struct virtqueue *vq = vb->free_page_vq; in send_cmd_id_start()
604 struct virtqueue *vq = vb->free_page_vq; in send_cmd_id_stop()
[all …]
/openbmc/qemu/docs/devel/migration/
H A Dvirtio.rst47 - save common virtqueue
51 virtqueue fields
62 - virtio-1 virtqueue
84 - load common virtqueue
88 virtqueue fields
96 - virtio-1 virtqueue
100 - virtqueue index sanity
/openbmc/linux/Documentation/driver-api/virtio/
H 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 */
122 virtqueue. virtio_device_ready() is used to enable the virtqueue and to
145 appropriate virtqueue using any of the virtqueue_add_inbuf(),
149 `scatterlists`, respectively. Then, once the virtqueue is set up, a call
169 read the data produced by the device (if the virtqueue was set up with
176 The virtqueue callbacks can be disabled and re-enabled using the
188 device or the virtqueue (virtio_reset_device()).
/openbmc/linux/net/vmw_vsock/
H A Dvirtio_transport.c31 struct virtqueue *vqs[VSOCK_VQ_MAX];
91 struct virtqueue *vq; in virtio_transport_send_pkt_work()
133 struct virtqueue *rx_vq = vsock->vqs[VSOCK_VQ_RX]; in virtio_transport_send_pkt_work()
206 struct virtqueue *rx_vq = vsock->vqs[VSOCK_VQ_RX]; in virtio_transport_cancel_pkt()
226 struct virtqueue *vq; in virtio_vsock_rx_fill()
257 struct virtqueue *vq; in virtio_transport_tx_work()
287 struct virtqueue *vq = vsock->vqs[VSOCK_VQ_RX]; in virtio_transport_more_replies()
301 struct virtqueue *vq; in virtio_vsock_event_fill_one()
363 struct virtqueue *vq; in virtio_transport_event_work()
390 static void virtio_vsock_event_done(struct virtqueue *vq) in virtio_vsock_event_done()
[all …]
/openbmc/linux/drivers/gpu/drm/virtio/
H 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),
/openbmc/linux/drivers/i2c/busses/
H 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()
/openbmc/linux/drivers/nvdimm/
H A Dvirtio_pmem.h36 struct virtqueue *req_vq;
53 void virtio_pmem_host_ack(struct virtqueue *vq);
/openbmc/linux/Documentation/userspace-api/
H 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
/openbmc/linux/drivers/bluetooth/
H 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()

1234