Lines Matching refs:bnapi
350 struct bnx2_napi *bnapi = &bp->bnx2_napi[0]; in bnx2_setup_cnic_irq_info() local
355 bnapi->cnic_present = 0; in bnx2_setup_cnic_irq_info()
360 bnapi->cnic_tag = bnapi->last_status_idx; in bnx2_setup_cnic_irq_info()
361 bnapi->cnic_present = 1; in bnx2_setup_cnic_irq_info()
368 ((unsigned long) bnapi->status_blk.msi + in bnx2_setup_cnic_irq_info()
403 struct bnx2_napi *bnapi = &bp->bnx2_napi[0]; in bnx2_unregister_cnic() local
408 bnapi->cnic_present = 0; in bnx2_unregister_cnic()
461 struct bnx2_napi *bnapi = &bp->bnx2_napi[0]; in bnx2_cnic_start() local
463 bnapi->cnic_tag = bnapi->last_status_idx; in bnx2_cnic_start()
595 struct bnx2_napi *bnapi; in bnx2_disable_int() local
598 bnapi = &bp->bnx2_napi[i]; in bnx2_disable_int()
599 BNX2_WR(bp, BNX2_PCICFG_INT_ACK_CMD, bnapi->int_num | in bnx2_disable_int()
609 struct bnx2_napi *bnapi; in bnx2_enable_int() local
612 bnapi = &bp->bnx2_napi[i]; in bnx2_enable_int()
614 BNX2_WR(bp, BNX2_PCICFG_INT_ACK_CMD, bnapi->int_num | in bnx2_enable_int()
617 bnapi->last_status_idx); in bnx2_enable_int()
619 BNX2_WR(bp, BNX2_PCICFG_INT_ACK_CMD, bnapi->int_num | in bnx2_enable_int()
621 bnapi->last_status_idx); in bnx2_enable_int()
695 struct bnx2_napi *bnapi = &bp->bnx2_napi[i]; in bnx2_free_tx_mem() local
696 struct bnx2_tx_ring_info *txr = &bnapi->tx_ring; in bnx2_free_tx_mem()
715 struct bnx2_napi *bnapi = &bp->bnx2_napi[i]; in bnx2_free_rx_mem() local
716 struct bnx2_rx_ring_info *rxr = &bnapi->rx_ring; in bnx2_free_rx_mem()
747 struct bnx2_napi *bnapi = &bp->bnx2_napi[i]; in bnx2_alloc_tx_mem() local
748 struct bnx2_tx_ring_info *txr = &bnapi->tx_ring; in bnx2_alloc_tx_mem()
769 struct bnx2_napi *bnapi = &bp->bnx2_napi[i]; in bnx2_alloc_rx_mem() local
770 struct bnx2_rx_ring_info *rxr = &bnapi->rx_ring; in bnx2_alloc_rx_mem()
856 struct bnx2_napi *bnapi = &bp->bnx2_napi[0]; in bnx2_free_mem() local
870 if (bnapi->status_blk.msi) in bnx2_free_mem()
871 bnapi->status_blk.msi = NULL; in bnx2_free_mem()
878 struct bnx2_napi *bnapi; in bnx2_alloc_mem() local
880 bnapi = &bp->bnx2_napi[0]; in bnx2_alloc_mem()
881 bnapi->status_blk.msi = bp->status_blk; in bnx2_alloc_mem()
882 bnapi->hw_tx_cons_ptr = in bnx2_alloc_mem()
883 &bnapi->status_blk.msi->status_tx_quick_consumer_index0; in bnx2_alloc_mem()
884 bnapi->hw_rx_cons_ptr = in bnx2_alloc_mem()
885 &bnapi->status_blk.msi->status_rx_quick_consumer_index0; in bnx2_alloc_mem()
890 bnapi = &bp->bnx2_napi[i]; in bnx2_alloc_mem()
893 bnapi->status_blk.msix = sblk; in bnx2_alloc_mem()
894 bnapi->hw_tx_cons_ptr = in bnx2_alloc_mem()
896 bnapi->hw_rx_cons_ptr = in bnx2_alloc_mem()
898 bnapi->int_num = i << 24; in bnx2_alloc_mem()
2795 bnx2_phy_event_is_set(struct bnx2 *bp, struct bnx2_napi *bnapi, u32 event) in bnx2_phy_event_is_set() argument
2797 struct status_block *sblk = bnapi->status_blk.msi; in bnx2_phy_event_is_set()
2815 bnx2_phy_int(struct bnx2 *bp, struct bnx2_napi *bnapi) in bnx2_phy_int() argument
2819 if (bnx2_phy_event_is_set(bp, bnapi, STATUS_ATTN_BITS_LINK_STATE)) in bnx2_phy_int()
2821 if (bnx2_phy_event_is_set(bp, bnapi, STATUS_ATTN_BITS_TIMER_ABORT)) in bnx2_phy_int()
2829 bnx2_get_hw_tx_cons(struct bnx2_napi *bnapi) in bnx2_get_hw_tx_cons() argument
2833 cons = READ_ONCE(*bnapi->hw_tx_cons_ptr); in bnx2_get_hw_tx_cons()
2841 bnx2_tx_int(struct bnx2 *bp, struct bnx2_napi *bnapi, int budget) in bnx2_tx_int() argument
2843 struct bnx2_tx_ring_info *txr = &bnapi->tx_ring; in bnx2_tx_int()
2849 index = (bnapi - bp->bnx2_napi); in bnx2_tx_int()
2852 hw_cons = bnx2_get_hw_tx_cons(bnapi); in bnx2_tx_int()
2909 hw_cons = bnx2_get_hw_tx_cons(bnapi); in bnx2_tx_int()
3128 bnx2_get_hw_rx_cons(struct bnx2_napi *bnapi) in bnx2_get_hw_rx_cons() argument
3132 cons = READ_ONCE(*bnapi->hw_rx_cons_ptr); in bnx2_get_hw_rx_cons()
3140 bnx2_rx_int(struct bnx2 *bp, struct bnx2_napi *bnapi, int budget) in bnx2_rx_int() argument
3142 struct bnx2_rx_ring_info *rxr = &bnapi->rx_ring; in bnx2_rx_int()
3150 hw_cons = bnx2_get_hw_rx_cons(bnapi); in bnx2_rx_int()
3273 skb_record_rx_queue(skb, bnapi - &bp->bnx2_napi[0]); in bnx2_rx_int()
3274 napi_gro_receive(&bnapi->napi, skb); in bnx2_rx_int()
3286 hw_cons = bnx2_get_hw_rx_cons(bnapi); in bnx2_rx_int()
3310 struct bnx2_napi *bnapi = dev_instance; in bnx2_msi() local
3311 struct bnx2 *bp = bnapi->bp; in bnx2_msi()
3313 prefetch(bnapi->status_blk.msi); in bnx2_msi()
3322 napi_schedule(&bnapi->napi); in bnx2_msi()
3330 struct bnx2_napi *bnapi = dev_instance; in bnx2_msi_1shot() local
3331 struct bnx2 *bp = bnapi->bp; in bnx2_msi_1shot()
3333 prefetch(bnapi->status_blk.msi); in bnx2_msi_1shot()
3339 napi_schedule(&bnapi->napi); in bnx2_msi_1shot()
3347 struct bnx2_napi *bnapi = dev_instance; in bnx2_interrupt() local
3348 struct bnx2 *bp = bnapi->bp; in bnx2_interrupt()
3349 struct status_block *sblk = bnapi->status_blk.msi; in bnx2_interrupt()
3357 if ((sblk->status_idx == bnapi->last_status_idx) && in bnx2_interrupt()
3375 if (napi_schedule_prep(&bnapi->napi)) { in bnx2_interrupt()
3376 bnapi->last_status_idx = sblk->status_idx; in bnx2_interrupt()
3377 __napi_schedule(&bnapi->napi); in bnx2_interrupt()
3384 bnx2_has_fast_work(struct bnx2_napi *bnapi) in bnx2_has_fast_work() argument
3386 struct bnx2_tx_ring_info *txr = &bnapi->tx_ring; in bnx2_has_fast_work()
3387 struct bnx2_rx_ring_info *rxr = &bnapi->rx_ring; in bnx2_has_fast_work()
3389 if ((bnx2_get_hw_rx_cons(bnapi) != rxr->rx_cons) || in bnx2_has_fast_work()
3390 (bnx2_get_hw_tx_cons(bnapi) != txr->hw_tx_cons)) in bnx2_has_fast_work()
3399 bnx2_has_work(struct bnx2_napi *bnapi) in bnx2_has_work() argument
3401 struct status_block *sblk = bnapi->status_blk.msi; in bnx2_has_work()
3403 if (bnx2_has_fast_work(bnapi)) in bnx2_has_work()
3407 if (bnapi->cnic_present && (bnapi->cnic_tag != sblk->status_idx)) in bnx2_has_work()
3421 struct bnx2_napi *bnapi = &bp->bnx2_napi[0]; in bnx2_chk_missed_msi() local
3424 if (bnx2_has_work(bnapi)) { in bnx2_chk_missed_msi()
3429 if (bnapi->last_status_idx == bp->idle_chk_status_idx) { in bnx2_chk_missed_msi()
3433 bnx2_msi(bp->irq_tbl[0].vector, bnapi); in bnx2_chk_missed_msi()
3437 bp->idle_chk_status_idx = bnapi->last_status_idx; in bnx2_chk_missed_msi()
3441 static void bnx2_poll_cnic(struct bnx2 *bp, struct bnx2_napi *bnapi) in bnx2_poll_cnic() argument
3445 if (!bnapi->cnic_present) in bnx2_poll_cnic()
3451 bnapi->cnic_tag = c_ops->cnic_handler(bp->cnic_data, in bnx2_poll_cnic()
3452 bnapi->status_blk.msi); in bnx2_poll_cnic()
3457 static void bnx2_poll_link(struct bnx2 *bp, struct bnx2_napi *bnapi) in bnx2_poll_link() argument
3459 struct status_block *sblk = bnapi->status_blk.msi; in bnx2_poll_link()
3466 bnx2_phy_int(bp, bnapi); in bnx2_poll_link()
3477 static int bnx2_poll_work(struct bnx2 *bp, struct bnx2_napi *bnapi, in bnx2_poll_work() argument
3480 struct bnx2_tx_ring_info *txr = &bnapi->tx_ring; in bnx2_poll_work()
3481 struct bnx2_rx_ring_info *rxr = &bnapi->rx_ring; in bnx2_poll_work()
3483 if (bnx2_get_hw_tx_cons(bnapi) != txr->hw_tx_cons) in bnx2_poll_work()
3484 bnx2_tx_int(bp, bnapi, 0); in bnx2_poll_work()
3486 if (bnx2_get_hw_rx_cons(bnapi) != rxr->rx_cons) in bnx2_poll_work()
3487 work_done += bnx2_rx_int(bp, bnapi, budget - work_done); in bnx2_poll_work()
3494 struct bnx2_napi *bnapi = container_of(napi, struct bnx2_napi, napi); in bnx2_poll_msix() local
3495 struct bnx2 *bp = bnapi->bp; in bnx2_poll_msix()
3497 struct status_block_msix *sblk = bnapi->status_blk.msix; in bnx2_poll_msix()
3500 work_done = bnx2_poll_work(bp, bnapi, work_done, budget); in bnx2_poll_msix()
3504 bnapi->last_status_idx = sblk->status_idx; in bnx2_poll_msix()
3507 if (likely(!bnx2_has_fast_work(bnapi))) { in bnx2_poll_msix()
3510 BNX2_WR(bp, BNX2_PCICFG_INT_ACK_CMD, bnapi->int_num | in bnx2_poll_msix()
3512 bnapi->last_status_idx); in bnx2_poll_msix()
3521 struct bnx2_napi *bnapi = container_of(napi, struct bnx2_napi, napi); in bnx2_poll() local
3522 struct bnx2 *bp = bnapi->bp; in bnx2_poll()
3524 struct status_block *sblk = bnapi->status_blk.msi; in bnx2_poll()
3527 bnx2_poll_link(bp, bnapi); in bnx2_poll()
3529 work_done = bnx2_poll_work(bp, bnapi, work_done, budget); in bnx2_poll()
3532 bnx2_poll_cnic(bp, bnapi); in bnx2_poll()
3539 bnapi->last_status_idx = sblk->status_idx; in bnx2_poll()
3545 if (likely(!bnx2_has_work(bnapi))) { in bnx2_poll()
3550 bnapi->last_status_idx); in bnx2_poll()
3556 bnapi->last_status_idx); in bnx2_poll()
3560 bnapi->last_status_idx); in bnx2_poll()
5110 struct bnx2_napi *bnapi; in bnx2_clear_ring_states() local
5116 bnapi = &bp->bnx2_napi[i]; in bnx2_clear_ring_states()
5117 txr = &bnapi->tx_ring; in bnx2_clear_ring_states()
5118 rxr = &bnapi->rx_ring; in bnx2_clear_ring_states()
5165 struct bnx2_napi *bnapi; in bnx2_init_tx_ring() local
5168 bnapi = &bp->bnx2_napi[ring_num]; in bnx2_init_tx_ring()
5169 txr = &bnapi->tx_ring; in bnx2_init_tx_ring()
5222 struct bnx2_napi *bnapi = &bp->bnx2_napi[ring_num]; in bnx2_init_rx_ring() local
5223 struct bnx2_rx_ring_info *rxr = &bnapi->rx_ring; in bnx2_init_rx_ring()
5416 struct bnx2_napi *bnapi = &bp->bnx2_napi[i]; in bnx2_free_tx_skbs() local
5417 struct bnx2_tx_ring_info *txr = &bnapi->tx_ring; in bnx2_free_tx_skbs()
5461 struct bnx2_napi *bnapi = &bp->bnx2_napi[i]; in bnx2_free_rx_skbs() local
5462 struct bnx2_rx_ring_info *rxr = &bnapi->rx_ring; in bnx2_free_rx_skbs()
5797 struct bnx2_napi *bnapi = &bp->bnx2_napi[0], *tx_napi; in bnx2_run_loopback() local
5801 tx_napi = bnapi; in bnx2_run_loopback()
5804 rxr = &bnapi->rx_ring; in bnx2_run_loopback()
5842 rx_start_idx = bnx2_get_hw_rx_cons(bnapi); in bnx2_run_loopback()
5875 rx_idx = bnx2_get_hw_rx_cons(bnapi); in bnx2_run_loopback()
6582 struct bnx2_napi *bnapi; in bnx2_start_xmit() local
6588 bnapi = &bp->bnx2_napi[i]; in bnx2_start_xmit()
6589 txr = &bnapi->tx_ring; in bnx2_start_xmit()
8489 struct bnx2_napi *bnapi = &bp->bnx2_napi[i]; in bnx2_init_napi() local
8498 bnapi->bp = bp; in bnx2_init_napi()