Lines Matching refs:vqs

103 	struct vhost_net_virtqueue vqs[VHOST_NET_VQ_MAX];  member
163 kfree(n->vqs[i].ubuf_info); in vhost_net_clear_ubuf_info()
164 n->vqs[i].ubuf_info = NULL; in vhost_net_clear_ubuf_info()
177 n->vqs[i].ubuf_info = kmalloc(sizeof(*n->vqs[i].ubuf_info) * in vhost_net_set_ubuf_info()
179 if (!n->vqs[i].ubuf_info) in vhost_net_set_ubuf_info()
196 n->vqs[i].done_idx = 0; in vhost_net_vq_reset()
197 n->vqs[i].upend_idx = 0; in vhost_net_vq_reset()
198 n->vqs[i].ubufs = NULL; in vhost_net_vq_reset()
199 n->vqs[i].vhost_hlen = 0; in vhost_net_vq_reset()
200 n->vqs[i].sock_hlen = 0; in vhost_net_vq_reset()
295 struct vhost_net_virtqueue *nvq = &net->vqs[VHOST_NET_VQ_TX]; in handle_tx()
520 struct vhost_net_virtqueue *nvq = &net->vqs[VHOST_NET_VQ_RX]; in handle_rx()
680 struct vhost_virtqueue **vqs; in vhost_net_open() local
689 vqs = kmalloc(VHOST_NET_VQ_MAX * sizeof(*vqs), GFP_KERNEL); in vhost_net_open()
690 if (!vqs) { in vhost_net_open()
696 vqs[VHOST_NET_VQ_TX] = &n->vqs[VHOST_NET_VQ_TX].vq; in vhost_net_open()
697 vqs[VHOST_NET_VQ_RX] = &n->vqs[VHOST_NET_VQ_RX].vq; in vhost_net_open()
698 n->vqs[VHOST_NET_VQ_TX].vq.handle_kick = handle_tx_kick; in vhost_net_open()
699 n->vqs[VHOST_NET_VQ_RX].vq.handle_kick = handle_rx_kick; in vhost_net_open()
701 n->vqs[i].ubufs = NULL; in vhost_net_open()
702 n->vqs[i].ubuf_info = NULL; in vhost_net_open()
703 n->vqs[i].upend_idx = 0; in vhost_net_open()
704 n->vqs[i].done_idx = 0; in vhost_net_open()
705 n->vqs[i].vhost_hlen = 0; in vhost_net_open()
706 n->vqs[i].sock_hlen = 0; in vhost_net_open()
708 vhost_dev_init(dev, vqs, VHOST_NET_VQ_MAX); in vhost_net_open()
723 struct vhost_poll *poll = n->poll + (nvq - n->vqs); in vhost_net_disable_vq()
734 struct vhost_poll *poll = n->poll + (nvq - n->vqs); in vhost_net_enable_vq()
760 *tx_sock = vhost_net_stop_vq(n, &n->vqs[VHOST_NET_VQ_TX].vq); in vhost_net_stop()
761 *rx_sock = vhost_net_stop_vq(n, &n->vqs[VHOST_NET_VQ_RX].vq); in vhost_net_stop()
767 vhost_poll_flush(&n->vqs[index].vq.poll); in vhost_net_flush_vq()
774 if (n->vqs[VHOST_NET_VQ_TX].ubufs) { in vhost_net_flush()
775 mutex_lock(&n->vqs[VHOST_NET_VQ_TX].vq.mutex); in vhost_net_flush()
777 mutex_unlock(&n->vqs[VHOST_NET_VQ_TX].vq.mutex); in vhost_net_flush()
779 vhost_net_ubuf_put_and_wait(n->vqs[VHOST_NET_VQ_TX].ubufs); in vhost_net_flush()
780 mutex_lock(&n->vqs[VHOST_NET_VQ_TX].vq.mutex); in vhost_net_flush()
782 atomic_set(&n->vqs[VHOST_NET_VQ_TX].ubufs->refcount, 1); in vhost_net_flush()
783 mutex_unlock(&n->vqs[VHOST_NET_VQ_TX].vq.mutex); in vhost_net_flush()
807 kfree(n->dev.vqs); in vhost_net_release()
894 vq = &n->vqs[index].vq; in vhost_net_set_backend()
895 nvq = &n->vqs[index]; in vhost_net_set_backend()
1021 mutex_lock(&n->vqs[i].vq.mutex); in vhost_net_set_features()
1022 n->vqs[i].vq.acked_features = features; in vhost_net_set_features()
1023 n->vqs[i].vhost_hlen = vhost_hlen; in vhost_net_set_features()
1024 n->vqs[i].sock_hlen = sock_hlen; in vhost_net_set_features()
1025 mutex_unlock(&n->vqs[i].vq.mutex); in vhost_net_set_features()