Lines Matching refs:txq
179 return container_of(q, struct sge_qset, txq[qidx]); in txq_to_qset()
658 memset(q->txq, 0, sizeof(struct sge_txq) * SGE_TXQ_PER_SET); in t3_reset_qset()
695 if (q->txq[i].desc) { in t3_free_qset()
697 t3_sge_enable_ecntxt(adapter, q->txq[i].cntxt_id, 0); in t3_free_qset()
699 if (q->txq[i].sdesc) { in t3_free_qset()
700 free_tx_desc(adapter, &q->txq[i], in t3_free_qset()
701 q->txq[i].in_use); in t3_free_qset()
702 kfree(q->txq[i].sdesc); in t3_free_qset()
705 q->txq[i].size * in t3_free_qset()
707 q->txq[i].desc, q->txq[i].phys_addr); in t3_free_qset()
708 __skb_queue_purge(&q->txq[i].sendq); in t3_free_qset()
735 qs->txq[TXQ_ETH].cntxt_id = FW_TUNNEL_SGEEC_START + id; in init_qset_cntxt()
736 qs->txq[TXQ_ETH].token = FW_TUNNEL_TID_START + id; in init_qset_cntxt()
737 qs->txq[TXQ_OFLD].cntxt_id = FW_OFLD_SGEEC_START + id; in init_qset_cntxt()
738 qs->txq[TXQ_CTRL].cntxt_id = FW_CTRL_SGEEC_START + id; in init_qset_cntxt()
739 qs->txq[TXQ_CTRL].token = FW_CTRL_TID_START + id; in init_qset_cntxt()
1250 static inline void t3_stop_tx_queue(struct netdev_queue *txq, in t3_stop_tx_queue() argument
1253 netif_tx_stop_queue(txq); in t3_stop_tx_queue()
1271 struct netdev_queue *txq; in t3_eth_xmit() local
1287 q = &qs->txq[TXQ_ETH]; in t3_eth_xmit()
1288 txq = netdev_get_tx_queue(dev, qidx); in t3_eth_xmit()
1296 t3_stop_tx_queue(txq, qs, q); in t3_eth_xmit()
1313 t3_stop_tx_queue(txq, qs, q); in t3_eth_xmit()
1318 netif_tx_start_queue(txq); in t3_eth_xmit()
1528 struct sge_qset *qs = from_tasklet(qs, t, txq[TXQ_CTRL].qresume_tsk); in restart_ctrlq()
1529 struct sge_txq *q = &qs->txq[TXQ_CTRL]; in restart_ctrlq()
1569 ret = ctrl_xmit(adap, &adap->sge.qs[0].txq[TXQ_CTRL], skb); in t3_mgmt_tx()
1746 struct sge_qset *qs = from_tasklet(qs, t, txq[TXQ_OFLD].qresume_tsk); in restart_offloadq()
1747 struct sge_txq *q = &qs->txq[TXQ_OFLD]; in restart_offloadq()
1841 return ctrl_xmit(adap, &qs->txq[TXQ_CTRL], skb); in t3_offload_tx()
1843 return ofld_xmit(adap, &qs->txq[TXQ_OFLD], skb); in t3_offload_tx()
1990 should_restart_tx(&qs->txq[TXQ_ETH]) && in restart_tx()
1992 qs->txq[TXQ_ETH].restarts++; in restart_tx()
1998 should_restart_tx(&qs->txq[TXQ_OFLD]) && in restart_tx()
2000 qs->txq[TXQ_OFLD].restarts++; in restart_tx()
2001 tasklet_schedule(&qs->txq[TXQ_OFLD].qresume_tsk); in restart_tx()
2004 should_restart_tx(&qs->txq[TXQ_CTRL]) && in restart_tx()
2006 qs->txq[TXQ_CTRL].restarts++; in restart_tx()
2007 tasklet_schedule(&qs->txq[TXQ_CTRL].qresume_tsk); in restart_tx()
2224 clear_bit(TXQ_RUNNING, &qs->txq[TXQ_ETH].flags); in handle_rsp_cntrl_info()
2229 qs->txq[TXQ_ETH].processed += credits; in handle_rsp_cntrl_info()
2233 qs->txq[TXQ_CTRL].processed += credits; in handle_rsp_cntrl_info()
2237 clear_bit(TXQ_RUNNING, &qs->txq[TXQ_OFLD].flags); in handle_rsp_cntrl_info()
2241 qs->txq[TXQ_OFLD].processed += credits; in handle_rsp_cntrl_info()
2258 struct sge_txq *txq = &qs->txq[TXQ_ETH]; in check_ring_db() local
2260 if (txq->cleaned + txq->in_use != txq->processed && in check_ring_db()
2261 !test_and_set_bit(TXQ_LAST_PKT_DB, &txq->flags)) { in check_ring_db()
2262 set_bit(TXQ_RUNNING, &txq->flags); in check_ring_db()
2264 V_EGRCNTX(txq->cntxt_id)); in check_ring_db()
2269 struct sge_txq *txq = &qs->txq[TXQ_OFLD]; in check_ring_db() local
2271 if (txq->cleaned + txq->in_use != txq->processed && in check_ring_db()
2272 !test_and_set_bit(TXQ_LAST_PKT_DB, &txq->flags)) { in check_ring_db()
2273 set_bit(TXQ_RUNNING, &txq->flags); in check_ring_db()
2275 V_EGRCNTX(txq->cntxt_id)); in check_ring_db()
2931 tbd[TXQ_ETH] = reclaim_completed_tx(adap, &qs->txq[TXQ_ETH], in sge_timer_tx()
2936 if (spin_trylock(&qs->txq[TXQ_OFLD].lock)) { in sge_timer_tx()
2937 tbd[TXQ_OFLD] = reclaim_completed_tx(adap, &qs->txq[TXQ_OFLD], in sge_timer_tx()
2939 spin_unlock(&qs->txq[TXQ_OFLD].lock); in sge_timer_tx()
3075 q->txq[i].desc = alloc_ring(adapter->pdev, p->txq_size[i], in t3_sge_alloc_qset()
3077 &q->txq[i].phys_addr, in t3_sge_alloc_qset()
3078 &q->txq[i].sdesc); in t3_sge_alloc_qset()
3079 if (!q->txq[i].desc) in t3_sge_alloc_qset()
3082 q->txq[i].gen = 1; in t3_sge_alloc_qset()
3083 q->txq[i].size = p->txq_size[i]; in t3_sge_alloc_qset()
3084 spin_lock_init(&q->txq[i].lock); in t3_sge_alloc_qset()
3085 skb_queue_head_init(&q->txq[i].sendq); in t3_sge_alloc_qset()
3088 tasklet_setup(&q->txq[TXQ_OFLD].qresume_tsk, restart_offloadq); in t3_sge_alloc_qset()
3089 tasklet_setup(&q->txq[TXQ_CTRL].qresume_tsk, restart_ctrlq); in t3_sge_alloc_qset()
3100 q->txq[TXQ_ETH].stop_thres = nports * in t3_sge_alloc_qset()
3141 ret = t3_sge_init_ecntxt(adapter, q->txq[TXQ_ETH].cntxt_id, USE_GTS, in t3_sge_alloc_qset()
3142 SGE_CNTXT_ETH, id, q->txq[TXQ_ETH].phys_addr, in t3_sge_alloc_qset()
3143 q->txq[TXQ_ETH].size, q->txq[TXQ_ETH].token, in t3_sge_alloc_qset()
3149 ret = t3_sge_init_ecntxt(adapter, q->txq[TXQ_OFLD].cntxt_id, in t3_sge_alloc_qset()
3151 q->txq[TXQ_OFLD].phys_addr, in t3_sge_alloc_qset()
3152 q->txq[TXQ_OFLD].size, 0, 1, 0); in t3_sge_alloc_qset()
3158 ret = t3_sge_init_ecntxt(adapter, q->txq[TXQ_CTRL].cntxt_id, 0, in t3_sge_alloc_qset()
3160 q->txq[TXQ_CTRL].phys_addr, in t3_sge_alloc_qset()
3161 q->txq[TXQ_CTRL].size, in t3_sge_alloc_qset()
3162 q->txq[TXQ_CTRL].token, 1, 0); in t3_sge_alloc_qset()
3306 tasklet_kill(&qs->txq[TXQ_OFLD].qresume_tsk); in t3_sge_stop()
3307 tasklet_kill(&qs->txq[TXQ_CTRL].qresume_tsk); in t3_sge_stop()