Home
last modified time | relevance | path

Searched refs:vq (Results 1 – 19 of 19) sorted by relevance

/devicemodel/hw/pci/virtio/
A Dvirtio.c106 vq->viothrd.iothread_run = vq->notify; in virtio_set_iothread()
111 vq->viothrd.iomvt.arg = &vq->viothrd; in virtio_set_iothread()
113 vq->viothrd.iomvt.fd = vq->viothrd.kick_fd; in virtio_set_iothread()
115 if (!iothread_add(vq->viothrd.ioctx, vq->viothrd.kick_fd, &vq->viothrd.iomvt)) in virtio_set_iothread()
181 (*vq->notify)(DEV_STRUCT(base), vq); in virtio_poll_timer()
277 for (vq = base->queues, i = 0; i < nvq; vq++, i++) { in virtio_reset_dev()
750 if (!vq || !vq->used) in vq_endchains()
767 vq->save_used = new_idx = vq->used->idx; in vq_endchains()
1129 (*vq->notify)(DEV_STRUCT(base), vq); in virtio_pci_legacy_write()
1737 (*vq->notify)(DEV_STRUCT(base), vq); in virtio_notify_cfg_write()
[all …]
A Dvhost.c182 struct vhost_vq *vq; in vhost_vq_register_eventfd() local
225 struct vhost_vq *vq; in vhost_vq_init() local
231 if (!vq) in vhost_vq_init()
246 vq->idx = idx; in vhost_vq_init()
247 vq->dev = vdev; in vhost_vq_init()
251 close(vq->kick_fd); in vhost_vq_init()
253 vq->kick_fd = -1; in vhost_vq_init()
254 vq->call_fd = -1; in vhost_vq_init()
262 if (!vq) in vhost_vq_deinit()
267 vq->call_fd = -1; in vhost_vq_deinit()
[all …]
A Dvirtio_rnd.c54 struct virtio_vq_info vq; member
161 j = rnd->vq.msix_idx; in virtio_rnd_k_set_status()
168 rnd->vq.qsize, in virtio_rnd_k_set_status()
169 rnd->vq.pfn, in virtio_rnd_k_set_status()
170 rnd->vq.msix_idx, in virtio_rnd_k_set_status()
304 struct virtio_vq_info *vq = &rnd->vq; in virtio_rnd_get_entropy() local
318 while (!vq_has_descs(vq)) in virtio_rnd_get_entropy()
331 vq_retchain(vq); in virtio_rnd_get_entropy()
332 vq_endchains(vq, 0); in virtio_rnd_get_entropy()
345 vq_endchains(vq, 1); in virtio_rnd_get_entropy()
[all …]
A Dvirtio_block.c212 vq_endchains(vq, !vq_has_descs(vq)); in virtio_blk_done()
219 if (idx < vq->qsize) { in virtio_blk_abort()
220 vq_relchain(vq, idx, 1); in virtio_blk_abort()
221 vq_endchains(vq, 0); in virtio_blk_abort()
237 qidx = vq - blk->vqs; in virtio_blk_proc()
238 idx = vq->qsize; in virtio_blk_proc()
251 virtio_blk_abort(vq, idx); in virtio_blk_proc()
258 virtio_blk_abort(vq, idx); in virtio_blk_proc()
266 virtio_blk_abort(vq, idx); in virtio_blk_proc()
276 virtio_blk_abort(vq, idx); in virtio_blk_proc()
[all …]
A Dvirtio_audio.c53 struct virtio_vq_info vq[VIRTIO_AUDIO_VQ_NUM]; member
247 if (virt_audio->vq[i].msix_idx in virtio_audio_k_set_status()
249 j = virt_audio->vq[i].msix_idx; in virtio_audio_k_set_status()
257 virt_audio->vq[i].qsize, in virtio_audio_k_set_status()
258 virt_audio->vq[i].pfn, in virtio_audio_k_set_status()
259 virt_audio->vq[i].msix_idx, in virtio_audio_k_set_status()
320 virt_audio->vq, in virtio_audio_init()
334 virt_audio->vq[0].qsize = VIRTIO_AUDIO_RINGSZ; in virtio_audio_init()
335 virt_audio->vq[1].qsize = VIRTIO_AUDIO_RINGSZ; in virtio_audio_init()
336 virt_audio->vq[2].qsize = VIRTIO_AUDIO_RINGSZ; in virtio_audio_init()
[all …]
A Dvirtio_net.c407 struct virtio_vq_info *vq; in virtio_net_tap_rx() local
439 if (!vq_has_descs(vq)) { in virtio_net_tap_rx()
447 vq_endchains(vq, 1); in virtio_net_tap_rx()
476 vq_retchain(vq); in virtio_net_tap_rx()
477 vq_endchains(vq, 0); in virtio_net_tap_rx()
498 } while (vq_has_descs(vq)); in virtio_net_tap_rx()
501 vq_endchains(vq, 1); in virtio_net_tap_rx()
527 if (vq->used != NULL) { in virtio_net_ping_rxq()
562 vq_relchain(vq, idx, tlen); in virtio_net_proctx()
573 if (!vq_has_descs(vq)) in virtio_net_ping_txq()
[all …]
A Dvirtio_console.c222 uint16_t num = vq->num; in virtio_console_vq_to_port()
357 struct virtio_vq_info *vq; in virtio_console_control_send() local
364 if (!vq_has_descs(vq)) in virtio_console_control_send()
379 vq_endchains(vq, 1); in virtio_console_control_send()
405 vq_relchain(vq, idx, 0); in virtio_console_notify_tx()
421 if (vq_has_descs(vq)) { in virtio_console_notify_rx()
477 if (!vq_has_descs(vq)) { in virtio_console_backend_read()
479 vq_endchains(vq, 1); in virtio_console_backend_read()
493 vq_retchain(vq); in virtio_console_backend_read()
494 vq_endchains(vq, 0); in virtio_console_backend_read()
[all …]
A Dvirtio_hyper_dmabuf.c55 struct virtio_vq_info vq[HYPER_DMABUF_VQ_NUM]; member
194 virtio_hyper_dmabuf_no_notify(void *base, struct virtio_vq_info *vq) in virtio_hyper_dmabuf_no_notify() argument
231 if (hyper_dmabuf->vq[i].msix_idx != in virtio_hyper_dmabuf_set_status()
233 j = hyper_dmabuf->vq[i].msix_idx; in virtio_hyper_dmabuf_set_status()
240 hyper_dmabuf->vq[i].qsize, in virtio_hyper_dmabuf_set_status()
241 hyper_dmabuf->vq[i].pfn, in virtio_hyper_dmabuf_set_status()
242 hyper_dmabuf->vq[i].msix_idx, in virtio_hyper_dmabuf_set_status()
302 hyper_dmabuf->vq, in virtio_hyper_dmabuf_init()
316 hyper_dmabuf->vq[0].qsize = HYPER_DMABUF_RINGSZ; in virtio_hyper_dmabuf_init()
317 hyper_dmabuf->vq[1].qsize = HYPER_DMABUF_RINGSZ; in virtio_hyper_dmabuf_init()
A Dvirtio_ipu.c53 struct virtio_vq_info vq[VIRTIO_IPU_VQ_NUM]; member
211 virtio_ipu_no_notify(void *base, struct virtio_vq_info *vq) in virtio_ipu_no_notify() argument
252 if (ipu->vq[i].msix_idx != in virtio_ipu_set_status()
254 j = ipu->vq[i].msix_idx; in virtio_ipu_set_status()
262 ipu->vq[i].qsize, in virtio_ipu_set_status()
263 ipu->vq[i].pfn, in virtio_ipu_set_status()
264 ipu->vq[i].msix_idx, in virtio_ipu_set_status()
322 ipu->vq, in virtio_ipu_init()
337 ipu->vq[0].qsize = VIRTIO_IPU_RINGSZ; in virtio_ipu_init()
338 ipu->vq[1].qsize = VIRTIO_IPU_RINGSZ; in virtio_ipu_init()
A Dvirtio_input.c251 while (vq_has_descs(vq)) { in virtio_input_notify_status_vq()
252 n = vq_getchain(vq, &idx, &iov, 1, NULL); in virtio_input_notify_status_vq()
284 vq_relchain(vq, idx, sizeof(event)); /* Release the chain */ in virtio_input_notify_status_vq()
286 vq_endchains(vq, 1); /* Generate interrupt if appropriate. */ in virtio_input_notify_status_vq()
293 struct virtio_vq_info *vq; in virtio_input_send_event() local
317 vq = &vi->queues[VIRTIO_INPUT_EVENT_QUEUE]; in virtio_input_send_event()
319 if (!vq_has_descs(vq)) { in virtio_input_send_event()
321 vq_retchain(vq); in virtio_input_send_event()
326 n = vq_getchain(vq, &idx, &iov, 1, NULL); in virtio_input_send_event()
348 vq_relchain(vq, vi->event_queue[i].idx, in virtio_input_send_event()
[all …]
A Dvirtio_gpio.c278 if (idx < vq->qsize) { in virtio_gpio_abort()
279 vq_relchain(vq, idx, 1); in virtio_gpio_abort()
280 vq_endchains(vq, 0); in virtio_gpio_abort()
687 idx = vq->qsize; in virtio_gpio_notify()
689 if (vq_has_descs(vq)) { in virtio_gpio_notify()
912 vq = &gpio->queues[2]; in gpio_irq_deliver_intr()
913 idx = vq->qsize; in gpio_irq_deliver_intr()
932 vq_endchains(vq, 1); in gpio_irq_deliver_intr()
1235 idx = vq->qsize; in virtio_irq_notify()
1237 if (vq_has_descs(vq)) { in virtio_irq_notify()
[all …]
A Dvirtio_i2c.c131 struct virtio_vq_info vq; member
539 struct virtio_vq_info *vq = &vi2c->vq; in virtio_i2c_proc_thread() local
552 while (!vq_has_descs(vq) && !vi2c->closing) in virtio_i2c_proc_thread()
562 n = vq_getchain(vq, &idx, iov, 3, flags); in virtio_i2c_proc_thread()
605 vq_relchain(vq, idx, 1); in virtio_i2c_proc_thread()
609 } while (vq_has_descs(vq)); in virtio_i2c_proc_thread()
610 vq_endchains(vq, 0); in virtio_i2c_proc_thread()
770 virtio_i2c_notify(void *vdev, struct virtio_vq_info *vq) in virtio_i2c_notify() argument
774 if (!vq_has_descs(vq)) in virtio_i2c_notify()
826 virtio_linkup(&vi2c->base, &virtio_i2c_ops, vi2c, dev, &vi2c->vq, BACKEND_VBSU); in virtio_i2c_init()
[all …]
A Dvirtio_mei.c1522 vq_relchain(vq, idx, 0); in vmei_proc_tx()
1603 vq_relchain(vq, idx, tlen); in vmei_proc_tx()
1621 vq_relchain(vq, idx, tlen); in vmei_proc_tx()
1631 if (!vq_has_descs(vq)) in vmei_notify_tx()
1640 vmei_proc_tx(vmei, vq); in vmei_notify_tx()
1643 vq_endchains(vq, 1); in vmei_notify_tx()
1830 vq_relchain(vq, idx, 0); in vmei_proc_vclient_rx()
1865 vq_relchain(vq, idx, len); in vmei_proc_vclient_rx()
1948 vq_has_descs(vq)) in vmei_rx_thread()
1964 vq_endchains(vq, !vq_has_descs(vq)); in vmei_rx_thread()
[all …]
A Dvirtio_rpmb.c74 struct virtio_vq_info vq; member
623 virtio_rpmb_notify(void *base, struct virtio_vq_info *vq) in virtio_rpmb_notify() argument
632 while (vq_has_descs(vq)) { in virtio_rpmb_notify()
633 n = vq_getchain(vq, &idx, iov, VIRTIO_RPMB_MAXSEGS, NULL); in virtio_rpmb_notify()
651 vq_relchain(vq, idx, tlen); in virtio_rpmb_notify()
653 vq_endchains(vq, 1); /* Generate interrupt if appropriate. */ in virtio_rpmb_notify()
725 virtio_linkup(&rpmb->base, &virtio_rpmb_ops, rpmb, dev, &rpmb->vq, BACKEND_VBSU); in virtio_rpmb_init()
728 rpmb->vq.qsize = VIRTIO_RPMB_RINGSZ; in virtio_rpmb_init()
A Dvirtio_gpu.c366 struct virtio_vq_info vq[VIRTIO_GPU_QNUM]; member
386 struct virtio_vq_info *vq; member
1411 struct virtio_vq_info *vq; in virtio_gpu_ctrl_bh() local
1418 vq = (struct virtio_vq_info *)data; in virtio_gpu_ctrl_bh()
1419 vdev = (struct virtio_gpu *)(vq->base); in virtio_gpu_ctrl_bh()
1423 while (vq_has_descs(vq)) { in virtio_gpu_ctrl_bh()
1545 struct virtio_vq_info *vq; in virtio_gpu_cursor_bh() local
1552 vq = (struct virtio_vq_info *)data; in virtio_gpu_cursor_bh()
1553 vdev = (struct virtio_gpu *)(vq->base); in virtio_gpu_cursor_bh()
1557 while (vq_has_descs(vq)) { in virtio_gpu_cursor_bh()
[all …]
A Dvirtio_coreu.c255 virtio_coreu_notify(void *vdev, struct virtio_vq_info *vq) in virtio_coreu_notify() argument
260 if (!vq_has_descs(vq)) in virtio_coreu_notify()
A Dvirtio_hdcp.c382 virtio_hdcp_notify(void *vdev, struct virtio_vq_info *vq) in virtio_hdcp_notify() argument
387 if (!vq_has_descs(vq)) in virtio_hdcp_notify()
A Dvhost_vsock.c229 vhost_vsock_handle_output(void *vdev, struct virtio_vq_info *vq) { in vhost_vsock_handle_output() argument
/devicemodel/include/
A Dvirtio.h467 #define VQ_AVAIL_EVENT_IDX(vq) \ argument
468 (*(volatile uint16_t *)&(vq)->used->ring[(vq)->qsize])
469 #define VQ_USED_EVENT_IDX(vq) \ argument
470 ((vq)->avail->ring[(vq)->qsize])
480 vq_ring_ready(struct virtio_vq_info *vq) in vq_ring_ready() argument
482 return ((vq->flags & VQ_ALLOC) == VQ_ALLOC); in vq_ring_ready()
495 vq_has_descs(struct virtio_vq_info *vq) in vq_has_descs() argument
498 if (vq_ring_ready(vq) && vq->last_avail != vq->avail->idx) { in vq_has_descs()
499 if ((uint16_t)((u_int)vq->avail->idx - vq->last_avail) > vq->qsize) in vq_has_descs()
520 pci_generate_msix(vb->dev, vq->msix_idx); in vq_interrupt()
[all …]

Completed in 59 milliseconds