Lines Matching defs:txr

375 static void bnxt_txr_db_kick(struct bnxt *bp, struct bnxt_tx_ring_info *txr,
378 bnxt_db_write(bp, &txr->tx_db, prod);
379 txr->kick_pending = 0;
383 struct bnxt_tx_ring_info *txr,
394 if (bnxt_tx_avail(bp, txr) >= bp->tx_wake_thresh) {
414 struct bnxt_tx_ring_info *txr;
426 txr = &bp->tx_ring[bp->tx_ring_map[i]];
427 prod = txr->tx_prod;
429 free_size = bnxt_tx_avail(bp, txr);
432 if (net_ratelimit() && txr->kick_pending)
435 if (bnxt_txr_netif_try_stop_queue(bp, txr, txq))
443 txbd = &txr->tx_desc_ring[TX_RING(prod)][TX_IDX(prod)];
447 tx_buf = &txr->tx_buf_ring[prod];
485 struct tx_push_buffer *tx_push_buf = txr->tx_push;
488 void __iomem *db = txr->tx_db.doorbell;
531 txbd->tx_bd_haddr = txr->data_mapping;
533 txbd = &txr->tx_desc_ring[TX_RING(prod)][TX_IDX(prod)];
538 txr->tx_prod = prod;
578 &txr->tx_desc_ring[TX_RING(prod)][TX_IDX(prod)];
621 txbd = &txr->tx_desc_ring[TX_RING(prod)][TX_IDX(prod)];
630 tx_buf = &txr->tx_buf_ring[prod];
652 txr->tx_prod = prod;
655 bnxt_txr_db_kick(bp, txr, prod);
657 txr->kick_pending = 1;
661 if (unlikely(bnxt_tx_avail(bp, txr) <= MAX_SKB_FRAGS + 1)) {
663 bnxt_txr_db_kick(bp, txr, prod);
665 bnxt_txr_netif_try_stop_queue(bp, txr, txq);
676 prod = txr->tx_prod;
677 tx_buf = &txr->tx_buf_ring[prod];
685 tx_buf = &txr->tx_buf_ring[prod];
694 if (txr->kick_pending)
695 bnxt_txr_db_kick(bp, txr, txr->tx_prod);
696 txr->tx_buf_ring[txr->tx_prod].skb = NULL;
703 struct bnxt_tx_ring_info *txr = bnapi->tx_ring;
704 struct netdev_queue *txq = netdev_get_tx_queue(bp->dev, txr->txq_index);
705 u16 cons = txr->tx_cons;
716 tx_buf = &txr->tx_buf_ring[cons];
732 tx_buf = &txr->tx_buf_ring[cons];
757 txr->tx_cons = cons;
767 bnxt_tx_avail(bp, txr) >= bp->tx_wake_thresh &&
768 READ_ONCE(txr->dev_state) != BNXT_DEV_STATE_CLOSING)
2463 struct bnxt_tx_ring_info *txr = bnapi->tx_ring;
2464 u16 prod = txr->tx_prod;
2469 bnxt_db_write_relaxed(bp, &txr->tx_db, prod);
2729 struct bnxt_tx_ring_info *txr = &bp->tx_ring[i];
2732 if (!txr->tx_buf_ring)
2736 struct bnxt_sw_tx_bd *tx_buf = &txr->tx_buf_ring[j];
2778 tx_buf = &txr->tx_buf_ring[ring_idx];
3170 struct bnxt_tx_ring_info *txr = &bp->tx_ring[i];
3173 if (txr->tx_push) {
3175 txr->tx_push, txr->tx_push_mapping);
3176 txr->tx_push = NULL;
3179 ring = &txr->tx_ring_struct;
3206 struct bnxt_tx_ring_info *txr = &bp->tx_ring[i];
3210 ring = &txr->tx_ring_struct;
3216 ring->grp_idx = txr->bnapi->index;
3223 txr->tx_push = dma_alloc_coherent(&pdev->dev,
3225 &txr->tx_push_mapping,
3228 if (!txr->tx_push)
3231 mapping = txr->tx_push_mapping +
3233 txr->data_mapping = cpu_to_le64(mapping);
3433 struct bnxt_tx_ring_info *txr;
3471 txr = bnapi->tx_ring;
3472 if (!txr)
3475 ring = &txr->tx_ring_struct;
3479 rmem->pg_arr = (void **)txr->tx_desc_ring;
3480 rmem->dma_arr = txr->tx_desc_mapping;
3482 rmem->vmem = (void **)&txr->tx_buf_ring;
3646 struct bnxt_tx_ring_info *txr = &bp->tx_ring[i];
3647 struct bnxt_ring_struct *ring = &txr->tx_ring_struct;
4273 struct bnxt_tx_ring_info *txr;
4281 txr = bnapi->tx_ring;
4282 if (txr) {
4283 txr->tx_prod = 0;
4284 txr->tx_cons = 0;
4445 struct bnxt_tx_ring_info *txr = &bp->tx_ring[i];
4448 txr->tx_ring_struct.ring_mem.flags =
4450 txr->bnapi = bp->bnapi[j];
4451 bp->bnapi[j]->tx_ring = txr;
4454 txr->txq_index = i - bp->tx_nr_rings_xdp;
5016 static u16 bnxt_cp_ring_for_tx(struct bnxt *bp, struct bnxt_tx_ring_info *txr)
5019 struct bnxt_napi *bnapi = txr->bnapi;
5025 return bnxt_cp_ring_from_grp(bp, &txr->tx_ring_struct);
5552 struct bnxt_tx_ring_info *txr;
5554 txr = container_of(ring, struct bnxt_tx_ring_info,
5559 req->cmpl_ring_id = cpu_to_le16(bnxt_cp_ring_for_tx(bp, txr));
5748 struct bnxt_tx_ring_info *txr = &bp->tx_ring[i];
5753 struct bnxt_napi *bnapi = txr->bnapi;
5769 ring = &txr->tx_ring_struct;
5774 bnxt_set_db(bp, &txr->tx_db, type, map_idx, ring->fw_ring_id);
5875 struct bnxt_tx_ring_info *txr = &bp->tx_ring[i];
5876 struct bnxt_ring_struct *ring = &txr->tx_ring_struct;
5879 u32 cmpl_ring_id = bnxt_cp_ring_for_tx(bp, txr);
9193 struct bnxt_tx_ring_info *txr;
9197 txr = &bp->tx_ring[i];
9198 WRITE_ONCE(txr->dev_state, BNXT_DEV_STATE_CLOSING);
9212 struct bnxt_tx_ring_info *txr;
9215 txr = &bp->tx_ring[i];
9216 WRITE_ONCE(txr->dev_state, 0);
11184 struct bnxt_tx_ring_info *txr = bnapi->tx_ring;
11187 if (!txr)
11191 i, txr->tx_ring_struct.fw_ring_id, txr->tx_prod,
11192 txr->tx_cons);