Lines Matching refs:vqueue
57 struct virtqueue *vqueue; member
232 struct device *dev = &vioch->vqueue->vdev->dev; in scmi_vio_feed_vq_rx()
238 rc = virtqueue_add_inbuf(vioch->vqueue, &sg_in, 1, msg, GFP_ATOMIC); in scmi_vio_feed_vq_rx()
242 virtqueue_kick(vioch->vqueue); in scmi_vio_feed_vq_rx()
262 static void scmi_vio_complete_cb(struct virtqueue *vqueue) in scmi_vio_complete_cb() argument
270 if (WARN_ON_ONCE(!vqueue->vdev->priv)) in scmi_vio_complete_cb()
272 vioch = &((struct scmi_vio_channel *)vqueue->vdev->priv)[vqueue->index]; in scmi_vio_complete_cb()
280 virtqueue_disable_cb(vqueue); in scmi_vio_complete_cb()
284 msg = virtqueue_get_buf(vqueue, &length); in scmi_vio_complete_cb()
286 if (virtqueue_enable_cb(vqueue)) { in scmi_vio_complete_cb()
352 scmi_vio_complete_cb(vioch->vqueue); in scmi_vio_deferred_tx_worker()
489 virtio_break_device(vioch->vqueue->vdev); in virtio_chan_free()
529 msg->poll_idx = virtqueue_enable_cb_prepare(vioch->vqueue); in virtio_send_message()
537 rc = virtqueue_add_sgs(vioch->vqueue, sgs, 1, 1, msg, GFP_ATOMIC); in virtio_send_message()
542 virtqueue_kick(vioch->vqueue); in virtio_send_message()
713 pending = virtqueue_poll(vioch->vqueue, msg->poll_idx); in virtio_poll_done()
720 virtqueue_disable_cb(vioch->vqueue); in virtio_poll_done()
726 while ((next_msg = virtqueue_get_buf(vioch->vqueue, &length))) { in virtio_poll_done()
778 pending = !virtqueue_enable_cb(vioch->vqueue); in virtio_poll_done()
780 msg->poll_idx = virtqueue_enable_cb_prepare(vioch->vqueue); in virtio_poll_done()
781 pending = virtqueue_poll(vioch->vqueue, msg->poll_idx); in virtio_poll_done()
849 channels[i].vqueue = vqs[i]; in scmi_vio_probe()
851 sz = virtqueue_get_vring_size(channels[i].vqueue); in scmi_vio_probe()