Lines Matching refs:iocpf

251 	bfa_fsm_set_state(&ioc->iocpf, bfa_iocpf_sm_reset);  in bfa_ioc_sm_reset_entry()
392 if (ioc->iocpf.auto_recover) in bfa_ioc_sm_op()
582 bfa_iocpf_sm_reset_entry(struct bfa_iocpf *iocpf) in bfa_iocpf_sm_reset_entry() argument
584 iocpf->fw_mismatch_notified = false; in bfa_iocpf_sm_reset_entry()
585 iocpf->auto_recover = bfa_nw_auto_recover; in bfa_iocpf_sm_reset_entry()
590 bfa_iocpf_sm_reset(struct bfa_iocpf *iocpf, enum iocpf_event event) in bfa_iocpf_sm_reset() argument
594 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_fwcheck); in bfa_iocpf_sm_reset()
607 bfa_iocpf_sm_fwcheck_entry(struct bfa_iocpf *iocpf) in bfa_iocpf_sm_fwcheck_entry() argument
609 bfa_ioc_hw_sem_init(iocpf->ioc); in bfa_iocpf_sm_fwcheck_entry()
610 bfa_ioc_hw_sem_get(iocpf->ioc); in bfa_iocpf_sm_fwcheck_entry()
615 bfa_iocpf_sm_fwcheck(struct bfa_iocpf *iocpf, enum iocpf_event event) in bfa_iocpf_sm_fwcheck() argument
617 struct bfa_ioc *ioc = iocpf->ioc; in bfa_iocpf_sm_fwcheck()
624 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_hwinit); in bfa_iocpf_sm_fwcheck()
633 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_mismatch); in bfa_iocpf_sm_fwcheck()
638 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_fail); in bfa_iocpf_sm_fwcheck()
644 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_reset); in bfa_iocpf_sm_fwcheck()
650 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_reset); in bfa_iocpf_sm_fwcheck()
660 bfa_iocpf_sm_mismatch_entry(struct bfa_iocpf *iocpf) in bfa_iocpf_sm_mismatch_entry() argument
663 if (!iocpf->fw_mismatch_notified) in bfa_iocpf_sm_mismatch_entry()
664 bfa_ioc_pf_fwmismatch(iocpf->ioc); in bfa_iocpf_sm_mismatch_entry()
666 iocpf->fw_mismatch_notified = true; in bfa_iocpf_sm_mismatch_entry()
667 mod_timer(&(iocpf->ioc)->iocpf_timer, jiffies + in bfa_iocpf_sm_mismatch_entry()
673 bfa_iocpf_sm_mismatch(struct bfa_iocpf *iocpf, enum iocpf_event event) in bfa_iocpf_sm_mismatch() argument
675 struct bfa_ioc *ioc = iocpf->ioc; in bfa_iocpf_sm_mismatch()
679 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_fwcheck); in bfa_iocpf_sm_mismatch()
684 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_reset); in bfa_iocpf_sm_mismatch()
690 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_reset); in bfa_iocpf_sm_mismatch()
700 bfa_iocpf_sm_semwait_entry(struct bfa_iocpf *iocpf) in bfa_iocpf_sm_semwait_entry() argument
702 bfa_ioc_hw_sem_get(iocpf->ioc); in bfa_iocpf_sm_semwait_entry()
707 bfa_iocpf_sm_semwait(struct bfa_iocpf *iocpf, enum iocpf_event event) in bfa_iocpf_sm_semwait() argument
709 struct bfa_ioc *ioc = iocpf->ioc; in bfa_iocpf_sm_semwait()
715 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_hwinit); in bfa_iocpf_sm_semwait()
724 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_fail); in bfa_iocpf_sm_semwait()
730 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_disabling_sync); in bfa_iocpf_sm_semwait()
739 bfa_iocpf_sm_hwinit_entry(struct bfa_iocpf *iocpf) in bfa_iocpf_sm_hwinit_entry() argument
741 iocpf->poll_time = 0; in bfa_iocpf_sm_hwinit_entry()
742 bfa_ioc_reset(iocpf->ioc, false); in bfa_iocpf_sm_hwinit_entry()
749 bfa_iocpf_sm_hwinit(struct bfa_iocpf *iocpf, enum iocpf_event event) in bfa_iocpf_sm_hwinit() argument
751 struct bfa_ioc *ioc = iocpf->ioc; in bfa_iocpf_sm_hwinit()
755 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_enabling); in bfa_iocpf_sm_hwinit()
761 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_initfail_sync); in bfa_iocpf_sm_hwinit()
768 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_disabled); in bfa_iocpf_sm_hwinit()
777 bfa_iocpf_sm_enabling_entry(struct bfa_iocpf *iocpf) in bfa_iocpf_sm_enabling_entry() argument
779 mod_timer(&(iocpf->ioc)->iocpf_timer, jiffies + in bfa_iocpf_sm_enabling_entry()
784 iocpf->ioc->cbfn->reset_cbfn(iocpf->ioc->bfa); in bfa_iocpf_sm_enabling_entry()
785 bfa_ioc_send_enable(iocpf->ioc); in bfa_iocpf_sm_enabling_entry()
792 bfa_iocpf_sm_enabling(struct bfa_iocpf *iocpf, enum iocpf_event event) in bfa_iocpf_sm_enabling() argument
794 struct bfa_ioc *ioc = iocpf->ioc; in bfa_iocpf_sm_enabling()
800 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_ready); in bfa_iocpf_sm_enabling()
812 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_initfail_sync); in bfa_iocpf_sm_enabling()
818 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_disabling); in bfa_iocpf_sm_enabling()
827 bfa_iocpf_sm_ready_entry(struct bfa_iocpf *iocpf) in bfa_iocpf_sm_ready_entry() argument
829 bfa_ioc_pf_enabled(iocpf->ioc); in bfa_iocpf_sm_ready_entry()
833 bfa_iocpf_sm_ready(struct bfa_iocpf *iocpf, enum iocpf_event event) in bfa_iocpf_sm_ready() argument
837 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_disabling); in bfa_iocpf_sm_ready()
841 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_initfail_sync); in bfa_iocpf_sm_ready()
845 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_fail_sync); in bfa_iocpf_sm_ready()
854 bfa_iocpf_sm_disabling_entry(struct bfa_iocpf *iocpf) in bfa_iocpf_sm_disabling_entry() argument
856 mod_timer(&(iocpf->ioc)->iocpf_timer, jiffies + in bfa_iocpf_sm_disabling_entry()
858 bfa_ioc_send_disable(iocpf->ioc); in bfa_iocpf_sm_disabling_entry()
863 bfa_iocpf_sm_disabling(struct bfa_iocpf *iocpf, enum iocpf_event event) in bfa_iocpf_sm_disabling() argument
865 struct bfa_ioc *ioc = iocpf->ioc; in bfa_iocpf_sm_disabling()
870 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_disabling_sync); in bfa_iocpf_sm_disabling()
881 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_disabling_sync); in bfa_iocpf_sm_disabling()
893 bfa_iocpf_sm_disabling_sync_entry(struct bfa_iocpf *iocpf) in bfa_iocpf_sm_disabling_sync_entry() argument
895 bfa_ioc_hw_sem_get(iocpf->ioc); in bfa_iocpf_sm_disabling_sync_entry()
900 bfa_iocpf_sm_disabling_sync(struct bfa_iocpf *iocpf, enum iocpf_event event) in bfa_iocpf_sm_disabling_sync() argument
902 struct bfa_ioc *ioc = iocpf->ioc; in bfa_iocpf_sm_disabling_sync()
908 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_disabled); in bfa_iocpf_sm_disabling_sync()
912 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_fail); in bfa_iocpf_sm_disabling_sync()
926 bfa_iocpf_sm_disabled_entry(struct bfa_iocpf *iocpf) in bfa_iocpf_sm_disabled_entry() argument
928 bfa_ioc_mbox_flush(iocpf->ioc); in bfa_iocpf_sm_disabled_entry()
929 bfa_ioc_pf_disabled(iocpf->ioc); in bfa_iocpf_sm_disabled_entry()
933 bfa_iocpf_sm_disabled(struct bfa_iocpf *iocpf, enum iocpf_event event) in bfa_iocpf_sm_disabled() argument
935 struct bfa_ioc *ioc = iocpf->ioc; in bfa_iocpf_sm_disabled()
939 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_semwait); in bfa_iocpf_sm_disabled()
944 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_reset); in bfa_iocpf_sm_disabled()
953 bfa_iocpf_sm_initfail_sync_entry(struct bfa_iocpf *iocpf) in bfa_iocpf_sm_initfail_sync_entry() argument
955 bfa_nw_ioc_debug_save_ftrc(iocpf->ioc); in bfa_iocpf_sm_initfail_sync_entry()
956 bfa_ioc_hw_sem_get(iocpf->ioc); in bfa_iocpf_sm_initfail_sync_entry()
961 bfa_iocpf_sm_initfail_sync(struct bfa_iocpf *iocpf, enum iocpf_event event) in bfa_iocpf_sm_initfail_sync() argument
963 struct bfa_ioc *ioc = iocpf->ioc; in bfa_iocpf_sm_initfail_sync()
971 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_initfail); in bfa_iocpf_sm_initfail_sync()
975 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_fail); in bfa_iocpf_sm_initfail_sync()
981 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_disabling_sync); in bfa_iocpf_sm_initfail_sync()
987 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_reset); in bfa_iocpf_sm_initfail_sync()
999 bfa_iocpf_sm_initfail_entry(struct bfa_iocpf *iocpf) in bfa_iocpf_sm_initfail_entry() argument
1005 bfa_iocpf_sm_initfail(struct bfa_iocpf *iocpf, enum iocpf_event event) in bfa_iocpf_sm_initfail() argument
1007 struct bfa_ioc *ioc = iocpf->ioc; in bfa_iocpf_sm_initfail()
1011 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_disabled); in bfa_iocpf_sm_initfail()
1016 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_reset); in bfa_iocpf_sm_initfail()
1025 bfa_iocpf_sm_fail_sync_entry(struct bfa_iocpf *iocpf) in bfa_iocpf_sm_fail_sync_entry() argument
1030 bfa_ioc_lpu_stop(iocpf->ioc); in bfa_iocpf_sm_fail_sync_entry()
1035 bfa_ioc_mbox_flush(iocpf->ioc); in bfa_iocpf_sm_fail_sync_entry()
1036 bfa_ioc_hw_sem_get(iocpf->ioc); in bfa_iocpf_sm_fail_sync_entry()
1041 bfa_iocpf_sm_fail_sync(struct bfa_iocpf *iocpf, enum iocpf_event event) in bfa_iocpf_sm_fail_sync() argument
1043 struct bfa_ioc *ioc = iocpf->ioc; in bfa_iocpf_sm_fail_sync()
1049 if (!iocpf->auto_recover) { in bfa_iocpf_sm_fail_sync()
1053 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_fail); in bfa_iocpf_sm_fail_sync()
1056 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_hwinit); in bfa_iocpf_sm_fail_sync()
1059 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_semwait); in bfa_iocpf_sm_fail_sync()
1065 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_fail); in bfa_iocpf_sm_fail_sync()
1071 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_disabling_sync); in bfa_iocpf_sm_fail_sync()
1083 bfa_iocpf_sm_fail_entry(struct bfa_iocpf *iocpf) in bfa_iocpf_sm_fail_entry() argument
1089 bfa_iocpf_sm_fail(struct bfa_iocpf *iocpf, enum iocpf_event event) in bfa_iocpf_sm_fail() argument
1093 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_disabled); in bfa_iocpf_sm_fail()
1220 bfa_fsm_send_event(&ioc->iocpf, IOCPF_E_SEM_ERROR); in bfa_ioc_hw_sem_get()
1224 bfa_fsm_send_event(&ioc->iocpf, IOCPF_E_SEMLOCKED); in bfa_ioc_hw_sem_get()
1902 bfa_fsm_send_event(&ioc->iocpf, IOCPF_E_FWREADY); in bfa_ioc_hwinit()
2120 struct bfa_iocpf *iocpf = &ioc->iocpf; in bfa_ioc_enable_reply() local
2124 bfa_fsm_send_event(iocpf, IOCPF_E_FWRSP_ENABLE); in bfa_ioc_enable_reply()
2417 bfa_fsm_send_event(&ioc->iocpf, IOCPF_E_TIMEOUT); in bfa_ioc_boot()
2463 struct bfa_iocpf *iocpf = &ioc->iocpf; in bfa_ioc_isr() local
2480 bfa_fsm_send_event(iocpf, IOCPF_E_FWRSP_DISABLE); in bfa_ioc_isr()
2506 ioc->iocpf.ioc = ioc; in bfa_nw_ioc_attach()
2639 ioc->dbg_fwsave_len = ioc->iocpf.auto_recover ? BNA_DBG_FWTRC_LEN : 0; in bfa_nw_ioc_debug_memclaim()
2886 iocpf_st = bfa_sm_to_state(iocpf_sm_table, ioc->iocpf.fsm); in bfa_ioc_get_state()
2966 bfa_fsm_send_event(&ioc->iocpf, IOCPF_E_ENABLE); in bfa_iocpf_enable()
2972 bfa_fsm_send_event(&ioc->iocpf, IOCPF_E_DISABLE); in bfa_iocpf_disable()
2978 bfa_fsm_send_event(&ioc->iocpf, IOCPF_E_FAIL); in bfa_iocpf_fail()
2984 bfa_fsm_send_event(&ioc->iocpf, IOCPF_E_INITFAIL); in bfa_iocpf_initfail()
2990 bfa_fsm_send_event(&ioc->iocpf, IOCPF_E_GETATTRFAIL); in bfa_iocpf_getattrfail()
2996 bfa_fsm_send_event(&ioc->iocpf, IOCPF_E_STOP); in bfa_iocpf_stop()
3005 iocpf_st = bfa_sm_to_state(iocpf_sm_table, ioc->iocpf.fsm); in bfa_nw_iocpf_timeout()
3010 bfa_fsm_send_event(&ioc->iocpf, IOCPF_E_TIMEOUT); in bfa_nw_iocpf_timeout()
3027 bfa_fsm_send_event(&ioc->iocpf, IOCPF_E_FWREADY); in bfa_ioc_poll_fwinit()
3031 if (ioc->iocpf.poll_time >= BFA_IOC_TOV) { in bfa_ioc_poll_fwinit()
3032 bfa_fsm_send_event(&ioc->iocpf, IOCPF_E_TIMEOUT); in bfa_ioc_poll_fwinit()
3034 ioc->iocpf.poll_time += BFA_IOC_POLL_TOV; in bfa_ioc_poll_fwinit()