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()
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()
3129 bnx2_get_hw_rx_cons(struct bnx2_napi *bnapi) in bnx2_get_hw_rx_cons() argument
3133 cons = READ_ONCE(*bnapi->hw_rx_cons_ptr); in bnx2_get_hw_rx_cons()
3141 bnx2_rx_int(struct bnx2 *bp, struct bnx2_napi *bnapi, int budget) in bnx2_rx_int() argument
3143 struct bnx2_rx_ring_info *rxr = &bnapi->rx_ring; in bnx2_rx_int()
3151 hw_cons = bnx2_get_hw_rx_cons(bnapi); in bnx2_rx_int()
3274 skb_record_rx_queue(skb, bnapi - &bp->bnx2_napi[0]); in bnx2_rx_int()
3275 napi_gro_receive(&bnapi->napi, skb); in bnx2_rx_int()
3287 hw_cons = bnx2_get_hw_rx_cons(bnapi); in bnx2_rx_int()
3311 struct bnx2_napi *bnapi = dev_instance; in bnx2_msi() local
3312 struct bnx2 *bp = bnapi->bp; in bnx2_msi()
3314 prefetch(bnapi->status_blk.msi); in bnx2_msi()
3323 napi_schedule(&bnapi->napi); in bnx2_msi()
3331 struct bnx2_napi *bnapi = dev_instance; in bnx2_msi_1shot() local
3332 struct bnx2 *bp = bnapi->bp; in bnx2_msi_1shot()
3334 prefetch(bnapi->status_blk.msi); in bnx2_msi_1shot()
3340 napi_schedule(&bnapi->napi); in bnx2_msi_1shot()
3348 struct bnx2_napi *bnapi = dev_instance; in bnx2_interrupt() local
3349 struct bnx2 *bp = bnapi->bp; in bnx2_interrupt()
3350 struct status_block *sblk = bnapi->status_blk.msi; in bnx2_interrupt()
3358 if ((sblk->status_idx == bnapi->last_status_idx) && in bnx2_interrupt()
3376 if (napi_schedule_prep(&bnapi->napi)) { in bnx2_interrupt()
3377 bnapi->last_status_idx = sblk->status_idx; in bnx2_interrupt()
3378 __napi_schedule(&bnapi->napi); in bnx2_interrupt()
3385 bnx2_has_fast_work(struct bnx2_napi *bnapi) in bnx2_has_fast_work() argument
3387 struct bnx2_tx_ring_info *txr = &bnapi->tx_ring; in bnx2_has_fast_work()
3388 struct bnx2_rx_ring_info *rxr = &bnapi->rx_ring; in bnx2_has_fast_work()
3390 if ((bnx2_get_hw_rx_cons(bnapi) != rxr->rx_cons) || in bnx2_has_fast_work()
3391 (bnx2_get_hw_tx_cons(bnapi) != txr->hw_tx_cons)) in bnx2_has_fast_work()
3400 bnx2_has_work(struct bnx2_napi *bnapi) in bnx2_has_work() argument
3402 struct status_block *sblk = bnapi->status_blk.msi; in bnx2_has_work()
3404 if (bnx2_has_fast_work(bnapi)) in bnx2_has_work()
3408 if (bnapi->cnic_present && (bnapi->cnic_tag != sblk->status_idx)) in bnx2_has_work()
3422 struct bnx2_napi *bnapi = &bp->bnx2_napi[0]; in bnx2_chk_missed_msi() local
3425 if (bnx2_has_work(bnapi)) { in bnx2_chk_missed_msi()
3430 if (bnapi->last_status_idx == bp->idle_chk_status_idx) { in bnx2_chk_missed_msi()
3434 bnx2_msi(bp->irq_tbl[0].vector, bnapi); in bnx2_chk_missed_msi()
3438 bp->idle_chk_status_idx = bnapi->last_status_idx; in bnx2_chk_missed_msi()
3442 static void bnx2_poll_cnic(struct bnx2 *bp, struct bnx2_napi *bnapi) in bnx2_poll_cnic() argument
3446 if (!bnapi->cnic_present) in bnx2_poll_cnic()
3452 bnapi->cnic_tag = c_ops->cnic_handler(bp->cnic_data, in bnx2_poll_cnic()
3453 bnapi->status_blk.msi); in bnx2_poll_cnic()
3458 static void bnx2_poll_link(struct bnx2 *bp, struct bnx2_napi *bnapi) in bnx2_poll_link() argument
3460 struct status_block *sblk = bnapi->status_blk.msi; in bnx2_poll_link()
3467 bnx2_phy_int(bp, bnapi); in bnx2_poll_link()
3478 static int bnx2_poll_work(struct bnx2 *bp, struct bnx2_napi *bnapi, in bnx2_poll_work() argument
3481 struct bnx2_tx_ring_info *txr = &bnapi->tx_ring; in bnx2_poll_work()
3482 struct bnx2_rx_ring_info *rxr = &bnapi->rx_ring; in bnx2_poll_work()
3484 if (bnx2_get_hw_tx_cons(bnapi) != txr->hw_tx_cons) in bnx2_poll_work()
3485 bnx2_tx_int(bp, bnapi, 0); in bnx2_poll_work()
3487 if (bnx2_get_hw_rx_cons(bnapi) != rxr->rx_cons) in bnx2_poll_work()
3488 work_done += bnx2_rx_int(bp, bnapi, budget - work_done); in bnx2_poll_work()
3495 struct bnx2_napi *bnapi = container_of(napi, struct bnx2_napi, napi); in bnx2_poll_msix() local
3496 struct bnx2 *bp = bnapi->bp; in bnx2_poll_msix()
3498 struct status_block_msix *sblk = bnapi->status_blk.msix; in bnx2_poll_msix()
3501 work_done = bnx2_poll_work(bp, bnapi, work_done, budget); in bnx2_poll_msix()
3505 bnapi->last_status_idx = sblk->status_idx; in bnx2_poll_msix()
3508 if (likely(!bnx2_has_fast_work(bnapi))) { in bnx2_poll_msix()
3511 BNX2_WR(bp, BNX2_PCICFG_INT_ACK_CMD, bnapi->int_num | in bnx2_poll_msix()
3513 bnapi->last_status_idx); in bnx2_poll_msix()
3522 struct bnx2_napi *bnapi = container_of(napi, struct bnx2_napi, napi); in bnx2_poll() local
3523 struct bnx2 *bp = bnapi->bp; in bnx2_poll()
3525 struct status_block *sblk = bnapi->status_blk.msi; in bnx2_poll()
3528 bnx2_poll_link(bp, bnapi); in bnx2_poll()
3530 work_done = bnx2_poll_work(bp, bnapi, work_done, budget); in bnx2_poll()
3533 bnx2_poll_cnic(bp, bnapi); in bnx2_poll()
3540 bnapi->last_status_idx = sblk->status_idx; in bnx2_poll()
3546 if (likely(!bnx2_has_work(bnapi))) { in bnx2_poll()
3551 bnapi->last_status_idx); in bnx2_poll()
3557 bnapi->last_status_idx); in bnx2_poll()
3561 bnapi->last_status_idx); in bnx2_poll()
5111 struct bnx2_napi *bnapi; in bnx2_clear_ring_states() local
5117 bnapi = &bp->bnx2_napi[i]; in bnx2_clear_ring_states()
5118 txr = &bnapi->tx_ring; in bnx2_clear_ring_states()
5119 rxr = &bnapi->rx_ring; in bnx2_clear_ring_states()
5166 struct bnx2_napi *bnapi; in bnx2_init_tx_ring() local
5169 bnapi = &bp->bnx2_napi[ring_num]; in bnx2_init_tx_ring()
5170 txr = &bnapi->tx_ring; in bnx2_init_tx_ring()
5223 struct bnx2_napi *bnapi = &bp->bnx2_napi[ring_num]; in bnx2_init_rx_ring() local
5224 struct bnx2_rx_ring_info *rxr = &bnapi->rx_ring; in bnx2_init_rx_ring()
5417 struct bnx2_napi *bnapi = &bp->bnx2_napi[i]; in bnx2_free_tx_skbs() local
5418 struct bnx2_tx_ring_info *txr = &bnapi->tx_ring; in bnx2_free_tx_skbs()
5462 struct bnx2_napi *bnapi = &bp->bnx2_napi[i]; in bnx2_free_rx_skbs() local
5463 struct bnx2_rx_ring_info *rxr = &bnapi->rx_ring; in bnx2_free_rx_skbs()
5798 struct bnx2_napi *bnapi = &bp->bnx2_napi[0], *tx_napi; in bnx2_run_loopback() local
5802 tx_napi = bnapi; in bnx2_run_loopback()
5805 rxr = &bnapi->rx_ring; in bnx2_run_loopback()
5843 rx_start_idx = bnx2_get_hw_rx_cons(bnapi); in bnx2_run_loopback()
5876 rx_idx = bnx2_get_hw_rx_cons(bnapi); in bnx2_run_loopback()
6583 struct bnx2_napi *bnapi; in bnx2_start_xmit() local
6589 bnapi = &bp->bnx2_napi[i]; in bnx2_start_xmit()
6590 txr = &bnapi->tx_ring; in bnx2_start_xmit()
8490 struct bnx2_napi *bnapi = &bp->bnx2_napi[i]; in bnx2_init_napi() local
8499 bnapi->bp = bp; in bnx2_init_napi()