Lines Matching refs:bna
25 if (ethport->bna->enet.type == BNA_ENET_T_REGULAR) in ethport_can_be_up()
73 stats_src = (u64 *)&bna->stats.hw_stats_kva->_name ## _stats; \
74 stats_dst = (u64 *)&bna->stats.hw_stats._name ## _stats; \
127 ethport->link_cbfn(ethport->bna->bnad, BNA_LINK_DOWN); in bna_bfi_ethport_admin_rsp()
187 bna_bfi_stats_get_rsp(struct bna *bna, struct bfi_msgq_mhdr *msghdr) in bna_bfi_stats_get_rsp() argument
189 struct bfi_enet_stats_req *stats_req = &bna->stats_mod.stats_get; in bna_bfi_stats_get_rsp()
204 stats_src = (u64 *)&(bna->stats.hw_stats_kva->rxf_stats[0]); in bna_bfi_stats_get_rsp()
208 stats_dst = (u64 *)&(bna->stats.hw_stats.rxf_stats[i]); in bna_bfi_stats_get_rsp()
223 stats_dst = (u64 *)&(bna->stats.hw_stats.txf_stats[i]); in bna_bfi_stats_get_rsp()
236 bna->stats_mod.stats_get_busy = false; in bna_bfi_stats_get_rsp()
237 bnad_cb_stats_get(bna->bnad, BNA_CB_SUCCESS, &bna->stats); in bna_bfi_stats_get_rsp()
247 ethport->link_cbfn(ethport->bna->bnad, ethport->link_status); in bna_bfi_ethport_linkup_aen()
257 ethport->link_cbfn(ethport->bna->bnad, BNA_LINK_DOWN); in bna_bfi_ethport_linkdown_aen()
261 bna_err_handler(struct bna *bna, u32 intr_status) in bna_err_handler() argument
263 if (BNA_IS_HALT_INTR(bna, intr_status)) in bna_err_handler()
264 bna_halt_clear(bna); in bna_err_handler()
266 bfa_nw_ioc_error_isr(&bna->ioceth.ioc); in bna_err_handler()
270 bna_mbox_handler(struct bna *bna, u32 intr_status) in bna_mbox_handler() argument
272 if (BNA_IS_ERR_INTR(bna, intr_status)) { in bna_mbox_handler()
273 bna_err_handler(bna, intr_status); in bna_mbox_handler()
276 if (BNA_IS_MBOX_INTR(bna, intr_status)) in bna_mbox_handler()
277 bfa_nw_ioc_mbox_isr(&bna->ioceth.ioc); in bna_mbox_handler()
283 struct bna *bna = (struct bna *)arg; in bna_msgq_rsp_handler() local
289 bna_rx_from_rid(bna, msghdr->enet_id, rx); in bna_msgq_rsp_handler()
295 bna_rx_from_rid(bna, msghdr->enet_id, rx); in bna_msgq_rsp_handler()
312 bna_rx_from_rid(bna, msghdr->enet_id, rx); in bna_msgq_rsp_handler()
318 bna_rx_from_rid(bna, msghdr->enet_id, rx); in bna_msgq_rsp_handler()
324 bna_rx_from_rid(bna, msghdr->enet_id, rx); in bna_msgq_rsp_handler()
330 bna_tx_from_rid(bna, msghdr->enet_id, tx); in bna_msgq_rsp_handler()
336 bna_tx_from_rid(bna, msghdr->enet_id, tx); in bna_msgq_rsp_handler()
342 bna_bfi_ethport_admin_rsp(&bna->ethport, msghdr); in bna_msgq_rsp_handler()
346 bna_bfi_ethport_lpbk_rsp(&bna->ethport, msghdr); in bna_msgq_rsp_handler()
350 bna_bfi_pause_set_rsp(&bna->enet, msghdr); in bna_msgq_rsp_handler()
354 bna_bfi_attr_get_rsp(&bna->ioceth, msghdr); in bna_msgq_rsp_handler()
358 bna_bfi_stats_get_rsp(bna, msghdr); in bna_msgq_rsp_handler()
366 bna_bfi_ethport_linkup_aen(&bna->ethport, msghdr); in bna_msgq_rsp_handler()
370 bna_bfi_ethport_linkdown_aen(&bna->ethport, msghdr); in bna_msgq_rsp_handler()
374 bna_bfi_ethport_enable_aen(&bna->ethport, msghdr); in bna_msgq_rsp_handler()
378 bna_bfi_ethport_disable_aen(&bna->ethport, msghdr); in bna_msgq_rsp_handler()
382 bna_bfi_bw_update_aen(&bna->tx_mod); in bna_msgq_rsp_handler()
398 cbfn(&(_ethport)->bna->enet); \
408 cbfn((ethport)->bna->bnad, status); \
426 bfa_msgq_cmd_post(ðport->bna->msgq, ðport->msgq_cmd); in bna_bfi_ethport_admin_up()
443 bfa_msgq_cmd_post(ðport->bna->msgq, ðport->msgq_cmd); in bna_bfi_ethport_admin_down()
456 lpbk_up_req->mode = (ethport->bna->enet.type == in bna_bfi_ethport_lpbk_up()
464 bfa_msgq_cmd_post(ðport->bna->msgq, ðport->msgq_cmd); in bna_bfi_ethport_lpbk_up()
481 bfa_msgq_cmd_post(ðport->bna->msgq, ðport->msgq_cmd); in bna_bfi_ethport_lpbk_down()
487 if (ethport->bna->enet.type == BNA_ENET_T_REGULAR) in bna_bfi_ethport_up()
496 if (ethport->bna->enet.type == BNA_ENET_T_REGULAR) in bna_bfi_ethport_down()
729 bna_ethport_init(struct bna_ethport *ethport, struct bna *bna) in bna_ethport_init() argument
732 ethport->bna = bna; in bna_ethport_init()
751 ethport->bna = NULL; in bna_ethport_uninit()
781 ethport->link_cbfn(ethport->bna->bnad, BNA_LINK_DOWN); in bna_ethport_fail()
825 bna_ethport_start(&(enet)->bna->ethport); \
826 bna_tx_mod_start(&(enet)->bna->tx_mod, tx_type); \
827 bna_rx_mod_start(&(enet)->bna->rx_mod, rx_type); \
840 bna_ethport_stop(&(enet)->bna->ethport); \
842 bna_tx_mod_stop(&(enet)->bna->tx_mod, tx_type); \
844 bna_rx_mod_stop(&(enet)->bna->rx_mod, rx_type); \
850 bna_ethport_fail(&(enet)->bna->ethport); \
851 bna_tx_mod_fail(&(enet)->bna->tx_mod); \
852 bna_rx_mod_fail(&(enet)->bna->rx_mod); \
860 bna_rx_mod_start(&(enet)->bna->rx_mod, rx_type); \
870 bna_rx_mod_stop(&(enet)->bna->rx_mod, rx_type); \
893 cbfn((enet)->bna->bnad); \
903 cbfn((enet)->bna->bnad); \
1192 bfa_msgq_cmd_post(&enet->bna->msgq, &enet->msgq_cmd); in bna_bfi_pause_set()
1204 bna_enet_init(struct bna_enet *enet, struct bna *bna) in bna_enet_init() argument
1206 enet->bna = bna; in bna_enet_init()
1226 enet->bna = NULL; in bna_enet_uninit()
1249 enet->stop_cbarg = &enet->bna->ioceth; in bna_enet_stop()
1297 (*cbfn)(enet->bna->bnad); in bna_enet_disable()
1302 enet->stop_cbarg = enet->bna->bnad; in bna_enet_disable()
1335 *mac = bfa_nw_ioc_get_mac(&enet->bna->ioceth.ioc); in bna_enet_perm_mac_get()
1343 bna_intr_status_get((_ioceth)->bna, intr_status); \
1344 bnad_cb_mbox_intr_enable((_ioceth)->bna->bnad); \
1345 bna_mbox_intr_enable((_ioceth)->bna); \
1350 bna_mbox_intr_disable((_ioceth)->bna); \
1351 bnad_cb_mbox_intr_disable((_ioceth)->bna->bnad); \
1510 bna_enet_start(&ioceth->bna->enet); in bna_ioceth_sm_ready_entry()
1511 bna_stats_mod_start(&ioceth->bna->stats_mod); in bna_ioceth_sm_ready_entry()
1512 bnad_cb_ioceth_ready(ioceth->bna->bnad); in bna_ioceth_sm_ready_entry()
1525 bna_enet_fail(&ioceth->bna->enet); in bna_ioceth_sm_ready()
1526 bna_stats_mod_fail(&ioceth->bna->stats_mod); in bna_ioceth_sm_ready()
1564 bna_stats_mod_stop(&ioceth->bna->stats_mod); in bna_ioceth_sm_enet_stop_wait_entry()
1565 bna_enet_stop(&ioceth->bna->enet); in bna_ioceth_sm_enet_stop_wait_entry()
1576 bna_enet_fail(&ioceth->bna->enet); in bna_ioceth_sm_enet_stop_wait()
1577 bna_stats_mod_fail(&ioceth->bna->stats_mod); in bna_ioceth_sm_enet_stop_wait()
1619 bnad_cb_ioceth_failed(ioceth->bna->bnad); in bna_ioceth_sm_failed_entry()
1656 bfa_msgq_cmd_post(&ioceth->bna->msgq, &ioceth->msgq_cmd); in bna_bfi_attr_get()
1714 bna_ioceth_init(struct bna_ioceth *ioceth, struct bna *bna, in bna_ioceth_init() argument
1720 ioceth->bna = bna; in bna_ioceth_init()
1728 bfa_nw_ioc_pci_init(&ioceth->ioc, &bna->pcidev, BFI_PCIFN_CLASS_ETH); in bna_ioceth_init()
1745 bfa_nw_cee_attach(&bna->cee, &ioceth->ioc, bna); in bna_ioceth_init()
1746 bfa_nw_cee_mem_claim(&bna->cee, kva, dma); in bna_ioceth_init()
1750 bfa_nw_flash_attach(&bna->flash, &ioceth->ioc, bna); in bna_ioceth_init()
1751 bfa_nw_flash_memclaim(&bna->flash, kva, dma); in bna_ioceth_init()
1755 bfa_msgq_attach(&bna->msgq, &ioceth->ioc); in bna_ioceth_init()
1756 bfa_msgq_memclaim(&bna->msgq, kva, dma); in bna_ioceth_init()
1757 bfa_msgq_regisr(&bna->msgq, BFI_MC_ENET, bna_msgq_rsp_handler, bna); in bna_ioceth_init()
1774 ioceth->bna = NULL; in bna_ioceth_uninit()
1781 bnad_cb_ioceth_ready(ioceth->bna->bnad); in bna_ioceth_enable()
1793 bnad_cb_ioceth_disabled(ioceth->bna->bnad); in bna_ioceth_disable()
1798 ioceth->stop_cbarg = ioceth->bna->bnad; in bna_ioceth_disable()
1804 bna_ucam_mod_init(struct bna_ucam_mod *ucam_mod, struct bna *bna, in bna_ucam_mod_init() argument
1813 for (i = 0; i < bna->ioceth.attr.num_ucmac; i++) { in bna_ucam_mod_init()
1820 for (i = i; i < (bna->ioceth.attr.num_ucmac * 2); i++) { in bna_ucam_mod_init()
1825 ucam_mod->bna = bna; in bna_ucam_mod_init()
1842 ucam_mod->bna = NULL; in bna_ucam_mod_uninit()
1846 bna_mcam_mod_init(struct bna_mcam_mod *mcam_mod, struct bna *bna, in bna_mcam_mod_init() argument
1855 for (i = 0; i < bna->ioceth.attr.num_mcmac; i++) { in bna_mcam_mod_init()
1864 for (i = 0; i < bna->ioceth.attr.num_mcmac; i++) { in bna_mcam_mod_init()
1872 for (i = i; i < (bna->ioceth.attr.num_mcmac * 2); i++) { in bna_mcam_mod_init()
1877 mcam_mod->bna = bna; in bna_mcam_mod_init()
1895 mcam_mod->bna = NULL; in bna_mcam_mod_uninit()
1899 bna_bfi_stats_get(struct bna *bna) in bna_bfi_stats_get() argument
1901 struct bfi_enet_stats_req *stats_req = &bna->stats_mod.stats_get; in bna_bfi_stats_get()
1903 bna->stats_mod.stats_get_busy = true; in bna_bfi_stats_get()
1910 stats_req->tx_enet_mask = htonl(bna->tx_mod.rid_mask); in bna_bfi_stats_get()
1911 stats_req->rx_enet_mask = htonl(bna->rx_mod.rid_mask); in bna_bfi_stats_get()
1912 stats_req->host_buffer.a32.addr_hi = bna->stats.hw_stats_dma.msb; in bna_bfi_stats_get()
1913 stats_req->host_buffer.a32.addr_lo = bna->stats.hw_stats_dma.lsb; in bna_bfi_stats_get()
1915 bfa_msgq_cmd_set(&bna->stats_mod.stats_get_cmd, NULL, NULL, in bna_bfi_stats_get()
1917 bfa_msgq_cmd_post(&bna->msgq, &bna->stats_mod.stats_get_cmd); in bna_bfi_stats_get()
1955 bna_mod_res_req(struct bna *bna, struct bna_res_info *res_info) in bna_mod_res_req() argument
1957 struct bna_attr *attr = &bna->ioceth.attr; in bna_mod_res_req()
2025 bna_init(struct bna *bna, struct bnad *bnad, in bna_init() argument
2028 bna->bnad = bnad; in bna_init()
2029 bna->pcidev = *pcidev; in bna_init()
2031 bna->stats.hw_stats_kva = (struct bfi_enet_stats *) in bna_init()
2033 bna->stats.hw_stats_dma.msb = in bna_init()
2035 bna->stats.hw_stats_dma.lsb = in bna_init()
2038 bna_reg_addr_init(bna, &bna->pcidev); in bna_init()
2041 bna_ioceth_init(&bna->ioceth, bna, res_info); in bna_init()
2043 bna_enet_init(&bna->enet, bna); in bna_init()
2044 bna_ethport_init(&bna->ethport, bna); in bna_init()
2048 bna_mod_init(struct bna *bna, struct bna_res_info *res_info) in bna_mod_init() argument
2050 bna_tx_mod_init(&bna->tx_mod, bna, res_info); in bna_mod_init()
2052 bna_rx_mod_init(&bna->rx_mod, bna, res_info); in bna_mod_init()
2054 bna_ucam_mod_init(&bna->ucam_mod, bna, res_info); in bna_mod_init()
2056 bna_mcam_mod_init(&bna->mcam_mod, bna, res_info); in bna_mod_init()
2058 bna->default_mode_rid = BFI_INVALID_RID; in bna_mod_init()
2059 bna->promisc_rid = BFI_INVALID_RID; in bna_mod_init()
2061 bna->mod_flags |= BNA_MOD_F_INIT_DONE; in bna_mod_init()
2065 bna_uninit(struct bna *bna) in bna_uninit() argument
2067 if (bna->mod_flags & BNA_MOD_F_INIT_DONE) { in bna_uninit()
2068 bna_mcam_mod_uninit(&bna->mcam_mod); in bna_uninit()
2069 bna_ucam_mod_uninit(&bna->ucam_mod); in bna_uninit()
2070 bna_rx_mod_uninit(&bna->rx_mod); in bna_uninit()
2071 bna_tx_mod_uninit(&bna->tx_mod); in bna_uninit()
2072 bna->mod_flags &= ~BNA_MOD_F_INIT_DONE; in bna_uninit()
2075 bna_stats_mod_uninit(&bna->stats_mod); in bna_uninit()
2076 bna_ethport_uninit(&bna->ethport); in bna_uninit()
2077 bna_enet_uninit(&bna->enet); in bna_uninit()
2079 bna_ioceth_uninit(&bna->ioceth); in bna_uninit()
2081 bna->bnad = NULL; in bna_uninit()
2085 bna_num_txq_set(struct bna *bna, int num_txq) in bna_num_txq_set() argument
2087 if (bna->ioceth.attr.fw_query_complete && in bna_num_txq_set()
2088 (num_txq <= bna->ioceth.attr.num_txq)) { in bna_num_txq_set()
2089 bna->ioceth.attr.num_txq = num_txq; in bna_num_txq_set()
2097 bna_num_rxp_set(struct bna *bna, int num_rxp) in bna_num_rxp_set() argument
2099 if (bna->ioceth.attr.fw_query_complete && in bna_num_rxp_set()
2100 (num_rxp <= bna->ioceth.attr.num_rxp)) { in bna_num_rxp_set()
2101 bna->ioceth.attr.num_rxp = num_rxp; in bna_num_rxp_set()
2147 bna_hw_stats_get(struct bna *bna) in bna_hw_stats_get() argument
2149 if (!bna->stats_mod.ioc_ready) { in bna_hw_stats_get()
2150 bnad_cb_stats_get(bna->bnad, BNA_CB_FAIL, &bna->stats); in bna_hw_stats_get()
2153 if (bna->stats_mod.stats_get_busy) { in bna_hw_stats_get()
2154 bnad_cb_stats_get(bna->bnad, BNA_CB_BUSY, &bna->stats); in bna_hw_stats_get()
2158 bna_bfi_stats_get(bna); in bna_hw_stats_get()