Lines Matching refs:txr
246 static inline u32 bnx2_tx_avail(struct bnx2 *bp, struct bnx2_tx_ring_info *txr)
253 diff = READ_ONCE(txr->tx_prod) - READ_ONCE(txr->tx_cons);
696 struct bnx2_tx_ring_info *txr = &bnapi->tx_ring;
698 if (txr->tx_desc_ring) {
700 txr->tx_desc_ring,
701 txr->tx_desc_mapping);
702 txr->tx_desc_ring = NULL;
704 kfree(txr->tx_buf_ring);
705 txr->tx_buf_ring = NULL;
748 struct bnx2_tx_ring_info *txr = &bnapi->tx_ring;
750 txr->tx_buf_ring = kzalloc(SW_TXBD_RING_SIZE, GFP_KERNEL);
751 if (!txr->tx_buf_ring)
754 txr->tx_desc_ring =
756 &txr->tx_desc_mapping, GFP_KERNEL);
757 if (!txr->tx_desc_ring)
2843 struct bnx2_tx_ring_info *txr = &bnapi->tx_ring;
2853 sw_cons = txr->tx_cons;
2862 tx_buf = &txr->tx_buf_ring[sw_ring_cons];
2893 tx_buf = &txr->tx_buf_ring[BNX2_TX_RING_IDX(sw_cons)];
2913 txr->hw_tx_cons = hw_cons;
2914 txr->tx_cons = sw_cons;
2924 (bnx2_tx_avail(bp, txr) > bp->tx_wake_thresh)) {
2927 (bnx2_tx_avail(bp, txr) > bp->tx_wake_thresh))
3386 struct bnx2_tx_ring_info *txr = &bnapi->tx_ring;
3390 (bnx2_get_hw_tx_cons(bnapi) != txr->hw_tx_cons))
3480 struct bnx2_tx_ring_info *txr = &bnapi->tx_ring;
3483 if (bnx2_get_hw_tx_cons(bnapi) != txr->hw_tx_cons)
5111 struct bnx2_tx_ring_info *txr;
5117 txr = &bnapi->tx_ring;
5120 txr->tx_cons = 0;
5121 txr->hw_tx_cons = 0;
5131 bnx2_init_tx_context(struct bnx2 *bp, u32 cid, struct bnx2_tx_ring_info *txr)
5153 val = (u64) txr->tx_desc_mapping >> 32;
5156 val = (u64) txr->tx_desc_mapping & 0xffffffff;
5166 struct bnx2_tx_ring_info *txr;
5169 txr = &bnapi->tx_ring;
5178 txbd = &txr->tx_desc_ring[BNX2_MAX_TX_DESC_CNT];
5180 txbd->tx_bd_haddr_hi = (u64) txr->tx_desc_mapping >> 32;
5181 txbd->tx_bd_haddr_lo = (u64) txr->tx_desc_mapping & 0xffffffff;
5183 txr->tx_prod = 0;
5184 txr->tx_prod_bseq = 0;
5186 txr->tx_bidx_addr = MB_GET_CID_ADDR(cid) + BNX2_L2CTX_TX_HOST_BIDX;
5187 txr->tx_bseq_addr = MB_GET_CID_ADDR(cid) + BNX2_L2CTX_TX_HOST_BSEQ;
5189 bnx2_init_tx_context(bp, cid, txr);
5417 struct bnx2_tx_ring_info *txr = &bnapi->tx_ring;
5420 if (!txr->tx_buf_ring)
5424 struct bnx2_sw_tx_bd *tx_buf = &txr->tx_buf_ring[j];
5443 tx_buf = &txr->tx_buf_ring[BNX2_TX_RING_IDX(j)];
5798 struct bnx2_tx_ring_info *txr;
5803 txr = &tx_napi->tx_ring;
5846 txbd = &txr->tx_desc_ring[BNX2_TX_RING_IDX(txr->tx_prod)];
5854 txr->tx_prod = BNX2_NEXT_TX_BD(txr->tx_prod);
5855 txr->tx_prod_bseq += pkt_size;
5857 BNX2_WR16(bp, txr->tx_bidx_addr, txr->tx_prod);
5858 BNX2_WR(bp, txr->tx_bseq_addr, txr->tx_prod_bseq);
5872 if (bnx2_get_hw_tx_cons(tx_napi) != txr->tx_prod)
6583 struct bnx2_tx_ring_info *txr;
6589 txr = &bnapi->tx_ring;
6592 if (unlikely(bnx2_tx_avail(bp, txr) <
6600 prod = txr->tx_prod;
6654 tx_buf = &txr->tx_buf_ring[ring_prod];
6658 txbd = &txr->tx_desc_ring[ring_prod];
6674 txbd = &txr->tx_desc_ring[ring_prod];
6681 dma_unmap_addr_set(&txr->tx_buf_ring[ring_prod], mapping,
6698 txr->tx_prod_bseq += skb->len;
6700 BNX2_WR16(bp, txr->tx_bidx_addr, prod);
6701 BNX2_WR(bp, txr->tx_bseq_addr, txr->tx_prod_bseq);
6703 txr->tx_prod = prod;
6705 if (unlikely(bnx2_tx_avail(bp, txr) <= MAX_SKB_FRAGS)) {
6714 if (bnx2_tx_avail(bp, txr) > bp->tx_wake_thresh)
6724 prod = txr->tx_prod;
6726 tx_buf = &txr->tx_buf_ring[ring_prod];
6735 tx_buf = &txr->tx_buf_ring[ring_prod];