Home
last modified time | relevance | path

Searched refs:svq (Results 1 – 10 of 10) sorted by relevance

/openbmc/qemu/hw/virtio/
H A Dvhost-shadow-virtqueue.c69 uint16_t vhost_svq_available_slots(const VhostShadowVirtqueue *svq) in vhost_svq_available_slots() argument
71 return svq->num_free; in vhost_svq_available_slots()
82 static bool vhost_svq_translate_addr(const VhostShadowVirtqueue *svq, in vhost_svq_translate_addr() argument
98 const DMAMap *map = vhost_iova_tree_find_iova(svq->iova_tree, &needle); in vhost_svq_translate_addr()
138 static bool vhost_svq_vring_write_descs(VhostShadowVirtqueue *svq, hwaddr *sg, in vhost_svq_vring_write_descs() argument
142 uint16_t i = svq->free_head, last = svq->free_head; in vhost_svq_vring_write_descs()
145 vring_desc_t *descs = svq->vring.desc; in vhost_svq_vring_write_descs()
152 ok = vhost_svq_translate_addr(svq, sg, iovec, num); in vhost_svq_vring_write_descs()
160 descs[i].next = cpu_to_le16(svq->desc_next[i]); in vhost_svq_vring_write_descs()
168 i = cpu_to_le16(svq->desc_next[i]); in vhost_svq_vring_write_descs()
[all …]
H A Dvhost-shadow-virtqueue.h41 typedef int (*VirtQueueAvailCallback)(VhostShadowVirtqueue *svq,
117 uint16_t vhost_svq_available_slots(const VhostShadowVirtqueue *svq);
118 void vhost_svq_push_elem(VhostShadowVirtqueue *svq,
120 int vhost_svq_add(VhostShadowVirtqueue *svq, const struct iovec *out_sg,
123 size_t vhost_svq_poll(VhostShadowVirtqueue *svq, size_t num);
125 void vhost_svq_set_svq_kick_fd(VhostShadowVirtqueue *svq, int svq_kick_fd);
126 void vhost_svq_set_svq_call_fd(VhostShadowVirtqueue *svq, int call_fd);
127 void vhost_svq_get_vring_addr(const VhostShadowVirtqueue *svq,
129 size_t vhost_svq_driver_area_size(const VhostShadowVirtqueue *svq);
130 size_t vhost_svq_device_area_size(const VhostShadowVirtqueue *svq);
[all …]
H A Dvhost-vdpa.c587 VhostShadowVirtqueue *svq; in vhost_vdpa_init_svq() local
589 svq = vhost_svq_new(v->shadow_vq_ops, v->shadow_vq_ops_opaque); in vhost_vdpa_init_svq()
590 g_ptr_array_add(shadow_vqs, svq); in vhost_vdpa_init_svq()
1050 VhostShadowVirtqueue *svq, unsigned idx, in vhost_vdpa_svq_set_fds() argument
1056 const EventNotifier *event_notifier = &svq->hdev_kick; in vhost_vdpa_svq_set_fds()
1059 r = event_notifier_init(&svq->hdev_kick, 0); in vhost_vdpa_svq_set_fds()
1065 r = event_notifier_init(&svq->hdev_call, 0); in vhost_vdpa_svq_set_fds()
1078 event_notifier = &svq->hdev_call; in vhost_vdpa_svq_set_fds()
1089 event_notifier_set_handler(&svq->hdev_call, NULL); in vhost_vdpa_svq_set_fds()
1092 event_notifier_cleanup(&svq->hdev_kick); in vhost_vdpa_svq_set_fds()
[all …]
H A Dvirtio-balloon.c248 virtqueue_push(s->svq, s->stats_vq_elem, 0); in balloon_stats_poll_cb()
249 virtio_notify(vdev, s->svq); in balloon_stats_poll_cb()
894 s->svq = virtio_add_queue(vdev, 128, virtio_balloon_receive_stats); in virtio_balloon_device_realize()
931 virtio_delete_queue(s->svq); in virtio_balloon_device_unrealize()
950 virtqueue_unpop(s->svq, s->stats_vq_elem, 0); in virtio_balloon_device_reset()
963 (status & VIRTIO_CONFIG_S_DRIVER_OK) && virtqueue_rewind(s->svq, 1)) { in virtio_balloon_set_status()
966 virtio_balloon_receive_stats(vdev, s->svq); in virtio_balloon_set_status()
H A Dtrace-events61 …base(void *dev, unsigned int index, unsigned int num, bool svq) "dev: %p index: %u num: %u svq: %d"
62 …base(void *dev, unsigned int index, unsigned int num, bool svq) "dev: %p index: %u num: %u svq: %d"
/openbmc/linux/drivers/vhost/
H A Dscsi.c214 struct vhost_scsi_virtqueue *svq; member
283 struct vhost_scsi_virtqueue *svq; in vhost_scsi_get_inflight() local
285 svq = container_of(vq, struct vhost_scsi_virtqueue, vq); in vhost_scsi_get_inflight()
286 inflight = &svq->inflights[svq->inflight_idx]; in vhost_scsi_get_inflight()
330 struct vhost_scsi_virtqueue *svq = container_of(tv_cmd->tvc_vq, in vhost_scsi_release_cmd_res() local
349 sbitmap_clear_bit(&svq->scsi_tags, se_cmd->map_tag); in vhost_scsi_release_cmd_res()
366 struct vhost_virtqueue *vq = &tmf->svq->vq; in vhost_scsi_release_cmd()
372 struct vhost_scsi_virtqueue *svq = container_of(cmd->tvc_vq, in vhost_scsi_release_cmd() local
375 llist_add(&cmd->tvc_completion_list, &svq->completion_list); in vhost_scsi_release_cmd()
376 vhost_vq_work_queue(&svq->vq, &svq->completion_work); in vhost_scsi_release_cmd()
[all …]
/openbmc/linux/drivers/rpmsg/
H A Dvirtio_rpmsg_bus.c58 struct virtqueue *rvq, *svq; member
456 ret = virtqueue_get_buf(vrp->svq, &len); in get_a_tx_buf()
487 virtqueue_enable_cb(vrp->svq); in rpmsg_upref_sleepers()
514 virtqueue_disable_cb(vrp->svq); in rpmsg_downref_sleepers()
633 err = virtqueue_add_outbuf(vrp->svq, &sg, 1, msg, GFP_KERNEL); in rpmsg_send_offchannel_raw()
645 virtqueue_kick(vrp->svq); in rpmsg_send_offchannel_raw()
816 static void rpmsg_xmit_done(struct virtqueue *svq) in rpmsg_xmit_done() argument
818 struct virtproc_info *vrp = svq->vdev->priv; in rpmsg_xmit_done()
820 dev_dbg(&svq->vdev->dev, "%s\n", __func__); in rpmsg_xmit_done()
899 vrp->svq = vqs[1]; in rpmsg_probe()
[all …]
/openbmc/qemu/net/
H A Dvhost-vdpa.c643 VhostShadowVirtqueue *svq = g_ptr_array_index(s->vhost_vdpa.shadow_vqs, 0); in vhost_vdpa_net_cvq_add() local
646 r = vhost_svq_add(svq, out_sg, out_num, in_sg, in_num, NULL); in vhost_vdpa_net_cvq_add()
665 VhostShadowVirtqueue *svq = g_ptr_array_index(s->vhost_vdpa.shadow_vqs, 0); in vhost_vdpa_net_svq_poll() local
666 return vhost_svq_poll(svq, cmds_in_flight); in vhost_vdpa_net_svq_poll()
721 VhostShadowVirtqueue *svq = g_ptr_array_index(s->vhost_vdpa.shadow_vqs, 0); in vhost_vdpa_net_load_cmd() local
726 if (vhost_svq_available_slots(svq) < 2 || in vhost_vdpa_net_load_cmd()
1476 static int vhost_vdpa_net_handle_ctrl_avail(VhostShadowVirtqueue *svq, in vhost_vdpa_net_handle_ctrl_avail() argument
1555 virtio_net_handle_ctrl_iov(svq->vdev, &model_in, 1, &out, 1); in vhost_vdpa_net_handle_ctrl_avail()
1566 vhost_svq_push_elem(svq, elem, MIN(in_len, sizeof(status))); in vhost_vdpa_net_handle_ctrl_avail()
1678 bool svq, in net_vhost_vdpa_init() argument
[all …]
/openbmc/qemu/include/hw/virtio/
H A Dvirtio-balloon.h45 VirtQueue *ivq, *dvq, *svq, *free_page_vq, *reporting_vq; member
/openbmc/qemu/qapi/
H A Dnet.json513 # @x-svq: Start device with (experimental) shadow virtqueue. (Since
518 # @unstable: Member @x-svq is experimental.
527 '*x-svq': {'type': 'bool', 'features' : [ 'unstable'] } } }