Lines Matching refs:bnapi
354 struct bnx2_napi *bnapi = &bp->bnx2_napi[0]; in bnx2_setup_cnic_irq_info() local
359 bnapi->cnic_present = 0; in bnx2_setup_cnic_irq_info()
364 bnapi->cnic_tag = bnapi->last_status_idx; in bnx2_setup_cnic_irq_info()
365 bnapi->cnic_present = 1; in bnx2_setup_cnic_irq_info()
372 ((unsigned long) bnapi->status_blk.msi + in bnx2_setup_cnic_irq_info()
407 struct bnx2_napi *bnapi = &bp->bnx2_napi[0]; in bnx2_unregister_cnic() local
412 bnapi->cnic_present = 0; in bnx2_unregister_cnic()
465 struct bnx2_napi *bnapi = &bp->bnx2_napi[0]; in bnx2_cnic_start() local
467 bnapi->cnic_tag = bnapi->last_status_idx; in bnx2_cnic_start()
599 struct bnx2_napi *bnapi; in bnx2_disable_int() local
602 bnapi = &bp->bnx2_napi[i]; in bnx2_disable_int()
603 BNX2_WR(bp, BNX2_PCICFG_INT_ACK_CMD, bnapi->int_num | in bnx2_disable_int()
613 struct bnx2_napi *bnapi; in bnx2_enable_int() local
616 bnapi = &bp->bnx2_napi[i]; in bnx2_enable_int()
618 BNX2_WR(bp, BNX2_PCICFG_INT_ACK_CMD, bnapi->int_num | in bnx2_enable_int()
621 bnapi->last_status_idx); in bnx2_enable_int()
623 BNX2_WR(bp, BNX2_PCICFG_INT_ACK_CMD, bnapi->int_num | in bnx2_enable_int()
625 bnapi->last_status_idx); in bnx2_enable_int()
699 struct bnx2_napi *bnapi = &bp->bnx2_napi[i]; in bnx2_free_tx_mem() local
700 struct bnx2_tx_ring_info *txr = &bnapi->tx_ring; in bnx2_free_tx_mem()
719 struct bnx2_napi *bnapi = &bp->bnx2_napi[i]; in bnx2_free_rx_mem() local
720 struct bnx2_rx_ring_info *rxr = &bnapi->rx_ring; in bnx2_free_rx_mem()
751 struct bnx2_napi *bnapi = &bp->bnx2_napi[i]; in bnx2_alloc_tx_mem() local
752 struct bnx2_tx_ring_info *txr = &bnapi->tx_ring; in bnx2_alloc_tx_mem()
773 struct bnx2_napi *bnapi = &bp->bnx2_napi[i]; in bnx2_alloc_rx_mem() local
774 struct bnx2_rx_ring_info *rxr = &bnapi->rx_ring; in bnx2_alloc_rx_mem()
859 struct bnx2_napi *bnapi = &bp->bnx2_napi[0]; in bnx2_free_mem() local
873 if (bnapi->status_blk.msi) in bnx2_free_mem()
874 bnapi->status_blk.msi = NULL; in bnx2_free_mem()
881 struct bnx2_napi *bnapi; in bnx2_alloc_mem() local
883 bnapi = &bp->bnx2_napi[0]; in bnx2_alloc_mem()
884 bnapi->status_blk.msi = bp->status_blk; in bnx2_alloc_mem()
885 bnapi->hw_tx_cons_ptr = in bnx2_alloc_mem()
886 &bnapi->status_blk.msi->status_tx_quick_consumer_index0; in bnx2_alloc_mem()
887 bnapi->hw_rx_cons_ptr = in bnx2_alloc_mem()
888 &bnapi->status_blk.msi->status_rx_quick_consumer_index0; in bnx2_alloc_mem()
893 bnapi = &bp->bnx2_napi[i]; in bnx2_alloc_mem()
896 bnapi->status_blk.msix = sblk; in bnx2_alloc_mem()
897 bnapi->hw_tx_cons_ptr = in bnx2_alloc_mem()
899 bnapi->hw_rx_cons_ptr = in bnx2_alloc_mem()
901 bnapi->int_num = i << 24; in bnx2_alloc_mem()
2798 bnx2_phy_event_is_set(struct bnx2 *bp, struct bnx2_napi *bnapi, u32 event) in bnx2_phy_event_is_set() argument
2800 struct status_block *sblk = bnapi->status_blk.msi; in bnx2_phy_event_is_set()
2818 bnx2_phy_int(struct bnx2 *bp, struct bnx2_napi *bnapi) in bnx2_phy_int() argument
2822 if (bnx2_phy_event_is_set(bp, bnapi, STATUS_ATTN_BITS_LINK_STATE)) in bnx2_phy_int()
2824 if (bnx2_phy_event_is_set(bp, bnapi, STATUS_ATTN_BITS_TIMER_ABORT)) in bnx2_phy_int()
2832 bnx2_get_hw_tx_cons(struct bnx2_napi *bnapi) in bnx2_get_hw_tx_cons() argument
2838 cons = *bnapi->hw_tx_cons_ptr; in bnx2_get_hw_tx_cons()
2846 bnx2_tx_int(struct bnx2 *bp, struct bnx2_napi *bnapi, int budget) in bnx2_tx_int() argument
2848 struct bnx2_tx_ring_info *txr = &bnapi->tx_ring; in bnx2_tx_int()
2854 index = (bnapi - bp->bnx2_napi); in bnx2_tx_int()
2857 hw_cons = bnx2_get_hw_tx_cons(bnapi); in bnx2_tx_int()
2914 hw_cons = bnx2_get_hw_tx_cons(bnapi); in bnx2_tx_int()
3134 bnx2_get_hw_rx_cons(struct bnx2_napi *bnapi) in bnx2_get_hw_rx_cons() argument
3140 cons = *bnapi->hw_rx_cons_ptr; in bnx2_get_hw_rx_cons()
3148 bnx2_rx_int(struct bnx2 *bp, struct bnx2_napi *bnapi, int budget) in bnx2_rx_int() argument
3150 struct bnx2_rx_ring_info *rxr = &bnapi->rx_ring; in bnx2_rx_int()
3158 hw_cons = bnx2_get_hw_rx_cons(bnapi); in bnx2_rx_int()
3281 skb_record_rx_queue(skb, bnapi - &bp->bnx2_napi[0]); in bnx2_rx_int()
3282 napi_gro_receive(&bnapi->napi, skb); in bnx2_rx_int()
3294 hw_cons = bnx2_get_hw_rx_cons(bnapi); in bnx2_rx_int()
3320 struct bnx2_napi *bnapi = dev_instance; in bnx2_msi() local
3321 struct bnx2 *bp = bnapi->bp; in bnx2_msi()
3323 prefetch(bnapi->status_blk.msi); in bnx2_msi()
3332 napi_schedule(&bnapi->napi); in bnx2_msi()
3340 struct bnx2_napi *bnapi = dev_instance; in bnx2_msi_1shot() local
3341 struct bnx2 *bp = bnapi->bp; in bnx2_msi_1shot()
3343 prefetch(bnapi->status_blk.msi); in bnx2_msi_1shot()
3349 napi_schedule(&bnapi->napi); in bnx2_msi_1shot()
3357 struct bnx2_napi *bnapi = dev_instance; in bnx2_interrupt() local
3358 struct bnx2 *bp = bnapi->bp; in bnx2_interrupt()
3359 struct status_block *sblk = bnapi->status_blk.msi; in bnx2_interrupt()
3367 if ((sblk->status_idx == bnapi->last_status_idx) && in bnx2_interrupt()
3385 if (napi_schedule_prep(&bnapi->napi)) { in bnx2_interrupt()
3386 bnapi->last_status_idx = sblk->status_idx; in bnx2_interrupt()
3387 __napi_schedule(&bnapi->napi); in bnx2_interrupt()
3394 bnx2_has_fast_work(struct bnx2_napi *bnapi) in bnx2_has_fast_work() argument
3396 struct bnx2_tx_ring_info *txr = &bnapi->tx_ring; in bnx2_has_fast_work()
3397 struct bnx2_rx_ring_info *rxr = &bnapi->rx_ring; in bnx2_has_fast_work()
3399 if ((bnx2_get_hw_rx_cons(bnapi) != rxr->rx_cons) || in bnx2_has_fast_work()
3400 (bnx2_get_hw_tx_cons(bnapi) != txr->hw_tx_cons)) in bnx2_has_fast_work()
3409 bnx2_has_work(struct bnx2_napi *bnapi) in bnx2_has_work() argument
3411 struct status_block *sblk = bnapi->status_blk.msi; in bnx2_has_work()
3413 if (bnx2_has_fast_work(bnapi)) in bnx2_has_work()
3417 if (bnapi->cnic_present && (bnapi->cnic_tag != sblk->status_idx)) in bnx2_has_work()
3431 struct bnx2_napi *bnapi = &bp->bnx2_napi[0]; in bnx2_chk_missed_msi() local
3434 if (bnx2_has_work(bnapi)) { in bnx2_chk_missed_msi()
3439 if (bnapi->last_status_idx == bp->idle_chk_status_idx) { in bnx2_chk_missed_msi()
3443 bnx2_msi(bp->irq_tbl[0].vector, bnapi); in bnx2_chk_missed_msi()
3447 bp->idle_chk_status_idx = bnapi->last_status_idx; in bnx2_chk_missed_msi()
3451 static void bnx2_poll_cnic(struct bnx2 *bp, struct bnx2_napi *bnapi) in bnx2_poll_cnic() argument
3455 if (!bnapi->cnic_present) in bnx2_poll_cnic()
3461 bnapi->cnic_tag = c_ops->cnic_handler(bp->cnic_data, in bnx2_poll_cnic()
3462 bnapi->status_blk.msi); in bnx2_poll_cnic()
3467 static void bnx2_poll_link(struct bnx2 *bp, struct bnx2_napi *bnapi) in bnx2_poll_link() argument
3469 struct status_block *sblk = bnapi->status_blk.msi; in bnx2_poll_link()
3476 bnx2_phy_int(bp, bnapi); in bnx2_poll_link()
3487 static int bnx2_poll_work(struct bnx2 *bp, struct bnx2_napi *bnapi, in bnx2_poll_work() argument
3490 struct bnx2_tx_ring_info *txr = &bnapi->tx_ring; in bnx2_poll_work()
3491 struct bnx2_rx_ring_info *rxr = &bnapi->rx_ring; in bnx2_poll_work()
3493 if (bnx2_get_hw_tx_cons(bnapi) != txr->hw_tx_cons) in bnx2_poll_work()
3494 bnx2_tx_int(bp, bnapi, 0); in bnx2_poll_work()
3496 if (bnx2_get_hw_rx_cons(bnapi) != rxr->rx_cons) in bnx2_poll_work()
3497 work_done += bnx2_rx_int(bp, bnapi, budget - work_done); in bnx2_poll_work()
3504 struct bnx2_napi *bnapi = container_of(napi, struct bnx2_napi, napi); in bnx2_poll_msix() local
3505 struct bnx2 *bp = bnapi->bp; in bnx2_poll_msix()
3507 struct status_block_msix *sblk = bnapi->status_blk.msix; in bnx2_poll_msix()
3510 work_done = bnx2_poll_work(bp, bnapi, work_done, budget); in bnx2_poll_msix()
3514 bnapi->last_status_idx = sblk->status_idx; in bnx2_poll_msix()
3517 if (likely(!bnx2_has_fast_work(bnapi))) { in bnx2_poll_msix()
3520 BNX2_WR(bp, BNX2_PCICFG_INT_ACK_CMD, bnapi->int_num | in bnx2_poll_msix()
3522 bnapi->last_status_idx); in bnx2_poll_msix()
3531 struct bnx2_napi *bnapi = container_of(napi, struct bnx2_napi, napi); in bnx2_poll() local
3532 struct bnx2 *bp = bnapi->bp; in bnx2_poll()
3534 struct status_block *sblk = bnapi->status_blk.msi; in bnx2_poll()
3537 bnx2_poll_link(bp, bnapi); in bnx2_poll()
3539 work_done = bnx2_poll_work(bp, bnapi, work_done, budget); in bnx2_poll()
3542 bnx2_poll_cnic(bp, bnapi); in bnx2_poll()
3549 bnapi->last_status_idx = sblk->status_idx; in bnx2_poll()
3555 if (likely(!bnx2_has_work(bnapi))) { in bnx2_poll()
3560 bnapi->last_status_idx); in bnx2_poll()
3566 bnapi->last_status_idx); in bnx2_poll()
3570 bnapi->last_status_idx); in bnx2_poll()
5119 struct bnx2_napi *bnapi; in bnx2_clear_ring_states() local
5125 bnapi = &bp->bnx2_napi[i]; in bnx2_clear_ring_states()
5126 txr = &bnapi->tx_ring; in bnx2_clear_ring_states()
5127 rxr = &bnapi->rx_ring; in bnx2_clear_ring_states()
5174 struct bnx2_napi *bnapi; in bnx2_init_tx_ring() local
5177 bnapi = &bp->bnx2_napi[ring_num]; in bnx2_init_tx_ring()
5178 txr = &bnapi->tx_ring; in bnx2_init_tx_ring()
5231 struct bnx2_napi *bnapi = &bp->bnx2_napi[ring_num]; in bnx2_init_rx_ring() local
5232 struct bnx2_rx_ring_info *rxr = &bnapi->rx_ring; in bnx2_init_rx_ring()
5424 struct bnx2_napi *bnapi = &bp->bnx2_napi[i]; in bnx2_free_tx_skbs() local
5425 struct bnx2_tx_ring_info *txr = &bnapi->tx_ring; in bnx2_free_tx_skbs()
5469 struct bnx2_napi *bnapi = &bp->bnx2_napi[i]; in bnx2_free_rx_skbs() local
5470 struct bnx2_rx_ring_info *rxr = &bnapi->rx_ring; in bnx2_free_rx_skbs()
5805 struct bnx2_napi *bnapi = &bp->bnx2_napi[0], *tx_napi; in bnx2_run_loopback() local
5806 struct bnx2_tx_ring_info *txr = &bnapi->tx_ring; in bnx2_run_loopback()
5807 struct bnx2_rx_ring_info *rxr = &bnapi->rx_ring; in bnx2_run_loopback()
5809 tx_napi = bnapi; in bnx2_run_loopback()
5812 rxr = &bnapi->rx_ring; in bnx2_run_loopback()
5850 rx_start_idx = bnx2_get_hw_rx_cons(bnapi); in bnx2_run_loopback()
5883 rx_idx = bnx2_get_hw_rx_cons(bnapi); in bnx2_run_loopback()
6590 struct bnx2_napi *bnapi; in bnx2_start_xmit() local
6596 bnapi = &bp->bnx2_napi[i]; in bnx2_start_xmit()
6597 txr = &bnapi->tx_ring; in bnx2_start_xmit()
8519 struct bnx2_napi *bnapi = &bp->bnx2_napi[i]; in bnx2_init_napi() local
8528 bnapi->bp = bp; in bnx2_init_napi()