Lines Matching refs:sq

104 	struct send_queue *sq;  member
829 static void free_old_xmit_skbs(struct send_queue *sq) in free_old_xmit_skbs() argument
833 struct virtnet_info *vi = sq->vq->vdev->priv; in free_old_xmit_skbs()
836 while ((skb = virtqueue_get_buf(sq->vq, &len)) != NULL) { in free_old_xmit_skbs()
848 static int xmit_skb(struct send_queue *sq, struct sk_buff *skb) in xmit_skb() argument
852 struct virtnet_info *vi = sq->vq->vdev->priv; in xmit_skb()
902 sg_init_table(sq->sg, skb_shinfo(skb)->nr_frags + (can_push ? 1 : 2)); in xmit_skb()
905 num_sg = skb_to_sgvec(skb, sq->sg, 0, skb->len); in xmit_skb()
909 sg_set_buf(sq->sg, hdr, hdr_len); in xmit_skb()
910 num_sg = skb_to_sgvec(skb, sq->sg + 1, 0, skb->len) + 1; in xmit_skb()
912 return virtqueue_add_outbuf(sq->vq, sq->sg, num_sg, skb, GFP_ATOMIC); in xmit_skb()
919 struct send_queue *sq = &vi->sq[qnum]; in start_xmit() local
925 free_old_xmit_skbs(sq); in start_xmit()
931 err = xmit_skb(sq, skb); in start_xmit()
958 if (sq->vq->num_free < 2+MAX_SKB_FRAGS) { in start_xmit()
960 if (unlikely(!virtqueue_enable_cb_delayed(sq->vq))) { in start_xmit()
962 free_old_xmit_skbs(sq); in start_xmit()
963 if (sq->vq->num_free >= 2+MAX_SKB_FRAGS) { in start_xmit()
965 virtqueue_disable_cb(sq->vq); in start_xmit()
971 virtqueue_kick(sq->vq); in start_xmit()
1260 virtqueue_set_affinity(vi->sq[i].vq, -1); in virtnet_clean_affinity()
1285 virtqueue_set_affinity(vi->sq[i].vq, cpu); in virtnet_set_affinity()
1320 ring->tx_max_pending = virtqueue_get_vring_size(vi->sq[0].vq); in virtnet_get_ringparam()
1469 kfree(vi->sq); in virtnet_free_queues()
1496 struct virtqueue *vq = vi->sq[i].vq; in free_unused_bufs()
1566 sprintf(vi->sq[i].name, "output.%d", i); in virtnet_find_vqs()
1568 names[txq2vq(i)] = vi->sq[i].name; in virtnet_find_vqs()
1584 vi->sq[i].vq = vqs[txq2vq(i)]; in virtnet_find_vqs()
1607 vi->sq = kzalloc(sizeof(*vi->sq) * vi->max_queue_pairs, GFP_KERNEL); in virtnet_alloc_queues()
1608 if (!vi->sq) in virtnet_alloc_queues()
1623 sg_init_table(vi->sq[i].sg, ARRAY_SIZE(vi->sq[i].sg)); in virtnet_alloc_queues()
1629 kfree(vi->sq); in virtnet_alloc_queues()