Lines Matching refs:iocfc

252 bfa_iocfc_sm_stopped_entry(struct bfa_iocfc_s *iocfc)  in bfa_iocfc_sm_stopped_entry()  argument
257 bfa_iocfc_sm_stopped(struct bfa_iocfc_s *iocfc, enum iocfc_event event) in bfa_iocfc_sm_stopped() argument
259 bfa_trc(iocfc->bfa, event); in bfa_iocfc_sm_stopped()
264 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_initing); in bfa_iocfc_sm_stopped()
267 bfa_sm_fault(iocfc->bfa, event); in bfa_iocfc_sm_stopped()
273 bfa_iocfc_sm_initing_entry(struct bfa_iocfc_s *iocfc) in bfa_iocfc_sm_initing_entry() argument
275 bfa_ioc_enable(&iocfc->bfa->ioc); in bfa_iocfc_sm_initing_entry()
279 bfa_iocfc_sm_initing(struct bfa_iocfc_s *iocfc, enum iocfc_event event) in bfa_iocfc_sm_initing() argument
281 bfa_trc(iocfc->bfa, event); in bfa_iocfc_sm_initing()
285 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_dconf_read); in bfa_iocfc_sm_initing()
289 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_disabling); in bfa_iocfc_sm_initing()
293 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_stopping); in bfa_iocfc_sm_initing()
297 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_init_failed); in bfa_iocfc_sm_initing()
300 bfa_sm_fault(iocfc->bfa, event); in bfa_iocfc_sm_initing()
306 bfa_iocfc_sm_dconf_read_entry(struct bfa_iocfc_s *iocfc) in bfa_iocfc_sm_dconf_read_entry() argument
308 bfa_dconf_modinit(iocfc->bfa); in bfa_iocfc_sm_dconf_read_entry()
312 bfa_iocfc_sm_dconf_read(struct bfa_iocfc_s *iocfc, enum iocfc_event event) in bfa_iocfc_sm_dconf_read() argument
314 bfa_trc(iocfc->bfa, event); in bfa_iocfc_sm_dconf_read()
318 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_init_cfg_wait); in bfa_iocfc_sm_dconf_read()
322 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_disabling); in bfa_iocfc_sm_dconf_read()
326 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_stopping); in bfa_iocfc_sm_dconf_read()
330 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_init_failed); in bfa_iocfc_sm_dconf_read()
333 bfa_sm_fault(iocfc->bfa, event); in bfa_iocfc_sm_dconf_read()
339 bfa_iocfc_sm_init_cfg_wait_entry(struct bfa_iocfc_s *iocfc) in bfa_iocfc_sm_init_cfg_wait_entry() argument
341 bfa_iocfc_send_cfg(iocfc->bfa); in bfa_iocfc_sm_init_cfg_wait_entry()
345 bfa_iocfc_sm_init_cfg_wait(struct bfa_iocfc_s *iocfc, enum iocfc_event event) in bfa_iocfc_sm_init_cfg_wait() argument
347 bfa_trc(iocfc->bfa, event); in bfa_iocfc_sm_init_cfg_wait()
351 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_init_cfg_done); in bfa_iocfc_sm_init_cfg_wait()
355 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_disabling); in bfa_iocfc_sm_init_cfg_wait()
359 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_stopping); in bfa_iocfc_sm_init_cfg_wait()
363 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_init_failed); in bfa_iocfc_sm_init_cfg_wait()
366 bfa_sm_fault(iocfc->bfa, event); in bfa_iocfc_sm_init_cfg_wait()
372 bfa_iocfc_sm_init_cfg_done_entry(struct bfa_iocfc_s *iocfc) in bfa_iocfc_sm_init_cfg_done_entry() argument
374 iocfc->bfa->iocfc.op_status = BFA_STATUS_OK; in bfa_iocfc_sm_init_cfg_done_entry()
375 bfa_cb_queue(iocfc->bfa, &iocfc->bfa->iocfc.init_hcb_qe, in bfa_iocfc_sm_init_cfg_done_entry()
376 bfa_iocfc_init_cb, iocfc->bfa); in bfa_iocfc_sm_init_cfg_done_entry()
380 bfa_iocfc_sm_init_cfg_done(struct bfa_iocfc_s *iocfc, enum iocfc_event event) in bfa_iocfc_sm_init_cfg_done() argument
382 bfa_trc(iocfc->bfa, event); in bfa_iocfc_sm_init_cfg_done()
386 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_operational); in bfa_iocfc_sm_init_cfg_done()
389 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_stopping); in bfa_iocfc_sm_init_cfg_done()
392 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_disabling); in bfa_iocfc_sm_init_cfg_done()
395 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_failed); in bfa_iocfc_sm_init_cfg_done()
398 bfa_sm_fault(iocfc->bfa, event); in bfa_iocfc_sm_init_cfg_done()
404 bfa_iocfc_sm_operational_entry(struct bfa_iocfc_s *iocfc) in bfa_iocfc_sm_operational_entry() argument
406 bfa_fcport_init(iocfc->bfa); in bfa_iocfc_sm_operational_entry()
407 bfa_iocfc_start_submod(iocfc->bfa); in bfa_iocfc_sm_operational_entry()
411 bfa_iocfc_sm_operational(struct bfa_iocfc_s *iocfc, enum iocfc_event event) in bfa_iocfc_sm_operational() argument
413 bfa_trc(iocfc->bfa, event); in bfa_iocfc_sm_operational()
417 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_dconf_write); in bfa_iocfc_sm_operational()
420 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_disabling); in bfa_iocfc_sm_operational()
423 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_failed); in bfa_iocfc_sm_operational()
426 bfa_sm_fault(iocfc->bfa, event); in bfa_iocfc_sm_operational()
432 bfa_iocfc_sm_dconf_write_entry(struct bfa_iocfc_s *iocfc) in bfa_iocfc_sm_dconf_write_entry() argument
434 bfa_dconf_modexit(iocfc->bfa); in bfa_iocfc_sm_dconf_write_entry()
438 bfa_iocfc_sm_dconf_write(struct bfa_iocfc_s *iocfc, enum iocfc_event event) in bfa_iocfc_sm_dconf_write() argument
440 bfa_trc(iocfc->bfa, event); in bfa_iocfc_sm_dconf_write()
445 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_stopping); in bfa_iocfc_sm_dconf_write()
448 bfa_sm_fault(iocfc->bfa, event); in bfa_iocfc_sm_dconf_write()
454 bfa_iocfc_sm_stopping_entry(struct bfa_iocfc_s *iocfc) in bfa_iocfc_sm_stopping_entry() argument
456 bfa_ioc_disable(&iocfc->bfa->ioc); in bfa_iocfc_sm_stopping_entry()
460 bfa_iocfc_sm_stopping(struct bfa_iocfc_s *iocfc, enum iocfc_event event) in bfa_iocfc_sm_stopping() argument
462 bfa_trc(iocfc->bfa, event); in bfa_iocfc_sm_stopping()
466 bfa_isr_disable(iocfc->bfa); in bfa_iocfc_sm_stopping()
467 bfa_iocfc_disable_submod(iocfc->bfa); in bfa_iocfc_sm_stopping()
468 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_stopped); in bfa_iocfc_sm_stopping()
469 iocfc->bfa->iocfc.op_status = BFA_STATUS_OK; in bfa_iocfc_sm_stopping()
470 bfa_cb_queue(iocfc->bfa, &iocfc->bfa->iocfc.stop_hcb_qe, in bfa_iocfc_sm_stopping()
471 bfa_iocfc_stop_cb, iocfc->bfa); in bfa_iocfc_sm_stopping()
480 bfa_sm_fault(iocfc->bfa, event); in bfa_iocfc_sm_stopping()
486 bfa_iocfc_sm_enabling_entry(struct bfa_iocfc_s *iocfc) in bfa_iocfc_sm_enabling_entry() argument
488 bfa_ioc_enable(&iocfc->bfa->ioc); in bfa_iocfc_sm_enabling_entry()
492 bfa_iocfc_sm_enabling(struct bfa_iocfc_s *iocfc, enum iocfc_event event) in bfa_iocfc_sm_enabling() argument
494 bfa_trc(iocfc->bfa, event); in bfa_iocfc_sm_enabling()
498 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_cfg_wait); in bfa_iocfc_sm_enabling()
502 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_disabling); in bfa_iocfc_sm_enabling()
506 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_dconf_write); in bfa_iocfc_sm_enabling()
510 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_failed); in bfa_iocfc_sm_enabling()
512 if (iocfc->bfa->iocfc.cb_reqd == BFA_FALSE) in bfa_iocfc_sm_enabling()
515 iocfc->bfa->iocfc.op_status = BFA_STATUS_FAILED; in bfa_iocfc_sm_enabling()
516 bfa_cb_queue(iocfc->bfa, &iocfc->bfa->iocfc.en_hcb_qe, in bfa_iocfc_sm_enabling()
517 bfa_iocfc_enable_cb, iocfc->bfa); in bfa_iocfc_sm_enabling()
518 iocfc->bfa->iocfc.cb_reqd = BFA_FALSE; in bfa_iocfc_sm_enabling()
521 bfa_sm_fault(iocfc->bfa, event); in bfa_iocfc_sm_enabling()
527 bfa_iocfc_sm_cfg_wait_entry(struct bfa_iocfc_s *iocfc) in bfa_iocfc_sm_cfg_wait_entry() argument
529 bfa_iocfc_send_cfg(iocfc->bfa); in bfa_iocfc_sm_cfg_wait_entry()
533 bfa_iocfc_sm_cfg_wait(struct bfa_iocfc_s *iocfc, enum iocfc_event event) in bfa_iocfc_sm_cfg_wait() argument
535 bfa_trc(iocfc->bfa, event); in bfa_iocfc_sm_cfg_wait()
539 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_operational); in bfa_iocfc_sm_cfg_wait()
540 if (iocfc->bfa->iocfc.cb_reqd == BFA_FALSE) in bfa_iocfc_sm_cfg_wait()
543 iocfc->bfa->iocfc.op_status = BFA_STATUS_OK; in bfa_iocfc_sm_cfg_wait()
544 bfa_cb_queue(iocfc->bfa, &iocfc->bfa->iocfc.en_hcb_qe, in bfa_iocfc_sm_cfg_wait()
545 bfa_iocfc_enable_cb, iocfc->bfa); in bfa_iocfc_sm_cfg_wait()
546 iocfc->bfa->iocfc.cb_reqd = BFA_FALSE; in bfa_iocfc_sm_cfg_wait()
549 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_disabling); in bfa_iocfc_sm_cfg_wait()
553 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_dconf_write); in bfa_iocfc_sm_cfg_wait()
556 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_failed); in bfa_iocfc_sm_cfg_wait()
557 if (iocfc->bfa->iocfc.cb_reqd == BFA_FALSE) in bfa_iocfc_sm_cfg_wait()
560 iocfc->bfa->iocfc.op_status = BFA_STATUS_FAILED; in bfa_iocfc_sm_cfg_wait()
561 bfa_cb_queue(iocfc->bfa, &iocfc->bfa->iocfc.en_hcb_qe, in bfa_iocfc_sm_cfg_wait()
562 bfa_iocfc_enable_cb, iocfc->bfa); in bfa_iocfc_sm_cfg_wait()
563 iocfc->bfa->iocfc.cb_reqd = BFA_FALSE; in bfa_iocfc_sm_cfg_wait()
566 bfa_sm_fault(iocfc->bfa, event); in bfa_iocfc_sm_cfg_wait()
572 bfa_iocfc_sm_disabling_entry(struct bfa_iocfc_s *iocfc) in bfa_iocfc_sm_disabling_entry() argument
574 bfa_ioc_disable(&iocfc->bfa->ioc); in bfa_iocfc_sm_disabling_entry()
578 bfa_iocfc_sm_disabling(struct bfa_iocfc_s *iocfc, enum iocfc_event event) in bfa_iocfc_sm_disabling() argument
580 bfa_trc(iocfc->bfa, event); in bfa_iocfc_sm_disabling()
584 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_disabled); in bfa_iocfc_sm_disabling()
591 bfa_sm_fault(iocfc->bfa, event); in bfa_iocfc_sm_disabling()
597 bfa_iocfc_sm_disabled_entry(struct bfa_iocfc_s *iocfc) in bfa_iocfc_sm_disabled_entry() argument
599 bfa_isr_disable(iocfc->bfa); in bfa_iocfc_sm_disabled_entry()
600 bfa_iocfc_disable_submod(iocfc->bfa); in bfa_iocfc_sm_disabled_entry()
601 iocfc->bfa->iocfc.op_status = BFA_STATUS_OK; in bfa_iocfc_sm_disabled_entry()
602 bfa_cb_queue(iocfc->bfa, &iocfc->bfa->iocfc.dis_hcb_qe, in bfa_iocfc_sm_disabled_entry()
603 bfa_iocfc_disable_cb, iocfc->bfa); in bfa_iocfc_sm_disabled_entry()
607 bfa_iocfc_sm_disabled(struct bfa_iocfc_s *iocfc, enum iocfc_event event) in bfa_iocfc_sm_disabled() argument
609 bfa_trc(iocfc->bfa, event); in bfa_iocfc_sm_disabled()
613 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_dconf_write); in bfa_iocfc_sm_disabled()
616 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_enabling); in bfa_iocfc_sm_disabled()
619 bfa_sm_fault(iocfc->bfa, event); in bfa_iocfc_sm_disabled()
625 bfa_iocfc_sm_failed_entry(struct bfa_iocfc_s *iocfc) in bfa_iocfc_sm_failed_entry() argument
627 bfa_isr_disable(iocfc->bfa); in bfa_iocfc_sm_failed_entry()
628 bfa_iocfc_disable_submod(iocfc->bfa); in bfa_iocfc_sm_failed_entry()
632 bfa_iocfc_sm_failed(struct bfa_iocfc_s *iocfc, enum iocfc_event event) in bfa_iocfc_sm_failed() argument
634 bfa_trc(iocfc->bfa, event); in bfa_iocfc_sm_failed()
638 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_dconf_write); in bfa_iocfc_sm_failed()
641 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_disabling); in bfa_iocfc_sm_failed()
644 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_cfg_wait); in bfa_iocfc_sm_failed()
649 bfa_sm_fault(iocfc->bfa, event); in bfa_iocfc_sm_failed()
655 bfa_iocfc_sm_init_failed_entry(struct bfa_iocfc_s *iocfc) in bfa_iocfc_sm_init_failed_entry() argument
657 bfa_isr_disable(iocfc->bfa); in bfa_iocfc_sm_init_failed_entry()
658 iocfc->bfa->iocfc.op_status = BFA_STATUS_FAILED; in bfa_iocfc_sm_init_failed_entry()
659 bfa_cb_queue(iocfc->bfa, &iocfc->bfa->iocfc.init_hcb_qe, in bfa_iocfc_sm_init_failed_entry()
660 bfa_iocfc_init_cb, iocfc->bfa); in bfa_iocfc_sm_init_failed_entry()
664 bfa_iocfc_sm_init_failed(struct bfa_iocfc_s *iocfc, enum iocfc_event event) in bfa_iocfc_sm_init_failed() argument
666 bfa_trc(iocfc->bfa, event); in bfa_iocfc_sm_init_failed()
670 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_stopping); in bfa_iocfc_sm_init_failed()
673 bfa_ioc_disable(&iocfc->bfa->ioc); in bfa_iocfc_sm_init_failed()
676 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_dconf_read); in bfa_iocfc_sm_init_failed()
679 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_stopped); in bfa_iocfc_sm_init_failed()
680 iocfc->bfa->iocfc.op_status = BFA_STATUS_OK; in bfa_iocfc_sm_init_failed()
681 bfa_cb_queue(iocfc->bfa, &iocfc->bfa->iocfc.dis_hcb_qe, in bfa_iocfc_sm_init_failed()
682 bfa_iocfc_disable_cb, iocfc->bfa); in bfa_iocfc_sm_init_failed()
687 bfa_sm_fault(iocfc->bfa, event); in bfa_iocfc_sm_init_failed()
733 CQ_INCR(ci, bfa->iocfc.cfg.drvcfg.num_rspq_elems); in bfa_isr_rspq()
772 intr = readl(bfa->iocfc.bfa_regs.intr_status); in bfa_msix_all()
811 intr = readl(bfa->iocfc.bfa_regs.intr_status); in bfa_intx()
815 writel(qintr, bfa->iocfc.bfa_regs.intr_status); in bfa_intx()
867 writel(umsk, bfa->iocfc.bfa_regs.intr_status); in bfa_isr_enable()
868 writel(~umsk, bfa->iocfc.bfa_regs.intr_mask); in bfa_isr_enable()
869 bfa->iocfc.intr_mask = ~umsk; in bfa_isr_enable()
883 writel(-1L, bfa->iocfc.bfa_regs.intr_mask); in bfa_isr_disable()
890 bfa_isr_reqq(bfa, vec - bfa->iocfc.hwif.cpe_vec_q0); in bfa_msix_reqq()
906 bfa_isr_rspq(bfa, vec - bfa->iocfc.hwif.rme_vec_q0); in bfa_msix_rspq()
915 intr = readl(bfa->iocfc.bfa_regs.intr_status); in bfa_msix_lpu_err()
958 writel(intr, bfa->iocfc.bfa_regs.intr_status); in bfa_msix_lpu_err()
978 struct bfa_iocfc_s *iocfc = &bfa->iocfc; in bfa_iocfc_send_cfg() local
980 struct bfi_iocfc_cfg_s *cfg_info = iocfc->cfginfo; in bfa_iocfc_send_cfg()
981 struct bfa_iocfc_cfg_s *cfg = &iocfc->cfg; in bfa_iocfc_send_cfg()
1001 bfa_dma_be_addr_set(cfg_info->cfgrsp_addr, iocfc->cfgrsp_dma.pa); in bfa_iocfc_send_cfg()
1007 iocfc->req_cq_ba[i].pa); in bfa_iocfc_send_cfg()
1009 iocfc->req_cq_shadow_ci[i].pa); in bfa_iocfc_send_cfg()
1014 iocfc->rsp_cq_ba[i].pa); in bfa_iocfc_send_cfg()
1016 iocfc->rsp_cq_shadow_pi[i].pa); in bfa_iocfc_send_cfg()
1025 if (bfa_fsm_cmp_state(iocfc, bfa_iocfc_sm_init_cfg_wait)) in bfa_iocfc_send_cfg()
1033 bfa_dma_be_addr_set(cfg_req.ioc_cfg_dma_addr, iocfc->cfg_info.pa); in bfa_iocfc_send_cfg()
1043 struct bfa_iocfc_s *iocfc = &bfa->iocfc; in bfa_iocfc_init_mem() local
1046 iocfc->bfa = bfa; in bfa_iocfc_init_mem()
1047 iocfc->cfg = *cfg; in bfa_iocfc_init_mem()
1053 iocfc->hwif.hw_reginit = bfa_hwct_reginit; in bfa_iocfc_init_mem()
1054 iocfc->hwif.hw_reqq_ack = bfa_hwct_reqq_ack; in bfa_iocfc_init_mem()
1055 iocfc->hwif.hw_rspq_ack = bfa_hwct_rspq_ack; in bfa_iocfc_init_mem()
1056 iocfc->hwif.hw_msix_init = bfa_hwct_msix_init; in bfa_iocfc_init_mem()
1057 iocfc->hwif.hw_msix_ctrl_install = bfa_hwct_msix_ctrl_install; in bfa_iocfc_init_mem()
1058 iocfc->hwif.hw_msix_queue_install = bfa_hwct_msix_queue_install; in bfa_iocfc_init_mem()
1059 iocfc->hwif.hw_msix_uninstall = bfa_hwct_msix_uninstall; in bfa_iocfc_init_mem()
1060 iocfc->hwif.hw_isr_mode_set = bfa_hwct_isr_mode_set; in bfa_iocfc_init_mem()
1061 iocfc->hwif.hw_msix_getvecs = bfa_hwct_msix_getvecs; in bfa_iocfc_init_mem()
1062 iocfc->hwif.hw_msix_get_rme_range = bfa_hwct_msix_get_rme_range; in bfa_iocfc_init_mem()
1063 iocfc->hwif.rme_vec_q0 = BFI_MSIX_RME_QMIN_CT; in bfa_iocfc_init_mem()
1064 iocfc->hwif.cpe_vec_q0 = BFI_MSIX_CPE_QMIN_CT; in bfa_iocfc_init_mem()
1066 iocfc->hwif.hw_reginit = bfa_hwcb_reginit; in bfa_iocfc_init_mem()
1067 iocfc->hwif.hw_reqq_ack = NULL; in bfa_iocfc_init_mem()
1068 iocfc->hwif.hw_rspq_ack = bfa_hwcb_rspq_ack; in bfa_iocfc_init_mem()
1069 iocfc->hwif.hw_msix_init = bfa_hwcb_msix_init; in bfa_iocfc_init_mem()
1070 iocfc->hwif.hw_msix_ctrl_install = bfa_hwcb_msix_ctrl_install; in bfa_iocfc_init_mem()
1071 iocfc->hwif.hw_msix_queue_install = bfa_hwcb_msix_queue_install; in bfa_iocfc_init_mem()
1072 iocfc->hwif.hw_msix_uninstall = bfa_hwcb_msix_uninstall; in bfa_iocfc_init_mem()
1073 iocfc->hwif.hw_isr_mode_set = bfa_hwcb_isr_mode_set; in bfa_iocfc_init_mem()
1074 iocfc->hwif.hw_msix_getvecs = bfa_hwcb_msix_getvecs; in bfa_iocfc_init_mem()
1075 iocfc->hwif.hw_msix_get_rme_range = bfa_hwcb_msix_get_rme_range; in bfa_iocfc_init_mem()
1076 iocfc->hwif.rme_vec_q0 = BFI_MSIX_RME_QMIN_CB + in bfa_iocfc_init_mem()
1078 iocfc->hwif.cpe_vec_q0 = BFI_MSIX_CPE_QMIN_CB + in bfa_iocfc_init_mem()
1083 iocfc->hwif.hw_reginit = bfa_hwct2_reginit; in bfa_iocfc_init_mem()
1084 iocfc->hwif.hw_isr_mode_set = NULL; in bfa_iocfc_init_mem()
1085 iocfc->hwif.hw_rspq_ack = bfa_hwct2_rspq_ack; in bfa_iocfc_init_mem()
1088 iocfc->hwif.hw_reginit(bfa); in bfa_iocfc_init_mem()
1098 struct bfa_iocfc_s *iocfc = &bfa->iocfc; in bfa_iocfc_mem_claim() local
1115 iocfc->req_cq_ba[i].kva = bfa_mem_dma_virt(reqq_dma); in bfa_iocfc_mem_claim()
1116 iocfc->req_cq_ba[i].pa = bfa_mem_dma_phys(reqq_dma); in bfa_iocfc_mem_claim()
1117 memset(iocfc->req_cq_ba[i].kva, 0, per_reqq_sz); in bfa_iocfc_mem_claim()
1120 iocfc->rsp_cq_ba[i].kva = bfa_mem_dma_virt(rspq_dma); in bfa_iocfc_mem_claim()
1121 iocfc->rsp_cq_ba[i].pa = bfa_mem_dma_phys(rspq_dma); in bfa_iocfc_mem_claim()
1122 memset(iocfc->rsp_cq_ba[i].kva, 0, per_rspq_sz); in bfa_iocfc_mem_claim()
1130 iocfc->req_cq_shadow_ci[i].kva = dm_kva; in bfa_iocfc_mem_claim()
1131 iocfc->req_cq_shadow_ci[i].pa = dm_pa; in bfa_iocfc_mem_claim()
1135 iocfc->rsp_cq_shadow_pi[i].kva = dm_kva; in bfa_iocfc_mem_claim()
1136 iocfc->rsp_cq_shadow_pi[i].pa = dm_pa; in bfa_iocfc_mem_claim()
1142 bfa->iocfc.cfg_info.kva = dm_kva; in bfa_iocfc_mem_claim()
1143 bfa->iocfc.cfg_info.pa = dm_pa; in bfa_iocfc_mem_claim()
1144 bfa->iocfc.cfginfo = (struct bfi_iocfc_cfg_s *) dm_kva; in bfa_iocfc_mem_claim()
1149 bfa->iocfc.cfgrsp_dma.kva = dm_kva; in bfa_iocfc_mem_claim()
1150 bfa->iocfc.cfgrsp_dma.pa = dm_pa; in bfa_iocfc_mem_claim()
1151 bfa->iocfc.cfgrsp = (struct bfi_iocfc_cfgrsp_s *) dm_kva; in bfa_iocfc_mem_claim()
1158 bfa_ioc_debug_memclaim(&bfa->ioc, bfa_mem_kva_curp(iocfc)); in bfa_iocfc_mem_claim()
1159 bfa_mem_kva_curp(iocfc) += BFA_DBG_FWTRC_LEN; in bfa_iocfc_mem_claim()
1177 bfa->iocfc.submod_enabled = BFA_TRUE; in bfa_iocfc_start_submod()
1188 if (bfa->iocfc.submod_enabled == BFA_FALSE) in bfa_iocfc_disable_submod()
1194 bfa->iocfc.submod_enabled = BFA_FALSE; in bfa_iocfc_disable_submod()
1203 bfa_cb_init(bfa->bfad, bfa->iocfc.op_status); in bfa_iocfc_init_cb()
1243 struct bfa_iocfc_regs_s *r = &bfa->iocfc.bfa_regs; in bfa_iocfc_qreg()
1247 bfa->iocfc.hw_qid[i] = qreg->hw_qid[i]; in bfa_iocfc_qreg()
1260 struct bfa_iocfc_s *iocfc = &bfa->iocfc; in bfa_iocfc_res_recfg() local
1261 struct bfi_iocfc_cfg_s *cfg_info = iocfc->cfginfo; in bfa_iocfc_res_recfg()
1277 struct bfa_iocfc_s *iocfc = &bfa->iocfc; in bfa_iocfc_cfgrsp() local
1278 struct bfi_iocfc_cfgrsp_s *cfgrsp = iocfc->cfgrsp; in bfa_iocfc_cfgrsp()
1304 if (bfa->iocfc.cfgrsp->pbc_cfg.pbc_pwwn != 0) { in bfa_iocfc_cfgrsp()
1305 bfa->ioc.attr->pwwn = bfa->iocfc.cfgrsp->pbc_cfg.pbc_pwwn; in bfa_iocfc_cfgrsp()
1306 bfa->ioc.attr->nwwn = bfa->iocfc.cfgrsp->pbc_cfg.pbc_nwwn; in bfa_iocfc_cfgrsp()
1307 bfa_fsm_send_event(iocfc, IOCFC_E_CFG_DONE); in bfa_iocfc_cfgrsp()
1330 struct bfa_iocfc_s *iocfc = &bfa->iocfc; in bfa_iocfc_process_faa_addr() local
1331 struct bfi_iocfc_cfgrsp_s *cfgrsp = iocfc->cfgrsp; in bfa_iocfc_process_faa_addr()
1338 bfa_fsm_send_event(iocfc, IOCFC_E_CFG_DONE); in bfa_iocfc_process_faa_addr()
1367 struct bfa_iocfc_s *iocfc = &bfa->iocfc; in bfa_faa_query() local
1374 if (iocfc->faa_args.busy == BFA_TRUE) in bfa_faa_query()
1377 iocfc->faa_args.faa_attr = attr; in bfa_faa_query()
1378 iocfc->faa_args.faa_cb.faa_cbfn = cbfn; in bfa_faa_query()
1379 iocfc->faa_args.faa_cb.faa_cbarg = cbarg; in bfa_faa_query()
1381 iocfc->faa_args.busy = BFA_TRUE; in bfa_faa_query()
1396 bfa_faa_query_reply(struct bfa_iocfc_s *iocfc, in bfa_faa_query_reply() argument
1399 void *cbarg = iocfc->faa_args.faa_cb.faa_cbarg; in bfa_faa_query_reply()
1401 if (iocfc->faa_args.faa_attr) { in bfa_faa_query_reply()
1402 iocfc->faa_args.faa_attr->faa = rsp->faa; in bfa_faa_query_reply()
1403 iocfc->faa_args.faa_attr->faa_state = rsp->faa_status; in bfa_faa_query_reply()
1404 iocfc->faa_args.faa_attr->pwwn_source = rsp->addr_source; in bfa_faa_query_reply()
1407 WARN_ON(!iocfc->faa_args.faa_cb.faa_cbfn); in bfa_faa_query_reply()
1409 iocfc->faa_args.faa_cb.faa_cbfn(cbarg, BFA_STATUS_OK); in bfa_faa_query_reply()
1410 iocfc->faa_args.busy = BFA_FALSE; in bfa_faa_query_reply()
1422 bfa_fsm_send_event(&bfa->iocfc, IOCFC_E_IOC_ENABLED); in bfa_iocfc_enable_cbfn()
1424 bfa_fsm_send_event(&bfa->iocfc, IOCFC_E_IOC_FAILED); in bfa_iocfc_enable_cbfn()
1436 bfa_fsm_send_event(&bfa->iocfc, IOCFC_E_IOC_DISABLED); in bfa_iocfc_disable_cbfn()
1448 bfa_fsm_send_event(&bfa->iocfc, IOCFC_E_IOC_FAILED); in bfa_iocfc_hbfail_cbfn()
1538 bfa->iocfc.cb_reqd = BFA_FALSE; in bfa_iocfc_attach()
1539 bfa->iocfc.op_status = BFA_STATUS_OK; in bfa_iocfc_attach()
1540 bfa->iocfc.submod_enabled = BFA_FALSE; in bfa_iocfc_attach()
1542 bfa_fsm_set_state(&bfa->iocfc, bfa_iocfc_sm_stopped); in bfa_iocfc_attach()
1551 bfa_fsm_send_event(&bfa->iocfc, IOCFC_E_INIT); in bfa_iocfc_init()
1561 bfa_fsm_send_event(&bfa->iocfc, IOCFC_E_START); in bfa_iocfc_start()
1571 bfa_fsm_send_event(&bfa->iocfc, IOCFC_E_STOP); in bfa_iocfc_stop()
1578 struct bfa_iocfc_s *iocfc = &bfa->iocfc; in bfa_iocfc_isr() local
1589 iocfc->updateq_cbfn(iocfc->updateq_cbarg, BFA_STATUS_OK); in bfa_iocfc_isr()
1596 bfa_faa_query_reply(iocfc, (bfi_faa_query_rsp_t *)msg); in bfa_iocfc_isr()
1606 struct bfa_iocfc_s *iocfc = &bfa->iocfc; in bfa_iocfc_get_attr() local
1608 attr->intr_attr.coalesce = iocfc->cfginfo->intr_attr.coalesce; in bfa_iocfc_get_attr()
1610 attr->intr_attr.delay = iocfc->cfginfo->intr_attr.delay ? in bfa_iocfc_get_attr()
1611 be16_to_cpu(iocfc->cfginfo->intr_attr.delay) : in bfa_iocfc_get_attr()
1612 be16_to_cpu(iocfc->cfgrsp->intr_attr.delay); in bfa_iocfc_get_attr()
1614 attr->intr_attr.latency = iocfc->cfginfo->intr_attr.latency ? in bfa_iocfc_get_attr()
1615 be16_to_cpu(iocfc->cfginfo->intr_attr.latency) : in bfa_iocfc_get_attr()
1616 be16_to_cpu(iocfc->cfgrsp->intr_attr.latency); in bfa_iocfc_get_attr()
1618 attr->config = iocfc->cfg; in bfa_iocfc_get_attr()
1624 struct bfa_iocfc_s *iocfc = &bfa->iocfc; in bfa_iocfc_israttr_set() local
1627 iocfc->cfginfo->intr_attr.coalesce = attr->coalesce; in bfa_iocfc_israttr_set()
1628 iocfc->cfginfo->intr_attr.delay = cpu_to_be16(attr->delay); in bfa_iocfc_israttr_set()
1629 iocfc->cfginfo->intr_attr.latency = cpu_to_be16(attr->latency); in bfa_iocfc_israttr_set()
1640 m->coalesce = iocfc->cfginfo->intr_attr.coalesce; in bfa_iocfc_israttr_set()
1641 m->delay = iocfc->cfginfo->intr_attr.delay; in bfa_iocfc_israttr_set()
1642 m->latency = iocfc->cfginfo->intr_attr.latency; in bfa_iocfc_israttr_set()
1654 struct bfa_iocfc_s *iocfc = &bfa->iocfc; in bfa_iocfc_set_snsbase() local
1656 iocfc->cfginfo->sense_buf_len = (BFI_IOIM_SNSLEN - 1); in bfa_iocfc_set_snsbase()
1657 bfa_dma_be_addr_set(iocfc->cfginfo->ioim_snsbase[seg_no], snsbase_pa); in bfa_iocfc_set_snsbase()
1667 bfa->iocfc.cb_reqd = BFA_TRUE; in bfa_iocfc_enable()
1668 bfa_fsm_send_event(&bfa->iocfc, IOCFC_E_ENABLE); in bfa_iocfc_enable()
1677 bfa_fsm_send_event(&bfa->iocfc, IOCFC_E_DISABLE); in bfa_iocfc_disable()
1684 bfa_fsm_cmp_state(&bfa->iocfc, bfa_iocfc_sm_operational); in bfa_iocfc_is_operational()
1693 struct bfa_iocfc_s *iocfc = &bfa->iocfc; in bfa_iocfc_get_bootwwns() local
1694 struct bfi_iocfc_cfgrsp_s *cfgrsp = iocfc->cfgrsp; in bfa_iocfc_get_bootwwns()
1713 struct bfa_iocfc_s *iocfc = &bfa->iocfc; in bfa_iocfc_get_pbc_vports() local
1714 struct bfi_iocfc_cfgrsp_s *cfgrsp = iocfc->cfgrsp; in bfa_iocfc_get_pbc_vports()