Lines Matching defs:rxr

716 		struct bnx2_rx_ring_info *rxr = &bnapi->rx_ring;
720 if (rxr->rx_desc_ring[j])
722 rxr->rx_desc_ring[j],
723 rxr->rx_desc_mapping[j]);
724 rxr->rx_desc_ring[j] = NULL;
726 vfree(rxr->rx_buf_ring);
727 rxr->rx_buf_ring = NULL;
730 if (rxr->rx_pg_desc_ring[j])
732 rxr->rx_pg_desc_ring[j],
733 rxr->rx_pg_desc_mapping[j]);
734 rxr->rx_pg_desc_ring[j] = NULL;
736 vfree(rxr->rx_pg_ring);
737 rxr->rx_pg_ring = NULL;
770 struct bnx2_rx_ring_info *rxr = &bnapi->rx_ring;
773 rxr->rx_buf_ring =
775 if (!rxr->rx_buf_ring)
779 rxr->rx_desc_ring[j] =
782 &rxr->rx_desc_mapping[j],
784 if (!rxr->rx_desc_ring[j])
790 rxr->rx_pg_ring =
793 if (!rxr->rx_pg_ring)
799 rxr->rx_pg_desc_ring[j] =
802 &rxr->rx_pg_desc_mapping[j],
804 if (!rxr->rx_pg_desc_ring[j])
2721 bnx2_alloc_rx_page(struct bnx2 *bp, struct bnx2_rx_ring_info *rxr, u16 index, gfp_t gfp)
2724 struct bnx2_sw_pg *rx_pg = &rxr->rx_pg_ring[index];
2726 &rxr->rx_pg_desc_ring[BNX2_RX_RING(index)][BNX2_RX_IDX(index)];
2746 bnx2_free_rx_page(struct bnx2 *bp, struct bnx2_rx_ring_info *rxr, u16 index)
2748 struct bnx2_sw_pg *rx_pg = &rxr->rx_pg_ring[index];
2762 bnx2_alloc_rx_data(struct bnx2 *bp, struct bnx2_rx_ring_info *rxr, u16 index, gfp_t gfp)
2765 struct bnx2_sw_bd *rx_buf = &rxr->rx_buf_ring[index];
2768 &rxr->rx_desc_ring[BNX2_RX_RING(index)][BNX2_RX_IDX(index)];
2789 rxr->rx_prod_bseq += bp->rx_buf_use_size;
2936 bnx2_reuse_rx_skb_pages(struct bnx2 *bp, struct bnx2_rx_ring_info *rxr,
2943 u16 cons = rxr->rx_pg_cons;
2945 cons_rx_pg = &rxr->rx_pg_ring[cons];
2963 hw_prod = rxr->rx_pg_prod;
2968 prod_rx_pg = &rxr->rx_pg_ring[prod];
2969 cons_rx_pg = &rxr->rx_pg_ring[cons];
2970 cons_bd = &rxr->rx_pg_desc_ring[BNX2_RX_RING(cons)]
2972 prod_bd = &rxr->rx_pg_desc_ring[BNX2_RX_RING(prod)]
2988 rxr->rx_pg_prod = hw_prod;
2989 rxr->rx_pg_cons = cons;
2993 bnx2_reuse_rx_data(struct bnx2 *bp, struct bnx2_rx_ring_info *rxr,
2999 cons_rx_buf = &rxr->rx_buf_ring[cons];
3000 prod_rx_buf = &rxr->rx_buf_ring[prod];
3006 rxr->rx_prod_bseq += bp->rx_buf_use_size;
3016 cons_bd = &rxr->rx_desc_ring[BNX2_RX_RING(cons)][BNX2_RX_IDX(cons)];
3017 prod_bd = &rxr->rx_desc_ring[BNX2_RX_RING(prod)][BNX2_RX_IDX(prod)];
3023 bnx2_rx_skb(struct bnx2 *bp, struct bnx2_rx_ring_info *rxr, u8 *data,
3031 err = bnx2_alloc_rx_data(bp, rxr, prod, GFP_ATOMIC);
3033 bnx2_reuse_rx_data(bp, rxr, data, (u16) (ring_idx >> 16), prod);
3039 bnx2_reuse_rx_skb_pages(bp, rxr, NULL, pages);
3058 u16 pg_cons = rxr->rx_pg_cons;
3059 u16 pg_prod = rxr->rx_pg_prod;
3072 rxr->rx_pg_cons = pg_cons;
3073 rxr->rx_pg_prod = pg_prod;
3074 bnx2_reuse_rx_skb_pages(bp, rxr, NULL,
3087 rx_pg = &rxr->rx_pg_ring[pg_cons];
3099 err = bnx2_alloc_rx_page(bp, rxr,
3103 rxr->rx_pg_cons = pg_cons;
3104 rxr->rx_pg_prod = pg_prod;
3105 bnx2_reuse_rx_skb_pages(bp, rxr, skb,
3121 rxr->rx_pg_prod = pg_prod;
3122 rxr->rx_pg_cons = pg_cons;
3142 struct bnx2_rx_ring_info *rxr = &bnapi->rx_ring;
3151 sw_cons = rxr->rx_cons;
3152 sw_prod = rxr->rx_prod;
3170 rx_buf = &rxr->rx_buf_ring[sw_ring_cons];
3184 next_rx_buf = &rxr->rx_buf_ring[next_ring_idx];
3205 bnx2_reuse_rx_data(bp, rxr, data, sw_ring_cons,
3212 bnx2_reuse_rx_skb_pages(bp, rxr, NULL, pages);
3222 bnx2_reuse_rx_data(bp, rxr, data, sw_ring_cons,
3234 bnx2_reuse_rx_data(bp, rxr, data,
3238 skb = bnx2_rx_skb(bp, rxr, data, len, hdr_len, dma_addr,
3290 rxr->rx_cons = sw_cons;
3291 rxr->rx_prod = sw_prod;
3294 BNX2_WR16(bp, rxr->rx_pg_bidx_addr, rxr->rx_pg_prod);
3296 BNX2_WR16(bp, rxr->rx_bidx_addr, sw_prod);
3298 BNX2_WR(bp, rxr->rx_bseq_addr, rxr->rx_prod_bseq);
3387 struct bnx2_rx_ring_info *rxr = &bnapi->rx_ring;
3389 if ((bnx2_get_hw_rx_cons(bnapi) != rxr->rx_cons) ||
3481 struct bnx2_rx_ring_info *rxr = &bnapi->rx_ring;
3486 if (bnx2_get_hw_rx_cons(bnapi) != rxr->rx_cons)
5112 struct bnx2_rx_ring_info *rxr;
5118 rxr = &bnapi->rx_ring;
5122 rxr->rx_prod_bseq = 0;
5123 rxr->rx_prod = 0;
5124 rxr->rx_cons = 0;
5125 rxr->rx_pg_prod = 0;
5126 rxr->rx_pg_cons = 0;
5223 struct bnx2_rx_ring_info *rxr = &bnapi->rx_ring;
5232 bnx2_init_rxbd_rings(rxr->rx_desc_ring, rxr->rx_desc_mapping,
5244 bnx2_init_rxbd_rings(rxr->rx_pg_desc_ring,
5245 rxr->rx_pg_desc_mapping,
5252 val = (u64) rxr->rx_pg_desc_mapping[0] >> 32;
5255 val = (u64) rxr->rx_pg_desc_mapping[0] & 0xffffffff;
5262 val = (u64) rxr->rx_desc_mapping[0] >> 32;
5265 val = (u64) rxr->rx_desc_mapping[0] & 0xffffffff;
5268 ring_prod = prod = rxr->rx_pg_prod;
5270 if (bnx2_alloc_rx_page(bp, rxr, ring_prod, GFP_KERNEL) < 0) {
5278 rxr->rx_pg_prod = prod;
5280 ring_prod = prod = rxr->rx_prod;
5282 if (bnx2_alloc_rx_data(bp, rxr, ring_prod, GFP_KERNEL) < 0) {
5290 rxr->rx_prod = prod;
5292 rxr->rx_bidx_addr = MB_GET_CID_ADDR(cid) + BNX2_L2CTX_HOST_BDIDX;
5293 rxr->rx_bseq_addr = MB_GET_CID_ADDR(cid) + BNX2_L2CTX_HOST_BSEQ;
5294 rxr->rx_pg_bidx_addr = MB_GET_CID_ADDR(cid) + BNX2_L2CTX_HOST_PG_BDIDX;
5296 BNX2_WR16(bp, rxr->rx_pg_bidx_addr, rxr->rx_pg_prod);
5297 BNX2_WR16(bp, rxr->rx_bidx_addr, prod);
5299 BNX2_WR(bp, rxr->rx_bseq_addr, rxr->rx_prod_bseq);
5462 struct bnx2_rx_ring_info *rxr = &bnapi->rx_ring;
5465 if (!rxr->rx_buf_ring)
5469 struct bnx2_sw_bd *rx_buf = &rxr->rx_buf_ring[j];
5485 bnx2_free_rx_page(bp, rxr, j);
5799 struct bnx2_rx_ring_info *rxr;
5804 rxr = &bnapi->rx_ring;
5880 rx_buf = &rxr->rx_buf_ring[rx_start_idx];