Lines Matching refs:bnapi

351 	struct bnx2_napi *bnapi = &bp->bnx2_napi[0];  in bnx2_setup_cnic_irq_info()  local
356 bnapi->cnic_present = 0; in bnx2_setup_cnic_irq_info()
361 bnapi->cnic_tag = bnapi->last_status_idx; in bnx2_setup_cnic_irq_info()
362 bnapi->cnic_present = 1; in bnx2_setup_cnic_irq_info()
369 ((unsigned long) bnapi->status_blk.msi + in bnx2_setup_cnic_irq_info()
404 struct bnx2_napi *bnapi = &bp->bnx2_napi[0]; in bnx2_unregister_cnic() local
409 bnapi->cnic_present = 0; in bnx2_unregister_cnic()
462 struct bnx2_napi *bnapi = &bp->bnx2_napi[0]; in bnx2_cnic_start() local
464 bnapi->cnic_tag = bnapi->last_status_idx; in bnx2_cnic_start()
596 struct bnx2_napi *bnapi; in bnx2_disable_int() local
599 bnapi = &bp->bnx2_napi[i]; in bnx2_disable_int()
600 BNX2_WR(bp, BNX2_PCICFG_INT_ACK_CMD, bnapi->int_num | in bnx2_disable_int()
610 struct bnx2_napi *bnapi; in bnx2_enable_int() local
613 bnapi = &bp->bnx2_napi[i]; in bnx2_enable_int()
615 BNX2_WR(bp, BNX2_PCICFG_INT_ACK_CMD, bnapi->int_num | in bnx2_enable_int()
618 bnapi->last_status_idx); in bnx2_enable_int()
620 BNX2_WR(bp, BNX2_PCICFG_INT_ACK_CMD, bnapi->int_num | in bnx2_enable_int()
622 bnapi->last_status_idx); in bnx2_enable_int()
696 struct bnx2_napi *bnapi = &bp->bnx2_napi[i]; in bnx2_free_tx_mem() local
697 struct bnx2_tx_ring_info *txr = &bnapi->tx_ring; in bnx2_free_tx_mem()
716 struct bnx2_napi *bnapi = &bp->bnx2_napi[i]; in bnx2_free_rx_mem() local
717 struct bnx2_rx_ring_info *rxr = &bnapi->rx_ring; in bnx2_free_rx_mem()
748 struct bnx2_napi *bnapi = &bp->bnx2_napi[i]; in bnx2_alloc_tx_mem() local
749 struct bnx2_tx_ring_info *txr = &bnapi->tx_ring; in bnx2_alloc_tx_mem()
770 struct bnx2_napi *bnapi = &bp->bnx2_napi[i]; in bnx2_alloc_rx_mem() local
771 struct bnx2_rx_ring_info *rxr = &bnapi->rx_ring; in bnx2_alloc_rx_mem()
857 struct bnx2_napi *bnapi = &bp->bnx2_napi[0]; in bnx2_free_mem() local
871 if (bnapi->status_blk.msi) in bnx2_free_mem()
872 bnapi->status_blk.msi = NULL; in bnx2_free_mem()
879 struct bnx2_napi *bnapi; in bnx2_alloc_mem() local
881 bnapi = &bp->bnx2_napi[0]; in bnx2_alloc_mem()
882 bnapi->status_blk.msi = bp->status_blk; in bnx2_alloc_mem()
883 bnapi->hw_tx_cons_ptr = in bnx2_alloc_mem()
884 &bnapi->status_blk.msi->status_tx_quick_consumer_index0; in bnx2_alloc_mem()
885 bnapi->hw_rx_cons_ptr = in bnx2_alloc_mem()
886 &bnapi->status_blk.msi->status_rx_quick_consumer_index0; in bnx2_alloc_mem()
891 bnapi = &bp->bnx2_napi[i]; in bnx2_alloc_mem()
894 bnapi->status_blk.msix = sblk; in bnx2_alloc_mem()
895 bnapi->hw_tx_cons_ptr = in bnx2_alloc_mem()
897 bnapi->hw_rx_cons_ptr = in bnx2_alloc_mem()
899 bnapi->int_num = i << 24; in bnx2_alloc_mem()
2796 bnx2_phy_event_is_set(struct bnx2 *bp, struct bnx2_napi *bnapi, u32 event) in bnx2_phy_event_is_set() argument
2798 struct status_block *sblk = bnapi->status_blk.msi; in bnx2_phy_event_is_set()
2816 bnx2_phy_int(struct bnx2 *bp, struct bnx2_napi *bnapi) in bnx2_phy_int() argument
2820 if (bnx2_phy_event_is_set(bp, bnapi, STATUS_ATTN_BITS_LINK_STATE)) in bnx2_phy_int()
2822 if (bnx2_phy_event_is_set(bp, bnapi, STATUS_ATTN_BITS_TIMER_ABORT)) in bnx2_phy_int()
2830 bnx2_get_hw_tx_cons(struct bnx2_napi *bnapi) in bnx2_get_hw_tx_cons() argument
2834 cons = READ_ONCE(*bnapi->hw_tx_cons_ptr); in bnx2_get_hw_tx_cons()
2842 bnx2_tx_int(struct bnx2 *bp, struct bnx2_napi *bnapi, int budget) in bnx2_tx_int() argument
2844 struct bnx2_tx_ring_info *txr = &bnapi->tx_ring; in bnx2_tx_int()
2850 index = (bnapi - bp->bnx2_napi); in bnx2_tx_int()
2853 hw_cons = bnx2_get_hw_tx_cons(bnapi); in bnx2_tx_int()
2910 hw_cons = bnx2_get_hw_tx_cons(bnapi); in bnx2_tx_int()
3130 bnx2_get_hw_rx_cons(struct bnx2_napi *bnapi) in bnx2_get_hw_rx_cons() argument
3134 cons = READ_ONCE(*bnapi->hw_rx_cons_ptr); in bnx2_get_hw_rx_cons()
3142 bnx2_rx_int(struct bnx2 *bp, struct bnx2_napi *bnapi, int budget) in bnx2_rx_int() argument
3144 struct bnx2_rx_ring_info *rxr = &bnapi->rx_ring; in bnx2_rx_int()
3152 hw_cons = bnx2_get_hw_rx_cons(bnapi); in bnx2_rx_int()
3275 skb_record_rx_queue(skb, bnapi - &bp->bnx2_napi[0]); in bnx2_rx_int()
3276 napi_gro_receive(&bnapi->napi, skb); in bnx2_rx_int()
3288 hw_cons = bnx2_get_hw_rx_cons(bnapi); in bnx2_rx_int()
3312 struct bnx2_napi *bnapi = dev_instance; in bnx2_msi() local
3313 struct bnx2 *bp = bnapi->bp; in bnx2_msi()
3315 prefetch(bnapi->status_blk.msi); in bnx2_msi()
3324 napi_schedule(&bnapi->napi); in bnx2_msi()
3332 struct bnx2_napi *bnapi = dev_instance; in bnx2_msi_1shot() local
3333 struct bnx2 *bp = bnapi->bp; in bnx2_msi_1shot()
3335 prefetch(bnapi->status_blk.msi); in bnx2_msi_1shot()
3341 napi_schedule(&bnapi->napi); in bnx2_msi_1shot()
3349 struct bnx2_napi *bnapi = dev_instance; in bnx2_interrupt() local
3350 struct bnx2 *bp = bnapi->bp; in bnx2_interrupt()
3351 struct status_block *sblk = bnapi->status_blk.msi; in bnx2_interrupt()
3359 if ((sblk->status_idx == bnapi->last_status_idx) && in bnx2_interrupt()
3377 if (napi_schedule_prep(&bnapi->napi)) { in bnx2_interrupt()
3378 bnapi->last_status_idx = sblk->status_idx; in bnx2_interrupt()
3379 __napi_schedule(&bnapi->napi); in bnx2_interrupt()
3386 bnx2_has_fast_work(struct bnx2_napi *bnapi) in bnx2_has_fast_work() argument
3388 struct bnx2_tx_ring_info *txr = &bnapi->tx_ring; in bnx2_has_fast_work()
3389 struct bnx2_rx_ring_info *rxr = &bnapi->rx_ring; in bnx2_has_fast_work()
3391 if ((bnx2_get_hw_rx_cons(bnapi) != rxr->rx_cons) || in bnx2_has_fast_work()
3392 (bnx2_get_hw_tx_cons(bnapi) != txr->hw_tx_cons)) in bnx2_has_fast_work()
3401 bnx2_has_work(struct bnx2_napi *bnapi) in bnx2_has_work() argument
3403 struct status_block *sblk = bnapi->status_blk.msi; in bnx2_has_work()
3405 if (bnx2_has_fast_work(bnapi)) in bnx2_has_work()
3409 if (bnapi->cnic_present && (bnapi->cnic_tag != sblk->status_idx)) in bnx2_has_work()
3423 struct bnx2_napi *bnapi = &bp->bnx2_napi[0]; in bnx2_chk_missed_msi() local
3426 if (bnx2_has_work(bnapi)) { in bnx2_chk_missed_msi()
3431 if (bnapi->last_status_idx == bp->idle_chk_status_idx) { in bnx2_chk_missed_msi()
3435 bnx2_msi(bp->irq_tbl[0].vector, bnapi); in bnx2_chk_missed_msi()
3439 bp->idle_chk_status_idx = bnapi->last_status_idx; in bnx2_chk_missed_msi()
3443 static void bnx2_poll_cnic(struct bnx2 *bp, struct bnx2_napi *bnapi) in bnx2_poll_cnic() argument
3447 if (!bnapi->cnic_present) in bnx2_poll_cnic()
3453 bnapi->cnic_tag = c_ops->cnic_handler(bp->cnic_data, in bnx2_poll_cnic()
3454 bnapi->status_blk.msi); in bnx2_poll_cnic()
3459 static void bnx2_poll_link(struct bnx2 *bp, struct bnx2_napi *bnapi) in bnx2_poll_link() argument
3461 struct status_block *sblk = bnapi->status_blk.msi; in bnx2_poll_link()
3468 bnx2_phy_int(bp, bnapi); in bnx2_poll_link()
3479 static int bnx2_poll_work(struct bnx2 *bp, struct bnx2_napi *bnapi, in bnx2_poll_work() argument
3482 struct bnx2_tx_ring_info *txr = &bnapi->tx_ring; in bnx2_poll_work()
3483 struct bnx2_rx_ring_info *rxr = &bnapi->rx_ring; in bnx2_poll_work()
3485 if (bnx2_get_hw_tx_cons(bnapi) != txr->hw_tx_cons) in bnx2_poll_work()
3486 bnx2_tx_int(bp, bnapi, 0); in bnx2_poll_work()
3488 if (bnx2_get_hw_rx_cons(bnapi) != rxr->rx_cons) in bnx2_poll_work()
3489 work_done += bnx2_rx_int(bp, bnapi, budget - work_done); in bnx2_poll_work()
3496 struct bnx2_napi *bnapi = container_of(napi, struct bnx2_napi, napi); in bnx2_poll_msix() local
3497 struct bnx2 *bp = bnapi->bp; in bnx2_poll_msix()
3499 struct status_block_msix *sblk = bnapi->status_blk.msix; in bnx2_poll_msix()
3502 work_done = bnx2_poll_work(bp, bnapi, work_done, budget); in bnx2_poll_msix()
3506 bnapi->last_status_idx = sblk->status_idx; in bnx2_poll_msix()
3509 if (likely(!bnx2_has_fast_work(bnapi))) { in bnx2_poll_msix()
3512 BNX2_WR(bp, BNX2_PCICFG_INT_ACK_CMD, bnapi->int_num | in bnx2_poll_msix()
3514 bnapi->last_status_idx); in bnx2_poll_msix()
3523 struct bnx2_napi *bnapi = container_of(napi, struct bnx2_napi, napi); in bnx2_poll() local
3524 struct bnx2 *bp = bnapi->bp; in bnx2_poll()
3526 struct status_block *sblk = bnapi->status_blk.msi; in bnx2_poll()
3529 bnx2_poll_link(bp, bnapi); in bnx2_poll()
3531 work_done = bnx2_poll_work(bp, bnapi, work_done, budget); in bnx2_poll()
3534 bnx2_poll_cnic(bp, bnapi); in bnx2_poll()
3541 bnapi->last_status_idx = sblk->status_idx; in bnx2_poll()
3547 if (likely(!bnx2_has_work(bnapi))) { in bnx2_poll()
3552 bnapi->last_status_idx); in bnx2_poll()
3558 bnapi->last_status_idx); in bnx2_poll()
3562 bnapi->last_status_idx); in bnx2_poll()
5127 struct bnx2_napi *bnapi; in bnx2_clear_ring_states() local
5133 bnapi = &bp->bnx2_napi[i]; in bnx2_clear_ring_states()
5134 txr = &bnapi->tx_ring; in bnx2_clear_ring_states()
5135 rxr = &bnapi->rx_ring; in bnx2_clear_ring_states()
5182 struct bnx2_napi *bnapi; in bnx2_init_tx_ring() local
5185 bnapi = &bp->bnx2_napi[ring_num]; in bnx2_init_tx_ring()
5186 txr = &bnapi->tx_ring; in bnx2_init_tx_ring()
5239 struct bnx2_napi *bnapi = &bp->bnx2_napi[ring_num]; in bnx2_init_rx_ring() local
5240 struct bnx2_rx_ring_info *rxr = &bnapi->rx_ring; in bnx2_init_rx_ring()
5433 struct bnx2_napi *bnapi = &bp->bnx2_napi[i]; in bnx2_free_tx_skbs() local
5434 struct bnx2_tx_ring_info *txr = &bnapi->tx_ring; in bnx2_free_tx_skbs()
5478 struct bnx2_napi *bnapi = &bp->bnx2_napi[i]; in bnx2_free_rx_skbs() local
5479 struct bnx2_rx_ring_info *rxr = &bnapi->rx_ring; in bnx2_free_rx_skbs()
5814 struct bnx2_napi *bnapi = &bp->bnx2_napi[0], *tx_napi; in bnx2_run_loopback() local
5818 tx_napi = bnapi; in bnx2_run_loopback()
5821 rxr = &bnapi->rx_ring; in bnx2_run_loopback()
5859 rx_start_idx = bnx2_get_hw_rx_cons(bnapi); in bnx2_run_loopback()
5892 rx_idx = bnx2_get_hw_rx_cons(bnapi); in bnx2_run_loopback()
6599 struct bnx2_napi *bnapi; in bnx2_start_xmit() local
6605 bnapi = &bp->bnx2_napi[i]; in bnx2_start_xmit()
6606 txr = &bnapi->tx_ring; in bnx2_start_xmit()
8518 struct bnx2_napi *bnapi = &bp->bnx2_napi[i]; in bnx2_init_napi() local
8527 bnapi->bp = bp; in bnx2_init_napi()