Lines Matching refs:vq
98 static int virtio_transport_send_skb(struct sk_buff *skb, struct virtqueue *vq, in virtio_transport_send_skb() argument
143 ret = virtqueue_add_sgs(vq, sgs, out_sg, in_sg, skb, gfp); in virtio_transport_send_skb()
159 struct virtqueue *vq; in virtio_transport_send_pkt_work() local
168 vq = vsock->vqs[VSOCK_VQ_TX]; in virtio_transport_send_pkt_work()
181 ret = virtio_transport_send_skb(skb, vq, vsock, GFP_KERNEL); in virtio_transport_send_pkt_work()
202 virtqueue_kick(vq); in virtio_transport_send_pkt_work()
216 struct virtqueue *vq = vsock->vqs[VSOCK_VQ_TX]; in virtio_transport_send_skb_fast_path() local
224 ret = virtio_transport_send_skb(skb, vq, vsock, GFP_ATOMIC); in virtio_transport_send_skb_fast_path()
226 virtqueue_kick(vq); in virtio_transport_send_skb_fast_path()
312 struct virtqueue *vq; in virtio_vsock_rx_fill() local
316 vq = vsock->vqs[VSOCK_VQ_RX]; in virtio_vsock_rx_fill()
326 ret = virtqueue_add_sgs(vq, &p, 0, 1, skb, GFP_KERNEL); in virtio_vsock_rx_fill()
333 } while (vq->num_free); in virtio_vsock_rx_fill()
336 virtqueue_kick(vq); in virtio_vsock_rx_fill()
343 struct virtqueue *vq; in virtio_transport_tx_work() local
346 vq = vsock->vqs[VSOCK_VQ_TX]; in virtio_transport_tx_work()
356 virtqueue_disable_cb(vq); in virtio_transport_tx_work()
357 while ((skb = virtqueue_get_buf(vq, &len)) != NULL) { in virtio_transport_tx_work()
361 } while (!virtqueue_enable_cb(vq)); in virtio_transport_tx_work()
373 struct virtqueue *vq = vsock->vqs[VSOCK_VQ_RX]; in virtio_transport_more_replies() local
379 return val < virtqueue_get_vring_size(vq); in virtio_transport_more_replies()
387 struct virtqueue *vq; in virtio_vsock_event_fill_one() local
389 vq = vsock->vqs[VSOCK_VQ_EVENT]; in virtio_vsock_event_fill_one()
393 return virtqueue_add_inbuf(vq, &sg, 1, event, GFP_KERNEL); in virtio_vsock_event_fill_one()
449 struct virtqueue *vq; in virtio_transport_event_work() local
451 vq = vsock->vqs[VSOCK_VQ_EVENT]; in virtio_transport_event_work()
462 virtqueue_disable_cb(vq); in virtio_transport_event_work()
463 while ((event = virtqueue_get_buf(vq, &len)) != NULL) { in virtio_transport_event_work()
469 } while (!virtqueue_enable_cb(vq)); in virtio_transport_event_work()
476 static void virtio_vsock_event_done(struct virtqueue *vq) in virtio_vsock_event_done() argument
478 struct virtio_vsock *vsock = vq->vdev->priv; in virtio_vsock_event_done()
485 static void virtio_vsock_tx_done(struct virtqueue *vq) in virtio_vsock_tx_done() argument
487 struct virtio_vsock *vsock = vq->vdev->priv; in virtio_vsock_tx_done()
494 static void virtio_vsock_rx_done(struct virtqueue *vq) in virtio_vsock_rx_done() argument
496 struct virtio_vsock *vsock = vq->vdev->priv; in virtio_vsock_rx_done()
512 struct virtqueue *vq = vsock->vqs[VSOCK_VQ_TX]; in virtio_transport_can_msgzerocopy() local
525 if (bufs_num <= vq->num_max) in virtio_transport_can_msgzerocopy()
615 struct virtqueue *vq; in virtio_transport_rx_work() local
617 vq = vsock->vqs[VSOCK_VQ_RX]; in virtio_transport_rx_work()
625 virtqueue_disable_cb(vq); in virtio_transport_rx_work()
639 skb = virtqueue_get_buf(vq, &len); in virtio_transport_rx_work()
665 } while (!virtqueue_enable_cb(vq)); in virtio_transport_rx_work()