Lines Matching refs:rxr
124 struct bnxt_rx_ring_info *rxr = bnapi->rx_ring; in bnxt_tx_int_xdp() local
157 page_pool_recycle_direct(rxr->page_pool, tx_buf->page); in bnxt_tx_int_xdp()
170 bnxt_db_write(bp, &rxr->rx_db, tx_buf->rx_prod); in bnxt_tx_int_xdp()
175 bool bnxt_xdp_attached(struct bnxt *bp, struct bnxt_rx_ring_info *rxr) in bnxt_xdp_attached() argument
177 struct bpf_prog *xdp_prog = READ_ONCE(rxr->xdp_prog); in bnxt_xdp_attached()
182 void bnxt_xdp_buff_init(struct bnxt *bp, struct bnxt_rx_ring_info *rxr, in bnxt_xdp_buff_init() argument
193 rx_buf = &rxr->rx_buf_ring[cons]; in bnxt_xdp_buff_init()
199 xdp_init_buff(xdp, buflen, &rxr->xdp_rxq); in bnxt_xdp_buff_init()
203 void bnxt_xdp_buff_frags_free(struct bnxt_rx_ring_info *rxr, in bnxt_xdp_buff_frags_free() argument
215 page_pool_recycle_direct(rxr->page_pool, page); in bnxt_xdp_buff_frags_free()
224 bool bnxt_rx_xdp(struct bnxt *bp, struct bnxt_rx_ring_info *rxr, u16 cons, in bnxt_rx_xdp() argument
228 struct bpf_prog *xdp_prog = READ_ONCE(rxr->xdp_prog); in bnxt_rx_xdp()
245 txr = rxr->bnapi->tx_ring; in bnxt_rx_xdp()
269 rx_buf = &rxr->rx_buf_ring[cons]; in bnxt_rx_xdp()
282 bnxt_xdp_buff_frags_free(rxr, &xdp); in bnxt_rx_xdp()
283 bnxt_reuse_rx_data(rxr, cons, page); in bnxt_rx_xdp()
292 NEXT_RX(rxr->rx_prod), &xdp); in bnxt_rx_xdp()
293 bnxt_reuse_rx_data(rxr, cons, page); in bnxt_rx_xdp()
302 if (bnxt_alloc_rx_data(bp, rxr, rxr->rx_prod, GFP_ATOMIC)) { in bnxt_rx_xdp()
304 bnxt_xdp_buff_frags_free(rxr, &xdp); in bnxt_rx_xdp()
305 bnxt_reuse_rx_data(rxr, cons, page); in bnxt_rx_xdp()
311 page_pool_recycle_direct(rxr->page_pool, page); in bnxt_rx_xdp()
324 bnxt_xdp_buff_frags_free(rxr, &xdp); in bnxt_rx_xdp()
325 bnxt_reuse_rx_data(rxr, cons, page); in bnxt_rx_xdp()