Lines Matching refs:vq
68 struct virtqueue *vq; member
80 struct virtqueue *vq; member
158 static int vq2txq(struct virtqueue *vq) in vq2txq() argument
160 return (vq->index - 1) / 2; in vq2txq()
168 static int vq2rxq(struct virtqueue *vq) in vq2rxq() argument
170 return vq->index / 2; in vq2rxq()
210 static void skb_xmit_done(struct virtqueue *vq) in skb_xmit_done() argument
212 struct virtnet_info *vi = vq->vdev->priv; in skb_xmit_done()
215 virtqueue_disable_cb(vq); in skb_xmit_done()
218 netif_wake_subqueue(vi->dev, vq2txq(vq)); in skb_xmit_done()
366 ctx = (unsigned long)virtqueue_get_buf(rq->vq, &len); in receive_mergeable()
416 ctx = (unsigned long)virtqueue_get_buf(rq->vq, &len); in receive_mergeable()
547 err = virtqueue_add_inbuf(rq->vq, rq->sg, 2, skb, gfp); in add_recvbuf_small()
595 err = virtqueue_add_inbuf(rq->vq, rq->sg, MAX_SKB_FRAGS + 2, in add_recvbuf_big()
641 err = virtqueue_add_inbuf(rq->vq, rq->sg, 1, (void *)ctx, gfp); in add_recvbuf_mergeable()
673 } while (rq->vq->num_free); in try_fill_recv()
674 virtqueue_kick(rq->vq); in try_fill_recv()
699 virtqueue_disable_cb(rq->vq); in virtnet_napi_enable()
730 struct virtnet_info *vi = rq->vq->vdev->priv; in virtnet_receive()
735 (buf = virtqueue_get_buf(rq->vq, &len)) != NULL) { in virtnet_receive()
740 if (rq->vq->num_free > virtqueue_get_vring_size(rq->vq) / 2) { in virtnet_receive()
758 r = virtqueue_enable_cb_prepare(rq->vq); in virtnet_poll()
760 if (unlikely(virtqueue_poll(rq->vq, r)) && in virtnet_poll()
762 virtqueue_disable_cb(rq->vq); in virtnet_poll()
776 struct virtnet_info *vi = rq->vq->vdev->priv; in virtnet_busy_poll()
785 virtqueue_disable_cb(rq->vq); in virtnet_busy_poll()
790 r = virtqueue_enable_cb_prepare(rq->vq); in virtnet_busy_poll()
792 if (unlikely(virtqueue_poll(rq->vq, r)) && in virtnet_busy_poll()
794 virtqueue_disable_cb(rq->vq); in virtnet_busy_poll()
827 struct virtnet_info *vi = sq->vq->vdev->priv; in free_old_xmit_skbs()
830 while ((skb = virtqueue_get_buf(sq->vq, &len)) != NULL) { in free_old_xmit_skbs()
846 struct virtnet_info *vi = sq->vq->vdev->priv; in xmit_skb()
906 return virtqueue_add_outbuf(sq->vq, sq->sg, num_sg, skb, GFP_ATOMIC); in xmit_skb()
952 if (sq->vq->num_free < 2+MAX_SKB_FRAGS) { in start_xmit()
954 if (unlikely(!virtqueue_enable_cb_delayed(sq->vq))) { in start_xmit()
957 if (sq->vq->num_free >= 2+MAX_SKB_FRAGS) { in start_xmit()
959 virtqueue_disable_cb(sq->vq); in start_xmit()
965 virtqueue_kick(sq->vq); in start_xmit()
1255 virtqueue_set_affinity(vi->rq[i].vq, -1); in virtnet_clean_affinity()
1256 virtqueue_set_affinity(vi->sq[i].vq, -1); in virtnet_clean_affinity()
1280 virtqueue_set_affinity(vi->rq[i].vq, cpu); in virtnet_set_affinity()
1281 virtqueue_set_affinity(vi->sq[i].vq, cpu); in virtnet_set_affinity()
1315 ring->rx_max_pending = virtqueue_get_vring_size(vi->rq[0].vq); in virtnet_get_ringparam()
1316 ring->tx_max_pending = virtqueue_get_vring_size(vi->sq[0].vq); in virtnet_get_ringparam()
1492 struct virtqueue *vq = vi->sq[i].vq; in free_unused_bufs() local
1493 while ((buf = virtqueue_detach_unused_buf(vq)) != NULL) in free_unused_bufs()
1498 struct virtqueue *vq = vi->rq[i].vq; in free_unused_bufs() local
1500 while ((buf = virtqueue_detach_unused_buf(vq)) != NULL) { in free_unused_bufs()
1579 vi->rq[i].vq = vqs[rxq2vq(i)]; in virtnet_find_vqs()
1580 vi->sq[i].vq = vqs[txq2vq(i)]; in virtnet_find_vqs()
1870 if (vi->rq[i].vq->num_free == in virtnet_probe()
1871 virtqueue_get_vring_size(vi->rq[i].vq)) { in virtnet_probe()