Lines Matching refs:enet

25 	if (ethport->bna->enet.type == BNA_ENET_T_REGULAR)  in ethport_can_be_up()
158 bna_bfi_pause_set_rsp(struct bna_enet *enet, struct bfi_msgq_mhdr *msghdr) in bna_bfi_pause_set_rsp() argument
160 bfa_fsm_send_event(enet, ENET_E_FWRESP_PAUSE); in bna_bfi_pause_set_rsp()
350 bna_bfi_pause_set_rsp(&bna->enet, msghdr); in bna_msgq_rsp_handler()
398 cbfn(&(_ethport)->bna->enet); \
456 lpbk_up_req->mode = (ethport->bna->enet.type == in bna_bfi_ethport_lpbk_up()
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()
761 bna_enet_cb_ethport_stopped(struct bna_enet *enet) in bna_enet_cb_ethport_stopped() argument
763 bfa_wc_down(&enet->chld_stop_wc); in bna_enet_cb_ethport_stopped()
817 #define bna_enet_chld_start(enet) \ argument
820 ((enet)->type == BNA_ENET_T_REGULAR) ? \
823 ((enet)->type == BNA_ENET_T_REGULAR) ? \
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); \
830 #define bna_enet_chld_stop(enet) \ argument
833 ((enet)->type == BNA_ENET_T_REGULAR) ? \
836 ((enet)->type == BNA_ENET_T_REGULAR) ? \
838 bfa_wc_init(&(enet)->chld_stop_wc, bna_enet_cb_chld_stopped, (enet));\
839 bfa_wc_up(&(enet)->chld_stop_wc); \
840 bna_ethport_stop(&(enet)->bna->ethport); \
841 bfa_wc_up(&(enet)->chld_stop_wc); \
842 bna_tx_mod_stop(&(enet)->bna->tx_mod, tx_type); \
843 bfa_wc_up(&(enet)->chld_stop_wc); \
844 bna_rx_mod_stop(&(enet)->bna->rx_mod, rx_type); \
845 bfa_wc_wait(&(enet)->chld_stop_wc); \
848 #define bna_enet_chld_fail(enet) \ argument
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); \
855 #define bna_enet_rx_start(enet) \ argument
858 ((enet)->type == BNA_ENET_T_REGULAR) ? \
860 bna_rx_mod_start(&(enet)->bna->rx_mod, rx_type); \
863 #define bna_enet_rx_stop(enet) \ argument
866 ((enet)->type == BNA_ENET_T_REGULAR) ? \
868 bfa_wc_init(&(enet)->chld_stop_wc, bna_enet_cb_chld_stopped, (enet));\
869 bfa_wc_up(&(enet)->chld_stop_wc); \
870 bna_rx_mod_stop(&(enet)->bna->rx_mod, rx_type); \
871 bfa_wc_wait(&(enet)->chld_stop_wc); \
874 #define call_enet_stop_cbfn(enet) \ argument
876 if ((enet)->stop_cbfn) { \
879 cbfn = (enet)->stop_cbfn; \
880 cbarg = (enet)->stop_cbarg; \
881 (enet)->stop_cbfn = NULL; \
882 (enet)->stop_cbarg = NULL; \
887 #define call_enet_mtu_cbfn(enet) \ argument
889 if ((enet)->mtu_cbfn) { \
891 cbfn = (enet)->mtu_cbfn; \
892 (enet)->mtu_cbfn = NULL; \
893 cbfn((enet)->bna->bnad); \
898 static void bna_bfi_pause_set(struct bna_enet *enet);
916 bna_enet_sm_stopped_entry(struct bna_enet *enet) in bna_enet_sm_stopped_entry() argument
918 call_enet_mtu_cbfn(enet); in bna_enet_sm_stopped_entry()
919 call_enet_stop_cbfn(enet); in bna_enet_sm_stopped_entry()
923 bna_enet_sm_stopped(struct bna_enet *enet, enum bna_enet_event event) in bna_enet_sm_stopped() argument
927 bfa_fsm_set_state(enet, bna_enet_sm_pause_init_wait); in bna_enet_sm_stopped()
931 call_enet_stop_cbfn(enet); in bna_enet_sm_stopped()
942 call_enet_mtu_cbfn(enet); in bna_enet_sm_stopped()
959 bna_enet_sm_pause_init_wait_entry(struct bna_enet *enet) in bna_enet_sm_pause_init_wait_entry() argument
961 bna_bfi_pause_set(enet); in bna_enet_sm_pause_init_wait_entry()
965 bna_enet_sm_pause_init_wait(struct bna_enet *enet, in bna_enet_sm_pause_init_wait() argument
970 enet->flags &= ~BNA_ENET_F_PAUSE_CHANGED; in bna_enet_sm_pause_init_wait()
971 bfa_fsm_set_state(enet, bna_enet_sm_last_resp_wait); in bna_enet_sm_pause_init_wait()
975 enet->flags &= ~BNA_ENET_F_PAUSE_CHANGED; in bna_enet_sm_pause_init_wait()
976 bfa_fsm_set_state(enet, bna_enet_sm_stopped); in bna_enet_sm_pause_init_wait()
980 enet->flags |= BNA_ENET_F_PAUSE_CHANGED; in bna_enet_sm_pause_init_wait()
988 if (enet->flags & BNA_ENET_F_PAUSE_CHANGED) { in bna_enet_sm_pause_init_wait()
989 enet->flags &= ~BNA_ENET_F_PAUSE_CHANGED; in bna_enet_sm_pause_init_wait()
990 bna_bfi_pause_set(enet); in bna_enet_sm_pause_init_wait()
992 bfa_fsm_set_state(enet, bna_enet_sm_started); in bna_enet_sm_pause_init_wait()
993 bna_enet_chld_start(enet); in bna_enet_sm_pause_init_wait()
1003 bna_enet_sm_last_resp_wait_entry(struct bna_enet *enet) in bna_enet_sm_last_resp_wait_entry() argument
1005 enet->flags &= ~BNA_ENET_F_PAUSE_CHANGED; in bna_enet_sm_last_resp_wait_entry()
1009 bna_enet_sm_last_resp_wait(struct bna_enet *enet, in bna_enet_sm_last_resp_wait() argument
1015 bfa_fsm_set_state(enet, bna_enet_sm_stopped); in bna_enet_sm_last_resp_wait()
1024 bna_enet_sm_started_entry(struct bna_enet *enet) in bna_enet_sm_started_entry() argument
1030 call_enet_mtu_cbfn(enet); in bna_enet_sm_started_entry()
1034 bna_enet_sm_started(struct bna_enet *enet, in bna_enet_sm_started() argument
1039 bfa_fsm_set_state(enet, bna_enet_sm_chld_stop_wait); in bna_enet_sm_started()
1043 bfa_fsm_set_state(enet, bna_enet_sm_stopped); in bna_enet_sm_started()
1044 bna_enet_chld_fail(enet); in bna_enet_sm_started()
1048 bfa_fsm_set_state(enet, bna_enet_sm_cfg_wait); in bna_enet_sm_started()
1049 bna_bfi_pause_set(enet); in bna_enet_sm_started()
1053 bfa_fsm_set_state(enet, bna_enet_sm_cfg_wait); in bna_enet_sm_started()
1054 bna_enet_rx_stop(enet); in bna_enet_sm_started()
1063 bna_enet_sm_cfg_wait_entry(struct bna_enet *enet) in bna_enet_sm_cfg_wait_entry() argument
1068 bna_enet_sm_cfg_wait(struct bna_enet *enet, in bna_enet_sm_cfg_wait() argument
1073 enet->flags &= ~BNA_ENET_F_PAUSE_CHANGED; in bna_enet_sm_cfg_wait()
1074 enet->flags &= ~BNA_ENET_F_MTU_CHANGED; in bna_enet_sm_cfg_wait()
1075 bfa_fsm_set_state(enet, bna_enet_sm_cfg_stop_wait); in bna_enet_sm_cfg_wait()
1079 enet->flags &= ~BNA_ENET_F_PAUSE_CHANGED; in bna_enet_sm_cfg_wait()
1080 enet->flags &= ~BNA_ENET_F_MTU_CHANGED; in bna_enet_sm_cfg_wait()
1081 bfa_fsm_set_state(enet, bna_enet_sm_stopped); in bna_enet_sm_cfg_wait()
1082 bna_enet_chld_fail(enet); in bna_enet_sm_cfg_wait()
1086 enet->flags |= BNA_ENET_F_PAUSE_CHANGED; in bna_enet_sm_cfg_wait()
1090 enet->flags |= BNA_ENET_F_MTU_CHANGED; in bna_enet_sm_cfg_wait()
1094 bna_enet_rx_start(enet); in bna_enet_sm_cfg_wait()
1097 if (enet->flags & BNA_ENET_F_PAUSE_CHANGED) { in bna_enet_sm_cfg_wait()
1098 enet->flags &= ~BNA_ENET_F_PAUSE_CHANGED; in bna_enet_sm_cfg_wait()
1099 bna_bfi_pause_set(enet); in bna_enet_sm_cfg_wait()
1100 } else if (enet->flags & BNA_ENET_F_MTU_CHANGED) { in bna_enet_sm_cfg_wait()
1101 enet->flags &= ~BNA_ENET_F_MTU_CHANGED; in bna_enet_sm_cfg_wait()
1102 bna_enet_rx_stop(enet); in bna_enet_sm_cfg_wait()
1104 bfa_fsm_set_state(enet, bna_enet_sm_started); in bna_enet_sm_cfg_wait()
1114 bna_enet_sm_cfg_stop_wait_entry(struct bna_enet *enet) in bna_enet_sm_cfg_stop_wait_entry() argument
1116 enet->flags &= ~BNA_ENET_F_PAUSE_CHANGED; in bna_enet_sm_cfg_stop_wait_entry()
1117 enet->flags &= ~BNA_ENET_F_MTU_CHANGED; in bna_enet_sm_cfg_stop_wait_entry()
1121 bna_enet_sm_cfg_stop_wait(struct bna_enet *enet, in bna_enet_sm_cfg_stop_wait() argument
1126 bfa_fsm_set_state(enet, bna_enet_sm_stopped); in bna_enet_sm_cfg_stop_wait()
1127 bna_enet_chld_fail(enet); in bna_enet_sm_cfg_stop_wait()
1132 bfa_fsm_set_state(enet, bna_enet_sm_chld_stop_wait); in bna_enet_sm_cfg_stop_wait()
1141 bna_enet_sm_chld_stop_wait_entry(struct bna_enet *enet) in bna_enet_sm_chld_stop_wait_entry() argument
1143 bna_enet_chld_stop(enet); in bna_enet_sm_chld_stop_wait_entry()
1147 bna_enet_sm_chld_stop_wait(struct bna_enet *enet, in bna_enet_sm_chld_stop_wait() argument
1152 bfa_fsm_set_state(enet, bna_enet_sm_stopped); in bna_enet_sm_chld_stop_wait()
1153 bna_enet_chld_fail(enet); in bna_enet_sm_chld_stop_wait()
1157 bfa_fsm_set_state(enet, bna_enet_sm_stopped); in bna_enet_sm_chld_stop_wait()
1166 bna_bfi_pause_set(struct bna_enet *enet) in bna_bfi_pause_set() argument
1168 struct bfi_enet_set_pause_req *pause_req = &enet->pause_req; in bna_bfi_pause_set()
1174 pause_req->tx_pause = enet->pause_config.tx_pause; in bna_bfi_pause_set()
1175 pause_req->rx_pause = enet->pause_config.rx_pause; in bna_bfi_pause_set()
1177 bfa_msgq_cmd_set(&enet->msgq_cmd, NULL, NULL, in bna_bfi_pause_set()
1179 bfa_msgq_cmd_post(&enet->bna->msgq, &enet->msgq_cmd); in bna_bfi_pause_set()
1185 struct bna_enet *enet = (struct bna_enet *)arg; in bna_enet_cb_chld_stopped() local
1187 bfa_fsm_send_event(enet, ENET_E_CHLD_STOPPED); in bna_enet_cb_chld_stopped()
1191 bna_enet_init(struct bna_enet *enet, struct bna *bna) in bna_enet_init() argument
1193 enet->bna = bna; in bna_enet_init()
1194 enet->flags = 0; in bna_enet_init()
1195 enet->mtu = 0; in bna_enet_init()
1196 enet->type = BNA_ENET_T_REGULAR; in bna_enet_init()
1198 enet->stop_cbfn = NULL; in bna_enet_init()
1199 enet->stop_cbarg = NULL; in bna_enet_init()
1201 enet->mtu_cbfn = NULL; in bna_enet_init()
1203 bfa_fsm_set_state(enet, bna_enet_sm_stopped); in bna_enet_init()
1207 bna_enet_uninit(struct bna_enet *enet) in bna_enet_uninit() argument
1209 enet->flags = 0; in bna_enet_uninit()
1211 enet->bna = NULL; in bna_enet_uninit()
1215 bna_enet_start(struct bna_enet *enet) in bna_enet_start() argument
1217 enet->flags |= BNA_ENET_F_IOCETH_READY; in bna_enet_start()
1218 if (enet->flags & BNA_ENET_F_ENABLED) in bna_enet_start()
1219 bfa_fsm_send_event(enet, ENET_E_START); in bna_enet_start()
1231 bna_enet_stop(struct bna_enet *enet) in bna_enet_stop() argument
1233 enet->stop_cbfn = bna_ioceth_cb_enet_stopped; in bna_enet_stop()
1234 enet->stop_cbarg = &enet->bna->ioceth; in bna_enet_stop()
1236 enet->flags &= ~BNA_ENET_F_IOCETH_READY; in bna_enet_stop()
1237 bfa_fsm_send_event(enet, ENET_E_STOP); in bna_enet_stop()
1241 bna_enet_fail(struct bna_enet *enet) in bna_enet_fail() argument
1243 enet->flags &= ~BNA_ENET_F_IOCETH_READY; in bna_enet_fail()
1244 bfa_fsm_send_event(enet, ENET_E_FAIL); in bna_enet_fail()
1248 bna_enet_cb_tx_stopped(struct bna_enet *enet) in bna_enet_cb_tx_stopped() argument
1250 bfa_wc_down(&enet->chld_stop_wc); in bna_enet_cb_tx_stopped()
1254 bna_enet_cb_rx_stopped(struct bna_enet *enet) in bna_enet_cb_rx_stopped() argument
1256 bfa_wc_down(&enet->chld_stop_wc); in bna_enet_cb_rx_stopped()
1260 bna_enet_mtu_get(struct bna_enet *enet) in bna_enet_mtu_get() argument
1262 return enet->mtu; in bna_enet_mtu_get()
1266 bna_enet_enable(struct bna_enet *enet) in bna_enet_enable() argument
1268 if (enet->fsm != (bfa_sm_t)bna_enet_sm_stopped) in bna_enet_enable()
1271 enet->flags |= BNA_ENET_F_ENABLED; in bna_enet_enable()
1273 if (enet->flags & BNA_ENET_F_IOCETH_READY) in bna_enet_enable()
1274 bfa_fsm_send_event(enet, ENET_E_START); in bna_enet_enable()
1278 bna_enet_disable(struct bna_enet *enet, enum bna_cleanup_type type, in bna_enet_disable() argument
1282 (*cbfn)(enet->bna->bnad); in bna_enet_disable()
1286 enet->stop_cbfn = cbfn; in bna_enet_disable()
1287 enet->stop_cbarg = enet->bna->bnad; in bna_enet_disable()
1289 enet->flags &= ~BNA_ENET_F_ENABLED; in bna_enet_disable()
1291 bfa_fsm_send_event(enet, ENET_E_STOP); in bna_enet_disable()
1295 bna_enet_pause_config(struct bna_enet *enet, in bna_enet_pause_config() argument
1298 enet->pause_config = *pause_config; in bna_enet_pause_config()
1300 bfa_fsm_send_event(enet, ENET_E_PAUSE_CFG); in bna_enet_pause_config()
1304 bna_enet_mtu_set(struct bna_enet *enet, int mtu, in bna_enet_mtu_set() argument
1307 enet->mtu = mtu; in bna_enet_mtu_set()
1309 enet->mtu_cbfn = cbfn; in bna_enet_mtu_set()
1311 bfa_fsm_send_event(enet, ENET_E_MTU_CFG); in bna_enet_mtu_set()
1315 bna_enet_perm_mac_get(struct bna_enet *enet, u8 *mac) in bna_enet_perm_mac_get() argument
1317 bfa_nw_ioc_get_mac(&enet->bna->ioceth.ioc, mac); in bna_enet_perm_mac_get()
1492 bna_enet_start(&ioceth->bna->enet); in bna_ioceth_sm_ready_entry()
1507 bna_enet_fail(&ioceth->bna->enet); in bna_ioceth_sm_ready()
1547 bna_enet_stop(&ioceth->bna->enet); in bna_ioceth_sm_enet_stop_wait_entry()
1558 bna_enet_fail(&ioceth->bna->enet); in bna_ioceth_sm_enet_stop_wait()
1992 bna_enet_init(&bna->enet, bna); in bna_init()
2026 bna_enet_uninit(&bna->enet); in bna_uninit()