Lines Matching refs:iocpf
237 bfa_fsm_set_state(&ioc->iocpf, bfa_iocpf_sm_reset); in bfa_ioc_sm_reset_entry()
378 if (ioc->iocpf.auto_recover) in bfa_ioc_sm_op()
568 bfa_iocpf_sm_reset_entry(struct bfa_iocpf *iocpf) in bfa_iocpf_sm_reset_entry() argument
570 iocpf->fw_mismatch_notified = false; in bfa_iocpf_sm_reset_entry()
571 iocpf->auto_recover = bfa_nw_auto_recover; in bfa_iocpf_sm_reset_entry()
576 bfa_iocpf_sm_reset(struct bfa_iocpf *iocpf, enum iocpf_event event) in bfa_iocpf_sm_reset() argument
580 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_fwcheck); in bfa_iocpf_sm_reset()
593 bfa_iocpf_sm_fwcheck_entry(struct bfa_iocpf *iocpf) in bfa_iocpf_sm_fwcheck_entry() argument
595 bfa_ioc_hw_sem_init(iocpf->ioc); in bfa_iocpf_sm_fwcheck_entry()
596 bfa_ioc_hw_sem_get(iocpf->ioc); in bfa_iocpf_sm_fwcheck_entry()
601 bfa_iocpf_sm_fwcheck(struct bfa_iocpf *iocpf, enum iocpf_event event) in bfa_iocpf_sm_fwcheck() argument
603 struct bfa_ioc *ioc = iocpf->ioc; in bfa_iocpf_sm_fwcheck()
610 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_hwinit); in bfa_iocpf_sm_fwcheck()
619 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_mismatch); in bfa_iocpf_sm_fwcheck()
624 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_fail); in bfa_iocpf_sm_fwcheck()
630 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_reset); in bfa_iocpf_sm_fwcheck()
636 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_reset); in bfa_iocpf_sm_fwcheck()
646 bfa_iocpf_sm_mismatch_entry(struct bfa_iocpf *iocpf) in bfa_iocpf_sm_mismatch_entry() argument
649 if (!iocpf->fw_mismatch_notified) in bfa_iocpf_sm_mismatch_entry()
650 bfa_ioc_pf_fwmismatch(iocpf->ioc); in bfa_iocpf_sm_mismatch_entry()
652 iocpf->fw_mismatch_notified = true; in bfa_iocpf_sm_mismatch_entry()
653 mod_timer(&(iocpf->ioc)->iocpf_timer, jiffies + in bfa_iocpf_sm_mismatch_entry()
659 bfa_iocpf_sm_mismatch(struct bfa_iocpf *iocpf, enum iocpf_event event) in bfa_iocpf_sm_mismatch() argument
661 struct bfa_ioc *ioc = iocpf->ioc; in bfa_iocpf_sm_mismatch()
665 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_fwcheck); in bfa_iocpf_sm_mismatch()
670 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_reset); in bfa_iocpf_sm_mismatch()
676 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_reset); in bfa_iocpf_sm_mismatch()
686 bfa_iocpf_sm_semwait_entry(struct bfa_iocpf *iocpf) in bfa_iocpf_sm_semwait_entry() argument
688 bfa_ioc_hw_sem_get(iocpf->ioc); in bfa_iocpf_sm_semwait_entry()
693 bfa_iocpf_sm_semwait(struct bfa_iocpf *iocpf, enum iocpf_event event) in bfa_iocpf_sm_semwait() argument
695 struct bfa_ioc *ioc = iocpf->ioc; in bfa_iocpf_sm_semwait()
701 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_hwinit); in bfa_iocpf_sm_semwait()
710 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_fail); in bfa_iocpf_sm_semwait()
716 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_disabling_sync); in bfa_iocpf_sm_semwait()
725 bfa_iocpf_sm_hwinit_entry(struct bfa_iocpf *iocpf) in bfa_iocpf_sm_hwinit_entry() argument
727 iocpf->poll_time = 0; in bfa_iocpf_sm_hwinit_entry()
728 bfa_ioc_reset(iocpf->ioc, false); in bfa_iocpf_sm_hwinit_entry()
735 bfa_iocpf_sm_hwinit(struct bfa_iocpf *iocpf, enum iocpf_event event) in bfa_iocpf_sm_hwinit() argument
737 struct bfa_ioc *ioc = iocpf->ioc; in bfa_iocpf_sm_hwinit()
741 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_enabling); in bfa_iocpf_sm_hwinit()
747 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_initfail_sync); in bfa_iocpf_sm_hwinit()
754 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_disabled); in bfa_iocpf_sm_hwinit()
763 bfa_iocpf_sm_enabling_entry(struct bfa_iocpf *iocpf) in bfa_iocpf_sm_enabling_entry() argument
765 mod_timer(&(iocpf->ioc)->iocpf_timer, jiffies + in bfa_iocpf_sm_enabling_entry()
770 iocpf->ioc->cbfn->reset_cbfn(iocpf->ioc->bfa); in bfa_iocpf_sm_enabling_entry()
771 bfa_ioc_send_enable(iocpf->ioc); in bfa_iocpf_sm_enabling_entry()
778 bfa_iocpf_sm_enabling(struct bfa_iocpf *iocpf, enum iocpf_event event) in bfa_iocpf_sm_enabling() argument
780 struct bfa_ioc *ioc = iocpf->ioc; in bfa_iocpf_sm_enabling()
786 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_ready); in bfa_iocpf_sm_enabling()
798 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_initfail_sync); in bfa_iocpf_sm_enabling()
804 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_disabling); in bfa_iocpf_sm_enabling()
813 bfa_iocpf_sm_ready_entry(struct bfa_iocpf *iocpf) in bfa_iocpf_sm_ready_entry() argument
815 bfa_ioc_pf_enabled(iocpf->ioc); in bfa_iocpf_sm_ready_entry()
819 bfa_iocpf_sm_ready(struct bfa_iocpf *iocpf, enum iocpf_event event) in bfa_iocpf_sm_ready() argument
823 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_disabling); in bfa_iocpf_sm_ready()
827 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_initfail_sync); in bfa_iocpf_sm_ready()
831 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_fail_sync); in bfa_iocpf_sm_ready()
840 bfa_iocpf_sm_disabling_entry(struct bfa_iocpf *iocpf) in bfa_iocpf_sm_disabling_entry() argument
842 mod_timer(&(iocpf->ioc)->iocpf_timer, jiffies + in bfa_iocpf_sm_disabling_entry()
844 bfa_ioc_send_disable(iocpf->ioc); in bfa_iocpf_sm_disabling_entry()
849 bfa_iocpf_sm_disabling(struct bfa_iocpf *iocpf, enum iocpf_event event) in bfa_iocpf_sm_disabling() argument
851 struct bfa_ioc *ioc = iocpf->ioc; in bfa_iocpf_sm_disabling()
856 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_disabling_sync); in bfa_iocpf_sm_disabling()
867 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_disabling_sync); in bfa_iocpf_sm_disabling()
879 bfa_iocpf_sm_disabling_sync_entry(struct bfa_iocpf *iocpf) in bfa_iocpf_sm_disabling_sync_entry() argument
881 bfa_ioc_hw_sem_get(iocpf->ioc); in bfa_iocpf_sm_disabling_sync_entry()
886 bfa_iocpf_sm_disabling_sync(struct bfa_iocpf *iocpf, enum iocpf_event event) in bfa_iocpf_sm_disabling_sync() argument
888 struct bfa_ioc *ioc = iocpf->ioc; in bfa_iocpf_sm_disabling_sync()
894 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_disabled); in bfa_iocpf_sm_disabling_sync()
898 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_fail); in bfa_iocpf_sm_disabling_sync()
912 bfa_iocpf_sm_disabled_entry(struct bfa_iocpf *iocpf) in bfa_iocpf_sm_disabled_entry() argument
914 bfa_ioc_mbox_flush(iocpf->ioc); in bfa_iocpf_sm_disabled_entry()
915 bfa_ioc_pf_disabled(iocpf->ioc); in bfa_iocpf_sm_disabled_entry()
919 bfa_iocpf_sm_disabled(struct bfa_iocpf *iocpf, enum iocpf_event event) in bfa_iocpf_sm_disabled() argument
921 struct bfa_ioc *ioc = iocpf->ioc; in bfa_iocpf_sm_disabled()
925 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_semwait); in bfa_iocpf_sm_disabled()
930 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_reset); in bfa_iocpf_sm_disabled()
939 bfa_iocpf_sm_initfail_sync_entry(struct bfa_iocpf *iocpf) in bfa_iocpf_sm_initfail_sync_entry() argument
941 bfa_nw_ioc_debug_save_ftrc(iocpf->ioc); in bfa_iocpf_sm_initfail_sync_entry()
942 bfa_ioc_hw_sem_get(iocpf->ioc); in bfa_iocpf_sm_initfail_sync_entry()
947 bfa_iocpf_sm_initfail_sync(struct bfa_iocpf *iocpf, enum iocpf_event event) in bfa_iocpf_sm_initfail_sync() argument
949 struct bfa_ioc *ioc = iocpf->ioc; in bfa_iocpf_sm_initfail_sync()
957 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_initfail); in bfa_iocpf_sm_initfail_sync()
961 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_fail); in bfa_iocpf_sm_initfail_sync()
967 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_disabling_sync); in bfa_iocpf_sm_initfail_sync()
973 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_reset); in bfa_iocpf_sm_initfail_sync()
985 bfa_iocpf_sm_initfail_entry(struct bfa_iocpf *iocpf) in bfa_iocpf_sm_initfail_entry() argument
991 bfa_iocpf_sm_initfail(struct bfa_iocpf *iocpf, enum iocpf_event event) in bfa_iocpf_sm_initfail() argument
993 struct bfa_ioc *ioc = iocpf->ioc; in bfa_iocpf_sm_initfail()
997 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_disabled); in bfa_iocpf_sm_initfail()
1002 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_reset); in bfa_iocpf_sm_initfail()
1011 bfa_iocpf_sm_fail_sync_entry(struct bfa_iocpf *iocpf) in bfa_iocpf_sm_fail_sync_entry() argument
1016 bfa_ioc_lpu_stop(iocpf->ioc); in bfa_iocpf_sm_fail_sync_entry()
1021 bfa_ioc_mbox_flush(iocpf->ioc); in bfa_iocpf_sm_fail_sync_entry()
1022 bfa_ioc_hw_sem_get(iocpf->ioc); in bfa_iocpf_sm_fail_sync_entry()
1027 bfa_iocpf_sm_fail_sync(struct bfa_iocpf *iocpf, enum iocpf_event event) in bfa_iocpf_sm_fail_sync() argument
1029 struct bfa_ioc *ioc = iocpf->ioc; in bfa_iocpf_sm_fail_sync()
1035 if (!iocpf->auto_recover) { in bfa_iocpf_sm_fail_sync()
1039 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_fail); in bfa_iocpf_sm_fail_sync()
1042 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_hwinit); in bfa_iocpf_sm_fail_sync()
1045 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_semwait); in bfa_iocpf_sm_fail_sync()
1051 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_fail); in bfa_iocpf_sm_fail_sync()
1057 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_disabling_sync); in bfa_iocpf_sm_fail_sync()
1069 bfa_iocpf_sm_fail_entry(struct bfa_iocpf *iocpf) in bfa_iocpf_sm_fail_entry() argument
1075 bfa_iocpf_sm_fail(struct bfa_iocpf *iocpf, enum iocpf_event event) in bfa_iocpf_sm_fail() argument
1079 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_disabled); in bfa_iocpf_sm_fail()
1203 bfa_fsm_send_event(&ioc->iocpf, IOCPF_E_SEM_ERROR); in bfa_ioc_hw_sem_get()
1207 bfa_fsm_send_event(&ioc->iocpf, IOCPF_E_SEMLOCKED); in bfa_ioc_hw_sem_get()
1886 bfa_fsm_send_event(&ioc->iocpf, IOCPF_E_FWREADY); in bfa_ioc_hwinit()
2101 struct bfa_iocpf *iocpf = &ioc->iocpf; in bfa_ioc_enable_reply() local
2105 bfa_fsm_send_event(iocpf, IOCPF_E_FWRSP_ENABLE); in bfa_ioc_enable_reply()
2401 bfa_fsm_send_event(&ioc->iocpf, IOCPF_E_TIMEOUT); in bfa_ioc_boot()
2447 struct bfa_iocpf *iocpf = &ioc->iocpf; in bfa_ioc_isr() local
2464 bfa_fsm_send_event(iocpf, IOCPF_E_FWRSP_DISABLE); in bfa_ioc_isr()
2490 ioc->iocpf.ioc = ioc; in bfa_nw_ioc_attach()
2623 ioc->dbg_fwsave_len = ioc->iocpf.auto_recover ? BNA_DBG_FWTRC_LEN : 0; in bfa_nw_ioc_debug_memclaim()
2870 iocpf_st = bfa_sm_to_state(iocpf_sm_table, ioc->iocpf.fsm); in bfa_ioc_get_state()
2950 bfa_fsm_send_event(&ioc->iocpf, IOCPF_E_ENABLE); in bfa_iocpf_enable()
2956 bfa_fsm_send_event(&ioc->iocpf, IOCPF_E_DISABLE); in bfa_iocpf_disable()
2962 bfa_fsm_send_event(&ioc->iocpf, IOCPF_E_FAIL); in bfa_iocpf_fail()
2968 bfa_fsm_send_event(&ioc->iocpf, IOCPF_E_INITFAIL); in bfa_iocpf_initfail()
2974 bfa_fsm_send_event(&ioc->iocpf, IOCPF_E_GETATTRFAIL); in bfa_iocpf_getattrfail()
2980 bfa_fsm_send_event(&ioc->iocpf, IOCPF_E_STOP); in bfa_iocpf_stop()
2988 iocpf_st = bfa_sm_to_state(iocpf_sm_table, ioc->iocpf.fsm); in bfa_nw_iocpf_timeout()
2993 bfa_fsm_send_event(&ioc->iocpf, IOCPF_E_TIMEOUT); in bfa_nw_iocpf_timeout()
3008 bfa_fsm_send_event(&ioc->iocpf, IOCPF_E_FWREADY); in bfa_ioc_poll_fwinit()
3012 if (ioc->iocpf.poll_time >= BFA_IOC_TOV) { in bfa_ioc_poll_fwinit()
3013 bfa_fsm_send_event(&ioc->iocpf, IOCPF_E_TIMEOUT); in bfa_ioc_poll_fwinit()
3015 ioc->iocpf.poll_time += BFA_IOC_POLL_TOV; in bfa_ioc_poll_fwinit()