Lines Matching refs:ioceth

164 bna_bfi_attr_get_rsp(struct bna_ioceth *ioceth,  in bna_bfi_attr_get_rsp()  argument
174 if (!ioceth->attr.fw_query_complete) { in bna_bfi_attr_get_rsp()
175 ioceth->attr.num_txq = ntohl(rsp->max_cfg); in bna_bfi_attr_get_rsp()
176 ioceth->attr.num_rxp = ntohl(rsp->max_cfg); in bna_bfi_attr_get_rsp()
177 ioceth->attr.num_ucmac = ntohl(rsp->max_ucmac); in bna_bfi_attr_get_rsp()
178 ioceth->attr.num_mcmac = BFI_ENET_MAX_MCAM; in bna_bfi_attr_get_rsp()
179 ioceth->attr.max_rit_size = ntohl(rsp->rit_size); in bna_bfi_attr_get_rsp()
180 ioceth->attr.fw_query_complete = true; in bna_bfi_attr_get_rsp()
183 bfa_fsm_send_event(ioceth, IOCETH_E_ENET_ATTR_RESP); in bna_bfi_attr_get_rsp()
266 bfa_nw_ioc_error_isr(&bna->ioceth.ioc); in bna_err_handler()
277 bfa_nw_ioc_mbox_isr(&bna->ioceth.ioc); in bna_mbox_handler()
354 bna_bfi_attr_get_rsp(&bna->ioceth, msghdr); in bna_msgq_rsp_handler()
1240 struct bna_ioceth *ioceth = (struct bna_ioceth *)arg; in bna_ioceth_cb_enet_stopped() local
1242 bfa_fsm_send_event(ioceth, IOCETH_E_ENET_STOPPED); in bna_ioceth_cb_enet_stopped()
1249 enet->stop_cbarg = &enet->bna->ioceth; in bna_enet_stop()
1335 *mac = bfa_nw_ioc_get_mac(&enet->bna->ioceth.ioc); in bna_enet_perm_mac_get()
1388 static void bna_bfi_attr_get(struct bna_ioceth *ioceth);
1408 bna_ioceth_sm_stopped_entry(struct bna_ioceth *ioceth) in bna_ioceth_sm_stopped_entry() argument
1410 call_ioceth_stop_cbfn(ioceth); in bna_ioceth_sm_stopped_entry()
1414 bna_ioceth_sm_stopped(struct bna_ioceth *ioceth, in bna_ioceth_sm_stopped() argument
1419 bfa_fsm_set_state(ioceth, bna_ioceth_sm_ioc_ready_wait); in bna_ioceth_sm_stopped()
1420 bfa_nw_ioc_enable(&ioceth->ioc); in bna_ioceth_sm_stopped()
1424 bfa_fsm_set_state(ioceth, bna_ioceth_sm_stopped); in bna_ioceth_sm_stopped()
1428 enable_mbox_intr(ioceth); in bna_ioceth_sm_stopped()
1432 disable_mbox_intr(ioceth); in bna_ioceth_sm_stopped()
1433 bfa_fsm_set_state(ioceth, bna_ioceth_sm_failed); in bna_ioceth_sm_stopped()
1442 bna_ioceth_sm_ioc_ready_wait_entry(struct bna_ioceth *ioceth) in bna_ioceth_sm_ioc_ready_wait_entry() argument
1451 bna_ioceth_sm_ioc_ready_wait(struct bna_ioceth *ioceth, in bna_ioceth_sm_ioc_ready_wait() argument
1456 bfa_fsm_set_state(ioceth, bna_ioceth_sm_ioc_disable_wait); in bna_ioceth_sm_ioc_ready_wait()
1457 bfa_nw_ioc_disable(&ioceth->ioc); in bna_ioceth_sm_ioc_ready_wait()
1461 enable_mbox_intr(ioceth); in bna_ioceth_sm_ioc_ready_wait()
1465 disable_mbox_intr(ioceth); in bna_ioceth_sm_ioc_ready_wait()
1466 bfa_fsm_set_state(ioceth, bna_ioceth_sm_failed); in bna_ioceth_sm_ioc_ready_wait()
1470 bfa_fsm_set_state(ioceth, bna_ioceth_sm_enet_attr_wait); in bna_ioceth_sm_ioc_ready_wait()
1479 bna_ioceth_sm_enet_attr_wait_entry(struct bna_ioceth *ioceth) in bna_ioceth_sm_enet_attr_wait_entry() argument
1481 bna_bfi_attr_get(ioceth); in bna_ioceth_sm_enet_attr_wait_entry()
1485 bna_ioceth_sm_enet_attr_wait(struct bna_ioceth *ioceth, in bna_ioceth_sm_enet_attr_wait() argument
1490 bfa_fsm_set_state(ioceth, bna_ioceth_sm_last_resp_wait); in bna_ioceth_sm_enet_attr_wait()
1494 disable_mbox_intr(ioceth); in bna_ioceth_sm_enet_attr_wait()
1495 bfa_fsm_set_state(ioceth, bna_ioceth_sm_failed); in bna_ioceth_sm_enet_attr_wait()
1499 bfa_fsm_set_state(ioceth, bna_ioceth_sm_ready); in bna_ioceth_sm_enet_attr_wait()
1508 bna_ioceth_sm_ready_entry(struct bna_ioceth *ioceth) in bna_ioceth_sm_ready_entry() argument
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()
1516 bna_ioceth_sm_ready(struct bna_ioceth *ioceth, enum bna_ioceth_event event) in bna_ioceth_sm_ready() argument
1520 bfa_fsm_set_state(ioceth, bna_ioceth_sm_enet_stop_wait); in bna_ioceth_sm_ready()
1524 disable_mbox_intr(ioceth); in bna_ioceth_sm_ready()
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()
1527 bfa_fsm_set_state(ioceth, bna_ioceth_sm_failed); in bna_ioceth_sm_ready()
1536 bna_ioceth_sm_last_resp_wait_entry(struct bna_ioceth *ioceth) in bna_ioceth_sm_last_resp_wait_entry() argument
1541 bna_ioceth_sm_last_resp_wait(struct bna_ioceth *ioceth, in bna_ioceth_sm_last_resp_wait() argument
1546 bfa_fsm_set_state(ioceth, bna_ioceth_sm_ioc_disable_wait); in bna_ioceth_sm_last_resp_wait()
1547 disable_mbox_intr(ioceth); in bna_ioceth_sm_last_resp_wait()
1548 bfa_nw_ioc_disable(&ioceth->ioc); in bna_ioceth_sm_last_resp_wait()
1552 bfa_fsm_set_state(ioceth, bna_ioceth_sm_ioc_disable_wait); in bna_ioceth_sm_last_resp_wait()
1553 bfa_nw_ioc_disable(&ioceth->ioc); in bna_ioceth_sm_last_resp_wait()
1562 bna_ioceth_sm_enet_stop_wait_entry(struct bna_ioceth *ioceth) in bna_ioceth_sm_enet_stop_wait_entry() argument
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()
1569 bna_ioceth_sm_enet_stop_wait(struct bna_ioceth *ioceth, in bna_ioceth_sm_enet_stop_wait() argument
1574 bfa_fsm_set_state(ioceth, bna_ioceth_sm_ioc_disable_wait); in bna_ioceth_sm_enet_stop_wait()
1575 disable_mbox_intr(ioceth); in bna_ioceth_sm_enet_stop_wait()
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()
1578 bfa_nw_ioc_disable(&ioceth->ioc); in bna_ioceth_sm_enet_stop_wait()
1582 bfa_fsm_set_state(ioceth, bna_ioceth_sm_ioc_disable_wait); in bna_ioceth_sm_enet_stop_wait()
1583 bfa_nw_ioc_disable(&ioceth->ioc); in bna_ioceth_sm_enet_stop_wait()
1592 bna_ioceth_sm_ioc_disable_wait_entry(struct bna_ioceth *ioceth) in bna_ioceth_sm_ioc_disable_wait_entry() argument
1597 bna_ioceth_sm_ioc_disable_wait(struct bna_ioceth *ioceth, in bna_ioceth_sm_ioc_disable_wait() argument
1602 disable_mbox_intr(ioceth); in bna_ioceth_sm_ioc_disable_wait()
1603 bfa_fsm_set_state(ioceth, bna_ioceth_sm_stopped); in bna_ioceth_sm_ioc_disable_wait()
1617 bna_ioceth_sm_failed_entry(struct bna_ioceth *ioceth) in bna_ioceth_sm_failed_entry() argument
1619 bnad_cb_ioceth_failed(ioceth->bna->bnad); in bna_ioceth_sm_failed_entry()
1623 bna_ioceth_sm_failed(struct bna_ioceth *ioceth, in bna_ioceth_sm_failed() argument
1628 bfa_fsm_set_state(ioceth, bna_ioceth_sm_ioc_disable_wait); in bna_ioceth_sm_failed()
1629 bfa_nw_ioc_disable(&ioceth->ioc); in bna_ioceth_sm_failed()
1633 enable_mbox_intr(ioceth); in bna_ioceth_sm_failed()
1634 bfa_fsm_set_state(ioceth, bna_ioceth_sm_ioc_ready_wait); in bna_ioceth_sm_failed()
1646 bna_bfi_attr_get(struct bna_ioceth *ioceth) in bna_bfi_attr_get() argument
1648 struct bfi_enet_attr_req *attr_req = &ioceth->attr_req; in bna_bfi_attr_get()
1654 bfa_msgq_cmd_set(&ioceth->msgq_cmd, NULL, NULL, in bna_bfi_attr_get()
1656 bfa_msgq_cmd_post(&ioceth->bna->msgq, &ioceth->msgq_cmd); in bna_bfi_attr_get()
1664 struct bna_ioceth *ioceth = (struct bna_ioceth *)arg; in bna_cb_ioceth_enable() local
1667 bfa_fsm_send_event(ioceth, IOCETH_E_IOC_FAILED); in bna_cb_ioceth_enable()
1669 bfa_fsm_send_event(ioceth, IOCETH_E_IOC_READY); in bna_cb_ioceth_enable()
1675 struct bna_ioceth *ioceth = (struct bna_ioceth *)arg; in bna_cb_ioceth_disable() local
1677 bfa_fsm_send_event(ioceth, IOCETH_E_IOC_DISABLED); in bna_cb_ioceth_disable()
1683 struct bna_ioceth *ioceth = (struct bna_ioceth *)arg; in bna_cb_ioceth_hbfail() local
1685 bfa_fsm_send_event(ioceth, IOCETH_E_IOC_FAILED); in bna_cb_ioceth_hbfail()
1691 struct bna_ioceth *ioceth = (struct bna_ioceth *)arg; in bna_cb_ioceth_reset() local
1693 bfa_fsm_send_event(ioceth, IOCETH_E_IOC_RESET); in bna_cb_ioceth_reset()
1703 static void bna_attr_init(struct bna_ioceth *ioceth) in bna_attr_init() argument
1705 ioceth->attr.num_txq = BFI_ENET_DEF_TXQ; in bna_attr_init()
1706 ioceth->attr.num_rxp = BFI_ENET_DEF_RXP; in bna_attr_init()
1707 ioceth->attr.num_ucmac = BFI_ENET_DEF_UCAM; in bna_attr_init()
1708 ioceth->attr.num_mcmac = BFI_ENET_MAX_MCAM; in bna_attr_init()
1709 ioceth->attr.max_rit_size = BFI_ENET_DEF_RITSZ; in bna_attr_init()
1710 ioceth->attr.fw_query_complete = false; in bna_attr_init()
1714 bna_ioceth_init(struct bna_ioceth *ioceth, struct bna *bna, in bna_ioceth_init() argument
1720 ioceth->bna = bna; in bna_ioceth_init()
1727 bfa_nw_ioc_attach(&ioceth->ioc, ioceth, &bna_ioceth_cbfn); in bna_ioceth_init()
1728 bfa_nw_ioc_pci_init(&ioceth->ioc, &bna->pcidev, BFI_PCIFN_CLASS_ETH); in bna_ioceth_init()
1733 bfa_nw_ioc_mem_claim(&ioceth->ioc, kva, dma); in bna_ioceth_init()
1736 bfa_nw_ioc_debug_memclaim(&ioceth->ioc, kva); in bna_ioceth_init()
1745 bfa_nw_cee_attach(&bna->cee, &ioceth->ioc, bna); in bna_ioceth_init()
1750 bfa_nw_flash_attach(&bna->flash, &ioceth->ioc, bna); in bna_ioceth_init()
1755 bfa_msgq_attach(&bna->msgq, &ioceth->ioc); in bna_ioceth_init()
1761 ioceth->stop_cbfn = NULL; in bna_ioceth_init()
1762 ioceth->stop_cbarg = NULL; in bna_ioceth_init()
1764 bna_attr_init(ioceth); in bna_ioceth_init()
1766 bfa_fsm_set_state(ioceth, bna_ioceth_sm_stopped); in bna_ioceth_init()
1770 bna_ioceth_uninit(struct bna_ioceth *ioceth) in bna_ioceth_uninit() argument
1772 bfa_nw_ioc_detach(&ioceth->ioc); in bna_ioceth_uninit()
1774 ioceth->bna = NULL; in bna_ioceth_uninit()
1778 bna_ioceth_enable(struct bna_ioceth *ioceth) in bna_ioceth_enable() argument
1780 if (ioceth->fsm == (bfa_fsm_t)bna_ioceth_sm_ready) { in bna_ioceth_enable()
1781 bnad_cb_ioceth_ready(ioceth->bna->bnad); in bna_ioceth_enable()
1785 if (ioceth->fsm == (bfa_fsm_t)bna_ioceth_sm_stopped) in bna_ioceth_enable()
1786 bfa_fsm_send_event(ioceth, IOCETH_E_ENABLE); in bna_ioceth_enable()
1790 bna_ioceth_disable(struct bna_ioceth *ioceth, enum bna_cleanup_type type) in bna_ioceth_disable() argument
1793 bnad_cb_ioceth_disabled(ioceth->bna->bnad); in bna_ioceth_disable()
1797 ioceth->stop_cbfn = bnad_cb_ioceth_disabled; in bna_ioceth_disable()
1798 ioceth->stop_cbarg = ioceth->bna->bnad; in bna_ioceth_disable()
1800 bfa_fsm_send_event(ioceth, IOCETH_E_DISABLE); in bna_ioceth_disable()
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()
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()
1957 struct bna_attr *attr = &bna->ioceth.attr; in bna_mod_res_req()
2041 bna_ioceth_init(&bna->ioceth, bna, res_info); in bna_init()
2079 bna_ioceth_uninit(&bna->ioceth); in bna_uninit()
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()
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()