Lines Matching refs:dconf
5821 static void bfa_dconf_sm_uninit(struct bfa_dconf_mod_s *dconf,
5823 static void bfa_dconf_sm_flash_read(struct bfa_dconf_mod_s *dconf,
5825 static void bfa_dconf_sm_ready(struct bfa_dconf_mod_s *dconf,
5827 static void bfa_dconf_sm_dirty(struct bfa_dconf_mod_s *dconf,
5829 static void bfa_dconf_sm_sync(struct bfa_dconf_mod_s *dconf,
5831 static void bfa_dconf_sm_final_sync(struct bfa_dconf_mod_s *dconf,
5833 static void bfa_dconf_sm_iocdown_dirty(struct bfa_dconf_mod_s *dconf,
5836 static void bfa_dconf_cbfn(void *dconf, bfa_status_t status);
5838 static bfa_status_t bfa_dconf_flash_write(struct bfa_dconf_mod_s *dconf);
5845 bfa_dconf_sm_uninit(struct bfa_dconf_mod_s *dconf, enum bfa_dconf_event event) in bfa_dconf_sm_uninit() argument
5848 bfa_trc(dconf->bfa, event); in bfa_dconf_sm_uninit()
5852 if (dconf->min_cfg) { in bfa_dconf_sm_uninit()
5853 bfa_trc(dconf->bfa, dconf->min_cfg); in bfa_dconf_sm_uninit()
5854 bfa_fsm_send_event(&dconf->bfa->iocfc, in bfa_dconf_sm_uninit()
5858 bfa_sm_set_state(dconf, bfa_dconf_sm_flash_read); in bfa_dconf_sm_uninit()
5859 bfa_timer_start(dconf->bfa, &dconf->timer, in bfa_dconf_sm_uninit()
5860 bfa_dconf_timer, dconf, 2 * BFA_DCONF_UPDATE_TOV); in bfa_dconf_sm_uninit()
5861 bfa_status = bfa_flash_read_part(BFA_FLASH(dconf->bfa), in bfa_dconf_sm_uninit()
5862 BFA_FLASH_PART_DRV, dconf->instance, in bfa_dconf_sm_uninit()
5863 dconf->dconf, in bfa_dconf_sm_uninit()
5865 bfa_dconf_init_cb, dconf->bfa); in bfa_dconf_sm_uninit()
5867 bfa_timer_stop(&dconf->timer); in bfa_dconf_sm_uninit()
5868 bfa_dconf_init_cb(dconf->bfa, BFA_STATUS_FAILED); in bfa_dconf_sm_uninit()
5869 bfa_sm_set_state(dconf, bfa_dconf_sm_uninit); in bfa_dconf_sm_uninit()
5874 bfa_fsm_send_event(&dconf->bfa->iocfc, IOCFC_E_DCONF_DONE); in bfa_dconf_sm_uninit()
5881 bfa_sm_fault(dconf->bfa, event); in bfa_dconf_sm_uninit()
5889 bfa_dconf_sm_flash_read(struct bfa_dconf_mod_s *dconf, in bfa_dconf_sm_flash_read() argument
5892 bfa_trc(dconf->bfa, event); in bfa_dconf_sm_flash_read()
5896 bfa_timer_stop(&dconf->timer); in bfa_dconf_sm_flash_read()
5897 bfa_sm_set_state(dconf, bfa_dconf_sm_ready); in bfa_dconf_sm_flash_read()
5900 bfa_sm_set_state(dconf, bfa_dconf_sm_ready); in bfa_dconf_sm_flash_read()
5901 bfa_ioc_suspend(&dconf->bfa->ioc); in bfa_dconf_sm_flash_read()
5904 bfa_timer_stop(&dconf->timer); in bfa_dconf_sm_flash_read()
5905 bfa_sm_set_state(dconf, bfa_dconf_sm_uninit); in bfa_dconf_sm_flash_read()
5906 bfa_fsm_send_event(&dconf->bfa->iocfc, IOCFC_E_DCONF_DONE); in bfa_dconf_sm_flash_read()
5909 bfa_timer_stop(&dconf->timer); in bfa_dconf_sm_flash_read()
5910 bfa_sm_set_state(dconf, bfa_dconf_sm_uninit); in bfa_dconf_sm_flash_read()
5913 bfa_sm_fault(dconf->bfa, event); in bfa_dconf_sm_flash_read()
5921 bfa_dconf_sm_ready(struct bfa_dconf_mod_s *dconf, enum bfa_dconf_event event) in bfa_dconf_sm_ready() argument
5923 bfa_trc(dconf->bfa, event); in bfa_dconf_sm_ready()
5927 bfa_timer_start(dconf->bfa, &dconf->timer, in bfa_dconf_sm_ready()
5928 bfa_dconf_timer, dconf, BFA_DCONF_UPDATE_TOV); in bfa_dconf_sm_ready()
5929 bfa_sm_set_state(dconf, bfa_dconf_sm_dirty); in bfa_dconf_sm_ready()
5932 bfa_sm_set_state(dconf, bfa_dconf_sm_uninit); in bfa_dconf_sm_ready()
5933 bfa_fsm_send_event(&dconf->bfa->iocfc, IOCFC_E_DCONF_DONE); in bfa_dconf_sm_ready()
5939 bfa_sm_fault(dconf->bfa, event); in bfa_dconf_sm_ready()
5948 bfa_dconf_sm_dirty(struct bfa_dconf_mod_s *dconf, enum bfa_dconf_event event) in bfa_dconf_sm_dirty() argument
5950 bfa_trc(dconf->bfa, event); in bfa_dconf_sm_dirty()
5954 bfa_sm_set_state(dconf, bfa_dconf_sm_sync); in bfa_dconf_sm_dirty()
5955 bfa_dconf_flash_write(dconf); in bfa_dconf_sm_dirty()
5958 bfa_timer_stop(&dconf->timer); in bfa_dconf_sm_dirty()
5959 bfa_timer_start(dconf->bfa, &dconf->timer, in bfa_dconf_sm_dirty()
5960 bfa_dconf_timer, dconf, BFA_DCONF_UPDATE_TOV); in bfa_dconf_sm_dirty()
5963 bfa_timer_stop(&dconf->timer); in bfa_dconf_sm_dirty()
5964 bfa_timer_start(dconf->bfa, &dconf->timer, in bfa_dconf_sm_dirty()
5965 bfa_dconf_timer, dconf, BFA_DCONF_UPDATE_TOV); in bfa_dconf_sm_dirty()
5966 bfa_sm_set_state(dconf, bfa_dconf_sm_final_sync); in bfa_dconf_sm_dirty()
5967 bfa_dconf_flash_write(dconf); in bfa_dconf_sm_dirty()
5972 bfa_timer_stop(&dconf->timer); in bfa_dconf_sm_dirty()
5973 bfa_sm_set_state(dconf, bfa_dconf_sm_iocdown_dirty); in bfa_dconf_sm_dirty()
5976 bfa_sm_fault(dconf->bfa, event); in bfa_dconf_sm_dirty()
5984 bfa_dconf_sm_final_sync(struct bfa_dconf_mod_s *dconf, in bfa_dconf_sm_final_sync() argument
5987 bfa_trc(dconf->bfa, event); in bfa_dconf_sm_final_sync()
5992 bfa_timer_stop(&dconf->timer); in bfa_dconf_sm_final_sync()
5995 bfa_sm_set_state(dconf, bfa_dconf_sm_uninit); in bfa_dconf_sm_final_sync()
5996 bfa_fsm_send_event(&dconf->bfa->iocfc, IOCFC_E_DCONF_DONE); in bfa_dconf_sm_final_sync()
5999 bfa_sm_fault(dconf->bfa, event); in bfa_dconf_sm_final_sync()
6004 bfa_dconf_sm_sync(struct bfa_dconf_mod_s *dconf, enum bfa_dconf_event event) in bfa_dconf_sm_sync() argument
6006 bfa_trc(dconf->bfa, event); in bfa_dconf_sm_sync()
6010 bfa_sm_set_state(dconf, bfa_dconf_sm_ready); in bfa_dconf_sm_sync()
6013 bfa_timer_start(dconf->bfa, &dconf->timer, in bfa_dconf_sm_sync()
6014 bfa_dconf_timer, dconf, BFA_DCONF_UPDATE_TOV); in bfa_dconf_sm_sync()
6015 bfa_sm_set_state(dconf, bfa_dconf_sm_dirty); in bfa_dconf_sm_sync()
6018 bfa_timer_start(dconf->bfa, &dconf->timer, in bfa_dconf_sm_sync()
6019 bfa_dconf_timer, dconf, BFA_DCONF_UPDATE_TOV); in bfa_dconf_sm_sync()
6020 bfa_sm_set_state(dconf, bfa_dconf_sm_final_sync); in bfa_dconf_sm_sync()
6023 bfa_sm_set_state(dconf, bfa_dconf_sm_iocdown_dirty); in bfa_dconf_sm_sync()
6026 bfa_sm_fault(dconf->bfa, event); in bfa_dconf_sm_sync()
6031 bfa_dconf_sm_iocdown_dirty(struct bfa_dconf_mod_s *dconf, in bfa_dconf_sm_iocdown_dirty() argument
6034 bfa_trc(dconf->bfa, event); in bfa_dconf_sm_iocdown_dirty()
6038 bfa_timer_start(dconf->bfa, &dconf->timer, in bfa_dconf_sm_iocdown_dirty()
6039 bfa_dconf_timer, dconf, BFA_DCONF_UPDATE_TOV); in bfa_dconf_sm_iocdown_dirty()
6040 bfa_sm_set_state(dconf, bfa_dconf_sm_dirty); in bfa_dconf_sm_iocdown_dirty()
6043 bfa_sm_set_state(dconf, bfa_dconf_sm_uninit); in bfa_dconf_sm_iocdown_dirty()
6044 bfa_fsm_send_event(&dconf->bfa->iocfc, IOCFC_E_DCONF_DONE); in bfa_dconf_sm_iocdown_dirty()
6049 bfa_sm_fault(dconf->bfa, event); in bfa_dconf_sm_iocdown_dirty()
6073 struct bfa_dconf_mod_s *dconf = BFA_DCONF_MOD(bfa); in bfa_dconf_attach() local
6075 dconf->bfad = bfad; in bfa_dconf_attach()
6076 dconf->bfa = bfa; in bfa_dconf_attach()
6077 dconf->instance = bfa->ioc.port_id; in bfa_dconf_attach()
6078 bfa_trc(bfa, dconf->instance); in bfa_dconf_attach()
6080 dconf->dconf = (struct bfa_dconf_s *) bfa_mem_kva_curp(dconf); in bfa_dconf_attach()
6082 bfa_mem_kva_curp(dconf) += sizeof(struct bfa_dconf_hdr_s); in bfa_dconf_attach()
6083 dconf->min_cfg = BFA_TRUE; in bfa_dconf_attach()
6085 dconf->min_cfg = BFA_FALSE; in bfa_dconf_attach()
6086 bfa_mem_kva_curp(dconf) += sizeof(struct bfa_dconf_s); in bfa_dconf_attach()
6090 bfa_sm_set_state(dconf, bfa_dconf_sm_uninit); in bfa_dconf_attach()
6097 struct bfa_dconf_mod_s *dconf = BFA_DCONF_MOD(bfa); in bfa_dconf_init_cb() local
6101 if (dconf->dconf->hdr.signature != BFI_DCONF_SIGNATURE) in bfa_dconf_init_cb()
6102 dconf->dconf->hdr.signature = BFI_DCONF_SIGNATURE; in bfa_dconf_init_cb()
6103 if (dconf->dconf->hdr.version != BFI_DCONF_VERSION) in bfa_dconf_init_cb()
6104 dconf->dconf->hdr.version = BFI_DCONF_VERSION; in bfa_dconf_init_cb()
6106 bfa_sm_send_event(dconf, BFA_DCONF_SM_FLASH_COMP); in bfa_dconf_init_cb()
6113 struct bfa_dconf_mod_s *dconf = BFA_DCONF_MOD(bfa); in bfa_dconf_modinit() local
6114 bfa_sm_send_event(dconf, BFA_DCONF_SM_INIT); in bfa_dconf_modinit()
6119 struct bfa_dconf_mod_s *dconf = cbarg; in bfa_dconf_timer() local
6120 bfa_sm_send_event(dconf, BFA_DCONF_SM_TIMEOUT); in bfa_dconf_timer()
6126 struct bfa_dconf_mod_s *dconf = BFA_DCONF_MOD(bfa); in bfa_dconf_iocdisable() local
6127 bfa_sm_send_event(dconf, BFA_DCONF_SM_IOCDISABLE); in bfa_dconf_iocdisable()
6131 bfa_dconf_flash_write(struct bfa_dconf_mod_s *dconf) in bfa_dconf_flash_write() argument
6134 bfa_trc(dconf->bfa, 0); in bfa_dconf_flash_write()
6136 bfa_status = bfa_flash_update_part(BFA_FLASH(dconf->bfa), in bfa_dconf_flash_write()
6137 BFA_FLASH_PART_DRV, dconf->instance, in bfa_dconf_flash_write()
6138 dconf->dconf, sizeof(struct bfa_dconf_s), 0, in bfa_dconf_flash_write()
6139 bfa_dconf_cbfn, dconf); in bfa_dconf_flash_write()
6142 bfa_trc(dconf->bfa, bfa_status); in bfa_dconf_flash_write()
6150 struct bfa_dconf_mod_s *dconf = BFA_DCONF_MOD(bfa); in bfa_dconf_update() local
6151 bfa_trc(dconf->bfa, 0); in bfa_dconf_update()
6152 if (bfa_sm_cmp_state(dconf, bfa_dconf_sm_iocdown_dirty)) in bfa_dconf_update()
6155 if (dconf->min_cfg) { in bfa_dconf_update()
6156 bfa_trc(dconf->bfa, dconf->min_cfg); in bfa_dconf_update()
6160 bfa_sm_send_event(dconf, BFA_DCONF_SM_WR); in bfa_dconf_update()
6167 struct bfa_dconf_mod_s *dconf = arg; in bfa_dconf_cbfn() local
6169 bfa_sm_send_event(dconf, BFA_DCONF_SM_FLASH_COMP); in bfa_dconf_cbfn()
6175 struct bfa_dconf_mod_s *dconf = BFA_DCONF_MOD(bfa); in bfa_dconf_modexit() local
6176 bfa_sm_send_event(dconf, BFA_DCONF_SM_EXIT); in bfa_dconf_modexit()