Lines Matching refs:dconf
5839 static void bfa_dconf_sm_uninit(struct bfa_dconf_mod_s *dconf,
5841 static void bfa_dconf_sm_flash_read(struct bfa_dconf_mod_s *dconf,
5843 static void bfa_dconf_sm_ready(struct bfa_dconf_mod_s *dconf,
5845 static void bfa_dconf_sm_dirty(struct bfa_dconf_mod_s *dconf,
5847 static void bfa_dconf_sm_sync(struct bfa_dconf_mod_s *dconf,
5849 static void bfa_dconf_sm_final_sync(struct bfa_dconf_mod_s *dconf,
5851 static void bfa_dconf_sm_iocdown_dirty(struct bfa_dconf_mod_s *dconf,
5854 static void bfa_dconf_cbfn(void *dconf, bfa_status_t status);
5856 static bfa_status_t bfa_dconf_flash_write(struct bfa_dconf_mod_s *dconf);
5863 bfa_dconf_sm_uninit(struct bfa_dconf_mod_s *dconf, enum bfa_dconf_event event) in bfa_dconf_sm_uninit() argument
5866 bfa_trc(dconf->bfa, event); in bfa_dconf_sm_uninit()
5870 if (dconf->min_cfg) { in bfa_dconf_sm_uninit()
5871 bfa_trc(dconf->bfa, dconf->min_cfg); in bfa_dconf_sm_uninit()
5872 bfa_fsm_send_event(&dconf->bfa->iocfc, in bfa_dconf_sm_uninit()
5876 bfa_sm_set_state(dconf, bfa_dconf_sm_flash_read); in bfa_dconf_sm_uninit()
5877 bfa_timer_start(dconf->bfa, &dconf->timer, in bfa_dconf_sm_uninit()
5878 bfa_dconf_timer, dconf, 2 * BFA_DCONF_UPDATE_TOV); in bfa_dconf_sm_uninit()
5879 bfa_status = bfa_flash_read_part(BFA_FLASH(dconf->bfa), in bfa_dconf_sm_uninit()
5880 BFA_FLASH_PART_DRV, dconf->instance, in bfa_dconf_sm_uninit()
5881 dconf->dconf, in bfa_dconf_sm_uninit()
5883 bfa_dconf_init_cb, dconf->bfa); in bfa_dconf_sm_uninit()
5885 bfa_timer_stop(&dconf->timer); in bfa_dconf_sm_uninit()
5886 bfa_dconf_init_cb(dconf->bfa, BFA_STATUS_FAILED); in bfa_dconf_sm_uninit()
5887 bfa_sm_set_state(dconf, bfa_dconf_sm_uninit); in bfa_dconf_sm_uninit()
5892 bfa_fsm_send_event(&dconf->bfa->iocfc, IOCFC_E_DCONF_DONE); in bfa_dconf_sm_uninit()
5898 bfa_sm_fault(dconf->bfa, event); in bfa_dconf_sm_uninit()
5906 bfa_dconf_sm_flash_read(struct bfa_dconf_mod_s *dconf, in bfa_dconf_sm_flash_read() argument
5909 bfa_trc(dconf->bfa, event); in bfa_dconf_sm_flash_read()
5913 bfa_timer_stop(&dconf->timer); in bfa_dconf_sm_flash_read()
5914 bfa_sm_set_state(dconf, bfa_dconf_sm_ready); in bfa_dconf_sm_flash_read()
5917 bfa_sm_set_state(dconf, bfa_dconf_sm_ready); in bfa_dconf_sm_flash_read()
5918 bfa_ioc_suspend(&dconf->bfa->ioc); in bfa_dconf_sm_flash_read()
5921 bfa_timer_stop(&dconf->timer); in bfa_dconf_sm_flash_read()
5922 bfa_sm_set_state(dconf, bfa_dconf_sm_uninit); in bfa_dconf_sm_flash_read()
5923 bfa_fsm_send_event(&dconf->bfa->iocfc, IOCFC_E_DCONF_DONE); in bfa_dconf_sm_flash_read()
5926 bfa_timer_stop(&dconf->timer); in bfa_dconf_sm_flash_read()
5927 bfa_sm_set_state(dconf, bfa_dconf_sm_uninit); in bfa_dconf_sm_flash_read()
5930 bfa_sm_fault(dconf->bfa, event); in bfa_dconf_sm_flash_read()
5938 bfa_dconf_sm_ready(struct bfa_dconf_mod_s *dconf, enum bfa_dconf_event event) in bfa_dconf_sm_ready() argument
5940 bfa_trc(dconf->bfa, event); in bfa_dconf_sm_ready()
5944 bfa_timer_start(dconf->bfa, &dconf->timer, in bfa_dconf_sm_ready()
5945 bfa_dconf_timer, dconf, BFA_DCONF_UPDATE_TOV); in bfa_dconf_sm_ready()
5946 bfa_sm_set_state(dconf, bfa_dconf_sm_dirty); in bfa_dconf_sm_ready()
5949 bfa_sm_set_state(dconf, bfa_dconf_sm_uninit); in bfa_dconf_sm_ready()
5950 bfa_fsm_send_event(&dconf->bfa->iocfc, IOCFC_E_DCONF_DONE); in bfa_dconf_sm_ready()
5956 bfa_sm_fault(dconf->bfa, event); in bfa_dconf_sm_ready()
5965 bfa_dconf_sm_dirty(struct bfa_dconf_mod_s *dconf, enum bfa_dconf_event event) in bfa_dconf_sm_dirty() argument
5967 bfa_trc(dconf->bfa, event); in bfa_dconf_sm_dirty()
5971 bfa_sm_set_state(dconf, bfa_dconf_sm_sync); in bfa_dconf_sm_dirty()
5972 bfa_dconf_flash_write(dconf); in bfa_dconf_sm_dirty()
5975 bfa_timer_stop(&dconf->timer); in bfa_dconf_sm_dirty()
5976 bfa_timer_start(dconf->bfa, &dconf->timer, in bfa_dconf_sm_dirty()
5977 bfa_dconf_timer, dconf, BFA_DCONF_UPDATE_TOV); in bfa_dconf_sm_dirty()
5980 bfa_timer_stop(&dconf->timer); in bfa_dconf_sm_dirty()
5981 bfa_timer_start(dconf->bfa, &dconf->timer, in bfa_dconf_sm_dirty()
5982 bfa_dconf_timer, dconf, BFA_DCONF_UPDATE_TOV); in bfa_dconf_sm_dirty()
5983 bfa_sm_set_state(dconf, bfa_dconf_sm_final_sync); in bfa_dconf_sm_dirty()
5984 bfa_dconf_flash_write(dconf); in bfa_dconf_sm_dirty()
5989 bfa_timer_stop(&dconf->timer); in bfa_dconf_sm_dirty()
5990 bfa_sm_set_state(dconf, bfa_dconf_sm_iocdown_dirty); in bfa_dconf_sm_dirty()
5993 bfa_sm_fault(dconf->bfa, event); in bfa_dconf_sm_dirty()
6001 bfa_dconf_sm_final_sync(struct bfa_dconf_mod_s *dconf, in bfa_dconf_sm_final_sync() argument
6004 bfa_trc(dconf->bfa, event); in bfa_dconf_sm_final_sync()
6009 bfa_timer_stop(&dconf->timer); in bfa_dconf_sm_final_sync()
6011 bfa_sm_set_state(dconf, bfa_dconf_sm_uninit); in bfa_dconf_sm_final_sync()
6012 bfa_fsm_send_event(&dconf->bfa->iocfc, IOCFC_E_DCONF_DONE); in bfa_dconf_sm_final_sync()
6015 bfa_sm_fault(dconf->bfa, event); in bfa_dconf_sm_final_sync()
6020 bfa_dconf_sm_sync(struct bfa_dconf_mod_s *dconf, enum bfa_dconf_event event) in bfa_dconf_sm_sync() argument
6022 bfa_trc(dconf->bfa, event); in bfa_dconf_sm_sync()
6026 bfa_sm_set_state(dconf, bfa_dconf_sm_ready); in bfa_dconf_sm_sync()
6029 bfa_timer_start(dconf->bfa, &dconf->timer, in bfa_dconf_sm_sync()
6030 bfa_dconf_timer, dconf, BFA_DCONF_UPDATE_TOV); in bfa_dconf_sm_sync()
6031 bfa_sm_set_state(dconf, bfa_dconf_sm_dirty); in bfa_dconf_sm_sync()
6034 bfa_timer_start(dconf->bfa, &dconf->timer, in bfa_dconf_sm_sync()
6035 bfa_dconf_timer, dconf, BFA_DCONF_UPDATE_TOV); in bfa_dconf_sm_sync()
6036 bfa_sm_set_state(dconf, bfa_dconf_sm_final_sync); in bfa_dconf_sm_sync()
6039 bfa_sm_set_state(dconf, bfa_dconf_sm_iocdown_dirty); in bfa_dconf_sm_sync()
6042 bfa_sm_fault(dconf->bfa, event); in bfa_dconf_sm_sync()
6047 bfa_dconf_sm_iocdown_dirty(struct bfa_dconf_mod_s *dconf, in bfa_dconf_sm_iocdown_dirty() argument
6050 bfa_trc(dconf->bfa, event); in bfa_dconf_sm_iocdown_dirty()
6054 bfa_timer_start(dconf->bfa, &dconf->timer, in bfa_dconf_sm_iocdown_dirty()
6055 bfa_dconf_timer, dconf, BFA_DCONF_UPDATE_TOV); in bfa_dconf_sm_iocdown_dirty()
6056 bfa_sm_set_state(dconf, bfa_dconf_sm_dirty); in bfa_dconf_sm_iocdown_dirty()
6059 bfa_sm_set_state(dconf, bfa_dconf_sm_uninit); in bfa_dconf_sm_iocdown_dirty()
6060 bfa_fsm_send_event(&dconf->bfa->iocfc, IOCFC_E_DCONF_DONE); in bfa_dconf_sm_iocdown_dirty()
6065 bfa_sm_fault(dconf->bfa, event); in bfa_dconf_sm_iocdown_dirty()
6089 struct bfa_dconf_mod_s *dconf = BFA_DCONF_MOD(bfa); in bfa_dconf_attach() local
6091 dconf->bfad = bfad; in bfa_dconf_attach()
6092 dconf->bfa = bfa; in bfa_dconf_attach()
6093 dconf->instance = bfa->ioc.port_id; in bfa_dconf_attach()
6094 bfa_trc(bfa, dconf->instance); in bfa_dconf_attach()
6096 dconf->dconf = (struct bfa_dconf_s *) bfa_mem_kva_curp(dconf); in bfa_dconf_attach()
6098 bfa_mem_kva_curp(dconf) += sizeof(struct bfa_dconf_hdr_s); in bfa_dconf_attach()
6099 dconf->min_cfg = BFA_TRUE; in bfa_dconf_attach()
6101 dconf->min_cfg = BFA_FALSE; in bfa_dconf_attach()
6102 bfa_mem_kva_curp(dconf) += sizeof(struct bfa_dconf_s); in bfa_dconf_attach()
6106 bfa_sm_set_state(dconf, bfa_dconf_sm_uninit); in bfa_dconf_attach()
6113 struct bfa_dconf_mod_s *dconf = BFA_DCONF_MOD(bfa); in bfa_dconf_init_cb() local
6117 if (dconf->dconf->hdr.signature != BFI_DCONF_SIGNATURE) in bfa_dconf_init_cb()
6118 dconf->dconf->hdr.signature = BFI_DCONF_SIGNATURE; in bfa_dconf_init_cb()
6119 if (dconf->dconf->hdr.version != BFI_DCONF_VERSION) in bfa_dconf_init_cb()
6120 dconf->dconf->hdr.version = BFI_DCONF_VERSION; in bfa_dconf_init_cb()
6122 bfa_sm_send_event(dconf, BFA_DCONF_SM_FLASH_COMP); in bfa_dconf_init_cb()
6129 struct bfa_dconf_mod_s *dconf = BFA_DCONF_MOD(bfa); in bfa_dconf_modinit() local
6130 bfa_sm_send_event(dconf, BFA_DCONF_SM_INIT); in bfa_dconf_modinit()
6135 struct bfa_dconf_mod_s *dconf = cbarg; in bfa_dconf_timer() local
6136 bfa_sm_send_event(dconf, BFA_DCONF_SM_TIMEOUT); in bfa_dconf_timer()
6142 struct bfa_dconf_mod_s *dconf = BFA_DCONF_MOD(bfa); in bfa_dconf_iocdisable() local
6143 bfa_sm_send_event(dconf, BFA_DCONF_SM_IOCDISABLE); in bfa_dconf_iocdisable()
6147 bfa_dconf_flash_write(struct bfa_dconf_mod_s *dconf) in bfa_dconf_flash_write() argument
6150 bfa_trc(dconf->bfa, 0); in bfa_dconf_flash_write()
6152 bfa_status = bfa_flash_update_part(BFA_FLASH(dconf->bfa), in bfa_dconf_flash_write()
6153 BFA_FLASH_PART_DRV, dconf->instance, in bfa_dconf_flash_write()
6154 dconf->dconf, sizeof(struct bfa_dconf_s), 0, in bfa_dconf_flash_write()
6155 bfa_dconf_cbfn, dconf); in bfa_dconf_flash_write()
6158 bfa_trc(dconf->bfa, bfa_status); in bfa_dconf_flash_write()
6166 struct bfa_dconf_mod_s *dconf = BFA_DCONF_MOD(bfa); in bfa_dconf_update() local
6167 bfa_trc(dconf->bfa, 0); in bfa_dconf_update()
6168 if (bfa_sm_cmp_state(dconf, bfa_dconf_sm_iocdown_dirty)) in bfa_dconf_update()
6171 if (dconf->min_cfg) { in bfa_dconf_update()
6172 bfa_trc(dconf->bfa, dconf->min_cfg); in bfa_dconf_update()
6176 bfa_sm_send_event(dconf, BFA_DCONF_SM_WR); in bfa_dconf_update()
6183 struct bfa_dconf_mod_s *dconf = arg; in bfa_dconf_cbfn() local
6185 bfa_sm_send_event(dconf, BFA_DCONF_SM_FLASH_COMP); in bfa_dconf_cbfn()
6191 struct bfa_dconf_mod_s *dconf = BFA_DCONF_MOD(bfa); in bfa_dconf_modexit() local
6192 bfa_sm_send_event(dconf, BFA_DCONF_SM_EXIT); in bfa_dconf_modexit()