Lines Matching refs:tx_buf
31 struct bnxt_sw_tx_bd *tx_buf; in bnxt_xmit_bd() local
45 tx_buf = &txr->tx_buf_ring[prod]; in bnxt_xmit_bd()
46 tx_buf->nr_frags = num_frags; in bnxt_xmit_bd()
48 tx_buf->page = virt_to_head_page(xdp->data); in bnxt_xmit_bd()
99 return tx_buf; in bnxt_xmit_bd()
106 struct bnxt_sw_tx_bd *tx_buf; in __bnxt_xmit_xdp() local
108 tx_buf = bnxt_xmit_bd(bp, txr, mapping, len, xdp); in __bnxt_xmit_xdp()
109 tx_buf->rx_prod = rx_prod; in __bnxt_xmit_xdp()
110 tx_buf->action = XDP_TX; in __bnxt_xmit_xdp()
119 struct bnxt_sw_tx_bd *tx_buf; in __bnxt_xmit_xdp_redirect() local
121 tx_buf = bnxt_xmit_bd(bp, txr, mapping, len, NULL); in __bnxt_xmit_xdp_redirect()
122 tx_buf->action = XDP_REDIRECT; in __bnxt_xmit_xdp_redirect()
123 tx_buf->xdpf = xdpf; in __bnxt_xmit_xdp_redirect()
124 dma_unmap_addr_set(tx_buf, mapping, mapping); in __bnxt_xmit_xdp_redirect()
125 dma_unmap_len_set(tx_buf, len, 0); in __bnxt_xmit_xdp_redirect()
133 struct bnxt_sw_tx_bd *tx_buf; in bnxt_tx_int_xdp() local
139 tx_buf = &txr->tx_buf_ring[tx_cons]; in bnxt_tx_int_xdp()
141 if (tx_buf->action == XDP_REDIRECT) { in bnxt_tx_int_xdp()
145 dma_unmap_addr(tx_buf, mapping), in bnxt_tx_int_xdp()
146 dma_unmap_len(tx_buf, len), in bnxt_tx_int_xdp()
148 xdp_return_frame(tx_buf->xdpf); in bnxt_tx_int_xdp()
149 tx_buf->action = 0; in bnxt_tx_int_xdp()
150 tx_buf->xdpf = NULL; in bnxt_tx_int_xdp()
151 } else if (tx_buf->action == XDP_TX) { in bnxt_tx_int_xdp()
155 frags = tx_buf->nr_frags; in bnxt_tx_int_xdp()
158 tx_buf = &txr->tx_buf_ring[tx_cons]; in bnxt_tx_int_xdp()
159 page_pool_recycle_direct(rxr->page_pool, tx_buf->page); in bnxt_tx_int_xdp()
166 tx_buf = &txr->tx_buf_ring[last_tx_cons]; in bnxt_tx_int_xdp()
167 bnxt_db_write(bp, &rxr->rx_db, tx_buf->rx_prod); in bnxt_tx_int_xdp()