Lines Matching refs:vqs
102 struct vhost_net_virtqueue vqs[VHOST_NET_VQ_MAX]; member
162 kfree(n->vqs[i].ubuf_info); in vhost_net_clear_ubuf_info()
163 n->vqs[i].ubuf_info = NULL; in vhost_net_clear_ubuf_info()
176 n->vqs[i].ubuf_info = kmalloc(sizeof(*n->vqs[i].ubuf_info) * in vhost_net_set_ubuf_info()
178 if (!n->vqs[i].ubuf_info) in vhost_net_set_ubuf_info()
195 n->vqs[i].done_idx = 0; in vhost_net_vq_reset()
196 n->vqs[i].upend_idx = 0; in vhost_net_vq_reset()
197 n->vqs[i].ubufs = NULL; in vhost_net_vq_reset()
198 n->vqs[i].vhost_hlen = 0; in vhost_net_vq_reset()
199 n->vqs[i].sock_hlen = 0; in vhost_net_vq_reset()
294 struct vhost_net_virtqueue *nvq = &net->vqs[VHOST_NET_VQ_TX]; in handle_tx()
519 struct vhost_net_virtqueue *nvq = &net->vqs[VHOST_NET_VQ_RX]; in handle_rx()
679 struct vhost_virtqueue **vqs; in vhost_net_open() local
688 vqs = kmalloc(VHOST_NET_VQ_MAX * sizeof(*vqs), GFP_KERNEL); in vhost_net_open()
689 if (!vqs) { in vhost_net_open()
695 vqs[VHOST_NET_VQ_TX] = &n->vqs[VHOST_NET_VQ_TX].vq; in vhost_net_open()
696 vqs[VHOST_NET_VQ_RX] = &n->vqs[VHOST_NET_VQ_RX].vq; in vhost_net_open()
697 n->vqs[VHOST_NET_VQ_TX].vq.handle_kick = handle_tx_kick; in vhost_net_open()
698 n->vqs[VHOST_NET_VQ_RX].vq.handle_kick = handle_rx_kick; in vhost_net_open()
700 n->vqs[i].ubufs = NULL; in vhost_net_open()
701 n->vqs[i].ubuf_info = NULL; in vhost_net_open()
702 n->vqs[i].upend_idx = 0; in vhost_net_open()
703 n->vqs[i].done_idx = 0; in vhost_net_open()
704 n->vqs[i].vhost_hlen = 0; in vhost_net_open()
705 n->vqs[i].sock_hlen = 0; in vhost_net_open()
707 vhost_dev_init(dev, vqs, VHOST_NET_VQ_MAX); in vhost_net_open()
722 struct vhost_poll *poll = n->poll + (nvq - n->vqs); in vhost_net_disable_vq()
733 struct vhost_poll *poll = n->poll + (nvq - n->vqs); in vhost_net_enable_vq()
759 *tx_sock = vhost_net_stop_vq(n, &n->vqs[VHOST_NET_VQ_TX].vq); in vhost_net_stop()
760 *rx_sock = vhost_net_stop_vq(n, &n->vqs[VHOST_NET_VQ_RX].vq); in vhost_net_stop()
766 vhost_poll_flush(&n->vqs[index].vq.poll); in vhost_net_flush_vq()
773 if (n->vqs[VHOST_NET_VQ_TX].ubufs) { in vhost_net_flush()
774 mutex_lock(&n->vqs[VHOST_NET_VQ_TX].vq.mutex); in vhost_net_flush()
776 mutex_unlock(&n->vqs[VHOST_NET_VQ_TX].vq.mutex); in vhost_net_flush()
778 vhost_net_ubuf_put_and_wait(n->vqs[VHOST_NET_VQ_TX].ubufs); in vhost_net_flush()
779 mutex_lock(&n->vqs[VHOST_NET_VQ_TX].vq.mutex); in vhost_net_flush()
781 atomic_set(&n->vqs[VHOST_NET_VQ_TX].ubufs->refcount, 1); in vhost_net_flush()
782 mutex_unlock(&n->vqs[VHOST_NET_VQ_TX].vq.mutex); in vhost_net_flush()
806 kfree(n->dev.vqs); in vhost_net_release()
893 vq = &n->vqs[index].vq; in vhost_net_set_backend()
894 nvq = &n->vqs[index]; in vhost_net_set_backend()
1020 mutex_lock(&n->vqs[i].vq.mutex); in vhost_net_set_features()
1021 n->vqs[i].vq.acked_features = features; in vhost_net_set_features()
1022 n->vqs[i].vhost_hlen = vhost_hlen; in vhost_net_set_features()
1023 n->vqs[i].sock_hlen = sock_hlen; in vhost_net_set_features()
1024 mutex_unlock(&n->vqs[i].vq.mutex); in vhost_net_set_features()