Lines Matching defs:txq
176 return container_of(q, struct sge_qset, txq[qidx]);
654 memset(q->txq, 0, sizeof(struct sge_txq) * SGE_TXQ_PER_SET);
691 if (q->txq[i].desc) {
693 t3_sge_enable_ecntxt(adapter, q->txq[i].cntxt_id, 0);
695 if (q->txq[i].sdesc) {
696 free_tx_desc(adapter, &q->txq[i],
697 q->txq[i].in_use);
698 kfree(q->txq[i].sdesc);
701 q->txq[i].size *
703 q->txq[i].desc, q->txq[i].phys_addr);
704 __skb_queue_purge(&q->txq[i].sendq);
731 qs->txq[TXQ_ETH].cntxt_id = FW_TUNNEL_SGEEC_START + id;
732 qs->txq[TXQ_ETH].token = FW_TUNNEL_TID_START + id;
733 qs->txq[TXQ_OFLD].cntxt_id = FW_OFLD_SGEEC_START + id;
734 qs->txq[TXQ_CTRL].cntxt_id = FW_CTRL_SGEEC_START + id;
735 qs->txq[TXQ_CTRL].token = FW_CTRL_TID_START + id;
1245 static inline void t3_stop_tx_queue(struct netdev_queue *txq,
1248 netif_tx_stop_queue(txq);
1266 struct netdev_queue *txq;
1282 q = &qs->txq[TXQ_ETH];
1283 txq = netdev_get_tx_queue(dev, qidx);
1291 t3_stop_tx_queue(txq, qs, q);
1308 t3_stop_tx_queue(txq, qs, q);
1313 netif_tx_start_queue(txq);
1524 txq[TXQ_CTRL].qresume_task);
1525 struct sge_txq *q = &qs->txq[TXQ_CTRL];
1565 ret = ctrl_xmit(adap, &adap->sge.qs[0].txq[TXQ_CTRL], skb);
1744 txq[TXQ_OFLD].qresume_task);
1745 struct sge_txq *q = &qs->txq[TXQ_OFLD];
1839 return ctrl_xmit(adap, &qs->txq[TXQ_CTRL], skb);
1841 return ofld_xmit(adap, &qs->txq[TXQ_OFLD], skb);
1988 should_restart_tx(&qs->txq[TXQ_ETH]) &&
1990 qs->txq[TXQ_ETH].restarts++;
1996 should_restart_tx(&qs->txq[TXQ_OFLD]) &&
1998 qs->txq[TXQ_OFLD].restarts++;
2001 queue_work(cxgb3_wq, &qs->txq[TXQ_OFLD].qresume_task);
2004 should_restart_tx(&qs->txq[TXQ_CTRL]) &&
2006 qs->txq[TXQ_CTRL].restarts++;
2009 queue_work(cxgb3_wq, &qs->txq[TXQ_CTRL].qresume_task);
2222 clear_bit(TXQ_RUNNING, &qs->txq[TXQ_ETH].flags);
2227 qs->txq[TXQ_ETH].processed += credits;
2231 qs->txq[TXQ_CTRL].processed += credits;
2235 clear_bit(TXQ_RUNNING, &qs->txq[TXQ_OFLD].flags);
2239 qs->txq[TXQ_OFLD].processed += credits;
2256 struct sge_txq *txq = &qs->txq[TXQ_ETH];
2258 if (txq->cleaned + txq->in_use != txq->processed &&
2259 !test_and_set_bit(TXQ_LAST_PKT_DB, &txq->flags)) {
2260 set_bit(TXQ_RUNNING, &txq->flags);
2262 V_EGRCNTX(txq->cntxt_id));
2267 struct sge_txq *txq = &qs->txq[TXQ_OFLD];
2269 if (txq->cleaned + txq->in_use != txq->processed &&
2270 !test_and_set_bit(TXQ_LAST_PKT_DB, &txq->flags)) {
2271 set_bit(TXQ_RUNNING, &txq->flags);
2273 V_EGRCNTX(txq->cntxt_id));
2929 tbd[TXQ_ETH] = reclaim_completed_tx(adap, &qs->txq[TXQ_ETH],
2934 if (spin_trylock(&qs->txq[TXQ_OFLD].lock)) {
2935 tbd[TXQ_OFLD] = reclaim_completed_tx(adap, &qs->txq[TXQ_OFLD],
2937 spin_unlock(&qs->txq[TXQ_OFLD].lock);
3073 q->txq[i].desc = alloc_ring(adapter->pdev, p->txq_size[i],
3075 &q->txq[i].phys_addr,
3076 &q->txq[i].sdesc);
3077 if (!q->txq[i].desc)
3080 q->txq[i].gen = 1;
3081 q->txq[i].size = p->txq_size[i];
3082 spin_lock_init(&q->txq[i].lock);
3083 skb_queue_head_init(&q->txq[i].sendq);
3086 INIT_WORK(&q->txq[TXQ_OFLD].qresume_task, restart_offloadq);
3087 INIT_WORK(&q->txq[TXQ_CTRL].qresume_task, restart_ctrlq);
3098 q->txq[TXQ_ETH].stop_thres = nports *
3139 ret = t3_sge_init_ecntxt(adapter, q->txq[TXQ_ETH].cntxt_id, USE_GTS,
3140 SGE_CNTXT_ETH, id, q->txq[TXQ_ETH].phys_addr,
3141 q->txq[TXQ_ETH].size, q->txq[TXQ_ETH].token,
3147 ret = t3_sge_init_ecntxt(adapter, q->txq[TXQ_OFLD].cntxt_id,
3149 q->txq[TXQ_OFLD].phys_addr,
3150 q->txq[TXQ_OFLD].size, 0, 1, 0);
3156 ret = t3_sge_init_ecntxt(adapter, q->txq[TXQ_CTRL].cntxt_id, 0,
3158 q->txq[TXQ_CTRL].phys_addr,
3159 q->txq[TXQ_CTRL].size,
3160 q->txq[TXQ_CTRL].token, 1, 0);
3307 cancel_work_sync(&qs->txq[TXQ_OFLD].qresume_task);
3308 cancel_work_sync(&qs->txq[TXQ_CTRL].qresume_task);