• Home
  • Raw
  • Download

Lines Matching refs:rxr

533 		struct bnx2_rx_ring_info *rxr = &bnapi->rx_ring;  in bnx2_free_rx_mem()  local
537 if (rxr->rx_desc_ring[j]) in bnx2_free_rx_mem()
539 rxr->rx_desc_ring[j], in bnx2_free_rx_mem()
540 rxr->rx_desc_mapping[j]); in bnx2_free_rx_mem()
541 rxr->rx_desc_ring[j] = NULL; in bnx2_free_rx_mem()
543 if (rxr->rx_buf_ring) in bnx2_free_rx_mem()
544 vfree(rxr->rx_buf_ring); in bnx2_free_rx_mem()
545 rxr->rx_buf_ring = NULL; in bnx2_free_rx_mem()
548 if (rxr->rx_pg_desc_ring[j]) in bnx2_free_rx_mem()
550 rxr->rx_pg_desc_ring[j], in bnx2_free_rx_mem()
551 rxr->rx_pg_desc_mapping[j]); in bnx2_free_rx_mem()
552 rxr->rx_pg_desc_ring[j] = NULL; in bnx2_free_rx_mem()
554 if (rxr->rx_pg_ring) in bnx2_free_rx_mem()
555 vfree(rxr->rx_pg_ring); in bnx2_free_rx_mem()
556 rxr->rx_pg_ring = NULL; in bnx2_free_rx_mem()
589 struct bnx2_rx_ring_info *rxr = &bnapi->rx_ring; in bnx2_alloc_rx_mem() local
592 rxr->rx_buf_ring = in bnx2_alloc_rx_mem()
594 if (rxr->rx_buf_ring == NULL) in bnx2_alloc_rx_mem()
597 memset(rxr->rx_buf_ring, 0, in bnx2_alloc_rx_mem()
601 rxr->rx_desc_ring[j] = in bnx2_alloc_rx_mem()
603 &rxr->rx_desc_mapping[j]); in bnx2_alloc_rx_mem()
604 if (rxr->rx_desc_ring[j] == NULL) in bnx2_alloc_rx_mem()
610 rxr->rx_pg_ring = vmalloc(SW_RXPG_RING_SIZE * in bnx2_alloc_rx_mem()
612 if (rxr->rx_pg_ring == NULL) in bnx2_alloc_rx_mem()
615 memset(rxr->rx_pg_ring, 0, SW_RXPG_RING_SIZE * in bnx2_alloc_rx_mem()
620 rxr->rx_pg_desc_ring[j] = in bnx2_alloc_rx_mem()
622 &rxr->rx_pg_desc_mapping[j]); in bnx2_alloc_rx_mem()
623 if (rxr->rx_pg_desc_ring[j] == NULL) in bnx2_alloc_rx_mem()
2471 bnx2_alloc_rx_page(struct bnx2 *bp, struct bnx2_rx_ring_info *rxr, u16 index) in bnx2_alloc_rx_page() argument
2474 struct sw_pg *rx_pg = &rxr->rx_pg_ring[index]; in bnx2_alloc_rx_page()
2476 &rxr->rx_pg_desc_ring[RX_RING(index)][RX_IDX(index)]; in bnx2_alloc_rx_page()
2496 bnx2_free_rx_page(struct bnx2 *bp, struct bnx2_rx_ring_info *rxr, u16 index) in bnx2_free_rx_page() argument
2498 struct sw_pg *rx_pg = &rxr->rx_pg_ring[index]; in bnx2_free_rx_page()
2512 bnx2_alloc_rx_skb(struct bnx2 *bp, struct bnx2_rx_ring_info *rxr, u16 index) in bnx2_alloc_rx_skb() argument
2515 struct sw_bd *rx_buf = &rxr->rx_buf_ring[index]; in bnx2_alloc_rx_skb()
2517 struct rx_bd *rxbd = &rxr->rx_desc_ring[RX_RING(index)][RX_IDX(index)]; in bnx2_alloc_rx_skb()
2541 rxr->rx_prod_bseq += bp->rx_buf_use_size; in bnx2_alloc_rx_skb()
2675 bnx2_reuse_rx_skb_pages(struct bnx2 *bp, struct bnx2_rx_ring_info *rxr, in bnx2_reuse_rx_skb_pages() argument
2682 u16 cons = rxr->rx_pg_cons; in bnx2_reuse_rx_skb_pages()
2684 cons_rx_pg = &rxr->rx_pg_ring[cons]; in bnx2_reuse_rx_skb_pages()
2703 hw_prod = rxr->rx_pg_prod; in bnx2_reuse_rx_skb_pages()
2708 prod_rx_pg = &rxr->rx_pg_ring[prod]; in bnx2_reuse_rx_skb_pages()
2709 cons_rx_pg = &rxr->rx_pg_ring[cons]; in bnx2_reuse_rx_skb_pages()
2710 cons_bd = &rxr->rx_pg_desc_ring[RX_RING(cons)][RX_IDX(cons)]; in bnx2_reuse_rx_skb_pages()
2711 prod_bd = &rxr->rx_pg_desc_ring[RX_RING(prod)][RX_IDX(prod)]; in bnx2_reuse_rx_skb_pages()
2726 rxr->rx_pg_prod = hw_prod; in bnx2_reuse_rx_skb_pages()
2727 rxr->rx_pg_cons = cons; in bnx2_reuse_rx_skb_pages()
2731 bnx2_reuse_rx_skb(struct bnx2 *bp, struct bnx2_rx_ring_info *rxr, in bnx2_reuse_rx_skb() argument
2737 cons_rx_buf = &rxr->rx_buf_ring[cons]; in bnx2_reuse_rx_skb()
2738 prod_rx_buf = &rxr->rx_buf_ring[prod]; in bnx2_reuse_rx_skb()
2744 rxr->rx_prod_bseq += bp->rx_buf_use_size; in bnx2_reuse_rx_skb()
2754 cons_bd = &rxr->rx_desc_ring[RX_RING(cons)][RX_IDX(cons)]; in bnx2_reuse_rx_skb()
2755 prod_bd = &rxr->rx_desc_ring[RX_RING(prod)][RX_IDX(prod)]; in bnx2_reuse_rx_skb()
2761 bnx2_rx_skb(struct bnx2 *bp, struct bnx2_rx_ring_info *rxr, struct sk_buff *skb, in bnx2_rx_skb() argument
2768 err = bnx2_alloc_rx_skb(bp, rxr, prod); in bnx2_rx_skb()
2770 bnx2_reuse_rx_skb(bp, rxr, skb, (u16) (ring_idx >> 16), prod); in bnx2_rx_skb()
2775 bnx2_reuse_rx_skb_pages(bp, rxr, NULL, pages); in bnx2_rx_skb()
2790 u16 pg_cons = rxr->rx_pg_cons; in bnx2_rx_skb()
2791 u16 pg_prod = rxr->rx_pg_prod; in bnx2_rx_skb()
2804 rxr->rx_pg_cons = pg_cons; in bnx2_rx_skb()
2805 rxr->rx_pg_prod = pg_prod; in bnx2_rx_skb()
2806 bnx2_reuse_rx_skb_pages(bp, rxr, NULL, in bnx2_rx_skb()
2820 rx_pg = &rxr->rx_pg_ring[pg_cons]; in bnx2_rx_skb()
2832 err = bnx2_alloc_rx_page(bp, rxr, in bnx2_rx_skb()
2835 rxr->rx_pg_cons = pg_cons; in bnx2_rx_skb()
2836 rxr->rx_pg_prod = pg_prod; in bnx2_rx_skb()
2837 bnx2_reuse_rx_skb_pages(bp, rxr, skb, in bnx2_rx_skb()
2853 rxr->rx_pg_prod = pg_prod; in bnx2_rx_skb()
2854 rxr->rx_pg_cons = pg_cons; in bnx2_rx_skb()
2875 struct bnx2_rx_ring_info *rxr = &bnapi->rx_ring; in bnx2_rx_int() local
2881 sw_cons = rxr->rx_cons; in bnx2_rx_int()
2882 sw_prod = rxr->rx_prod; in bnx2_rx_int()
2900 rx_buf = &rxr->rx_buf_ring[sw_ring_cons]; in bnx2_rx_int()
2930 bnx2_reuse_rx_skb(bp, rxr, skb, sw_ring_cons, in bnx2_rx_int()
2937 bnx2_reuse_rx_skb_pages(bp, rxr, NULL, pages); in bnx2_rx_int()
2949 bnx2_reuse_rx_skb(bp, rxr, skb, sw_ring_cons, in bnx2_rx_int()
2961 bnx2_reuse_rx_skb(bp, rxr, skb, in bnx2_rx_int()
2965 } else if (unlikely(bnx2_rx_skb(bp, rxr, skb, len, hdr_len, in bnx2_rx_int()
3030 rxr->rx_cons = sw_cons; in bnx2_rx_int()
3031 rxr->rx_prod = sw_prod; in bnx2_rx_int()
3034 REG_WR16(bp, rxr->rx_pg_bidx_addr, rxr->rx_pg_prod); in bnx2_rx_int()
3036 REG_WR16(bp, rxr->rx_bidx_addr, sw_prod); in bnx2_rx_int()
3038 REG_WR(bp, rxr->rx_bseq_addr, rxr->rx_prod_bseq); in bnx2_rx_int()
3129 struct bnx2_rx_ring_info *rxr = &bnapi->rx_ring; in bnx2_has_fast_work() local
3131 if ((bnx2_get_hw_rx_cons(bnapi) != rxr->rx_cons) || in bnx2_has_fast_work()
3201 struct bnx2_rx_ring_info *rxr = &bnapi->rx_ring; in bnx2_poll_work() local
3206 if (bnx2_get_hw_rx_cons(bnapi) != rxr->rx_cons) in bnx2_poll_work()
4727 struct bnx2_rx_ring_info *rxr; in bnx2_clear_ring_states() local
4733 rxr = &bnapi->rx_ring; in bnx2_clear_ring_states()
4737 rxr->rx_prod_bseq = 0; in bnx2_clear_ring_states()
4738 rxr->rx_prod = 0; in bnx2_clear_ring_states()
4739 rxr->rx_cons = 0; in bnx2_clear_ring_states()
4740 rxr->rx_pg_prod = 0; in bnx2_clear_ring_states()
4741 rxr->rx_pg_cons = 0; in bnx2_clear_ring_states()
4838 struct bnx2_rx_ring_info *rxr = &bnapi->rx_ring; in bnx2_init_rx_ring() local
4847 bnx2_init_rxbd_rings(rxr->rx_desc_ring, rxr->rx_desc_mapping, in bnx2_init_rx_ring()
4859 bnx2_init_rxbd_rings(rxr->rx_pg_desc_ring, in bnx2_init_rx_ring()
4860 rxr->rx_pg_desc_mapping, in bnx2_init_rx_ring()
4867 val = (u64) rxr->rx_pg_desc_mapping[0] >> 32; in bnx2_init_rx_ring()
4870 val = (u64) rxr->rx_pg_desc_mapping[0] & 0xffffffff; in bnx2_init_rx_ring()
4877 val = (u64) rxr->rx_desc_mapping[0] >> 32; in bnx2_init_rx_ring()
4880 val = (u64) rxr->rx_desc_mapping[0] & 0xffffffff; in bnx2_init_rx_ring()
4883 ring_prod = prod = rxr->rx_pg_prod; in bnx2_init_rx_ring()
4885 if (bnx2_alloc_rx_page(bp, rxr, ring_prod) < 0) in bnx2_init_rx_ring()
4890 rxr->rx_pg_prod = prod; in bnx2_init_rx_ring()
4892 ring_prod = prod = rxr->rx_prod; in bnx2_init_rx_ring()
4894 if (bnx2_alloc_rx_skb(bp, rxr, ring_prod) < 0) in bnx2_init_rx_ring()
4899 rxr->rx_prod = prod; in bnx2_init_rx_ring()
4901 rxr->rx_bidx_addr = MB_GET_CID_ADDR(cid) + BNX2_L2CTX_HOST_BDIDX; in bnx2_init_rx_ring()
4902 rxr->rx_bseq_addr = MB_GET_CID_ADDR(cid) + BNX2_L2CTX_HOST_BSEQ; in bnx2_init_rx_ring()
4903 rxr->rx_pg_bidx_addr = MB_GET_CID_ADDR(cid) + BNX2_L2CTX_HOST_PG_BDIDX; in bnx2_init_rx_ring()
4905 REG_WR16(bp, rxr->rx_pg_bidx_addr, rxr->rx_pg_prod); in bnx2_init_rx_ring()
4906 REG_WR16(bp, rxr->rx_bidx_addr, prod); in bnx2_init_rx_ring()
4908 REG_WR(bp, rxr->rx_bseq_addr, rxr->rx_prod_bseq); in bnx2_init_rx_ring()
5053 struct bnx2_rx_ring_info *rxr = &bnapi->rx_ring; in bnx2_free_rx_skbs() local
5056 if (rxr->rx_buf_ring == NULL) in bnx2_free_rx_skbs()
5060 struct sw_bd *rx_buf = &rxr->rx_buf_ring[j]; in bnx2_free_rx_skbs()
5076 bnx2_free_rx_page(bp, rxr, j); in bnx2_free_rx_skbs()
5389 struct bnx2_rx_ring_info *rxr = &bnapi->rx_ring; in bnx2_run_loopback() local
5394 rxr = &bnapi->rx_ring; in bnx2_run_loopback()
5469 rx_buf = &rxr->rx_buf_ring[rx_start_idx]; in bnx2_run_loopback()