Lines Matching refs:bnapi
323 if (!rxr->bnapi->in_reset) { in bnxt_sched_reset_rxr()
324 rxr->bnapi->in_reset = true; in bnxt_sched_reset_rxr()
337 struct bnxt_napi *bnapi = txr->bnapi; in bnxt_sched_reset_txr() local
339 if (bnapi->tx_fault) in bnxt_sched_reset_txr()
343 txr->txq_index, bnapi->tx_pkts, in bnxt_sched_reset_txr()
346 bnapi->tx_fault = 1; in bnxt_sched_reset_txr()
690 static void bnxt_tx_int(struct bnxt *bp, struct bnxt_napi *bnapi, int budget) in bnxt_tx_int() argument
692 struct bnxt_tx_ring_info *txr = bnapi->tx_ring; in bnxt_tx_int()
696 int nr_pkts = bnapi->tx_pkts; in bnxt_tx_int()
751 bnapi->tx_pkts = 0; in bnxt_tx_int()
923 struct bnxt_napi *bnapi = cpr->bnapi; in bnxt_reuse_rx_agg_bufs() local
924 struct bnxt *bp = bnapi->bp; in bnxt_reuse_rx_agg_bufs()
925 struct bnxt_rx_ring_info *rxr = bnapi->rx_ring; in bnxt_reuse_rx_agg_bufs()
1035 skb = napi_alloc_skb(&rxr->bnapi->napi, payload); in bnxt_rx_page_skb()
1091 struct bnxt_napi *bnapi = cpr->bnapi; in __bnxt_rx_agg_pages() local
1093 struct bnxt_rx_ring_info *rxr = bnapi->rx_ring; in __bnxt_rx_agg_pages()
1212 static inline struct sk_buff *bnxt_copy_skb(struct bnxt_napi *bnapi, u8 *data, in bnxt_copy_skb() argument
1216 struct bnxt *bp = bnapi->bp; in bnxt_copy_skb()
1220 skb = napi_alloc_skb(&bnapi->napi, len); in bnxt_copy_skb()
1596 struct bnxt_napi *bnapi = cpr->bnapi; in bnxt_tpa_end() local
1597 struct bnxt_rx_ring_info *rxr = bnapi->rx_ring; in bnxt_tpa_end()
1607 if (unlikely(bnapi->in_reset)) { in bnxt_tpa_end()
1659 skb = bnxt_copy_skb(bnapi, data_ptr, len, mapping); in bnxt_tpa_end()
1749 static void bnxt_deliver_skb(struct bnxt *bp, struct bnxt_napi *bnapi, in bnxt_deliver_skb() argument
1757 skb_record_rx_queue(skb, bnapi->index); in bnxt_deliver_skb()
1759 napi_gro_receive(&bnapi->napi, skb); in bnxt_deliver_skb()
1772 struct bnxt_napi *bnapi = cpr->bnapi; in bnxt_rx_pkt() local
1773 struct bnxt_rx_ring_info *rxr = bnapi->rx_ring; in bnxt_rx_pkt()
1831 bnxt_deliver_skb(bp, bnapi, skb); in bnxt_rx_pkt()
1879 bnapi->cp_ring.sw_stats.rx.rx_buf_errors++; in bnxt_rx_pkt()
1917 skb = bnxt_copy_skb(bnapi, data_ptr, len, dma_addr); in bnxt_rx_pkt()
2005 bnapi->cp_ring.sw_stats.rx.rx_l4_csum_errors++; in bnxt_rx_pkt()
2027 bnxt_deliver_skb(bp, bnapi, skb); in bnxt_rx_pkt()
2123 u16 grp_idx = bp->rx_ring[i].bnapi->index; in bnxt_agg_ring_id_to_grp_idx()
2330 rxr = bp->bnapi[grp_idx]->rx_ring; in bnxt_async_event_process()
2432 struct bnxt_napi *bnapi = dev_instance; in bnxt_msix() local
2433 struct bnxt *bp = bnapi->bp; in bnxt_msix()
2434 struct bnxt_cp_ring_info *cpr = &bnapi->cp_ring; in bnxt_msix()
2439 napi_schedule(&bnapi->napi); in bnxt_msix()
2456 struct bnxt_napi *bnapi = dev_instance; in bnxt_inta() local
2457 struct bnxt *bp = bnapi->bp; in bnxt_inta()
2458 struct bnxt_cp_ring_info *cpr = &bnapi->cp_ring; in bnxt_inta()
2478 napi_schedule(&bnapi->napi); in bnxt_inta()
2485 struct bnxt_napi *bnapi = cpr->bnapi; in __bnxt_poll_work() local
2555 struct bnxt_tx_ring_info *txr = bnapi->tx_ring; in __bnxt_poll_work()
2565 bnapi->tx_pkts += tx_pkts; in __bnxt_poll_work()
2566 bnapi->events |= event; in __bnxt_poll_work()
2570 static void __bnxt_poll_work_done(struct bnxt *bp, struct bnxt_napi *bnapi, in __bnxt_poll_work_done() argument
2573 if (bnapi->tx_pkts && !bnapi->tx_fault) in __bnxt_poll_work_done()
2574 bnapi->tx_int(bp, bnapi, budget); in __bnxt_poll_work_done()
2576 if ((bnapi->events & BNXT_RX_EVENT) && !(bnapi->in_reset)) { in __bnxt_poll_work_done()
2577 struct bnxt_rx_ring_info *rxr = bnapi->rx_ring; in __bnxt_poll_work_done()
2581 if (bnapi->events & BNXT_AGG_EVENT) { in __bnxt_poll_work_done()
2582 struct bnxt_rx_ring_info *rxr = bnapi->rx_ring; in __bnxt_poll_work_done()
2586 bnapi->events = 0; in __bnxt_poll_work_done()
2592 struct bnxt_napi *bnapi = cpr->bnapi; in bnxt_poll_work() local
2603 __bnxt_poll_work_done(bp, bnapi, budget); in bnxt_poll_work()
2609 struct bnxt_napi *bnapi = container_of(napi, struct bnxt_napi, napi); in bnxt_poll_nitroa0() local
2610 struct bnxt *bp = bnapi->bp; in bnxt_poll_nitroa0()
2611 struct bnxt_cp_ring_info *cpr = &bnapi->cp_ring; in bnxt_poll_nitroa0()
2612 struct bnxt_rx_ring_info *rxr = bnapi->rx_ring; in bnxt_poll_nitroa0()
2685 struct bnxt_napi *bnapi = container_of(napi, struct bnxt_napi, napi); in bnxt_poll() local
2686 struct bnxt *bp = bnapi->bp; in bnxt_poll()
2687 struct bnxt_cp_ring_info *cpr = &bnapi->cp_ring; in bnxt_poll()
2721 static int __bnxt_poll_cqs(struct bnxt *bp, struct bnxt_napi *bnapi, int budget) in __bnxt_poll_cqs() argument
2723 struct bnxt_cp_ring_info *cpr = &bnapi->cp_ring; in __bnxt_poll_cqs()
2738 static void __bnxt_poll_cqs_done(struct bnxt *bp, struct bnxt_napi *bnapi, in __bnxt_poll_cqs_done() argument
2741 struct bnxt_cp_ring_info *cpr = &bnapi->cp_ring; in __bnxt_poll_cqs_done()
2755 __bnxt_poll_work_done(bp, bnapi, budget); in __bnxt_poll_cqs_done()
2760 struct bnxt_napi *bnapi = container_of(napi, struct bnxt_napi, napi); in bnxt_poll_p5() local
2761 struct bnxt_cp_ring_info *cpr = &bnapi->cp_ring; in bnxt_poll_p5()
2764 struct bnxt *bp = bnapi->bp; in bnxt_poll_p5()
2775 work_done = __bnxt_poll_cqs(bp, bnapi, budget); in bnxt_poll_p5()
2785 __bnxt_poll_cqs_done(bp, bnapi, DBR_TYPE_CQ_ARMALL, in bnxt_poll_p5()
2816 __bnxt_poll_cqs_done(bp, bnapi, DBR_TYPE_CQ, budget); in bnxt_poll_p5()
3197 pp.napi = &rxr->bnapi->napi; in bnxt_alloc_rx_page_pool()
3328 ring->grp_idx = txr->bnapi->index; in bnxt_alloc_tx_rings()
3386 if (!bp->bnapi) in bnxt_free_all_cp_arrays()
3389 struct bnxt_napi *bnapi = bp->bnapi[i]; in bnxt_free_all_cp_arrays() local
3391 if (!bnapi) in bnxt_free_all_cp_arrays()
3393 bnxt_free_cp_arrays(&bnapi->cp_ring); in bnxt_free_all_cp_arrays()
3402 struct bnxt_napi *bnapi = bp->bnapi[i]; in bnxt_alloc_all_cp_arrays() local
3405 if (!bnapi) in bnxt_alloc_all_cp_arrays()
3407 rc = bnxt_alloc_cp_arrays(&bnapi->cp_ring, n); in bnxt_alloc_all_cp_arrays()
3418 if (!bp->bnapi) in bnxt_free_cp_rings()
3422 struct bnxt_napi *bnapi = bp->bnapi[i]; in bnxt_free_cp_rings() local
3427 if (!bnapi) in bnxt_free_cp_rings()
3430 cpr = &bnapi->cp_ring; in bnxt_free_cp_rings()
3491 struct bnxt_napi *bnapi = bp->bnapi[i]; in bnxt_alloc_cp_rings() local
3495 if (!bnapi) in bnxt_alloc_cp_rings()
3498 cpr = &bnapi->cp_ring; in bnxt_alloc_cp_rings()
3499 cpr->bnapi = bnapi; in bnxt_alloc_cp_rings()
3521 cpr2->bnapi = bnapi; in bnxt_alloc_cp_rings()
3531 cpr2->bnapi = bnapi; in bnxt_alloc_cp_rings()
3542 struct bnxt_napi *bnapi = bp->bnapi[i]; in bnxt_init_ring_struct() local
3549 if (!bnapi) in bnxt_init_ring_struct()
3552 cpr = &bnapi->cp_ring; in bnxt_init_ring_struct()
3561 rxr = bnapi->rx_ring; in bnxt_init_ring_struct()
3584 txr = bnapi->tx_ring; in bnxt_init_ring_struct()
3710 struct bnxt_cp_ring_info *cpr = &bp->bnapi[i]->cp_ring; in bnxt_init_cp_rings()
4236 struct bnxt_napi *bnapi = bp->bnapi[0]; in bnxt_init_stats() local
4245 cpr = &bnapi->cp_ring; in bnxt_init_stats()
4319 if (!bp->bnapi) in bnxt_free_ring_stats()
4323 struct bnxt_napi *bnapi = bp->bnapi[i]; in bnxt_free_ring_stats() local
4324 struct bnxt_cp_ring_info *cpr = &bnapi->cp_ring; in bnxt_free_ring_stats()
4338 struct bnxt_napi *bnapi = bp->bnapi[i]; in bnxt_alloc_stats() local
4339 struct bnxt_cp_ring_info *cpr = &bnapi->cp_ring; in bnxt_alloc_stats()
4397 if (!bp->bnapi) in bnxt_clear_ring_indices()
4401 struct bnxt_napi *bnapi = bp->bnapi[i]; in bnxt_clear_ring_indices() local
4406 if (!bnapi) in bnxt_clear_ring_indices()
4409 cpr = &bnapi->cp_ring; in bnxt_clear_ring_indices()
4412 txr = bnapi->tx_ring; in bnxt_clear_ring_indices()
4418 rxr = bnapi->rx_ring; in bnxt_clear_ring_indices()
4499 kfree(bp->bnapi); in bnxt_free_mem()
4500 bp->bnapi = NULL; in bnxt_free_mem()
4509 void *bnapi; in bnxt_alloc_mem() local
4518 bnapi = kzalloc(arr_size + size * bp->cp_nr_rings, GFP_KERNEL); in bnxt_alloc_mem()
4519 if (!bnapi) in bnxt_alloc_mem()
4522 bp->bnapi = bnapi; in bnxt_alloc_mem()
4523 bnapi += arr_size; in bnxt_alloc_mem()
4524 for (i = 0; i < bp->cp_nr_rings; i++, bnapi += size) { in bnxt_alloc_mem()
4525 bp->bnapi[i] = bnapi; in bnxt_alloc_mem()
4526 bp->bnapi[i]->index = i; in bnxt_alloc_mem()
4527 bp->bnapi[i]->bp = bp; in bnxt_alloc_mem()
4530 &bp->bnapi[i]->cp_ring; in bnxt_alloc_mem()
4552 rxr->bnapi = bp->bnapi[i]; in bnxt_alloc_mem()
4553 bp->bnapi[i]->rx_ring = &bp->rx_ring[i]; in bnxt_alloc_mem()
4579 txr->bnapi = bp->bnapi[j]; in bnxt_alloc_mem()
4580 bp->bnapi[j]->tx_ring = txr; in bnxt_alloc_mem()
4584 bp->bnapi[j]->tx_int = bnxt_tx_int; in bnxt_alloc_mem()
4586 bp->bnapi[j]->flags |= BNXT_NAPI_FLAG_XDP; in bnxt_alloc_mem()
4587 bp->bnapi[j]->tx_int = bnxt_tx_int_xdp; in bnxt_alloc_mem()
4639 if (!bp->bnapi) in bnxt_disable_int()
4643 struct bnxt_napi *bnapi = bp->bnapi[i]; in bnxt_disable_int() local
4644 struct bnxt_cp_ring_info *cpr = &bnapi->cp_ring; in bnxt_disable_int()
4654 struct bnxt_napi *bnapi = bp->bnapi[n]; in bnxt_cp_num_to_irq_num() local
4657 cpr = &bnapi->cp_ring; in bnxt_cp_num_to_irq_num()
4684 struct bnxt_napi *bnapi = bp->bnapi[i]; in bnxt_enable_int() local
4685 struct bnxt_cp_ring_info *cpr = &bnapi->cp_ring; in bnxt_enable_int()
5140 struct bnxt_napi *bnapi = rxr->bnapi; in bnxt_cp_ring_for_rx() local
5143 cpr = bnapi->cp_ring.cp_ring_arr[BNXT_RX_HDL]; in bnxt_cp_ring_for_rx()
5153 struct bnxt_napi *bnapi = txr->bnapi; in bnxt_cp_ring_for_tx() local
5156 cpr = bnapi->cp_ring.cp_ring_arr[BNXT_TX_HDL]; in bnxt_cp_ring_for_tx()
5496 grp_idx = bp->rx_ring[ring].bnapi->index; in bnxt_hwrm_vnic_cfg()
5558 grp_idx = bp->rx_ring[i].bnapi->index; in bnxt_hwrm_vnic_alloc()
5645 unsigned int grp_idx = bp->rx_ring[i].bnapi->index; in bnxt_hwrm_ring_grp_alloc()
5887 struct bnxt_napi *bnapi = bp->bnapi[i]; in bnxt_hwrm_ring_alloc() local
5888 struct bnxt_cp_ring_info *cpr = &bnapi->cp_ring; in bnxt_hwrm_ring_alloc()
5919 struct bnxt_napi *bnapi = txr->bnapi; in bnxt_hwrm_ring_alloc() local
5923 cpr = &bnapi->cp_ring; in bnxt_hwrm_ring_alloc()
5927 map_idx = bnapi->index; in bnxt_hwrm_ring_alloc()
5947 struct bnxt_napi *bnapi = rxr->bnapi; in bnxt_hwrm_ring_alloc() local
5948 u32 map_idx = bnapi->index; in bnxt_hwrm_ring_alloc()
5959 struct bnxt_cp_ring_info *cpr = &bnapi->cp_ring; in bnxt_hwrm_ring_alloc()
6037 if (!bp->bnapi) in bnxt_hwrm_ring_free()
6058 u32 grp_idx = rxr->bnapi->index; in bnxt_hwrm_ring_free()
6080 u32 grp_idx = rxr->bnapi->index; in bnxt_hwrm_ring_free()
6105 struct bnxt_napi *bnapi = bp->bnapi[i]; in bnxt_hwrm_ring_free() local
6106 struct bnxt_cp_ring_info *cpr = &bnapi->cp_ring; in bnxt_hwrm_ring_free()
6732 static int __bnxt_hwrm_set_coal_nq(struct bnxt *bp, struct bnxt_napi *bnapi, in __bnxt_hwrm_set_coal_nq() argument
6736 struct bnxt_cp_ring_info *cpr = &bnapi->cp_ring; in __bnxt_hwrm_set_coal_nq()
6760 int bnxt_hwrm_set_ring_coal(struct bnxt *bp, struct bnxt_napi *bnapi) in bnxt_hwrm_set_ring_coal() argument
6763 struct bnxt_cp_ring_info *cpr = &bnapi->cp_ring; in bnxt_hwrm_set_ring_coal()
6775 if (!bnapi->rx_ring) in bnxt_hwrm_set_ring_coal()
6784 req_rx->ring_id = cpu_to_le16(bnxt_cp_ring_for_rx(bp, bnapi->rx_ring)); in bnxt_hwrm_set_ring_coal()
6811 struct bnxt_napi *bnapi = bp->bnapi[i]; in bnxt_hwrm_set_coal() local
6816 if (!bnapi->rx_ring) { in bnxt_hwrm_set_coal()
6817 ring_id = bnxt_cp_ring_for_tx(bp, bnapi->tx_ring); in bnxt_hwrm_set_coal()
6820 ring_id = bnxt_cp_ring_for_rx(bp, bnapi->rx_ring); in bnxt_hwrm_set_coal()
6831 if (bnapi->rx_ring && bnapi->tx_ring) { in bnxt_hwrm_set_coal()
6833 ring_id = bnxt_cp_ring_for_tx(bp, bnapi->tx_ring); in bnxt_hwrm_set_coal()
6839 if (bnapi->rx_ring) in bnxt_hwrm_set_coal()
6843 __bnxt_hwrm_set_coal_nq(bp, bnapi, hw_coal); in bnxt_hwrm_set_coal()
6856 if (!bp->bnapi) in bnxt_hwrm_stat_ctx_free()
6873 struct bnxt_napi *bnapi = bp->bnapi[i]; in bnxt_hwrm_stat_ctx_free() local
6874 struct bnxt_cp_ring_info *cpr = &bnapi->cp_ring; in bnxt_hwrm_stat_ctx_free()
6910 struct bnxt_napi *bnapi = bp->bnapi[i]; in bnxt_hwrm_stat_ctx_alloc() local
6911 struct bnxt_cp_ring_info *cpr = &bnapi->cp_ring; in bnxt_hwrm_stat_ctx_alloc()
8341 struct bnxt_napi *bnapi = bp->bnapi[i]; in bnxt_accumulate_all_stats() local
8345 cpr = &bnapi->cp_ring; in bnxt_accumulate_all_stats()
9268 if (!bp->irq_tbl || !bp->bnapi) in bnxt_free_irq()
9281 free_irq(irq->vector, bp->bnapi[i]); in bnxt_free_irq()
9313 if (rmap && bp->bnapi[i]->rx_ring) { in bnxt_request_irq()
9322 bp->bnapi[i]); in bnxt_request_irq()
9350 if (!bp->bnapi) in bnxt_del_napi()
9354 struct bnxt_napi *bnapi = bp->bnapi[i]; in bnxt_del_napi() local
9356 __netif_napi_del(&bnapi->napi); in bnxt_del_napi()
9368 struct bnxt_napi *bnapi; in bnxt_init_napi() local
9378 bnapi = bp->bnapi[i]; in bnxt_init_napi()
9379 netif_napi_add(bp->dev, &bnapi->napi, poll_fn); in bnxt_init_napi()
9382 bnapi = bp->bnapi[cp_nr_rings]; in bnxt_init_napi()
9383 netif_napi_add(bp->dev, &bnapi->napi, in bnxt_init_napi()
9387 bnapi = bp->bnapi[0]; in bnxt_init_napi()
9388 netif_napi_add(bp->dev, &bnapi->napi, bnxt_poll); in bnxt_init_napi()
9396 if (!bp->bnapi || in bnxt_disable_napi()
9401 struct bnxt_napi *bnapi = bp->bnapi[i]; in bnxt_disable_napi() local
9404 cpr = &bnapi->cp_ring; in bnxt_disable_napi()
9405 if (bnapi->tx_fault) in bnxt_disable_napi()
9407 if (bnapi->in_reset) in bnxt_disable_napi()
9409 napi_disable(&bnapi->napi); in bnxt_disable_napi()
9410 if (bnapi->rx_ring) in bnxt_disable_napi()
9421 struct bnxt_napi *bnapi = bp->bnapi[i]; in bnxt_enable_napi() local
9424 bnapi->tx_fault = 0; in bnxt_enable_napi()
9426 cpr = &bnapi->cp_ring; in bnxt_enable_napi()
9427 bnapi->in_reset = false; in bnxt_enable_napi()
9429 bnapi->tx_pkts = 0; in bnxt_enable_napi()
9431 if (bnapi->rx_ring) { in bnxt_enable_napi()
9435 napi_enable(&bnapi->napi); in bnxt_enable_napi()
10695 if (bp->bnapi && irq_re_init) { in __bnxt_close_nic()
10855 struct bnxt_napi *bnapi = bp->bnapi[i]; in bnxt_get_ring_stats() local
10856 struct bnxt_cp_ring_info *cpr = &bnapi->cp_ring; in bnxt_get_ring_stats()
10973 bnxt_get_one_ring_err_stats(bp, stats, &bp->bnapi[i]->cp_ring); in bnxt_get_ring_err_stats()
11533 static void bnxt_dump_tx_sw_state(struct bnxt_napi *bnapi) in bnxt_dump_tx_sw_state() argument
11535 struct bnxt_tx_ring_info *txr = bnapi->tx_ring; in bnxt_dump_tx_sw_state()
11536 int i = bnapi->index; in bnxt_dump_tx_sw_state()
11541 netdev_info(bnapi->bp->dev, "[%d]: tx{fw_ring: %d prod: %x cons: %x}\n", in bnxt_dump_tx_sw_state()
11546 static void bnxt_dump_rx_sw_state(struct bnxt_napi *bnapi) in bnxt_dump_rx_sw_state() argument
11548 struct bnxt_rx_ring_info *rxr = bnapi->rx_ring; in bnxt_dump_rx_sw_state()
11549 int i = bnapi->index; in bnxt_dump_rx_sw_state()
11554 …netdev_info(bnapi->bp->dev, "[%d]: rx{fw_ring: %d prod: %x} rx_agg{fw_ring: %d agg_prod: %x sw_agg… in bnxt_dump_rx_sw_state()
11560 static void bnxt_dump_cp_sw_state(struct bnxt_napi *bnapi) in bnxt_dump_cp_sw_state() argument
11562 struct bnxt_cp_ring_info *cpr = &bnapi->cp_ring; in bnxt_dump_cp_sw_state()
11563 int i = bnapi->index; in bnxt_dump_cp_sw_state()
11565 netdev_info(bnapi->bp->dev, "[%d]: cp{fw_ring: %d raw_cons: %x}\n", in bnxt_dump_cp_sw_state()
11572 struct bnxt_napi *bnapi; in bnxt_dbg_dump_states() local
11575 bnapi = bp->bnapi[i]; in bnxt_dbg_dump_states()
11577 bnxt_dump_tx_sw_state(bnapi); in bnxt_dbg_dump_states()
11578 bnxt_dump_rx_sw_state(bnapi); in bnxt_dbg_dump_states()
11579 bnxt_dump_cp_sw_state(bnapi); in bnxt_dbg_dump_states()
11588 struct bnxt_napi *bnapi = rxr->bnapi; in bnxt_hwrm_rx_ring_reset() local
11597 cpr = &bnapi->cp_ring; in bnxt_hwrm_rx_ring_reset()
11601 req->ring_id = cpu_to_le16(bp->grp_info[bnapi->index].fw_grp_id); in bnxt_hwrm_rx_ring_reset()
11758 if (!rxr->bnapi->in_reset) in bnxt_rx_ring_reset()
11776 rxr->bnapi->in_reset = false; in bnxt_rx_ring_reset()
11778 cpr = &rxr->bnapi->cp_ring; in bnxt_rx_ring_reset()
11964 struct bnxt_napi *bnapi = bp->bnapi[i]; in bnxt_chk_missed_irq() local
11969 if (!bnapi) in bnxt_chk_missed_irq()
11972 cpr = &bnapi->cp_ring; in bnxt_chk_missed_irq()