Lines Matching refs:iocfc
256 bfa_iocfc_sm_stopped_entry(struct bfa_iocfc_s *iocfc) in bfa_iocfc_sm_stopped_entry() argument
261 bfa_iocfc_sm_stopped(struct bfa_iocfc_s *iocfc, enum iocfc_event event) in bfa_iocfc_sm_stopped() argument
263 bfa_trc(iocfc->bfa, event); in bfa_iocfc_sm_stopped()
268 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_initing); in bfa_iocfc_sm_stopped()
271 bfa_sm_fault(iocfc->bfa, event); in bfa_iocfc_sm_stopped()
277 bfa_iocfc_sm_initing_entry(struct bfa_iocfc_s *iocfc) in bfa_iocfc_sm_initing_entry() argument
279 bfa_ioc_enable(&iocfc->bfa->ioc); in bfa_iocfc_sm_initing_entry()
283 bfa_iocfc_sm_initing(struct bfa_iocfc_s *iocfc, enum iocfc_event event) in bfa_iocfc_sm_initing() argument
285 bfa_trc(iocfc->bfa, event); in bfa_iocfc_sm_initing()
289 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_dconf_read); in bfa_iocfc_sm_initing()
293 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_disabling); in bfa_iocfc_sm_initing()
297 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_stopping); in bfa_iocfc_sm_initing()
301 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_init_failed); in bfa_iocfc_sm_initing()
304 bfa_sm_fault(iocfc->bfa, event); in bfa_iocfc_sm_initing()
310 bfa_iocfc_sm_dconf_read_entry(struct bfa_iocfc_s *iocfc) in bfa_iocfc_sm_dconf_read_entry() argument
312 bfa_dconf_modinit(iocfc->bfa); in bfa_iocfc_sm_dconf_read_entry()
316 bfa_iocfc_sm_dconf_read(struct bfa_iocfc_s *iocfc, enum iocfc_event event) in bfa_iocfc_sm_dconf_read() argument
318 bfa_trc(iocfc->bfa, event); in bfa_iocfc_sm_dconf_read()
322 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_init_cfg_wait); in bfa_iocfc_sm_dconf_read()
326 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_disabling); in bfa_iocfc_sm_dconf_read()
330 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_stopping); in bfa_iocfc_sm_dconf_read()
334 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_init_failed); in bfa_iocfc_sm_dconf_read()
337 bfa_sm_fault(iocfc->bfa, event); in bfa_iocfc_sm_dconf_read()
343 bfa_iocfc_sm_init_cfg_wait_entry(struct bfa_iocfc_s *iocfc) in bfa_iocfc_sm_init_cfg_wait_entry() argument
345 bfa_iocfc_send_cfg(iocfc->bfa); in bfa_iocfc_sm_init_cfg_wait_entry()
349 bfa_iocfc_sm_init_cfg_wait(struct bfa_iocfc_s *iocfc, enum iocfc_event event) in bfa_iocfc_sm_init_cfg_wait() argument
351 bfa_trc(iocfc->bfa, event); in bfa_iocfc_sm_init_cfg_wait()
355 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_init_cfg_done); in bfa_iocfc_sm_init_cfg_wait()
359 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_disabling); in bfa_iocfc_sm_init_cfg_wait()
363 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_stopping); in bfa_iocfc_sm_init_cfg_wait()
367 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_init_failed); in bfa_iocfc_sm_init_cfg_wait()
370 bfa_sm_fault(iocfc->bfa, event); in bfa_iocfc_sm_init_cfg_wait()
376 bfa_iocfc_sm_init_cfg_done_entry(struct bfa_iocfc_s *iocfc) in bfa_iocfc_sm_init_cfg_done_entry() argument
378 iocfc->bfa->iocfc.op_status = BFA_STATUS_OK; in bfa_iocfc_sm_init_cfg_done_entry()
379 bfa_cb_queue(iocfc->bfa, &iocfc->bfa->iocfc.init_hcb_qe, in bfa_iocfc_sm_init_cfg_done_entry()
380 bfa_iocfc_init_cb, iocfc->bfa); in bfa_iocfc_sm_init_cfg_done_entry()
384 bfa_iocfc_sm_init_cfg_done(struct bfa_iocfc_s *iocfc, enum iocfc_event event) in bfa_iocfc_sm_init_cfg_done() argument
386 bfa_trc(iocfc->bfa, event); in bfa_iocfc_sm_init_cfg_done()
390 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_operational); in bfa_iocfc_sm_init_cfg_done()
393 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_stopping); in bfa_iocfc_sm_init_cfg_done()
396 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_disabling); in bfa_iocfc_sm_init_cfg_done()
399 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_failed); in bfa_iocfc_sm_init_cfg_done()
402 bfa_sm_fault(iocfc->bfa, event); in bfa_iocfc_sm_init_cfg_done()
408 bfa_iocfc_sm_operational_entry(struct bfa_iocfc_s *iocfc) in bfa_iocfc_sm_operational_entry() argument
410 bfa_fcport_init(iocfc->bfa); in bfa_iocfc_sm_operational_entry()
411 bfa_iocfc_start_submod(iocfc->bfa); in bfa_iocfc_sm_operational_entry()
415 bfa_iocfc_sm_operational(struct bfa_iocfc_s *iocfc, enum iocfc_event event) in bfa_iocfc_sm_operational() argument
417 bfa_trc(iocfc->bfa, event); in bfa_iocfc_sm_operational()
421 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_dconf_write); in bfa_iocfc_sm_operational()
424 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_disabling); in bfa_iocfc_sm_operational()
427 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_failed); in bfa_iocfc_sm_operational()
430 bfa_sm_fault(iocfc->bfa, event); in bfa_iocfc_sm_operational()
436 bfa_iocfc_sm_dconf_write_entry(struct bfa_iocfc_s *iocfc) in bfa_iocfc_sm_dconf_write_entry() argument
438 bfa_dconf_modexit(iocfc->bfa); in bfa_iocfc_sm_dconf_write_entry()
442 bfa_iocfc_sm_dconf_write(struct bfa_iocfc_s *iocfc, enum iocfc_event event) in bfa_iocfc_sm_dconf_write() argument
444 bfa_trc(iocfc->bfa, event); in bfa_iocfc_sm_dconf_write()
449 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_stopping); in bfa_iocfc_sm_dconf_write()
452 bfa_sm_fault(iocfc->bfa, event); in bfa_iocfc_sm_dconf_write()
458 bfa_iocfc_sm_stopping_entry(struct bfa_iocfc_s *iocfc) in bfa_iocfc_sm_stopping_entry() argument
460 bfa_ioc_disable(&iocfc->bfa->ioc); in bfa_iocfc_sm_stopping_entry()
464 bfa_iocfc_sm_stopping(struct bfa_iocfc_s *iocfc, enum iocfc_event event) in bfa_iocfc_sm_stopping() argument
466 bfa_trc(iocfc->bfa, event); in bfa_iocfc_sm_stopping()
470 bfa_isr_disable(iocfc->bfa); in bfa_iocfc_sm_stopping()
471 bfa_iocfc_disable_submod(iocfc->bfa); in bfa_iocfc_sm_stopping()
472 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_stopped); in bfa_iocfc_sm_stopping()
473 iocfc->bfa->iocfc.op_status = BFA_STATUS_OK; in bfa_iocfc_sm_stopping()
474 bfa_cb_queue(iocfc->bfa, &iocfc->bfa->iocfc.stop_hcb_qe, in bfa_iocfc_sm_stopping()
475 bfa_iocfc_stop_cb, iocfc->bfa); in bfa_iocfc_sm_stopping()
484 bfa_sm_fault(iocfc->bfa, event); in bfa_iocfc_sm_stopping()
490 bfa_iocfc_sm_enabling_entry(struct bfa_iocfc_s *iocfc) in bfa_iocfc_sm_enabling_entry() argument
492 bfa_ioc_enable(&iocfc->bfa->ioc); in bfa_iocfc_sm_enabling_entry()
496 bfa_iocfc_sm_enabling(struct bfa_iocfc_s *iocfc, enum iocfc_event event) in bfa_iocfc_sm_enabling() argument
498 bfa_trc(iocfc->bfa, event); in bfa_iocfc_sm_enabling()
502 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_cfg_wait); in bfa_iocfc_sm_enabling()
506 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_disabling); in bfa_iocfc_sm_enabling()
510 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_dconf_write); in bfa_iocfc_sm_enabling()
514 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_failed); in bfa_iocfc_sm_enabling()
516 if (iocfc->bfa->iocfc.cb_reqd == BFA_FALSE) in bfa_iocfc_sm_enabling()
519 iocfc->bfa->iocfc.op_status = BFA_STATUS_FAILED; in bfa_iocfc_sm_enabling()
520 bfa_cb_queue(iocfc->bfa, &iocfc->bfa->iocfc.en_hcb_qe, in bfa_iocfc_sm_enabling()
521 bfa_iocfc_enable_cb, iocfc->bfa); in bfa_iocfc_sm_enabling()
522 iocfc->bfa->iocfc.cb_reqd = BFA_FALSE; in bfa_iocfc_sm_enabling()
525 bfa_sm_fault(iocfc->bfa, event); in bfa_iocfc_sm_enabling()
531 bfa_iocfc_sm_cfg_wait_entry(struct bfa_iocfc_s *iocfc) in bfa_iocfc_sm_cfg_wait_entry() argument
533 bfa_iocfc_send_cfg(iocfc->bfa); in bfa_iocfc_sm_cfg_wait_entry()
537 bfa_iocfc_sm_cfg_wait(struct bfa_iocfc_s *iocfc, enum iocfc_event event) in bfa_iocfc_sm_cfg_wait() argument
539 bfa_trc(iocfc->bfa, event); in bfa_iocfc_sm_cfg_wait()
543 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_operational); in bfa_iocfc_sm_cfg_wait()
544 if (iocfc->bfa->iocfc.cb_reqd == BFA_FALSE) in bfa_iocfc_sm_cfg_wait()
547 iocfc->bfa->iocfc.op_status = BFA_STATUS_OK; in bfa_iocfc_sm_cfg_wait()
548 bfa_cb_queue(iocfc->bfa, &iocfc->bfa->iocfc.en_hcb_qe, in bfa_iocfc_sm_cfg_wait()
549 bfa_iocfc_enable_cb, iocfc->bfa); in bfa_iocfc_sm_cfg_wait()
550 iocfc->bfa->iocfc.cb_reqd = BFA_FALSE; in bfa_iocfc_sm_cfg_wait()
553 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_disabling); in bfa_iocfc_sm_cfg_wait()
557 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_dconf_write); in bfa_iocfc_sm_cfg_wait()
560 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_failed); in bfa_iocfc_sm_cfg_wait()
561 if (iocfc->bfa->iocfc.cb_reqd == BFA_FALSE) in bfa_iocfc_sm_cfg_wait()
564 iocfc->bfa->iocfc.op_status = BFA_STATUS_FAILED; in bfa_iocfc_sm_cfg_wait()
565 bfa_cb_queue(iocfc->bfa, &iocfc->bfa->iocfc.en_hcb_qe, in bfa_iocfc_sm_cfg_wait()
566 bfa_iocfc_enable_cb, iocfc->bfa); in bfa_iocfc_sm_cfg_wait()
567 iocfc->bfa->iocfc.cb_reqd = BFA_FALSE; in bfa_iocfc_sm_cfg_wait()
570 bfa_sm_fault(iocfc->bfa, event); in bfa_iocfc_sm_cfg_wait()
576 bfa_iocfc_sm_disabling_entry(struct bfa_iocfc_s *iocfc) in bfa_iocfc_sm_disabling_entry() argument
578 bfa_ioc_disable(&iocfc->bfa->ioc); in bfa_iocfc_sm_disabling_entry()
582 bfa_iocfc_sm_disabling(struct bfa_iocfc_s *iocfc, enum iocfc_event event) in bfa_iocfc_sm_disabling() argument
584 bfa_trc(iocfc->bfa, event); in bfa_iocfc_sm_disabling()
588 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_disabled); in bfa_iocfc_sm_disabling()
595 bfa_sm_fault(iocfc->bfa, event); in bfa_iocfc_sm_disabling()
601 bfa_iocfc_sm_disabled_entry(struct bfa_iocfc_s *iocfc) in bfa_iocfc_sm_disabled_entry() argument
603 bfa_isr_disable(iocfc->bfa); in bfa_iocfc_sm_disabled_entry()
604 bfa_iocfc_disable_submod(iocfc->bfa); in bfa_iocfc_sm_disabled_entry()
605 iocfc->bfa->iocfc.op_status = BFA_STATUS_OK; in bfa_iocfc_sm_disabled_entry()
606 bfa_cb_queue(iocfc->bfa, &iocfc->bfa->iocfc.dis_hcb_qe, in bfa_iocfc_sm_disabled_entry()
607 bfa_iocfc_disable_cb, iocfc->bfa); in bfa_iocfc_sm_disabled_entry()
611 bfa_iocfc_sm_disabled(struct bfa_iocfc_s *iocfc, enum iocfc_event event) in bfa_iocfc_sm_disabled() argument
613 bfa_trc(iocfc->bfa, event); in bfa_iocfc_sm_disabled()
617 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_dconf_write); in bfa_iocfc_sm_disabled()
620 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_enabling); in bfa_iocfc_sm_disabled()
623 bfa_sm_fault(iocfc->bfa, event); in bfa_iocfc_sm_disabled()
629 bfa_iocfc_sm_failed_entry(struct bfa_iocfc_s *iocfc) in bfa_iocfc_sm_failed_entry() argument
631 bfa_isr_disable(iocfc->bfa); in bfa_iocfc_sm_failed_entry()
632 bfa_iocfc_disable_submod(iocfc->bfa); in bfa_iocfc_sm_failed_entry()
636 bfa_iocfc_sm_failed(struct bfa_iocfc_s *iocfc, enum iocfc_event event) in bfa_iocfc_sm_failed() argument
638 bfa_trc(iocfc->bfa, event); in bfa_iocfc_sm_failed()
642 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_dconf_write); in bfa_iocfc_sm_failed()
645 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_disabling); in bfa_iocfc_sm_failed()
648 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_cfg_wait); in bfa_iocfc_sm_failed()
653 bfa_sm_fault(iocfc->bfa, event); in bfa_iocfc_sm_failed()
659 bfa_iocfc_sm_init_failed_entry(struct bfa_iocfc_s *iocfc) in bfa_iocfc_sm_init_failed_entry() argument
661 bfa_isr_disable(iocfc->bfa); in bfa_iocfc_sm_init_failed_entry()
662 iocfc->bfa->iocfc.op_status = BFA_STATUS_FAILED; in bfa_iocfc_sm_init_failed_entry()
663 bfa_cb_queue(iocfc->bfa, &iocfc->bfa->iocfc.init_hcb_qe, in bfa_iocfc_sm_init_failed_entry()
664 bfa_iocfc_init_cb, iocfc->bfa); in bfa_iocfc_sm_init_failed_entry()
668 bfa_iocfc_sm_init_failed(struct bfa_iocfc_s *iocfc, enum iocfc_event event) in bfa_iocfc_sm_init_failed() argument
670 bfa_trc(iocfc->bfa, event); in bfa_iocfc_sm_init_failed()
674 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_stopping); in bfa_iocfc_sm_init_failed()
677 bfa_ioc_disable(&iocfc->bfa->ioc); in bfa_iocfc_sm_init_failed()
680 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_dconf_read); in bfa_iocfc_sm_init_failed()
683 bfa_fsm_set_state(iocfc, bfa_iocfc_sm_stopped); in bfa_iocfc_sm_init_failed()
684 iocfc->bfa->iocfc.op_status = BFA_STATUS_OK; in bfa_iocfc_sm_init_failed()
685 bfa_cb_queue(iocfc->bfa, &iocfc->bfa->iocfc.dis_hcb_qe, in bfa_iocfc_sm_init_failed()
686 bfa_iocfc_disable_cb, iocfc->bfa); in bfa_iocfc_sm_init_failed()
691 bfa_sm_fault(iocfc->bfa, event); in bfa_iocfc_sm_init_failed()
737 CQ_INCR(ci, bfa->iocfc.cfg.drvcfg.num_rspq_elems); in bfa_isr_rspq()
776 intr = readl(bfa->iocfc.bfa_regs.intr_status); in bfa_msix_all()
815 intr = readl(bfa->iocfc.bfa_regs.intr_status); in bfa_intx()
819 writel(qintr, bfa->iocfc.bfa_regs.intr_status); in bfa_intx()
871 writel(umsk, bfa->iocfc.bfa_regs.intr_status); in bfa_isr_enable()
872 writel(~umsk, bfa->iocfc.bfa_regs.intr_mask); in bfa_isr_enable()
873 bfa->iocfc.intr_mask = ~umsk; in bfa_isr_enable()
887 writel(-1L, bfa->iocfc.bfa_regs.intr_mask); in bfa_isr_disable()
894 bfa_isr_reqq(bfa, vec - bfa->iocfc.hwif.cpe_vec_q0); in bfa_msix_reqq()
910 bfa_isr_rspq(bfa, vec - bfa->iocfc.hwif.rme_vec_q0); in bfa_msix_rspq()
919 intr = readl(bfa->iocfc.bfa_regs.intr_status); in bfa_msix_lpu_err()
962 writel(intr, bfa->iocfc.bfa_regs.intr_status); in bfa_msix_lpu_err()
982 struct bfa_iocfc_s *iocfc = &bfa->iocfc; in bfa_iocfc_send_cfg() local
984 struct bfi_iocfc_cfg_s *cfg_info = iocfc->cfginfo; in bfa_iocfc_send_cfg()
985 struct bfa_iocfc_cfg_s *cfg = &iocfc->cfg; in bfa_iocfc_send_cfg()
1005 bfa_dma_be_addr_set(cfg_info->cfgrsp_addr, iocfc->cfgrsp_dma.pa); in bfa_iocfc_send_cfg()
1011 iocfc->req_cq_ba[i].pa); in bfa_iocfc_send_cfg()
1013 iocfc->req_cq_shadow_ci[i].pa); in bfa_iocfc_send_cfg()
1018 iocfc->rsp_cq_ba[i].pa); in bfa_iocfc_send_cfg()
1020 iocfc->rsp_cq_shadow_pi[i].pa); in bfa_iocfc_send_cfg()
1029 if (bfa_fsm_cmp_state(iocfc, bfa_iocfc_sm_init_cfg_wait)) in bfa_iocfc_send_cfg()
1037 bfa_dma_be_addr_set(cfg_req.ioc_cfg_dma_addr, iocfc->cfg_info.pa); in bfa_iocfc_send_cfg()
1047 struct bfa_iocfc_s *iocfc = &bfa->iocfc; in bfa_iocfc_init_mem() local
1050 iocfc->bfa = bfa; in bfa_iocfc_init_mem()
1051 iocfc->cfg = *cfg; in bfa_iocfc_init_mem()
1057 iocfc->hwif.hw_reginit = bfa_hwct_reginit; in bfa_iocfc_init_mem()
1058 iocfc->hwif.hw_reqq_ack = bfa_hwct_reqq_ack; in bfa_iocfc_init_mem()
1059 iocfc->hwif.hw_rspq_ack = bfa_hwct_rspq_ack; in bfa_iocfc_init_mem()
1060 iocfc->hwif.hw_msix_init = bfa_hwct_msix_init; in bfa_iocfc_init_mem()
1061 iocfc->hwif.hw_msix_ctrl_install = bfa_hwct_msix_ctrl_install; in bfa_iocfc_init_mem()
1062 iocfc->hwif.hw_msix_queue_install = bfa_hwct_msix_queue_install; in bfa_iocfc_init_mem()
1063 iocfc->hwif.hw_msix_uninstall = bfa_hwct_msix_uninstall; in bfa_iocfc_init_mem()
1064 iocfc->hwif.hw_isr_mode_set = bfa_hwct_isr_mode_set; in bfa_iocfc_init_mem()
1065 iocfc->hwif.hw_msix_getvecs = bfa_hwct_msix_getvecs; in bfa_iocfc_init_mem()
1066 iocfc->hwif.hw_msix_get_rme_range = bfa_hwct_msix_get_rme_range; in bfa_iocfc_init_mem()
1067 iocfc->hwif.rme_vec_q0 = BFI_MSIX_RME_QMIN_CT; in bfa_iocfc_init_mem()
1068 iocfc->hwif.cpe_vec_q0 = BFI_MSIX_CPE_QMIN_CT; in bfa_iocfc_init_mem()
1070 iocfc->hwif.hw_reginit = bfa_hwcb_reginit; in bfa_iocfc_init_mem()
1071 iocfc->hwif.hw_reqq_ack = NULL; in bfa_iocfc_init_mem()
1072 iocfc->hwif.hw_rspq_ack = bfa_hwcb_rspq_ack; in bfa_iocfc_init_mem()
1073 iocfc->hwif.hw_msix_init = bfa_hwcb_msix_init; in bfa_iocfc_init_mem()
1074 iocfc->hwif.hw_msix_ctrl_install = bfa_hwcb_msix_ctrl_install; in bfa_iocfc_init_mem()
1075 iocfc->hwif.hw_msix_queue_install = bfa_hwcb_msix_queue_install; in bfa_iocfc_init_mem()
1076 iocfc->hwif.hw_msix_uninstall = bfa_hwcb_msix_uninstall; in bfa_iocfc_init_mem()
1077 iocfc->hwif.hw_isr_mode_set = bfa_hwcb_isr_mode_set; in bfa_iocfc_init_mem()
1078 iocfc->hwif.hw_msix_getvecs = bfa_hwcb_msix_getvecs; in bfa_iocfc_init_mem()
1079 iocfc->hwif.hw_msix_get_rme_range = bfa_hwcb_msix_get_rme_range; in bfa_iocfc_init_mem()
1080 iocfc->hwif.rme_vec_q0 = BFI_MSIX_RME_QMIN_CB + in bfa_iocfc_init_mem()
1082 iocfc->hwif.cpe_vec_q0 = BFI_MSIX_CPE_QMIN_CB + in bfa_iocfc_init_mem()
1087 iocfc->hwif.hw_reginit = bfa_hwct2_reginit; in bfa_iocfc_init_mem()
1088 iocfc->hwif.hw_isr_mode_set = NULL; in bfa_iocfc_init_mem()
1089 iocfc->hwif.hw_rspq_ack = bfa_hwct2_rspq_ack; in bfa_iocfc_init_mem()
1092 iocfc->hwif.hw_reginit(bfa); in bfa_iocfc_init_mem()
1102 struct bfa_iocfc_s *iocfc = &bfa->iocfc; in bfa_iocfc_mem_claim() local
1119 iocfc->req_cq_ba[i].kva = bfa_mem_dma_virt(reqq_dma); in bfa_iocfc_mem_claim()
1120 iocfc->req_cq_ba[i].pa = bfa_mem_dma_phys(reqq_dma); in bfa_iocfc_mem_claim()
1121 memset(iocfc->req_cq_ba[i].kva, 0, per_reqq_sz); in bfa_iocfc_mem_claim()
1124 iocfc->rsp_cq_ba[i].kva = bfa_mem_dma_virt(rspq_dma); in bfa_iocfc_mem_claim()
1125 iocfc->rsp_cq_ba[i].pa = bfa_mem_dma_phys(rspq_dma); in bfa_iocfc_mem_claim()
1126 memset(iocfc->rsp_cq_ba[i].kva, 0, per_rspq_sz); in bfa_iocfc_mem_claim()
1134 iocfc->req_cq_shadow_ci[i].kva = dm_kva; in bfa_iocfc_mem_claim()
1135 iocfc->req_cq_shadow_ci[i].pa = dm_pa; in bfa_iocfc_mem_claim()
1139 iocfc->rsp_cq_shadow_pi[i].kva = dm_kva; in bfa_iocfc_mem_claim()
1140 iocfc->rsp_cq_shadow_pi[i].pa = dm_pa; in bfa_iocfc_mem_claim()
1146 bfa->iocfc.cfg_info.kva = dm_kva; in bfa_iocfc_mem_claim()
1147 bfa->iocfc.cfg_info.pa = dm_pa; in bfa_iocfc_mem_claim()
1148 bfa->iocfc.cfginfo = (struct bfi_iocfc_cfg_s *) dm_kva; in bfa_iocfc_mem_claim()
1153 bfa->iocfc.cfgrsp_dma.kva = dm_kva; in bfa_iocfc_mem_claim()
1154 bfa->iocfc.cfgrsp_dma.pa = dm_pa; in bfa_iocfc_mem_claim()
1155 bfa->iocfc.cfgrsp = (struct bfi_iocfc_cfgrsp_s *) dm_kva; in bfa_iocfc_mem_claim()
1162 bfa_ioc_debug_memclaim(&bfa->ioc, bfa_mem_kva_curp(iocfc)); in bfa_iocfc_mem_claim()
1163 bfa_mem_kva_curp(iocfc) += BFA_DBG_FWTRC_LEN; in bfa_iocfc_mem_claim()
1186 bfa->iocfc.submod_enabled = BFA_TRUE; in bfa_iocfc_start_submod()
1195 if (bfa->iocfc.submod_enabled == BFA_FALSE) in bfa_iocfc_disable_submod()
1206 bfa->iocfc.submod_enabled = BFA_FALSE; in bfa_iocfc_disable_submod()
1215 bfa_cb_init(bfa->bfad, bfa->iocfc.op_status); in bfa_iocfc_init_cb()
1255 struct bfa_iocfc_regs_s *r = &bfa->iocfc.bfa_regs; in bfa_iocfc_qreg()
1259 bfa->iocfc.hw_qid[i] = qreg->hw_qid[i]; in bfa_iocfc_qreg()
1272 struct bfa_iocfc_s *iocfc = &bfa->iocfc; in bfa_iocfc_res_recfg() local
1273 struct bfi_iocfc_cfg_s *cfg_info = iocfc->cfginfo; in bfa_iocfc_res_recfg()
1289 struct bfa_iocfc_s *iocfc = &bfa->iocfc; in bfa_iocfc_cfgrsp() local
1290 struct bfi_iocfc_cfgrsp_s *cfgrsp = iocfc->cfgrsp; in bfa_iocfc_cfgrsp()
1316 if (bfa->iocfc.cfgrsp->pbc_cfg.pbc_pwwn != 0) { in bfa_iocfc_cfgrsp()
1317 bfa->ioc.attr->pwwn = bfa->iocfc.cfgrsp->pbc_cfg.pbc_pwwn; in bfa_iocfc_cfgrsp()
1318 bfa->ioc.attr->nwwn = bfa->iocfc.cfgrsp->pbc_cfg.pbc_nwwn; in bfa_iocfc_cfgrsp()
1319 bfa_fsm_send_event(iocfc, IOCFC_E_CFG_DONE); in bfa_iocfc_cfgrsp()
1342 struct bfa_iocfc_s *iocfc = &bfa->iocfc; in bfa_iocfc_process_faa_addr() local
1343 struct bfi_iocfc_cfgrsp_s *cfgrsp = iocfc->cfgrsp; in bfa_iocfc_process_faa_addr()
1350 bfa_fsm_send_event(iocfc, IOCFC_E_CFG_DONE); in bfa_iocfc_process_faa_addr()
1379 struct bfa_iocfc_s *iocfc = &bfa->iocfc; in bfa_faa_query() local
1386 if (iocfc->faa_args.busy == BFA_TRUE) in bfa_faa_query()
1389 iocfc->faa_args.faa_attr = attr; in bfa_faa_query()
1390 iocfc->faa_args.faa_cb.faa_cbfn = cbfn; in bfa_faa_query()
1391 iocfc->faa_args.faa_cb.faa_cbarg = cbarg; in bfa_faa_query()
1393 iocfc->faa_args.busy = BFA_TRUE; in bfa_faa_query()
1408 bfa_faa_query_reply(struct bfa_iocfc_s *iocfc, in bfa_faa_query_reply() argument
1411 void *cbarg = iocfc->faa_args.faa_cb.faa_cbarg; in bfa_faa_query_reply()
1413 if (iocfc->faa_args.faa_attr) { in bfa_faa_query_reply()
1414 iocfc->faa_args.faa_attr->faa = rsp->faa; in bfa_faa_query_reply()
1415 iocfc->faa_args.faa_attr->faa_state = rsp->faa_status; in bfa_faa_query_reply()
1416 iocfc->faa_args.faa_attr->pwwn_source = rsp->addr_source; in bfa_faa_query_reply()
1419 WARN_ON(!iocfc->faa_args.faa_cb.faa_cbfn); in bfa_faa_query_reply()
1421 iocfc->faa_args.faa_cb.faa_cbfn(cbarg, BFA_STATUS_OK); in bfa_faa_query_reply()
1422 iocfc->faa_args.busy = BFA_FALSE; in bfa_faa_query_reply()
1434 bfa_fsm_send_event(&bfa->iocfc, IOCFC_E_IOC_ENABLED); in bfa_iocfc_enable_cbfn()
1436 bfa_fsm_send_event(&bfa->iocfc, IOCFC_E_IOC_FAILED); in bfa_iocfc_enable_cbfn()
1448 bfa_fsm_send_event(&bfa->iocfc, IOCFC_E_IOC_DISABLED); in bfa_iocfc_disable_cbfn()
1460 bfa_fsm_send_event(&bfa->iocfc, IOCFC_E_IOC_FAILED); in bfa_iocfc_hbfail_cbfn()
1550 bfa->iocfc.cb_reqd = BFA_FALSE; in bfa_iocfc_attach()
1551 bfa->iocfc.op_status = BFA_STATUS_OK; in bfa_iocfc_attach()
1552 bfa->iocfc.submod_enabled = BFA_FALSE; in bfa_iocfc_attach()
1554 bfa_fsm_set_state(&bfa->iocfc, bfa_iocfc_sm_stopped); in bfa_iocfc_attach()
1563 bfa_fsm_send_event(&bfa->iocfc, IOCFC_E_INIT); in bfa_iocfc_init()
1573 bfa_fsm_send_event(&bfa->iocfc, IOCFC_E_START); in bfa_iocfc_start()
1583 bfa_fsm_send_event(&bfa->iocfc, IOCFC_E_STOP); in bfa_iocfc_stop()
1590 struct bfa_iocfc_s *iocfc = &bfa->iocfc; in bfa_iocfc_isr() local
1601 iocfc->updateq_cbfn(iocfc->updateq_cbarg, BFA_STATUS_OK); in bfa_iocfc_isr()
1608 bfa_faa_query_reply(iocfc, (bfi_faa_query_rsp_t *)msg); in bfa_iocfc_isr()
1618 struct bfa_iocfc_s *iocfc = &bfa->iocfc; in bfa_iocfc_get_attr() local
1620 attr->intr_attr.coalesce = iocfc->cfginfo->intr_attr.coalesce; in bfa_iocfc_get_attr()
1622 attr->intr_attr.delay = iocfc->cfginfo->intr_attr.delay ? in bfa_iocfc_get_attr()
1623 be16_to_cpu(iocfc->cfginfo->intr_attr.delay) : in bfa_iocfc_get_attr()
1624 be16_to_cpu(iocfc->cfgrsp->intr_attr.delay); in bfa_iocfc_get_attr()
1626 attr->intr_attr.latency = iocfc->cfginfo->intr_attr.latency ? in bfa_iocfc_get_attr()
1627 be16_to_cpu(iocfc->cfginfo->intr_attr.latency) : in bfa_iocfc_get_attr()
1628 be16_to_cpu(iocfc->cfgrsp->intr_attr.latency); in bfa_iocfc_get_attr()
1630 attr->config = iocfc->cfg; in bfa_iocfc_get_attr()
1636 struct bfa_iocfc_s *iocfc = &bfa->iocfc; in bfa_iocfc_israttr_set() local
1639 iocfc->cfginfo->intr_attr.coalesce = attr->coalesce; in bfa_iocfc_israttr_set()
1640 iocfc->cfginfo->intr_attr.delay = cpu_to_be16(attr->delay); in bfa_iocfc_israttr_set()
1641 iocfc->cfginfo->intr_attr.latency = cpu_to_be16(attr->latency); in bfa_iocfc_israttr_set()
1652 m->coalesce = iocfc->cfginfo->intr_attr.coalesce; in bfa_iocfc_israttr_set()
1653 m->delay = iocfc->cfginfo->intr_attr.delay; in bfa_iocfc_israttr_set()
1654 m->latency = iocfc->cfginfo->intr_attr.latency; in bfa_iocfc_israttr_set()
1666 struct bfa_iocfc_s *iocfc = &bfa->iocfc; in bfa_iocfc_set_snsbase() local
1668 iocfc->cfginfo->sense_buf_len = (BFI_IOIM_SNSLEN - 1); in bfa_iocfc_set_snsbase()
1669 bfa_dma_be_addr_set(iocfc->cfginfo->ioim_snsbase[seg_no], snsbase_pa); in bfa_iocfc_set_snsbase()
1679 bfa->iocfc.cb_reqd = BFA_TRUE; in bfa_iocfc_enable()
1680 bfa_fsm_send_event(&bfa->iocfc, IOCFC_E_ENABLE); in bfa_iocfc_enable()
1689 bfa_fsm_send_event(&bfa->iocfc, IOCFC_E_DISABLE); in bfa_iocfc_disable()
1696 bfa_fsm_cmp_state(&bfa->iocfc, bfa_iocfc_sm_operational); in bfa_iocfc_is_operational()
1705 struct bfa_iocfc_s *iocfc = &bfa->iocfc; in bfa_iocfc_get_bootwwns() local
1706 struct bfi_iocfc_cfgrsp_s *cfgrsp = iocfc->cfgrsp; in bfa_iocfc_get_bootwwns()
1725 struct bfa_iocfc_s *iocfc = &bfa->iocfc; in bfa_iocfc_get_pbc_vports() local
1726 struct bfi_iocfc_cfgrsp_s *cfgrsp = iocfc->cfgrsp; in bfa_iocfc_get_pbc_vports()