Lines Matching refs:txq
179 return container_of(q, struct sge_qset, txq[qidx]); in txq_to_qset()
654 memset(q->txq, 0, sizeof(struct sge_txq) * SGE_TXQ_PER_SET); in t3_reset_qset()
691 if (q->txq[i].desc) { in t3_free_qset()
693 t3_sge_enable_ecntxt(adapter, q->txq[i].cntxt_id, 0); in t3_free_qset()
695 if (q->txq[i].sdesc) { in t3_free_qset()
696 free_tx_desc(adapter, &q->txq[i], in t3_free_qset()
697 q->txq[i].in_use); in t3_free_qset()
698 kfree(q->txq[i].sdesc); in t3_free_qset()
701 q->txq[i].size * in t3_free_qset()
703 q->txq[i].desc, q->txq[i].phys_addr); in t3_free_qset()
704 __skb_queue_purge(&q->txq[i].sendq); in t3_free_qset()
731 qs->txq[TXQ_ETH].cntxt_id = FW_TUNNEL_SGEEC_START + id; in init_qset_cntxt()
732 qs->txq[TXQ_ETH].token = FW_TUNNEL_TID_START + id; in init_qset_cntxt()
733 qs->txq[TXQ_OFLD].cntxt_id = FW_OFLD_SGEEC_START + id; in init_qset_cntxt()
734 qs->txq[TXQ_CTRL].cntxt_id = FW_CTRL_SGEEC_START + id; in init_qset_cntxt()
735 qs->txq[TXQ_CTRL].token = FW_CTRL_TID_START + id; in init_qset_cntxt()
1206 static inline void t3_stop_tx_queue(struct netdev_queue *txq, in t3_stop_tx_queue() argument
1209 netif_tx_stop_queue(txq); in t3_stop_tx_queue()
1227 struct netdev_queue *txq; in t3_eth_xmit() local
1242 q = &qs->txq[TXQ_ETH]; in t3_eth_xmit()
1243 txq = netdev_get_tx_queue(dev, qidx); in t3_eth_xmit()
1251 t3_stop_tx_queue(txq, qs, q); in t3_eth_xmit()
1260 t3_stop_tx_queue(txq, qs, q); in t3_eth_xmit()
1265 netif_tx_start_queue(txq); in t3_eth_xmit()
1476 struct sge_txq *q = &qs->txq[TXQ_CTRL]; in restart_ctrlq()
1516 ret = ctrl_xmit(adap, &adap->sge.qs[0].txq[TXQ_CTRL], skb); in t3_mgmt_tx()
1687 struct sge_txq *q = &qs->txq[TXQ_OFLD]; in restart_offloadq()
1773 return ctrl_xmit(adap, &qs->txq[TXQ_CTRL], skb); in t3_offload_tx()
1775 return ofld_xmit(adap, &qs->txq[TXQ_OFLD], skb); in t3_offload_tx()
1922 should_restart_tx(&qs->txq[TXQ_ETH]) && in restart_tx()
1924 qs->txq[TXQ_ETH].restarts++; in restart_tx()
1930 should_restart_tx(&qs->txq[TXQ_OFLD]) && in restart_tx()
1932 qs->txq[TXQ_OFLD].restarts++; in restart_tx()
1933 tasklet_schedule(&qs->txq[TXQ_OFLD].qresume_tsk); in restart_tx()
1936 should_restart_tx(&qs->txq[TXQ_CTRL]) && in restart_tx()
1938 qs->txq[TXQ_CTRL].restarts++; in restart_tx()
1939 tasklet_schedule(&qs->txq[TXQ_CTRL].qresume_tsk); in restart_tx()
2155 clear_bit(TXQ_RUNNING, &qs->txq[TXQ_ETH].flags); in handle_rsp_cntrl_info()
2160 qs->txq[TXQ_ETH].processed += credits; in handle_rsp_cntrl_info()
2164 qs->txq[TXQ_CTRL].processed += credits; in handle_rsp_cntrl_info()
2168 clear_bit(TXQ_RUNNING, &qs->txq[TXQ_OFLD].flags); in handle_rsp_cntrl_info()
2172 qs->txq[TXQ_OFLD].processed += credits; in handle_rsp_cntrl_info()
2189 struct sge_txq *txq = &qs->txq[TXQ_ETH]; in check_ring_db() local
2191 if (txq->cleaned + txq->in_use != txq->processed && in check_ring_db()
2192 !test_and_set_bit(TXQ_LAST_PKT_DB, &txq->flags)) { in check_ring_db()
2193 set_bit(TXQ_RUNNING, &txq->flags); in check_ring_db()
2195 V_EGRCNTX(txq->cntxt_id)); in check_ring_db()
2200 struct sge_txq *txq = &qs->txq[TXQ_OFLD]; in check_ring_db() local
2202 if (txq->cleaned + txq->in_use != txq->processed && in check_ring_db()
2203 !test_and_set_bit(TXQ_LAST_PKT_DB, &txq->flags)) { in check_ring_db()
2204 set_bit(TXQ_RUNNING, &txq->flags); in check_ring_db()
2206 V_EGRCNTX(txq->cntxt_id)); in check_ring_db()
2865 tbd[TXQ_ETH] = reclaim_completed_tx(adap, &qs->txq[TXQ_ETH], in sge_timer_tx()
2870 if (spin_trylock(&qs->txq[TXQ_OFLD].lock)) { in sge_timer_tx()
2871 tbd[TXQ_OFLD] = reclaim_completed_tx(adap, &qs->txq[TXQ_OFLD], in sge_timer_tx()
2873 spin_unlock(&qs->txq[TXQ_OFLD].lock); in sge_timer_tx()
3009 q->txq[i].desc = alloc_ring(adapter->pdev, p->txq_size[i], in t3_sge_alloc_qset()
3011 &q->txq[i].phys_addr, in t3_sge_alloc_qset()
3012 &q->txq[i].sdesc); in t3_sge_alloc_qset()
3013 if (!q->txq[i].desc) in t3_sge_alloc_qset()
3016 q->txq[i].gen = 1; in t3_sge_alloc_qset()
3017 q->txq[i].size = p->txq_size[i]; in t3_sge_alloc_qset()
3018 spin_lock_init(&q->txq[i].lock); in t3_sge_alloc_qset()
3019 skb_queue_head_init(&q->txq[i].sendq); in t3_sge_alloc_qset()
3022 tasklet_init(&q->txq[TXQ_OFLD].qresume_tsk, restart_offloadq, in t3_sge_alloc_qset()
3024 tasklet_init(&q->txq[TXQ_CTRL].qresume_tsk, restart_ctrlq, in t3_sge_alloc_qset()
3036 q->txq[TXQ_ETH].stop_thres = nports * in t3_sge_alloc_qset()
3077 ret = t3_sge_init_ecntxt(adapter, q->txq[TXQ_ETH].cntxt_id, USE_GTS, in t3_sge_alloc_qset()
3078 SGE_CNTXT_ETH, id, q->txq[TXQ_ETH].phys_addr, in t3_sge_alloc_qset()
3079 q->txq[TXQ_ETH].size, q->txq[TXQ_ETH].token, in t3_sge_alloc_qset()
3085 ret = t3_sge_init_ecntxt(adapter, q->txq[TXQ_OFLD].cntxt_id, in t3_sge_alloc_qset()
3087 q->txq[TXQ_OFLD].phys_addr, in t3_sge_alloc_qset()
3088 q->txq[TXQ_OFLD].size, 0, 1, 0); in t3_sge_alloc_qset()
3094 ret = t3_sge_init_ecntxt(adapter, q->txq[TXQ_CTRL].cntxt_id, 0, in t3_sge_alloc_qset()
3096 q->txq[TXQ_CTRL].phys_addr, in t3_sge_alloc_qset()
3097 q->txq[TXQ_CTRL].size, in t3_sge_alloc_qset()
3098 q->txq[TXQ_CTRL].token, 1, 0); in t3_sge_alloc_qset()
3228 tasklet_kill(&qs->txq[TXQ_OFLD].qresume_tsk); in t3_sge_stop()
3229 tasklet_kill(&qs->txq[TXQ_CTRL].qresume_tsk); in t3_sge_stop()