Lines Matching refs:enet

17 	if (ethport->bna->enet.type == BNA_ENET_T_REGULAR)  in ethport_can_be_up()
150 bna_bfi_pause_set_rsp(struct bna_enet *enet, struct bfi_msgq_mhdr *msghdr) in bna_bfi_pause_set_rsp() argument
152 bfa_fsm_send_event(enet, ENET_E_FWRESP_PAUSE); in bna_bfi_pause_set_rsp()
342 bna_bfi_pause_set_rsp(&bna->enet, msghdr); in bna_msgq_rsp_handler()
390 cbfn(&(_ethport)->bna->enet); \
448 lpbk_up_req->mode = (ethport->bna->enet.type == in bna_bfi_ethport_lpbk_up()
479 if (ethport->bna->enet.type == BNA_ENET_T_REGULAR) in bna_bfi_ethport_up()
488 if (ethport->bna->enet.type == BNA_ENET_T_REGULAR) in bna_bfi_ethport_down()
753 bna_enet_cb_ethport_stopped(struct bna_enet *enet) in bna_enet_cb_ethport_stopped() argument
755 bfa_wc_down(&enet->chld_stop_wc); in bna_enet_cb_ethport_stopped()
809 #define bna_enet_chld_start(enet) \ argument
812 ((enet)->type == BNA_ENET_T_REGULAR) ? \
815 ((enet)->type == BNA_ENET_T_REGULAR) ? \
817 bna_ethport_start(&(enet)->bna->ethport); \
818 bna_tx_mod_start(&(enet)->bna->tx_mod, tx_type); \
819 bna_rx_mod_start(&(enet)->bna->rx_mod, rx_type); \
822 #define bna_enet_chld_stop(enet) \ argument
825 ((enet)->type == BNA_ENET_T_REGULAR) ? \
828 ((enet)->type == BNA_ENET_T_REGULAR) ? \
830 bfa_wc_init(&(enet)->chld_stop_wc, bna_enet_cb_chld_stopped, (enet));\
831 bfa_wc_up(&(enet)->chld_stop_wc); \
832 bna_ethport_stop(&(enet)->bna->ethport); \
833 bfa_wc_up(&(enet)->chld_stop_wc); \
834 bna_tx_mod_stop(&(enet)->bna->tx_mod, tx_type); \
835 bfa_wc_up(&(enet)->chld_stop_wc); \
836 bna_rx_mod_stop(&(enet)->bna->rx_mod, rx_type); \
837 bfa_wc_wait(&(enet)->chld_stop_wc); \
840 #define bna_enet_chld_fail(enet) \ argument
842 bna_ethport_fail(&(enet)->bna->ethport); \
843 bna_tx_mod_fail(&(enet)->bna->tx_mod); \
844 bna_rx_mod_fail(&(enet)->bna->rx_mod); \
847 #define bna_enet_rx_start(enet) \ argument
850 ((enet)->type == BNA_ENET_T_REGULAR) ? \
852 bna_rx_mod_start(&(enet)->bna->rx_mod, rx_type); \
855 #define bna_enet_rx_stop(enet) \ argument
858 ((enet)->type == BNA_ENET_T_REGULAR) ? \
860 bfa_wc_init(&(enet)->chld_stop_wc, bna_enet_cb_chld_stopped, (enet));\
861 bfa_wc_up(&(enet)->chld_stop_wc); \
862 bna_rx_mod_stop(&(enet)->bna->rx_mod, rx_type); \
863 bfa_wc_wait(&(enet)->chld_stop_wc); \
866 #define call_enet_stop_cbfn(enet) \ argument
868 if ((enet)->stop_cbfn) { \
871 cbfn = (enet)->stop_cbfn; \
872 cbarg = (enet)->stop_cbarg; \
873 (enet)->stop_cbfn = NULL; \
874 (enet)->stop_cbarg = NULL; \
879 #define call_enet_mtu_cbfn(enet) \ argument
881 if ((enet)->mtu_cbfn) { \
883 cbfn = (enet)->mtu_cbfn; \
884 (enet)->mtu_cbfn = NULL; \
885 cbfn((enet)->bna->bnad); \
890 static void bna_bfi_pause_set(struct bna_enet *enet);
908 bna_enet_sm_stopped_entry(struct bna_enet *enet) in bna_enet_sm_stopped_entry() argument
910 call_enet_mtu_cbfn(enet); in bna_enet_sm_stopped_entry()
911 call_enet_stop_cbfn(enet); in bna_enet_sm_stopped_entry()
915 bna_enet_sm_stopped(struct bna_enet *enet, enum bna_enet_event event) in bna_enet_sm_stopped() argument
919 bfa_fsm_set_state(enet, bna_enet_sm_pause_init_wait); in bna_enet_sm_stopped()
923 call_enet_stop_cbfn(enet); in bna_enet_sm_stopped()
934 call_enet_mtu_cbfn(enet); in bna_enet_sm_stopped()
951 bna_enet_sm_pause_init_wait_entry(struct bna_enet *enet) in bna_enet_sm_pause_init_wait_entry() argument
953 bna_bfi_pause_set(enet); in bna_enet_sm_pause_init_wait_entry()
957 bna_enet_sm_pause_init_wait(struct bna_enet *enet, in bna_enet_sm_pause_init_wait() argument
962 enet->flags &= ~BNA_ENET_F_PAUSE_CHANGED; in bna_enet_sm_pause_init_wait()
963 bfa_fsm_set_state(enet, bna_enet_sm_last_resp_wait); in bna_enet_sm_pause_init_wait()
967 enet->flags &= ~BNA_ENET_F_PAUSE_CHANGED; in bna_enet_sm_pause_init_wait()
968 bfa_fsm_set_state(enet, bna_enet_sm_stopped); in bna_enet_sm_pause_init_wait()
972 enet->flags |= BNA_ENET_F_PAUSE_CHANGED; in bna_enet_sm_pause_init_wait()
980 if (enet->flags & BNA_ENET_F_PAUSE_CHANGED) { in bna_enet_sm_pause_init_wait()
981 enet->flags &= ~BNA_ENET_F_PAUSE_CHANGED; in bna_enet_sm_pause_init_wait()
982 bna_bfi_pause_set(enet); in bna_enet_sm_pause_init_wait()
984 bfa_fsm_set_state(enet, bna_enet_sm_started); in bna_enet_sm_pause_init_wait()
985 bna_enet_chld_start(enet); in bna_enet_sm_pause_init_wait()
995 bna_enet_sm_last_resp_wait_entry(struct bna_enet *enet) in bna_enet_sm_last_resp_wait_entry() argument
997 enet->flags &= ~BNA_ENET_F_PAUSE_CHANGED; in bna_enet_sm_last_resp_wait_entry()
1001 bna_enet_sm_last_resp_wait(struct bna_enet *enet, in bna_enet_sm_last_resp_wait() argument
1007 bfa_fsm_set_state(enet, bna_enet_sm_stopped); in bna_enet_sm_last_resp_wait()
1016 bna_enet_sm_started_entry(struct bna_enet *enet) in bna_enet_sm_started_entry() argument
1022 call_enet_mtu_cbfn(enet); in bna_enet_sm_started_entry()
1026 bna_enet_sm_started(struct bna_enet *enet, in bna_enet_sm_started() argument
1031 bfa_fsm_set_state(enet, bna_enet_sm_chld_stop_wait); in bna_enet_sm_started()
1035 bfa_fsm_set_state(enet, bna_enet_sm_stopped); in bna_enet_sm_started()
1036 bna_enet_chld_fail(enet); in bna_enet_sm_started()
1040 bfa_fsm_set_state(enet, bna_enet_sm_cfg_wait); in bna_enet_sm_started()
1041 bna_bfi_pause_set(enet); in bna_enet_sm_started()
1045 bfa_fsm_set_state(enet, bna_enet_sm_cfg_wait); in bna_enet_sm_started()
1046 bna_enet_rx_stop(enet); in bna_enet_sm_started()
1055 bna_enet_sm_cfg_wait_entry(struct bna_enet *enet) in bna_enet_sm_cfg_wait_entry() argument
1060 bna_enet_sm_cfg_wait(struct bna_enet *enet, in bna_enet_sm_cfg_wait() argument
1065 enet->flags &= ~BNA_ENET_F_PAUSE_CHANGED; in bna_enet_sm_cfg_wait()
1066 enet->flags &= ~BNA_ENET_F_MTU_CHANGED; in bna_enet_sm_cfg_wait()
1067 bfa_fsm_set_state(enet, bna_enet_sm_cfg_stop_wait); in bna_enet_sm_cfg_wait()
1071 enet->flags &= ~BNA_ENET_F_PAUSE_CHANGED; in bna_enet_sm_cfg_wait()
1072 enet->flags &= ~BNA_ENET_F_MTU_CHANGED; in bna_enet_sm_cfg_wait()
1073 bfa_fsm_set_state(enet, bna_enet_sm_stopped); in bna_enet_sm_cfg_wait()
1074 bna_enet_chld_fail(enet); in bna_enet_sm_cfg_wait()
1078 enet->flags |= BNA_ENET_F_PAUSE_CHANGED; in bna_enet_sm_cfg_wait()
1082 enet->flags |= BNA_ENET_F_MTU_CHANGED; in bna_enet_sm_cfg_wait()
1086 bna_enet_rx_start(enet); in bna_enet_sm_cfg_wait()
1089 if (enet->flags & BNA_ENET_F_PAUSE_CHANGED) { in bna_enet_sm_cfg_wait()
1090 enet->flags &= ~BNA_ENET_F_PAUSE_CHANGED; in bna_enet_sm_cfg_wait()
1091 bna_bfi_pause_set(enet); in bna_enet_sm_cfg_wait()
1092 } else if (enet->flags & BNA_ENET_F_MTU_CHANGED) { in bna_enet_sm_cfg_wait()
1093 enet->flags &= ~BNA_ENET_F_MTU_CHANGED; in bna_enet_sm_cfg_wait()
1094 bna_enet_rx_stop(enet); in bna_enet_sm_cfg_wait()
1096 bfa_fsm_set_state(enet, bna_enet_sm_started); in bna_enet_sm_cfg_wait()
1106 bna_enet_sm_cfg_stop_wait_entry(struct bna_enet *enet) in bna_enet_sm_cfg_stop_wait_entry() argument
1108 enet->flags &= ~BNA_ENET_F_PAUSE_CHANGED; in bna_enet_sm_cfg_stop_wait_entry()
1109 enet->flags &= ~BNA_ENET_F_MTU_CHANGED; in bna_enet_sm_cfg_stop_wait_entry()
1113 bna_enet_sm_cfg_stop_wait(struct bna_enet *enet, in bna_enet_sm_cfg_stop_wait() argument
1118 bfa_fsm_set_state(enet, bna_enet_sm_stopped); in bna_enet_sm_cfg_stop_wait()
1119 bna_enet_chld_fail(enet); in bna_enet_sm_cfg_stop_wait()
1124 bfa_fsm_set_state(enet, bna_enet_sm_chld_stop_wait); in bna_enet_sm_cfg_stop_wait()
1133 bna_enet_sm_chld_stop_wait_entry(struct bna_enet *enet) in bna_enet_sm_chld_stop_wait_entry() argument
1135 bna_enet_chld_stop(enet); in bna_enet_sm_chld_stop_wait_entry()
1139 bna_enet_sm_chld_stop_wait(struct bna_enet *enet, in bna_enet_sm_chld_stop_wait() argument
1144 bfa_fsm_set_state(enet, bna_enet_sm_stopped); in bna_enet_sm_chld_stop_wait()
1145 bna_enet_chld_fail(enet); in bna_enet_sm_chld_stop_wait()
1149 bfa_fsm_set_state(enet, bna_enet_sm_stopped); in bna_enet_sm_chld_stop_wait()
1158 bna_bfi_pause_set(struct bna_enet *enet) in bna_bfi_pause_set() argument
1160 struct bfi_enet_set_pause_req *pause_req = &enet->pause_req; in bna_bfi_pause_set()
1166 pause_req->tx_pause = enet->pause_config.tx_pause; in bna_bfi_pause_set()
1167 pause_req->rx_pause = enet->pause_config.rx_pause; in bna_bfi_pause_set()
1169 bfa_msgq_cmd_set(&enet->msgq_cmd, NULL, NULL, in bna_bfi_pause_set()
1171 bfa_msgq_cmd_post(&enet->bna->msgq, &enet->msgq_cmd); in bna_bfi_pause_set()
1177 struct bna_enet *enet = (struct bna_enet *)arg; in bna_enet_cb_chld_stopped() local
1179 bfa_fsm_send_event(enet, ENET_E_CHLD_STOPPED); in bna_enet_cb_chld_stopped()
1183 bna_enet_init(struct bna_enet *enet, struct bna *bna) in bna_enet_init() argument
1185 enet->bna = bna; in bna_enet_init()
1186 enet->flags = 0; in bna_enet_init()
1187 enet->mtu = 0; in bna_enet_init()
1188 enet->type = BNA_ENET_T_REGULAR; in bna_enet_init()
1190 enet->stop_cbfn = NULL; in bna_enet_init()
1191 enet->stop_cbarg = NULL; in bna_enet_init()
1193 enet->mtu_cbfn = NULL; in bna_enet_init()
1195 bfa_fsm_set_state(enet, bna_enet_sm_stopped); in bna_enet_init()
1199 bna_enet_uninit(struct bna_enet *enet) in bna_enet_uninit() argument
1201 enet->flags = 0; in bna_enet_uninit()
1203 enet->bna = NULL; in bna_enet_uninit()
1207 bna_enet_start(struct bna_enet *enet) in bna_enet_start() argument
1209 enet->flags |= BNA_ENET_F_IOCETH_READY; in bna_enet_start()
1210 if (enet->flags & BNA_ENET_F_ENABLED) in bna_enet_start()
1211 bfa_fsm_send_event(enet, ENET_E_START); in bna_enet_start()
1223 bna_enet_stop(struct bna_enet *enet) in bna_enet_stop() argument
1225 enet->stop_cbfn = bna_ioceth_cb_enet_stopped; in bna_enet_stop()
1226 enet->stop_cbarg = &enet->bna->ioceth; in bna_enet_stop()
1228 enet->flags &= ~BNA_ENET_F_IOCETH_READY; in bna_enet_stop()
1229 bfa_fsm_send_event(enet, ENET_E_STOP); in bna_enet_stop()
1233 bna_enet_fail(struct bna_enet *enet) in bna_enet_fail() argument
1235 enet->flags &= ~BNA_ENET_F_IOCETH_READY; in bna_enet_fail()
1236 bfa_fsm_send_event(enet, ENET_E_FAIL); in bna_enet_fail()
1240 bna_enet_cb_tx_stopped(struct bna_enet *enet) in bna_enet_cb_tx_stopped() argument
1242 bfa_wc_down(&enet->chld_stop_wc); in bna_enet_cb_tx_stopped()
1246 bna_enet_cb_rx_stopped(struct bna_enet *enet) in bna_enet_cb_rx_stopped() argument
1248 bfa_wc_down(&enet->chld_stop_wc); in bna_enet_cb_rx_stopped()
1252 bna_enet_mtu_get(struct bna_enet *enet) in bna_enet_mtu_get() argument
1254 return enet->mtu; in bna_enet_mtu_get()
1258 bna_enet_enable(struct bna_enet *enet) in bna_enet_enable() argument
1260 if (enet->fsm != (bfa_sm_t)bna_enet_sm_stopped) in bna_enet_enable()
1263 enet->flags |= BNA_ENET_F_ENABLED; in bna_enet_enable()
1265 if (enet->flags & BNA_ENET_F_IOCETH_READY) in bna_enet_enable()
1266 bfa_fsm_send_event(enet, ENET_E_START); in bna_enet_enable()
1270 bna_enet_disable(struct bna_enet *enet, enum bna_cleanup_type type, in bna_enet_disable() argument
1274 (*cbfn)(enet->bna->bnad); in bna_enet_disable()
1278 enet->stop_cbfn = cbfn; in bna_enet_disable()
1279 enet->stop_cbarg = enet->bna->bnad; in bna_enet_disable()
1281 enet->flags &= ~BNA_ENET_F_ENABLED; in bna_enet_disable()
1283 bfa_fsm_send_event(enet, ENET_E_STOP); in bna_enet_disable()
1287 bna_enet_pause_config(struct bna_enet *enet, in bna_enet_pause_config() argument
1290 enet->pause_config = *pause_config; in bna_enet_pause_config()
1292 bfa_fsm_send_event(enet, ENET_E_PAUSE_CFG); in bna_enet_pause_config()
1296 bna_enet_mtu_set(struct bna_enet *enet, int mtu, in bna_enet_mtu_set() argument
1299 enet->mtu = mtu; in bna_enet_mtu_set()
1301 enet->mtu_cbfn = cbfn; in bna_enet_mtu_set()
1303 bfa_fsm_send_event(enet, ENET_E_MTU_CFG); in bna_enet_mtu_set()
1307 bna_enet_perm_mac_get(struct bna_enet *enet, u8 *mac) in bna_enet_perm_mac_get() argument
1309 bfa_nw_ioc_get_mac(&enet->bna->ioceth.ioc, mac); in bna_enet_perm_mac_get()
1484 bna_enet_start(&ioceth->bna->enet); in bna_ioceth_sm_ready_entry()
1499 bna_enet_fail(&ioceth->bna->enet); in bna_ioceth_sm_ready()
1539 bna_enet_stop(&ioceth->bna->enet); in bna_ioceth_sm_enet_stop_wait_entry()
1550 bna_enet_fail(&ioceth->bna->enet); in bna_ioceth_sm_enet_stop_wait()
1984 bna_enet_init(&bna->enet, bna); in bna_init()
2018 bna_enet_uninit(&bna->enet); in bna_uninit()