Lines Matching refs:rxr

726 					 struct bnxt_rx_ring_info *rxr,  in __bnxt_alloc_rx_page()  argument
732 page = page_pool_dev_alloc_pages(rxr->page_pool); in __bnxt_alloc_rx_page()
739 page_pool_recycle_direct(rxr->page_pool, page); in __bnxt_alloc_rx_page()
769 int bnxt_alloc_rx_data(struct bnxt *bp, struct bnxt_rx_ring_info *rxr, in bnxt_alloc_rx_data() argument
772 struct rx_bd *rxbd = &rxr->rx_desc_ring[RX_RING(prod)][RX_IDX(prod)]; in bnxt_alloc_rx_data()
773 struct bnxt_sw_rx_bd *rx_buf = &rxr->rx_buf_ring[prod]; in bnxt_alloc_rx_data()
778 __bnxt_alloc_rx_page(bp, &mapping, rxr, gfp); in bnxt_alloc_rx_data()
801 void bnxt_reuse_rx_data(struct bnxt_rx_ring_info *rxr, u16 cons, void *data) in bnxt_reuse_rx_data() argument
803 u16 prod = rxr->rx_prod; in bnxt_reuse_rx_data()
807 prod_rx_buf = &rxr->rx_buf_ring[prod]; in bnxt_reuse_rx_data()
808 cons_rx_buf = &rxr->rx_buf_ring[cons]; in bnxt_reuse_rx_data()
815 prod_bd = &rxr->rx_desc_ring[RX_RING(prod)][RX_IDX(prod)]; in bnxt_reuse_rx_data()
816 cons_bd = &rxr->rx_desc_ring[RX_RING(cons)][RX_IDX(cons)]; in bnxt_reuse_rx_data()
821 static inline u16 bnxt_find_next_agg_idx(struct bnxt_rx_ring_info *rxr, u16 idx) in bnxt_find_next_agg_idx() argument
823 u16 next, max = rxr->rx_agg_bmap_size; in bnxt_find_next_agg_idx()
825 next = find_next_zero_bit(rxr->rx_agg_bmap, max, idx); in bnxt_find_next_agg_idx()
827 next = find_first_zero_bit(rxr->rx_agg_bmap, max); in bnxt_find_next_agg_idx()
832 struct bnxt_rx_ring_info *rxr, in bnxt_alloc_rx_page() argument
836 &rxr->rx_agg_desc_ring[RX_RING(prod)][RX_IDX(prod)]; in bnxt_alloc_rx_page()
841 u16 sw_prod = rxr->rx_sw_agg_prod; in bnxt_alloc_rx_page()
845 page = __bnxt_alloc_rx_page(bp, &mapping, rxr, gfp); in bnxt_alloc_rx_page()
852 page = rxr->rx_page; in bnxt_alloc_rx_page()
857 rxr->rx_page = page; in bnxt_alloc_rx_page()
858 rxr->rx_page_offset = 0; in bnxt_alloc_rx_page()
860 offset = rxr->rx_page_offset; in bnxt_alloc_rx_page()
861 rxr->rx_page_offset += BNXT_RX_PAGE_SIZE; in bnxt_alloc_rx_page()
862 if (rxr->rx_page_offset == PAGE_SIZE) in bnxt_alloc_rx_page()
863 rxr->rx_page = NULL; in bnxt_alloc_rx_page()
881 if (unlikely(test_bit(sw_prod, rxr->rx_agg_bmap))) in bnxt_alloc_rx_page()
882 sw_prod = bnxt_find_next_agg_idx(rxr, sw_prod); in bnxt_alloc_rx_page()
884 __set_bit(sw_prod, rxr->rx_agg_bmap); in bnxt_alloc_rx_page()
885 rx_agg_buf = &rxr->rx_agg_ring[sw_prod]; in bnxt_alloc_rx_page()
886 rxr->rx_sw_agg_prod = NEXT_RX_AGG(sw_prod); in bnxt_alloc_rx_page()
909 struct bnxt_rx_ring_info *rxr, in bnxt_get_tpa_agg_p5() argument
912 struct bnxt_tpa_info *tpa_info = &rxr->rx_tpa[agg_id]; in bnxt_get_tpa_agg_p5()
922 struct bnxt_rx_ring_info *rxr = bnapi->rx_ring; in bnxt_reuse_rx_agg_bufs() local
923 u16 prod = rxr->rx_agg_prod; in bnxt_reuse_rx_agg_bufs()
924 u16 sw_prod = rxr->rx_sw_agg_prod; in bnxt_reuse_rx_agg_bufs()
939 agg = bnxt_get_tpa_agg_p5(bp, rxr, idx, start + i); in bnxt_reuse_rx_agg_bufs()
943 __clear_bit(cons, rxr->rx_agg_bmap); in bnxt_reuse_rx_agg_bufs()
945 if (unlikely(test_bit(sw_prod, rxr->rx_agg_bmap))) in bnxt_reuse_rx_agg_bufs()
946 sw_prod = bnxt_find_next_agg_idx(rxr, sw_prod); in bnxt_reuse_rx_agg_bufs()
948 __set_bit(sw_prod, rxr->rx_agg_bmap); in bnxt_reuse_rx_agg_bufs()
949 prod_rx_buf = &rxr->rx_agg_ring[sw_prod]; in bnxt_reuse_rx_agg_bufs()
950 cons_rx_buf = &rxr->rx_agg_ring[cons]; in bnxt_reuse_rx_agg_bufs()
962 prod_bd = &rxr->rx_agg_desc_ring[RX_RING(prod)][RX_IDX(prod)]; in bnxt_reuse_rx_agg_bufs()
970 rxr->rx_agg_prod = prod; in bnxt_reuse_rx_agg_bufs()
971 rxr->rx_sw_agg_prod = sw_prod; in bnxt_reuse_rx_agg_bufs()
975 struct bnxt_rx_ring_info *rxr, in bnxt_rx_multi_page_skb() argument
982 u16 prod = rxr->rx_prod; in bnxt_rx_multi_page_skb()
986 err = bnxt_alloc_rx_data(bp, rxr, prod, GFP_ATOMIC); in bnxt_rx_multi_page_skb()
988 bnxt_reuse_rx_data(rxr, cons, data); in bnxt_rx_multi_page_skb()
996 page_pool_recycle_direct(rxr->page_pool, page); in bnxt_rx_multi_page_skb()
1007 struct bnxt_rx_ring_info *rxr, in bnxt_rx_page_skb() argument
1016 u16 prod = rxr->rx_prod; in bnxt_rx_page_skb()
1020 err = bnxt_alloc_rx_data(bp, rxr, prod, GFP_ATOMIC); in bnxt_rx_page_skb()
1022 bnxt_reuse_rx_data(rxr, cons, data); in bnxt_rx_page_skb()
1032 skb = napi_alloc_skb(&rxr->bnapi->napi, payload); in bnxt_rx_page_skb()
1034 page_pool_recycle_direct(rxr->page_pool, page); in bnxt_rx_page_skb()
1054 struct bnxt_rx_ring_info *rxr, u16 cons, in bnxt_rx_skb() argument
1059 u16 prod = rxr->rx_prod; in bnxt_rx_skb()
1063 err = bnxt_alloc_rx_data(bp, rxr, prod, GFP_ATOMIC); in bnxt_rx_skb()
1065 bnxt_reuse_rx_data(rxr, cons, data); in bnxt_rx_skb()
1090 struct bnxt_rx_ring_info *rxr = bnapi->rx_ring; in __bnxt_rx_agg_pages() local
1091 u16 prod = rxr->rx_agg_prod; in __bnxt_rx_agg_pages()
1107 agg = bnxt_get_tpa_agg_p5(bp, rxr, idx, i); in __bnxt_rx_agg_pages()
1114 cons_rx_buf = &rxr->rx_agg_ring[cons]; in __bnxt_rx_agg_pages()
1119 __clear_bit(cons, rxr->rx_agg_bmap); in __bnxt_rx_agg_pages()
1132 if (bnxt_alloc_rx_page(bp, rxr, prod, GFP_ATOMIC) != 0) { in __bnxt_rx_agg_pages()
1142 rxr->rx_agg_prod = prod; in __bnxt_rx_agg_pages()
1154 rxr->rx_agg_prod = prod; in __bnxt_rx_agg_pages()
1287 static void bnxt_sched_reset(struct bnxt *bp, struct bnxt_rx_ring_info *rxr) in bnxt_sched_reset() argument
1289 if (!rxr->bnapi->in_reset) { in bnxt_sched_reset()
1290 rxr->bnapi->in_reset = true; in bnxt_sched_reset()
1297 rxr->rx_next_cons = 0xffff; in bnxt_sched_reset()
1300 static u16 bnxt_alloc_agg_idx(struct bnxt_rx_ring_info *rxr, u16 agg_id) in bnxt_alloc_agg_idx() argument
1302 struct bnxt_tpa_idx_map *map = rxr->rx_tpa_idx_map; in bnxt_alloc_agg_idx()
1313 static void bnxt_free_agg_idx(struct bnxt_rx_ring_info *rxr, u16 idx) in bnxt_free_agg_idx() argument
1315 struct bnxt_tpa_idx_map *map = rxr->rx_tpa_idx_map; in bnxt_free_agg_idx()
1320 static u16 bnxt_lookup_agg_idx(struct bnxt_rx_ring_info *rxr, u16 agg_id) in bnxt_lookup_agg_idx() argument
1322 struct bnxt_tpa_idx_map *map = rxr->rx_tpa_idx_map; in bnxt_lookup_agg_idx()
1327 static void bnxt_tpa_start(struct bnxt *bp, struct bnxt_rx_ring_info *rxr, in bnxt_tpa_start() argument
1339 agg_id = bnxt_alloc_agg_idx(rxr, agg_id); in bnxt_tpa_start()
1344 prod = rxr->rx_prod; in bnxt_tpa_start()
1345 cons_rx_buf = &rxr->rx_buf_ring[cons]; in bnxt_tpa_start()
1346 prod_rx_buf = &rxr->rx_buf_ring[prod]; in bnxt_tpa_start()
1347 tpa_info = &rxr->rx_tpa[agg_id]; in bnxt_tpa_start()
1349 if (unlikely(cons != rxr->rx_next_cons || in bnxt_tpa_start()
1352 cons, rxr->rx_next_cons, in bnxt_tpa_start()
1354 bnxt_sched_reset(bp, rxr); in bnxt_tpa_start()
1367 prod_bd = &rxr->rx_desc_ring[RX_RING(prod)][RX_IDX(prod)]; in bnxt_tpa_start()
1399 rxr->rx_prod = NEXT_RX(prod); in bnxt_tpa_start()
1401 rxr->rx_next_cons = NEXT_RX(cons); in bnxt_tpa_start()
1402 cons_rx_buf = &rxr->rx_buf_ring[cons]; in bnxt_tpa_start()
1404 bnxt_reuse_rx_data(rxr, cons, cons_rx_buf->data); in bnxt_tpa_start()
1405 rxr->rx_prod = NEXT_RX(rxr->rx_prod); in bnxt_tpa_start()
1630 struct bnxt_rx_ring_info *rxr = bnapi->rx_ring; in bnxt_tpa_end() local
1650 agg_id = bnxt_lookup_agg_idx(rxr, agg_id); in bnxt_tpa_end()
1652 tpa_info = &rxr->rx_tpa[agg_id]; in bnxt_tpa_end()
1660 bnxt_free_agg_idx(rxr, agg_id); in bnxt_tpa_end()
1666 tpa_info = &rxr->rx_tpa[agg_id]; in bnxt_tpa_end()
1770 static void bnxt_tpa_agg(struct bnxt *bp, struct bnxt_rx_ring_info *rxr, in bnxt_tpa_agg() argument
1776 agg_id = bnxt_lookup_agg_idx(rxr, agg_id); in bnxt_tpa_agg()
1777 tpa_info = &rxr->rx_tpa[agg_id]; in bnxt_tpa_agg()
1805 struct bnxt_rx_ring_info *rxr = bnapi->rx_ring; in bnxt_rx_pkt() local
1828 bnxt_tpa_agg(bp, rxr, (struct rx_agg_cmp *)rxcmp); in bnxt_rx_pkt()
1844 prod = rxr->rx_prod; in bnxt_rx_pkt()
1847 bnxt_tpa_start(bp, rxr, (struct rx_tpa_start_cmp *)rxcmp, in bnxt_rx_pkt()
1871 if (unlikely(cons != rxr->rx_next_cons)) { in bnxt_rx_pkt()
1875 if (rxr->rx_next_cons != 0xffff) in bnxt_rx_pkt()
1877 cons, rxr->rx_next_cons); in bnxt_rx_pkt()
1878 bnxt_sched_reset(bp, rxr); in bnxt_rx_pkt()
1883 rx_buf = &rxr->rx_buf_ring[cons]; in bnxt_rx_pkt()
1904 bnxt_reuse_rx_data(rxr, cons, data); in bnxt_rx_pkt()
1916 bnxt_sched_reset(bp, rxr); in bnxt_rx_pkt()
1926 if (bnxt_xdp_attached(bp, rxr)) { in bnxt_rx_pkt()
1927 bnxt_xdp_buff_init(bp, rxr, cons, data_ptr, len, &xdp); in bnxt_rx_pkt()
1942 if (bnxt_rx_xdp(bp, rxr, cons, xdp, data, &data_ptr, &len, event)) { in bnxt_rx_pkt()
1950 bnxt_reuse_rx_data(rxr, cons, data); in bnxt_rx_pkt()
1957 bnxt_xdp_buff_frags_free(rxr, &xdp); in bnxt_rx_pkt()
1970 skb = bp->rx_skb_func(bp, rxr, cons, data, data_ptr, dma_addr, in bnxt_rx_pkt()
1988 skb = bnxt_xdp_build_skb(bp, skb, agg_bufs, rxr->page_pool, &xdp, rxcmp1); in bnxt_rx_pkt()
1991 bnxt_xdp_buff_frags_free(rxr, &xdp); in bnxt_rx_pkt()
2067 rxr->rx_prod = NEXT_RX(prod); in bnxt_rx_pkt()
2068 rxr->rx_next_cons = NEXT_RX(cons); in bnxt_rx_pkt()
2345 struct bnxt_rx_ring_info *rxr; in bnxt_async_event_process() local
2362 rxr = bp->bnapi[grp_idx]->rx_ring; in bnxt_async_event_process()
2363 bnxt_sched_reset(bp, rxr); in bnxt_async_event_process()
2608 struct bnxt_rx_ring_info *rxr = bnapi->rx_ring; in __bnxt_poll_work_done() local
2610 bnxt_db_write(bp, &rxr->rx_db, rxr->rx_prod); in __bnxt_poll_work_done()
2613 struct bnxt_rx_ring_info *rxr = bnapi->rx_ring; in __bnxt_poll_work_done() local
2615 bnxt_db_write(bp, &rxr->rx_agg_db, rxr->rx_agg_prod); in __bnxt_poll_work_done()
2643 struct bnxt_rx_ring_info *rxr = bnapi->rx_ring; in bnxt_poll_nitroa0() local
2697 bnxt_db_write(bp, &rxr->rx_db, rxr->rx_prod); in bnxt_poll_nitroa0()
2700 bnxt_db_write(bp, &rxr->rx_agg_db, rxr->rx_agg_prod); in bnxt_poll_nitroa0()
2933 struct bnxt_rx_ring_info *rxr = &bp->rx_ring[ring_nr]; in bnxt_free_one_rx_ring_skbs() local
2940 if (!rxr->rx_tpa) in bnxt_free_one_rx_ring_skbs()
2944 struct bnxt_tpa_info *tpa_info = &rxr->rx_tpa[i]; in bnxt_free_one_rx_ring_skbs()
2960 if (!rxr->rx_buf_ring) in bnxt_free_one_rx_ring_skbs()
2964 struct bnxt_sw_rx_bd *rx_buf = &rxr->rx_buf_ring[i]; in bnxt_free_one_rx_ring_skbs()
2977 page_pool_recycle_direct(rxr->page_pool, data); in bnxt_free_one_rx_ring_skbs()
2987 if (!rxr->rx_agg_ring) in bnxt_free_one_rx_ring_skbs()
2991 struct bnxt_sw_rx_agg_bd *rx_agg_buf = &rxr->rx_agg_ring[i]; in bnxt_free_one_rx_ring_skbs()
3002 __clear_bit(i, rxr->rx_agg_bmap); in bnxt_free_one_rx_ring_skbs()
3004 page_pool_recycle_direct(rxr->page_pool, page); in bnxt_free_one_rx_ring_skbs()
3010 __clear_bit(i, rxr->rx_agg_bmap); in bnxt_free_one_rx_ring_skbs()
3017 if (rxr->rx_page) { in bnxt_free_one_rx_ring_skbs()
3018 __free_page(rxr->rx_page); in bnxt_free_one_rx_ring_skbs()
3019 rxr->rx_page = NULL; in bnxt_free_one_rx_ring_skbs()
3021 map = rxr->rx_tpa_idx_map; in bnxt_free_one_rx_ring_skbs()
3151 struct bnxt_rx_ring_info *rxr = &bp->rx_ring[i]; in bnxt_free_tpa_info() local
3153 kfree(rxr->rx_tpa_idx_map); in bnxt_free_tpa_info()
3154 rxr->rx_tpa_idx_map = NULL; in bnxt_free_tpa_info()
3155 if (rxr->rx_tpa) { in bnxt_free_tpa_info()
3157 kfree(rxr->rx_tpa[j].agg_arr); in bnxt_free_tpa_info()
3158 rxr->rx_tpa[j].agg_arr = NULL; in bnxt_free_tpa_info()
3161 kfree(rxr->rx_tpa); in bnxt_free_tpa_info()
3162 rxr->rx_tpa = NULL; in bnxt_free_tpa_info()
3178 struct bnxt_rx_ring_info *rxr = &bp->rx_ring[i]; in bnxt_alloc_tpa_info() local
3181 rxr->rx_tpa = kcalloc(bp->max_tpa, sizeof(struct bnxt_tpa_info), in bnxt_alloc_tpa_info()
3183 if (!rxr->rx_tpa) in bnxt_alloc_tpa_info()
3192 rxr->rx_tpa[j].agg_arr = agg; in bnxt_alloc_tpa_info()
3194 rxr->rx_tpa_idx_map = kzalloc(sizeof(*rxr->rx_tpa_idx_map), in bnxt_alloc_tpa_info()
3196 if (!rxr->rx_tpa_idx_map) in bnxt_alloc_tpa_info()
3211 struct bnxt_rx_ring_info *rxr = &bp->rx_ring[i]; in bnxt_free_rx_rings() local
3214 if (rxr->xdp_prog) in bnxt_free_rx_rings()
3215 bpf_prog_put(rxr->xdp_prog); in bnxt_free_rx_rings()
3217 if (xdp_rxq_info_is_reg(&rxr->xdp_rxq)) in bnxt_free_rx_rings()
3218 xdp_rxq_info_unreg(&rxr->xdp_rxq); in bnxt_free_rx_rings()
3220 page_pool_destroy(rxr->page_pool); in bnxt_free_rx_rings()
3221 rxr->page_pool = NULL; in bnxt_free_rx_rings()
3223 kfree(rxr->rx_agg_bmap); in bnxt_free_rx_rings()
3224 rxr->rx_agg_bmap = NULL; in bnxt_free_rx_rings()
3226 ring = &rxr->rx_ring_struct; in bnxt_free_rx_rings()
3229 ring = &rxr->rx_agg_ring_struct; in bnxt_free_rx_rings()
3235 struct bnxt_rx_ring_info *rxr) in bnxt_alloc_rx_page_pool() argument
3244 rxr->page_pool = page_pool_create(&pp); in bnxt_alloc_rx_page_pool()
3245 if (IS_ERR(rxr->page_pool)) { in bnxt_alloc_rx_page_pool()
3246 int err = PTR_ERR(rxr->page_pool); in bnxt_alloc_rx_page_pool()
3248 rxr->page_pool = NULL; in bnxt_alloc_rx_page_pool()
3265 struct bnxt_rx_ring_info *rxr = &bp->rx_ring[i]; in bnxt_alloc_rx_rings() local
3268 ring = &rxr->rx_ring_struct; in bnxt_alloc_rx_rings()
3270 rc = bnxt_alloc_rx_page_pool(bp, rxr); in bnxt_alloc_rx_rings()
3274 rc = xdp_rxq_info_reg(&rxr->xdp_rxq, bp->dev, i, 0); in bnxt_alloc_rx_rings()
3278 rc = xdp_rxq_info_reg_mem_model(&rxr->xdp_rxq, in bnxt_alloc_rx_rings()
3280 rxr->page_pool); in bnxt_alloc_rx_rings()
3282 xdp_rxq_info_unreg(&rxr->xdp_rxq); in bnxt_alloc_rx_rings()
3294 ring = &rxr->rx_agg_ring_struct; in bnxt_alloc_rx_rings()
3300 rxr->rx_agg_bmap_size = bp->rx_agg_ring_mask + 1; in bnxt_alloc_rx_rings()
3301 mem_size = rxr->rx_agg_bmap_size / 8; in bnxt_alloc_rx_rings()
3302 rxr->rx_agg_bmap = kzalloc(mem_size, GFP_KERNEL); in bnxt_alloc_rx_rings()
3303 if (!rxr->rx_agg_bmap) in bnxt_alloc_rx_rings()
3584 struct bnxt_rx_ring_info *rxr; in bnxt_init_ring_struct() local
3600 rxr = bnapi->rx_ring; in bnxt_init_ring_struct()
3601 if (!rxr) in bnxt_init_ring_struct()
3604 ring = &rxr->rx_ring_struct; in bnxt_init_ring_struct()
3608 rmem->pg_arr = (void **)rxr->rx_desc_ring; in bnxt_init_ring_struct()
3609 rmem->dma_arr = rxr->rx_desc_mapping; in bnxt_init_ring_struct()
3611 rmem->vmem = (void **)&rxr->rx_buf_ring; in bnxt_init_ring_struct()
3613 ring = &rxr->rx_agg_ring_struct; in bnxt_init_ring_struct()
3617 rmem->pg_arr = (void **)rxr->rx_agg_desc_ring; in bnxt_init_ring_struct()
3618 rmem->dma_arr = rxr->rx_agg_desc_mapping; in bnxt_init_ring_struct()
3620 rmem->vmem = (void **)&rxr->rx_agg_ring; in bnxt_init_ring_struct()
3662 struct bnxt_rx_ring_info *rxr = &bp->rx_ring[ring_nr]; in bnxt_alloc_one_rx_ring() local
3667 prod = rxr->rx_prod; in bnxt_alloc_one_rx_ring()
3669 if (bnxt_alloc_rx_data(bp, rxr, prod, GFP_KERNEL)) { in bnxt_alloc_one_rx_ring()
3676 rxr->rx_prod = prod; in bnxt_alloc_one_rx_ring()
3681 prod = rxr->rx_agg_prod; in bnxt_alloc_one_rx_ring()
3683 if (bnxt_alloc_rx_page(bp, rxr, prod, GFP_KERNEL)) { in bnxt_alloc_one_rx_ring()
3690 rxr->rx_agg_prod = prod; in bnxt_alloc_one_rx_ring()
3692 if (rxr->rx_tpa) { in bnxt_alloc_one_rx_ring()
3701 rxr->rx_tpa[i].data = data; in bnxt_alloc_one_rx_ring()
3702 rxr->rx_tpa[i].data_ptr = data + bp->rx_offset; in bnxt_alloc_one_rx_ring()
3703 rxr->rx_tpa[i].mapping = mapping; in bnxt_alloc_one_rx_ring()
3711 struct bnxt_rx_ring_info *rxr; in bnxt_init_one_rx_ring() local
3721 rxr = &bp->rx_ring[ring_nr]; in bnxt_init_one_rx_ring()
3722 ring = &rxr->rx_ring_struct; in bnxt_init_one_rx_ring()
3727 rxr->xdp_prog = bp->xdp_prog; in bnxt_init_one_rx_ring()
3731 ring = &rxr->rx_agg_ring_struct; in bnxt_init_one_rx_ring()
4439 struct bnxt_rx_ring_info *rxr; in bnxt_clear_ring_indices() local
4454 rxr = bnapi->rx_ring; in bnxt_clear_ring_indices()
4455 if (rxr) { in bnxt_clear_ring_indices()
4456 rxr->rx_prod = 0; in bnxt_clear_ring_indices()
4457 rxr->rx_agg_prod = 0; in bnxt_clear_ring_indices()
4458 rxr->rx_sw_agg_prod = 0; in bnxt_clear_ring_indices()
4459 rxr->rx_next_cons = 0; in bnxt_clear_ring_indices()
4580 struct bnxt_rx_ring_info *rxr = &bp->rx_ring[i]; in bnxt_alloc_mem() local
4583 rxr->rx_ring_struct.ring_mem.flags = in bnxt_alloc_mem()
4585 rxr->rx_agg_ring_struct.ring_mem.flags = in bnxt_alloc_mem()
4588 rxr->bnapi = bp->bnapi[i]; in bnxt_alloc_mem()
5170 static u16 bnxt_cp_ring_for_rx(struct bnxt *bp, struct bnxt_rx_ring_info *rxr) in bnxt_cp_ring_for_rx() argument
5173 struct bnxt_napi *bnapi = rxr->bnapi; in bnxt_cp_ring_for_rx()
5179 return bnxt_cp_ring_from_grp(bp, &rxr->rx_ring_struct); in bnxt_cp_ring_for_rx()
5274 struct bnxt_rx_ring_info *rxr; in bnxt_fill_hw_rss_tbl_p5() local
5283 rxr = &bp->rx_ring[j]; in bnxt_fill_hw_rss_tbl_p5()
5285 ring_id = rxr->rx_ring_struct.fw_ring_id; in bnxt_fill_hw_rss_tbl_p5()
5287 ring_id = bnxt_cp_ring_for_rx(bp, rxr); in bnxt_fill_hw_rss_tbl_p5()
5486 struct bnxt_rx_ring_info *rxr = &bp->rx_ring[0]; in bnxt_hwrm_vnic_cfg() local
5489 cpu_to_le16(rxr->rx_ring_struct.fw_ring_id); in bnxt_hwrm_vnic_cfg()
5491 cpu_to_le16(bnxt_cp_ring_for_rx(bp, rxr)); in bnxt_hwrm_vnic_cfg()
5977 struct bnxt_rx_ring_info *rxr = &bp->rx_ring[i]; in bnxt_hwrm_ring_alloc() local
5978 struct bnxt_ring_struct *ring = &rxr->rx_ring_struct; in bnxt_hwrm_ring_alloc()
5979 struct bnxt_napi *bnapi = rxr->bnapi; in bnxt_hwrm_ring_alloc()
5985 bnxt_set_db(bp, &rxr->rx_db, type, map_idx, ring->fw_ring_id); in bnxt_hwrm_ring_alloc()
5988 bnxt_db_write(bp, &rxr->rx_db, rxr->rx_prod); in bnxt_hwrm_ring_alloc()
6010 struct bnxt_rx_ring_info *rxr = &bp->rx_ring[i]; in bnxt_hwrm_ring_alloc() local
6012 &rxr->rx_agg_ring_struct; in bnxt_hwrm_ring_alloc()
6020 bnxt_set_db(bp, &rxr->rx_agg_db, type, map_idx, in bnxt_hwrm_ring_alloc()
6022 bnxt_db_write(bp, &rxr->rx_agg_db, rxr->rx_agg_prod); in bnxt_hwrm_ring_alloc()
6023 bnxt_db_write(bp, &rxr->rx_db, rxr->rx_prod); in bnxt_hwrm_ring_alloc()
6088 struct bnxt_rx_ring_info *rxr = &bp->rx_ring[i]; in bnxt_hwrm_ring_free() local
6089 struct bnxt_ring_struct *ring = &rxr->rx_ring_struct; in bnxt_hwrm_ring_free()
6090 u32 grp_idx = rxr->bnapi->index; in bnxt_hwrm_ring_free()
6093 u32 cmpl_ring_id = bnxt_cp_ring_for_rx(bp, rxr); in bnxt_hwrm_ring_free()
6110 struct bnxt_rx_ring_info *rxr = &bp->rx_ring[i]; in bnxt_hwrm_ring_free() local
6111 struct bnxt_ring_struct *ring = &rxr->rx_agg_ring_struct; in bnxt_hwrm_ring_free()
6112 u32 grp_idx = rxr->bnapi->index; in bnxt_hwrm_ring_free()
6115 u32 cmpl_ring_id = bnxt_cp_ring_for_rx(bp, rxr); in bnxt_hwrm_ring_free()
11541 struct bnxt_rx_ring_info *rxr = bnapi->rx_ring; in bnxt_dump_rx_sw_state() local
11544 if (!rxr) in bnxt_dump_rx_sw_state()
11548 i, rxr->rx_ring_struct.fw_ring_id, rxr->rx_prod, in bnxt_dump_rx_sw_state()
11549 rxr->rx_agg_ring_struct.fw_ring_id, rxr->rx_agg_prod, in bnxt_dump_rx_sw_state()
11550 rxr->rx_sw_agg_prod); in bnxt_dump_rx_sw_state()
11579 struct bnxt_rx_ring_info *rxr = &bp->rx_ring[ring_nr]; in bnxt_hwrm_rx_ring_reset() local
11581 struct bnxt_napi *bnapi = rxr->bnapi; in bnxt_hwrm_rx_ring_reset()
11758 struct bnxt_rx_ring_info *rxr = &bp->rx_ring[i]; in bnxt_rx_ring_reset() local
11762 if (!rxr->bnapi->in_reset) in bnxt_rx_ring_reset()
11776 rxr->rx_prod = 0; in bnxt_rx_ring_reset()
11777 rxr->rx_agg_prod = 0; in bnxt_rx_ring_reset()
11778 rxr->rx_sw_agg_prod = 0; in bnxt_rx_ring_reset()
11779 rxr->rx_next_cons = 0; in bnxt_rx_ring_reset()
11780 rxr->bnapi->in_reset = false; in bnxt_rx_ring_reset()
11782 cpr = &rxr->bnapi->cp_ring; in bnxt_rx_ring_reset()
11785 bnxt_db_write(bp, &rxr->rx_agg_db, rxr->rx_agg_prod); in bnxt_rx_ring_reset()
11786 bnxt_db_write(bp, &rxr->rx_db, rxr->rx_prod); in bnxt_rx_ring_reset()