Lines Matching refs:sli4_hba
880 while (!list_empty(&phba->sli4_hba.sp_queue_event)) { in lpfc_sli4_free_sp_events()
883 list_remove_head(&phba->sli4_hba.sp_queue_event, in lpfc_sli4_free_sp_events()
984 list_for_each_entry(qp, &phba->sli4_hba.lpfc_wq_list, wq_list) { in lpfc_hba_clean_txcmplq()
1060 spin_lock(&phba->sli4_hba.sgl_list_lock); in lpfc_hba_down_post_s4()
1062 &phba->sli4_hba.lpfc_abts_els_sgl_list, list) in lpfc_hba_down_post_s4()
1065 list_splice_init(&phba->sli4_hba.lpfc_abts_els_sgl_list, in lpfc_hba_down_post_s4()
1066 &phba->sli4_hba.lpfc_els_sgl_list); in lpfc_hba_down_post_s4()
1069 spin_unlock(&phba->sli4_hba.sgl_list_lock); in lpfc_hba_down_post_s4()
1074 spin_lock(&phba->sli4_hba.abts_scsi_buf_list_lock); in lpfc_hba_down_post_s4()
1075 list_splice_init(&phba->sli4_hba.lpfc_abts_scsi_buf_list, in lpfc_hba_down_post_s4()
1077 spin_unlock(&phba->sli4_hba.abts_scsi_buf_list_lock); in lpfc_hba_down_post_s4()
1081 spin_lock(&phba->sli4_hba.abts_nvme_buf_list_lock); in lpfc_hba_down_post_s4()
1082 list_splice_init(&phba->sli4_hba.lpfc_abts_nvme_buf_list, in lpfc_hba_down_post_s4()
1084 list_splice_init(&phba->sli4_hba.lpfc_abts_nvmet_ctx_list, in lpfc_hba_down_post_s4()
1086 spin_unlock(&phba->sli4_hba.abts_nvme_buf_list_lock); in lpfc_hba_down_post_s4()
1272 void __iomem *eqdreg = phba->sli4_hba.u.if_type2.EQDregaddr; in lpfc_hb_timeout_handler()
1336 qp = phba->sli4_hba.hba_eq[i]; in lpfc_hb_timeout_handler()
1780 if (bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) >= in lpfc_sli4_port_sta_fn_reset()
1846 if_type = bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf); in lpfc_handle_eratt_s4()
1850 phba->sli4_hba.u.if_type0.UERRLOregaddr, in lpfc_handle_eratt_s4()
1853 phba->sli4_hba.u.if_type0.UEMASKLOregaddr, in lpfc_handle_eratt_s4()
1865 for (i = 0; i < phba->sli4_hba.ue_to_sr / 1000; i++) { in lpfc_handle_eratt_s4()
1866 if (lpfc_readl(phba->sli4_hba.PSMPHRregaddr, in lpfc_handle_eratt_s4()
1888 if (!lpfc_readl(phba->sli4_hba.PSMPHRregaddr, in lpfc_handle_eratt_s4()
1913 phba->sli4_hba.u.if_type2.STATUSregaddr, in lpfc_handle_eratt_s4()
1919 readl(phba->sli4_hba.u.if_type2.STATUSregaddr)); in lpfc_handle_eratt_s4()
1922 reg_err1 = readl(phba->sli4_hba.u.if_type2.ERR1regaddr); in lpfc_handle_eratt_s4()
1923 reg_err2 = readl(phba->sli4_hba.u.if_type2.ERR2regaddr); in lpfc_handle_eratt_s4()
2226 (phba->sli4_hba.pport_name_sta == in lpfc_parse_vpd()
2236 (phba->sli4_hba.pport_name_sta == in lpfc_parse_vpd()
3102 if (!phba->sli4_hba.max_cfg_param.vpi_used) in lpfc_online()
3418 if (els_xri_cnt > phba->sli4_hba.els_xri_cnt) { in lpfc_sli4_els_sgl_update()
3420 xri_cnt = els_xri_cnt - phba->sli4_hba.els_xri_cnt; in lpfc_sli4_els_sgl_update()
3423 "%d to %d\n", phba->sli4_hba.els_xri_cnt, in lpfc_sli4_els_sgl_update()
3453 spin_lock(&phba->sli4_hba.sgl_list_lock); in lpfc_sli4_els_sgl_update()
3455 &phba->sli4_hba.lpfc_els_sgl_list); in lpfc_sli4_els_sgl_update()
3456 spin_unlock(&phba->sli4_hba.sgl_list_lock); in lpfc_sli4_els_sgl_update()
3458 } else if (els_xri_cnt < phba->sli4_hba.els_xri_cnt) { in lpfc_sli4_els_sgl_update()
3460 xri_cnt = phba->sli4_hba.els_xri_cnt - els_xri_cnt; in lpfc_sli4_els_sgl_update()
3463 "%d to %d\n", phba->sli4_hba.els_xri_cnt, in lpfc_sli4_els_sgl_update()
3466 spin_lock(&phba->sli4_hba.sgl_list_lock); in lpfc_sli4_els_sgl_update()
3467 list_splice_init(&phba->sli4_hba.lpfc_els_sgl_list, in lpfc_sli4_els_sgl_update()
3480 &phba->sli4_hba.lpfc_els_sgl_list); in lpfc_sli4_els_sgl_update()
3481 spin_unlock(&phba->sli4_hba.sgl_list_lock); in lpfc_sli4_els_sgl_update()
3487 phba->sli4_hba.els_xri_cnt = els_xri_cnt; in lpfc_sli4_els_sgl_update()
3493 &phba->sli4_hba.lpfc_els_sgl_list, list) { in lpfc_sli4_els_sgl_update()
3503 sglq_entry->sli4_xritag = phba->sli4_hba.xri_ids[lxri]; in lpfc_sli4_els_sgl_update()
3539 nvmet_xri_cnt = phba->sli4_hba.max_cfg_param.max_xri - els_xri_cnt; in lpfc_sli4_nvmet_sgl_update()
3540 if (nvmet_xri_cnt > phba->sli4_hba.nvmet_xri_cnt) { in lpfc_sli4_nvmet_sgl_update()
3542 xri_cnt = nvmet_xri_cnt - phba->sli4_hba.nvmet_xri_cnt; in lpfc_sli4_nvmet_sgl_update()
3545 phba->sli4_hba.nvmet_xri_cnt, nvmet_xri_cnt); in lpfc_sli4_nvmet_sgl_update()
3575 spin_lock(&phba->sli4_hba.sgl_list_lock); in lpfc_sli4_nvmet_sgl_update()
3577 &phba->sli4_hba.lpfc_nvmet_sgl_list); in lpfc_sli4_nvmet_sgl_update()
3578 spin_unlock(&phba->sli4_hba.sgl_list_lock); in lpfc_sli4_nvmet_sgl_update()
3580 } else if (nvmet_xri_cnt < phba->sli4_hba.nvmet_xri_cnt) { in lpfc_sli4_nvmet_sgl_update()
3582 xri_cnt = phba->sli4_hba.nvmet_xri_cnt - nvmet_xri_cnt; in lpfc_sli4_nvmet_sgl_update()
3585 "%d to %d\n", phba->sli4_hba.nvmet_xri_cnt, in lpfc_sli4_nvmet_sgl_update()
3588 spin_lock(&phba->sli4_hba.sgl_list_lock); in lpfc_sli4_nvmet_sgl_update()
3589 list_splice_init(&phba->sli4_hba.lpfc_nvmet_sgl_list, in lpfc_sli4_nvmet_sgl_update()
3602 &phba->sli4_hba.lpfc_nvmet_sgl_list); in lpfc_sli4_nvmet_sgl_update()
3603 spin_unlock(&phba->sli4_hba.sgl_list_lock); in lpfc_sli4_nvmet_sgl_update()
3609 phba->sli4_hba.nvmet_xri_cnt = nvmet_xri_cnt; in lpfc_sli4_nvmet_sgl_update()
3615 &phba->sli4_hba.lpfc_nvmet_sgl_list, list) { in lpfc_sli4_nvmet_sgl_update()
3625 sglq_entry->sli4_xritag = phba->sli4_hba.xri_ids[lxri]; in lpfc_sli4_nvmet_sgl_update()
3664 phba->sli4_hba.scsi_xri_max = phba->sli4_hba.max_cfg_param.max_xri - in lpfc_sli4_scsi_sgl_update()
3671 phba->sli4_hba.scsi_xri_max = /* Split them up */ in lpfc_sli4_scsi_sgl_update()
3672 (phba->sli4_hba.scsi_xri_max * in lpfc_sli4_scsi_sgl_update()
3685 phba->sli4_hba.scsi_xri_cnt, in lpfc_sli4_scsi_sgl_update()
3686 phba->sli4_hba.scsi_xri_max, phba->cfg_xri_split); in lpfc_sli4_scsi_sgl_update()
3688 if (phba->sli4_hba.scsi_xri_cnt > phba->sli4_hba.scsi_xri_max) { in lpfc_sli4_scsi_sgl_update()
3690 scsi_xri_cnt = phba->sli4_hba.scsi_xri_cnt - in lpfc_sli4_scsi_sgl_update()
3691 phba->sli4_hba.scsi_xri_max; in lpfc_sli4_scsi_sgl_update()
3703 phba->sli4_hba.scsi_xri_cnt -= scsi_xri_cnt; in lpfc_sli4_scsi_sgl_update()
3720 psb->cur_iocbq.sli4_xritag = phba->sli4_hba.xri_ids[lxri]; in lpfc_sli4_scsi_sgl_update()
3803 nvme_xri_max = phba->sli4_hba.max_cfg_param.max_xri - els_xri_cnt; in lpfc_sli4_nvme_sgl_update()
3804 phba->sli4_hba.nvme_xri_max = nvme_xri_max; in lpfc_sli4_nvme_sgl_update()
3805 phba->sli4_hba.nvme_xri_max -= phba->sli4_hba.scsi_xri_max; in lpfc_sli4_nvme_sgl_update()
3810 phba->sli4_hba.nvme_xri_cnt, in lpfc_sli4_nvme_sgl_update()
3811 phba->sli4_hba.nvme_xri_max); in lpfc_sli4_nvme_sgl_update()
3823 if (phba->sli4_hba.nvme_xri_cnt > phba->sli4_hba.nvme_xri_max) { in lpfc_sli4_nvme_sgl_update()
3826 nvme_xri_cnt = phba->sli4_hba.nvme_xri_cnt - in lpfc_sli4_nvme_sgl_update()
3827 phba->sli4_hba.nvme_xri_max; in lpfc_sli4_nvme_sgl_update()
3841 phba->sli4_hba.nvme_xri_cnt -= nvme_xri_cnt; in lpfc_sli4_nvme_sgl_update()
3859 lpfc_ncmd->cur_iocbq.sli4_xritag = phba->sli4_hba.xri_ids[lxri]; in lpfc_sli4_nvme_sgl_update()
3958 phba->sli4_hba.pc_sli4_params.sge_supp_len-1; in lpfc_create_port()
4205 phba->sli4_hba.intr_enable = 0; in lpfc_stop_port_s4()
4380 if (phba->sli4_hba.link_state.logical_speed) in lpfc_sli_port_speed_get()
4382 phba->sli4_hba.link_state.logical_speed; in lpfc_sli_port_speed_get()
4384 link_speed = phba->sli4_hba.link_state.speed; in lpfc_sli_port_speed_get()
4521 phba->sli4_hba.els_wq->pring->flag |= LPFC_STOP_IOCB_EVENT; in lpfc_sli4_async_link_evt()
4532 phba->sli4_hba.link_state.speed = in lpfc_sli4_async_link_evt()
4535 phba->sli4_hba.link_state.duplex = in lpfc_sli4_async_link_evt()
4537 phba->sli4_hba.link_state.status = in lpfc_sli4_async_link_evt()
4539 phba->sli4_hba.link_state.type = in lpfc_sli4_async_link_evt()
4541 phba->sli4_hba.link_state.number = in lpfc_sli4_async_link_evt()
4543 phba->sli4_hba.link_state.fault = in lpfc_sli4_async_link_evt()
4545 phba->sli4_hba.link_state.logical_speed = in lpfc_sli4_async_link_evt()
4552 phba->sli4_hba.link_state.speed, in lpfc_sli4_async_link_evt()
4553 phba->sli4_hba.link_state.topology, in lpfc_sli4_async_link_evt()
4554 phba->sli4_hba.link_state.status, in lpfc_sli4_async_link_evt()
4555 phba->sli4_hba.link_state.type, in lpfc_sli4_async_link_evt()
4556 phba->sli4_hba.link_state.number, in lpfc_sli4_async_link_evt()
4557 phba->sli4_hba.link_state.logical_speed, in lpfc_sli4_async_link_evt()
4558 phba->sli4_hba.link_state.fault); in lpfc_sli4_async_link_evt()
4633 phba->sli4_hba.link_state.speed = in lpfc_sli4_async_fc_evt()
4636 phba->sli4_hba.link_state.duplex = LPFC_ASYNC_LINK_DUPLEX_FULL; in lpfc_sli4_async_fc_evt()
4637 phba->sli4_hba.link_state.topology = in lpfc_sli4_async_fc_evt()
4639 phba->sli4_hba.link_state.status = in lpfc_sli4_async_fc_evt()
4641 phba->sli4_hba.link_state.type = in lpfc_sli4_async_fc_evt()
4643 phba->sli4_hba.link_state.number = in lpfc_sli4_async_fc_evt()
4645 phba->sli4_hba.link_state.fault = in lpfc_sli4_async_fc_evt()
4647 phba->sli4_hba.link_state.logical_speed = in lpfc_sli4_async_fc_evt()
4653 phba->sli4_hba.link_state.speed, in lpfc_sli4_async_fc_evt()
4654 phba->sli4_hba.link_state.topology, in lpfc_sli4_async_fc_evt()
4655 phba->sli4_hba.link_state.status, in lpfc_sli4_async_fc_evt()
4656 phba->sli4_hba.link_state.type, in lpfc_sli4_async_fc_evt()
4657 phba->sli4_hba.link_state.number, in lpfc_sli4_async_fc_evt()
4658 phba->sli4_hba.link_state.logical_speed, in lpfc_sli4_async_fc_evt()
4659 phba->sli4_hba.link_state.fault); in lpfc_sli4_async_fc_evt()
4683 phba->sli4_hba.els_wq->pring->flag |= LPFC_STOP_IOCB_EVENT; in lpfc_sli4_async_fc_evt()
4693 if (phba->sli4_hba.link_state.status != LPFC_FC_LA_TYPE_LINK_UP) { in lpfc_sli4_async_fc_evt()
4696 switch (phba->sli4_hba.link_state.status) { in lpfc_sli4_async_fc_evt()
4718 if (phba->sli4_hba.link_state.status == in lpfc_sli4_async_fc_evt()
4813 switch (phba->sli4_hba.lnk_info.lnk_no) { in lpfc_sli4_async_sli_evt()
4843 phba->sli4_hba.lnk_info.lnk_no); in lpfc_sli4_async_sli_evt()
4848 if (phba->sli4_hba.lnk_info.optic_state == status) in lpfc_sli4_async_sli_evt()
4886 phba->sli4_hba.lnk_info.optic_state = status; in lpfc_sli4_async_sli_evt()
5269 prev_ll_spd = phba->sli4_hba.link_state.logical_speed; in lpfc_sli4_async_grp5_evt()
5270 phba->sli4_hba.link_state.logical_speed = in lpfc_sli4_async_grp5_evt()
5275 phba->sli4_hba.link_state.logical_speed); in lpfc_sli4_async_grp5_evt()
5294 while (!list_empty(&phba->sli4_hba.sp_asynce_work_queue)) { in lpfc_sli4_async_event_proc()
5297 list_remove_head(&phba->sli4_hba.sp_asynce_work_queue, in lpfc_sli4_async_event_proc()
5857 phba->sli4_hba.num_online_cpu = num_online_cpus(); in lpfc_sli4_driver_resource_setup()
5858 phba->sli4_hba.num_present_cpu = lpfc_present_cpu; in lpfc_sli4_driver_resource_setup()
5859 phba->sli4_hba.curr_disp_cpu = 0; in lpfc_sli4_driver_resource_setup()
5994 spin_lock_init(&phba->sli4_hba.abts_scsi_buf_list_lock); in lpfc_sli4_driver_resource_setup()
5995 INIT_LIST_HEAD(&phba->sli4_hba.lpfc_abts_scsi_buf_list); in lpfc_sli4_driver_resource_setup()
6000 spin_lock_init(&phba->sli4_hba.abts_nvme_buf_list_lock); in lpfc_sli4_driver_resource_setup()
6001 INIT_LIST_HEAD(&phba->sli4_hba.lpfc_abts_nvme_buf_list); in lpfc_sli4_driver_resource_setup()
6002 INIT_LIST_HEAD(&phba->sli4_hba.lpfc_abts_nvmet_ctx_list); in lpfc_sli4_driver_resource_setup()
6003 INIT_LIST_HEAD(&phba->sli4_hba.lpfc_nvmet_io_wait_list); in lpfc_sli4_driver_resource_setup()
6007 spin_lock_init(&phba->sli4_hba.sgl_list_lock); in lpfc_sli4_driver_resource_setup()
6008 spin_lock_init(&phba->sli4_hba.nvmet_io_wait_lock); in lpfc_sli4_driver_resource_setup()
6015 INIT_LIST_HEAD(&phba->sli4_hba.sp_cqe_event_pool); in lpfc_sli4_driver_resource_setup()
6017 INIT_LIST_HEAD(&phba->sli4_hba.sp_queue_event); in lpfc_sli4_driver_resource_setup()
6019 INIT_LIST_HEAD(&phba->sli4_hba.sp_asynce_work_queue); in lpfc_sli4_driver_resource_setup()
6021 INIT_LIST_HEAD(&phba->sli4_hba.sp_fcp_xri_aborted_work_queue); in lpfc_sli4_driver_resource_setup()
6023 INIT_LIST_HEAD(&phba->sli4_hba.sp_els_xri_aborted_work_queue); in lpfc_sli4_driver_resource_setup()
6025 INIT_LIST_HEAD(&phba->sli4_hba.sp_unsol_work_queue); in lpfc_sli4_driver_resource_setup()
6028 INIT_LIST_HEAD(&phba->sli4_hba.lpfc_rpi_blk_list); in lpfc_sli4_driver_resource_setup()
6029 INIT_LIST_HEAD(&phba->sli4_hba.lpfc_xri_blk_list); in lpfc_sli4_driver_resource_setup()
6030 INIT_LIST_HEAD(&phba->sli4_hba.lpfc_vfi_blk_list); in lpfc_sli4_driver_resource_setup()
6040 phba->sli4_hba.lnk_info.optic_state = 0xff; in lpfc_sli4_driver_resource_setup()
6048 if (bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) >= in lpfc_sli4_driver_resource_setup()
6077 if (bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) == in lpfc_sli4_driver_resource_setup()
6112 phba->sli4_hba.wwnn.u.name = wwn; in lpfc_sli4_driver_resource_setup()
6117 phba->sli4_hba.wwpn.u.name = wwn; in lpfc_sli4_driver_resource_setup()
6154 phba->sli4_hba.pc_sli4_params.supported = 1; in lpfc_sli4_driver_resource_setup()
6161 if (phba->sli4_hba.pc_sli4_params.supported) in lpfc_sli4_driver_resource_setup()
6178 &phba->sli4_hba.sli_intf); in lpfc_sli4_driver_resource_setup()
6180 &phba->sli4_hba.sli_intf); in lpfc_sli4_driver_resource_setup()
6181 if (phba->sli4_hba.extents_in_use && in lpfc_sli4_driver_resource_setup()
6182 phba->sli4_hba.rpi_hdrs_in_use) { in lpfc_sli4_driver_resource_setup()
6247 phba->sli4_hba.hba_eq_hdl = kcalloc(fof_vectors + phba->io_channel_irqs, in lpfc_sli4_driver_resource_setup()
6250 if (!phba->sli4_hba.hba_eq_hdl) { in lpfc_sli4_driver_resource_setup()
6258 phba->sli4_hba.cpu_map = kcalloc(phba->sli4_hba.num_present_cpu, in lpfc_sli4_driver_resource_setup()
6261 if (!phba->sli4_hba.cpu_map) { in lpfc_sli4_driver_resource_setup()
6275 kfree(phba->sli4_hba.cpu_map); in lpfc_sli4_driver_resource_setup()
6303 kfree(phba->sli4_hba.hba_eq_hdl); in lpfc_sli4_driver_resource_setup()
6332 kfree(phba->sli4_hba.cpu_map); in lpfc_sli4_driver_resource_unset()
6333 phba->sli4_hba.num_present_cpu = 0; in lpfc_sli4_driver_resource_unset()
6334 phba->sli4_hba.num_online_cpu = 0; in lpfc_sli4_driver_resource_unset()
6335 phba->sli4_hba.curr_disp_cpu = 0; in lpfc_sli4_driver_resource_unset()
6338 kfree(phba->sli4_hba.hba_eq_hdl); in lpfc_sli4_driver_resource_unset()
6575 spin_lock(&phba->sli4_hba.sgl_list_lock); in lpfc_free_els_sgl_list()
6576 list_splice_init(&phba->sli4_hba.lpfc_els_sgl_list, &sglq_list); in lpfc_free_els_sgl_list()
6577 spin_unlock(&phba->sli4_hba.sgl_list_lock); in lpfc_free_els_sgl_list()
6598 spin_lock(&phba->sli4_hba.sgl_list_lock); in lpfc_free_nvmet_sgl_list()
6599 list_splice_init(&phba->sli4_hba.lpfc_nvmet_sgl_list, &sglq_list); in lpfc_free_nvmet_sgl_list()
6600 spin_unlock(&phba->sli4_hba.sgl_list_lock); in lpfc_free_nvmet_sgl_list()
6614 phba->sli4_hba.nvmet_xri_cnt = 0; in lpfc_free_nvmet_sgl_list()
6629 size *= phba->sli4_hba.max_cfg_param.max_xri; in lpfc_init_active_sgl_array()
6631 phba->sli4_hba.lpfc_sglq_active_list = in lpfc_init_active_sgl_array()
6633 if (!phba->sli4_hba.lpfc_sglq_active_list) in lpfc_init_active_sgl_array()
6649 kfree(phba->sli4_hba.lpfc_sglq_active_list); in lpfc_free_active_sgl()
6664 INIT_LIST_HEAD(&phba->sli4_hba.lpfc_els_sgl_list); in lpfc_init_sgl_list()
6665 INIT_LIST_HEAD(&phba->sli4_hba.lpfc_abts_els_sgl_list); in lpfc_init_sgl_list()
6666 INIT_LIST_HEAD(&phba->sli4_hba.lpfc_nvmet_sgl_list); in lpfc_init_sgl_list()
6667 INIT_LIST_HEAD(&phba->sli4_hba.lpfc_abts_nvmet_ctx_list); in lpfc_init_sgl_list()
6670 phba->sli4_hba.els_xri_cnt = 0; in lpfc_init_sgl_list()
6673 phba->sli4_hba.scsi_xri_cnt = 0; in lpfc_init_sgl_list()
6676 phba->sli4_hba.nvme_xri_cnt = 0; in lpfc_init_sgl_list()
6699 INIT_LIST_HEAD(&phba->sli4_hba.lpfc_rpi_hdr_list); in lpfc_sli4_init_rpi_hdrs()
6700 if (!phba->sli4_hba.rpi_hdrs_in_use) in lpfc_sli4_init_rpi_hdrs()
6702 if (phba->sli4_hba.extents_in_use) in lpfc_sli4_init_rpi_hdrs()
6741 if (!phba->sli4_hba.rpi_hdrs_in_use) in lpfc_sli4_create_rpi_hdr()
6743 if (phba->sli4_hba.extents_in_use) in lpfc_sli4_create_rpi_hdr()
6747 rpi_limit = phba->sli4_hba.max_cfg_param.max_rpi; in lpfc_sli4_create_rpi_hdr()
6755 curr_rpi_range = phba->sli4_hba.next_rpi; in lpfc_sli4_create_rpi_hdr()
6795 rpi_hdr->next_rpi = phba->sli4_hba.next_rpi + LPFC_RPI_HDR_COUNT; in lpfc_sli4_create_rpi_hdr()
6796 list_add_tail(&rpi_hdr->list, &phba->sli4_hba.lpfc_rpi_hdr_list); in lpfc_sli4_create_rpi_hdr()
6823 if (!phba->sli4_hba.rpi_hdrs_in_use) in lpfc_sli4_remove_rpi_hdrs()
6827 &phba->sli4_hba.lpfc_rpi_hdr_list, list) { in lpfc_sli4_remove_rpi_hdrs()
6836 phba->sli4_hba.next_rpi = 0; in lpfc_sli4_remove_rpi_hdrs()
7302 if (!phba->sli4_hba.PSMPHRregaddr) in lpfc_sli4_post_status_check()
7307 if (lpfc_readl(phba->sli4_hba.PSMPHRregaddr, in lpfc_sli4_post_status_check()
7344 &phba->sli4_hba.sli_intf), in lpfc_sli4_post_status_check()
7346 &phba->sli4_hba.sli_intf), in lpfc_sli4_post_status_check()
7348 &phba->sli4_hba.sli_intf), in lpfc_sli4_post_status_check()
7350 &phba->sli4_hba.sli_intf), in lpfc_sli4_post_status_check()
7352 &phba->sli4_hba.sli_intf), in lpfc_sli4_post_status_check()
7354 &phba->sli4_hba.sli_intf)); in lpfc_sli4_post_status_check()
7361 &phba->sli4_hba.sli_intf); in lpfc_sli4_post_status_check()
7364 phba->sli4_hba.ue_mask_lo = in lpfc_sli4_post_status_check()
7365 readl(phba->sli4_hba.u.if_type0.UEMASKLOregaddr); in lpfc_sli4_post_status_check()
7366 phba->sli4_hba.ue_mask_hi = in lpfc_sli4_post_status_check()
7367 readl(phba->sli4_hba.u.if_type0.UEMASKHIregaddr); in lpfc_sli4_post_status_check()
7369 readl(phba->sli4_hba.u.if_type0.UERRLOregaddr); in lpfc_sli4_post_status_check()
7371 readl(phba->sli4_hba.u.if_type0.UERRHIregaddr); in lpfc_sli4_post_status_check()
7372 if ((~phba->sli4_hba.ue_mask_lo & uerrlo_reg.word0) || in lpfc_sli4_post_status_check()
7373 (~phba->sli4_hba.ue_mask_hi & uerrhi_reg.word0)) { in lpfc_sli4_post_status_check()
7383 phba->sli4_hba.ue_mask_lo, in lpfc_sli4_post_status_check()
7384 phba->sli4_hba.ue_mask_hi); in lpfc_sli4_post_status_check()
7391 if (lpfc_readl(phba->sli4_hba.u.if_type2.STATUSregaddr, in lpfc_sli4_post_status_check()
7396 readl(phba->sli4_hba.u.if_type2. in lpfc_sli4_post_status_check()
7399 readl(phba->sli4_hba.u.if_type2. in lpfc_sli4_post_status_check()
7434 phba->sli4_hba.u.if_type0.UERRLOregaddr = in lpfc_sli4_bar0_register_memmap()
7435 phba->sli4_hba.conf_regs_memmap_p + LPFC_UERR_STATUS_LO; in lpfc_sli4_bar0_register_memmap()
7436 phba->sli4_hba.u.if_type0.UERRHIregaddr = in lpfc_sli4_bar0_register_memmap()
7437 phba->sli4_hba.conf_regs_memmap_p + LPFC_UERR_STATUS_HI; in lpfc_sli4_bar0_register_memmap()
7438 phba->sli4_hba.u.if_type0.UEMASKLOregaddr = in lpfc_sli4_bar0_register_memmap()
7439 phba->sli4_hba.conf_regs_memmap_p + LPFC_UE_MASK_LO; in lpfc_sli4_bar0_register_memmap()
7440 phba->sli4_hba.u.if_type0.UEMASKHIregaddr = in lpfc_sli4_bar0_register_memmap()
7441 phba->sli4_hba.conf_regs_memmap_p + LPFC_UE_MASK_HI; in lpfc_sli4_bar0_register_memmap()
7442 phba->sli4_hba.SLIINTFregaddr = in lpfc_sli4_bar0_register_memmap()
7443 phba->sli4_hba.conf_regs_memmap_p + LPFC_SLI_INTF; in lpfc_sli4_bar0_register_memmap()
7446 phba->sli4_hba.u.if_type2.EQDregaddr = in lpfc_sli4_bar0_register_memmap()
7447 phba->sli4_hba.conf_regs_memmap_p + in lpfc_sli4_bar0_register_memmap()
7449 phba->sli4_hba.u.if_type2.ERR1regaddr = in lpfc_sli4_bar0_register_memmap()
7450 phba->sli4_hba.conf_regs_memmap_p + in lpfc_sli4_bar0_register_memmap()
7452 phba->sli4_hba.u.if_type2.ERR2regaddr = in lpfc_sli4_bar0_register_memmap()
7453 phba->sli4_hba.conf_regs_memmap_p + in lpfc_sli4_bar0_register_memmap()
7455 phba->sli4_hba.u.if_type2.CTRLregaddr = in lpfc_sli4_bar0_register_memmap()
7456 phba->sli4_hba.conf_regs_memmap_p + in lpfc_sli4_bar0_register_memmap()
7458 phba->sli4_hba.u.if_type2.STATUSregaddr = in lpfc_sli4_bar0_register_memmap()
7459 phba->sli4_hba.conf_regs_memmap_p + in lpfc_sli4_bar0_register_memmap()
7461 phba->sli4_hba.SLIINTFregaddr = in lpfc_sli4_bar0_register_memmap()
7462 phba->sli4_hba.conf_regs_memmap_p + LPFC_SLI_INTF; in lpfc_sli4_bar0_register_memmap()
7463 phba->sli4_hba.PSMPHRregaddr = in lpfc_sli4_bar0_register_memmap()
7464 phba->sli4_hba.conf_regs_memmap_p + in lpfc_sli4_bar0_register_memmap()
7466 phba->sli4_hba.RQDBregaddr = in lpfc_sli4_bar0_register_memmap()
7467 phba->sli4_hba.conf_regs_memmap_p + in lpfc_sli4_bar0_register_memmap()
7469 phba->sli4_hba.WQDBregaddr = in lpfc_sli4_bar0_register_memmap()
7470 phba->sli4_hba.conf_regs_memmap_p + in lpfc_sli4_bar0_register_memmap()
7472 phba->sli4_hba.CQDBregaddr = in lpfc_sli4_bar0_register_memmap()
7473 phba->sli4_hba.conf_regs_memmap_p + LPFC_EQCQ_DOORBELL; in lpfc_sli4_bar0_register_memmap()
7474 phba->sli4_hba.EQDBregaddr = phba->sli4_hba.CQDBregaddr; in lpfc_sli4_bar0_register_memmap()
7475 phba->sli4_hba.MQDBregaddr = in lpfc_sli4_bar0_register_memmap()
7476 phba->sli4_hba.conf_regs_memmap_p + LPFC_MQ_DOORBELL; in lpfc_sli4_bar0_register_memmap()
7477 phba->sli4_hba.BMBXregaddr = in lpfc_sli4_bar0_register_memmap()
7478 phba->sli4_hba.conf_regs_memmap_p + LPFC_BMBX; in lpfc_sli4_bar0_register_memmap()
7481 phba->sli4_hba.u.if_type2.EQDregaddr = in lpfc_sli4_bar0_register_memmap()
7482 phba->sli4_hba.conf_regs_memmap_p + in lpfc_sli4_bar0_register_memmap()
7484 phba->sli4_hba.u.if_type2.ERR1regaddr = in lpfc_sli4_bar0_register_memmap()
7485 phba->sli4_hba.conf_regs_memmap_p + in lpfc_sli4_bar0_register_memmap()
7487 phba->sli4_hba.u.if_type2.ERR2regaddr = in lpfc_sli4_bar0_register_memmap()
7488 phba->sli4_hba.conf_regs_memmap_p + in lpfc_sli4_bar0_register_memmap()
7490 phba->sli4_hba.u.if_type2.CTRLregaddr = in lpfc_sli4_bar0_register_memmap()
7491 phba->sli4_hba.conf_regs_memmap_p + in lpfc_sli4_bar0_register_memmap()
7493 phba->sli4_hba.u.if_type2.STATUSregaddr = in lpfc_sli4_bar0_register_memmap()
7494 phba->sli4_hba.conf_regs_memmap_p + in lpfc_sli4_bar0_register_memmap()
7496 phba->sli4_hba.PSMPHRregaddr = in lpfc_sli4_bar0_register_memmap()
7497 phba->sli4_hba.conf_regs_memmap_p + in lpfc_sli4_bar0_register_memmap()
7499 phba->sli4_hba.BMBXregaddr = in lpfc_sli4_bar0_register_memmap()
7500 phba->sli4_hba.conf_regs_memmap_p + LPFC_BMBX; in lpfc_sli4_bar0_register_memmap()
7522 phba->sli4_hba.PSMPHRregaddr = in lpfc_sli4_bar1_register_memmap()
7523 phba->sli4_hba.ctrl_regs_memmap_p + in lpfc_sli4_bar1_register_memmap()
7525 phba->sli4_hba.ISRregaddr = phba->sli4_hba.ctrl_regs_memmap_p + in lpfc_sli4_bar1_register_memmap()
7527 phba->sli4_hba.IMRregaddr = phba->sli4_hba.ctrl_regs_memmap_p + in lpfc_sli4_bar1_register_memmap()
7529 phba->sli4_hba.ISCRregaddr = phba->sli4_hba.ctrl_regs_memmap_p + in lpfc_sli4_bar1_register_memmap()
7533 phba->sli4_hba.RQDBregaddr = phba->sli4_hba.drbl_regs_memmap_p + in lpfc_sli4_bar1_register_memmap()
7535 phba->sli4_hba.WQDBregaddr = phba->sli4_hba.drbl_regs_memmap_p + in lpfc_sli4_bar1_register_memmap()
7537 phba->sli4_hba.CQDBregaddr = phba->sli4_hba.drbl_regs_memmap_p + in lpfc_sli4_bar1_register_memmap()
7539 phba->sli4_hba.EQDBregaddr = phba->sli4_hba.drbl_regs_memmap_p + in lpfc_sli4_bar1_register_memmap()
7541 phba->sli4_hba.MQDBregaddr = phba->sli4_hba.drbl_regs_memmap_p + in lpfc_sli4_bar1_register_memmap()
7570 phba->sli4_hba.RQDBregaddr = (phba->sli4_hba.drbl_regs_memmap_p + in lpfc_sli4_bar2_register_memmap()
7573 phba->sli4_hba.WQDBregaddr = (phba->sli4_hba.drbl_regs_memmap_p + in lpfc_sli4_bar2_register_memmap()
7576 phba->sli4_hba.CQDBregaddr = (phba->sli4_hba.drbl_regs_memmap_p + in lpfc_sli4_bar2_register_memmap()
7579 phba->sli4_hba.EQDBregaddr = phba->sli4_hba.CQDBregaddr; in lpfc_sli4_bar2_register_memmap()
7580 phba->sli4_hba.MQDBregaddr = (phba->sli4_hba.drbl_regs_memmap_p + in lpfc_sli4_bar2_register_memmap()
7582 phba->sli4_hba.BMBXregaddr = (phba->sli4_hba.drbl_regs_memmap_p + in lpfc_sli4_bar2_register_memmap()
7634 phba->sli4_hba.bmbx.dmabuf = dmabuf; in lpfc_create_bootstrap_mbox()
7635 phba->sli4_hba.bmbx.bmbx_size = bmbx_size; in lpfc_create_bootstrap_mbox()
7637 phba->sli4_hba.bmbx.avirt = PTR_ALIGN(dmabuf->virt, in lpfc_create_bootstrap_mbox()
7639 phba->sli4_hba.bmbx.aphys = ALIGN(dmabuf->phys, in lpfc_create_bootstrap_mbox()
7650 dma_address = &phba->sli4_hba.bmbx.dma_address; in lpfc_create_bootstrap_mbox()
7651 phys_addr = (uint64_t)phba->sli4_hba.bmbx.aphys; in lpfc_create_bootstrap_mbox()
7656 pa_addr = (uint32_t) ((phba->sli4_hba.bmbx.aphys >> 4) & 0x3fffffff); in lpfc_create_bootstrap_mbox()
7677 phba->sli4_hba.bmbx.bmbx_size, in lpfc_destroy_bootstrap_mbox()
7678 phba->sli4_hba.bmbx.dmabuf->virt, in lpfc_destroy_bootstrap_mbox()
7679 phba->sli4_hba.bmbx.dmabuf->phys); in lpfc_destroy_bootstrap_mbox()
7681 kfree(phba->sli4_hba.bmbx.dmabuf); in lpfc_destroy_bootstrap_mbox()
7682 memset(&phba->sli4_hba.bmbx, 0, sizeof(struct lpfc_bmbx)); in lpfc_destroy_bootstrap_mbox()
7734 phba->sli4_hba.lnk_info.lnk_dv = LPFC_LNK_DAT_VAL; in lpfc_sli4_read_config()
7735 phba->sli4_hba.lnk_info.lnk_tp = in lpfc_sli4_read_config()
7737 phba->sli4_hba.lnk_info.lnk_no = in lpfc_sli4_read_config()
7741 phba->sli4_hba.lnk_info.lnk_tp, in lpfc_sli4_read_config()
7742 phba->sli4_hba.lnk_info.lnk_no); in lpfc_sli4_read_config()
7749 phba->sli4_hba.bbscn_params.word0 = rd_config->word8; in lpfc_sli4_read_config()
7752 phba->sli4_hba.extents_in_use = in lpfc_sli4_read_config()
7754 phba->sli4_hba.max_cfg_param.max_xri = in lpfc_sli4_read_config()
7756 phba->sli4_hba.max_cfg_param.xri_base = in lpfc_sli4_read_config()
7758 phba->sli4_hba.max_cfg_param.max_vpi = in lpfc_sli4_read_config()
7760 phba->sli4_hba.max_cfg_param.vpi_base = in lpfc_sli4_read_config()
7762 phba->sli4_hba.max_cfg_param.max_rpi = in lpfc_sli4_read_config()
7764 phba->sli4_hba.max_cfg_param.rpi_base = in lpfc_sli4_read_config()
7766 phba->sli4_hba.max_cfg_param.max_vfi = in lpfc_sli4_read_config()
7768 phba->sli4_hba.max_cfg_param.vfi_base = in lpfc_sli4_read_config()
7770 phba->sli4_hba.max_cfg_param.max_fcfi = in lpfc_sli4_read_config()
7772 phba->sli4_hba.max_cfg_param.max_eq = in lpfc_sli4_read_config()
7774 phba->sli4_hba.max_cfg_param.max_rq = in lpfc_sli4_read_config()
7776 phba->sli4_hba.max_cfg_param.max_wq = in lpfc_sli4_read_config()
7778 phba->sli4_hba.max_cfg_param.max_cq = in lpfc_sli4_read_config()
7781 phba->sli4_hba.next_xri = phba->sli4_hba.max_cfg_param.xri_base; in lpfc_sli4_read_config()
7782 phba->vpi_base = phba->sli4_hba.max_cfg_param.vpi_base; in lpfc_sli4_read_config()
7783 phba->vfi_base = phba->sli4_hba.max_cfg_param.vfi_base; in lpfc_sli4_read_config()
7784 phba->max_vpi = (phba->sli4_hba.max_cfg_param.max_vpi > 0) ? in lpfc_sli4_read_config()
7785 (phba->sli4_hba.max_cfg_param.max_vpi - 1) : 0; in lpfc_sli4_read_config()
7794 phba->sli4_hba.extents_in_use, in lpfc_sli4_read_config()
7795 phba->sli4_hba.max_cfg_param.xri_base, in lpfc_sli4_read_config()
7796 phba->sli4_hba.max_cfg_param.max_xri, in lpfc_sli4_read_config()
7797 phba->sli4_hba.max_cfg_param.vpi_base, in lpfc_sli4_read_config()
7798 phba->sli4_hba.max_cfg_param.max_vpi, in lpfc_sli4_read_config()
7799 phba->sli4_hba.max_cfg_param.vfi_base, in lpfc_sli4_read_config()
7800 phba->sli4_hba.max_cfg_param.max_vfi, in lpfc_sli4_read_config()
7801 phba->sli4_hba.max_cfg_param.rpi_base, in lpfc_sli4_read_config()
7802 phba->sli4_hba.max_cfg_param.max_rpi, in lpfc_sli4_read_config()
7803 phba->sli4_hba.max_cfg_param.max_fcfi, in lpfc_sli4_read_config()
7804 phba->sli4_hba.max_cfg_param.max_eq, in lpfc_sli4_read_config()
7805 phba->sli4_hba.max_cfg_param.max_cq, in lpfc_sli4_read_config()
7806 phba->sli4_hba.max_cfg_param.max_wq, in lpfc_sli4_read_config()
7807 phba->sli4_hba.max_cfg_param.max_rq); in lpfc_sli4_read_config()
7814 length = phba->sli4_hba.max_cfg_param.max_wq; in lpfc_sli4_read_config()
7815 if (phba->sli4_hba.max_cfg_param.max_cq < in lpfc_sli4_read_config()
7816 phba->sli4_hba.max_cfg_param.max_wq) in lpfc_sli4_read_config()
7817 length = phba->sli4_hba.max_cfg_param.max_cq; in lpfc_sli4_read_config()
7835 phba->sli4_hba.max_cfg_param.max_wq, in lpfc_sli4_read_config()
7836 phba->sli4_hba.max_cfg_param.max_cq, in lpfc_sli4_read_config()
7849 if_type = bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf); in lpfc_sli4_read_config()
7905 length = phba->sli4_hba.max_cfg_param.max_xri - in lpfc_sli4_read_config()
7914 if (bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) < in lpfc_sli4_read_config()
7954 phba->sli4_hba.iov.pf_number = in lpfc_sli4_read_config()
7956 phba->sli4_hba.iov.vf_number = in lpfc_sli4_read_config()
7965 "vf_number:%d\n", phba->sli4_hba.iov.pf_number, in lpfc_sli4_read_config()
7966 phba->sli4_hba.iov.vf_number); in lpfc_sli4_read_config()
7999 if_type = bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf); in lpfc_setup_endian_order()
8064 if (phba->sli4_hba.num_online_cpu < io_channel) { in lpfc_sli4_queue_verify()
8069 io_channel, phba->sli4_hba.num_online_cpu); in lpfc_sli4_queue_verify()
8070 io_channel = phba->sli4_hba.num_online_cpu; in lpfc_sli4_queue_verify()
8073 if (io_channel + fof_vectors > phba->sli4_hba.max_cfg_param.max_eq) { in lpfc_sli4_queue_verify()
8078 phba->sli4_hba.max_cfg_param.max_eq); in lpfc_sli4_queue_verify()
8079 io_channel = phba->sli4_hba.max_cfg_param.max_eq - fof_vectors; in lpfc_sli4_queue_verify()
8102 phba->sli4_hba.eq_esize = LPFC_EQE_SIZE_4B; in lpfc_sli4_queue_verify()
8103 phba->sli4_hba.eq_ecount = LPFC_EQE_DEF_COUNT; in lpfc_sli4_queue_verify()
8106 phba->sli4_hba.cq_esize = LPFC_CQE_SIZE; in lpfc_sli4_queue_verify()
8107 phba->sli4_hba.cq_ecount = LPFC_CQE_DEF_COUNT; in lpfc_sli4_queue_verify()
8117 phba->sli4_hba.cq_esize, in lpfc_alloc_nvme_wq_cq()
8126 phba->sli4_hba.nvme_cq[wqidx] = qdesc; in lpfc_alloc_nvme_wq_cq()
8136 phba->sli4_hba.nvme_wq[wqidx] = qdesc; in lpfc_alloc_nvme_wq_cq()
8137 list_add_tail(&qdesc->wq_list, &phba->sli4_hba.lpfc_wq_list); in lpfc_alloc_nvme_wq_cq()
8151 phba->sli4_hba.cq_esize, in lpfc_alloc_fcp_wq_cq()
8156 phba->sli4_hba.cq_esize, in lpfc_alloc_fcp_wq_cq()
8157 phba->sli4_hba.cq_ecount); in lpfc_alloc_fcp_wq_cq()
8164 phba->sli4_hba.fcp_cq[wqidx] = qdesc; in lpfc_alloc_fcp_wq_cq()
8170 LPFC_WQE128_SIZE : phba->sli4_hba.wq_esize; in lpfc_alloc_fcp_wq_cq()
8176 phba->sli4_hba.wq_esize, in lpfc_alloc_fcp_wq_cq()
8177 phba->sli4_hba.wq_ecount); in lpfc_alloc_fcp_wq_cq()
8185 phba->sli4_hba.fcp_wq[wqidx] = qdesc; in lpfc_alloc_fcp_wq_cq()
8186 list_add_tail(&qdesc->wq_list, &phba->sli4_hba.lpfc_wq_list); in lpfc_alloc_fcp_wq_cq()
8218 phba->sli4_hba.mq_esize = LPFC_MQE_SIZE; in lpfc_sli4_queue_create()
8219 phba->sli4_hba.mq_ecount = LPFC_MQE_DEF_COUNT; in lpfc_sli4_queue_create()
8220 phba->sli4_hba.wq_esize = LPFC_WQE_SIZE; in lpfc_sli4_queue_create()
8221 phba->sli4_hba.wq_ecount = LPFC_WQE_DEF_COUNT; in lpfc_sli4_queue_create()
8222 phba->sli4_hba.rq_esize = LPFC_RQE_SIZE; in lpfc_sli4_queue_create()
8223 phba->sli4_hba.rq_ecount = LPFC_RQE_DEF_COUNT; in lpfc_sli4_queue_create()
8224 phba->sli4_hba.eq_esize = LPFC_EQE_SIZE_4B; in lpfc_sli4_queue_create()
8225 phba->sli4_hba.eq_ecount = LPFC_EQE_DEF_COUNT; in lpfc_sli4_queue_create()
8226 phba->sli4_hba.cq_esize = LPFC_CQE_SIZE; in lpfc_sli4_queue_create()
8227 phba->sli4_hba.cq_ecount = LPFC_CQE_DEF_COUNT; in lpfc_sli4_queue_create()
8229 phba->sli4_hba.hba_eq = kcalloc(io_channel, in lpfc_sli4_queue_create()
8232 if (!phba->sli4_hba.hba_eq) { in lpfc_sli4_queue_create()
8240 phba->sli4_hba.fcp_cq = kcalloc(phba->cfg_fcp_io_channel, in lpfc_sli4_queue_create()
8243 if (!phba->sli4_hba.fcp_cq) { in lpfc_sli4_queue_create()
8249 phba->sli4_hba.fcp_wq = kcalloc(phba->cfg_fcp_io_channel, in lpfc_sli4_queue_create()
8252 if (!phba->sli4_hba.fcp_wq) { in lpfc_sli4_queue_create()
8263 phba->sli4_hba.fcp_cq_map = kcalloc(phba->cfg_fcp_io_channel, in lpfc_sli4_queue_create()
8266 if (!phba->sli4_hba.fcp_cq_map) { in lpfc_sli4_queue_create()
8275 phba->sli4_hba.nvme_cq = kcalloc(phba->cfg_nvme_io_channel, in lpfc_sli4_queue_create()
8278 if (!phba->sli4_hba.nvme_cq) { in lpfc_sli4_queue_create()
8285 phba->sli4_hba.nvme_wq = kcalloc(phba->cfg_nvme_io_channel, in lpfc_sli4_queue_create()
8288 if (!phba->sli4_hba.nvme_wq) { in lpfc_sli4_queue_create()
8300 phba->sli4_hba.nvme_cq_map = kcalloc(phba->cfg_nvme_io_channel, in lpfc_sli4_queue_create()
8303 if (!phba->sli4_hba.nvme_cq_map) { in lpfc_sli4_queue_create()
8311 phba->sli4_hba.nvmet_cqset = kcalloc( in lpfc_sli4_queue_create()
8315 if (!phba->sli4_hba.nvmet_cqset) { in lpfc_sli4_queue_create()
8321 phba->sli4_hba.nvmet_mrq_hdr = kcalloc( in lpfc_sli4_queue_create()
8325 if (!phba->sli4_hba.nvmet_mrq_hdr) { in lpfc_sli4_queue_create()
8331 phba->sli4_hba.nvmet_mrq_data = kcalloc( in lpfc_sli4_queue_create()
8335 if (!phba->sli4_hba.nvmet_mrq_data) { in lpfc_sli4_queue_create()
8344 INIT_LIST_HEAD(&phba->sli4_hba.lpfc_wq_list); in lpfc_sli4_queue_create()
8350 phba->sli4_hba.eq_esize, in lpfc_sli4_queue_create()
8351 phba->sli4_hba.eq_ecount); in lpfc_sli4_queue_create()
8358 phba->sli4_hba.hba_eq[idx] = qdesc; in lpfc_sli4_queue_create()
8375 phba->sli4_hba.cq_esize, in lpfc_sli4_queue_create()
8376 phba->sli4_hba.cq_ecount); in lpfc_sli4_queue_create()
8384 phba->sli4_hba.nvmet_cqset[idx] = qdesc; in lpfc_sli4_queue_create()
8394 phba->sli4_hba.cq_esize, in lpfc_sli4_queue_create()
8395 phba->sli4_hba.cq_ecount); in lpfc_sli4_queue_create()
8402 phba->sli4_hba.mbx_cq = qdesc; in lpfc_sli4_queue_create()
8406 phba->sli4_hba.cq_esize, in lpfc_sli4_queue_create()
8407 phba->sli4_hba.cq_ecount); in lpfc_sli4_queue_create()
8414 phba->sli4_hba.els_cq = qdesc; in lpfc_sli4_queue_create()
8424 phba->sli4_hba.mq_esize, in lpfc_sli4_queue_create()
8425 phba->sli4_hba.mq_ecount); in lpfc_sli4_queue_create()
8431 phba->sli4_hba.mbx_wq = qdesc; in lpfc_sli4_queue_create()
8439 phba->sli4_hba.wq_esize, in lpfc_sli4_queue_create()
8440 phba->sli4_hba.wq_ecount); in lpfc_sli4_queue_create()
8446 phba->sli4_hba.els_wq = qdesc; in lpfc_sli4_queue_create()
8447 list_add_tail(&qdesc->wq_list, &phba->sli4_hba.lpfc_wq_list); in lpfc_sli4_queue_create()
8452 phba->sli4_hba.cq_esize, in lpfc_sli4_queue_create()
8453 phba->sli4_hba.cq_ecount); in lpfc_sli4_queue_create()
8460 phba->sli4_hba.nvmels_cq = qdesc; in lpfc_sli4_queue_create()
8464 phba->sli4_hba.wq_esize, in lpfc_sli4_queue_create()
8465 phba->sli4_hba.wq_ecount); in lpfc_sli4_queue_create()
8471 phba->sli4_hba.nvmels_wq = qdesc; in lpfc_sli4_queue_create()
8472 list_add_tail(&qdesc->wq_list, &phba->sli4_hba.lpfc_wq_list); in lpfc_sli4_queue_create()
8481 phba->sli4_hba.rq_esize, in lpfc_sli4_queue_create()
8482 phba->sli4_hba.rq_ecount); in lpfc_sli4_queue_create()
8488 phba->sli4_hba.hdr_rq = qdesc; in lpfc_sli4_queue_create()
8492 phba->sli4_hba.rq_esize, in lpfc_sli4_queue_create()
8493 phba->sli4_hba.rq_ecount); in lpfc_sli4_queue_create()
8499 phba->sli4_hba.dat_rq = qdesc; in lpfc_sli4_queue_create()
8506 phba->sli4_hba.rq_esize, in lpfc_sli4_queue_create()
8514 phba->sli4_hba.nvmet_mrq_hdr[idx] = qdesc; in lpfc_sli4_queue_create()
8532 phba->sli4_hba.rq_esize, in lpfc_sli4_queue_create()
8540 phba->sli4_hba.nvmet_mrq_data[idx] = qdesc; in lpfc_sli4_queue_create()
8606 lpfc_sli4_release_queues(&phba->sli4_hba.hba_eq, phba->io_channel_irqs); in lpfc_sli4_queue_destroy()
8609 lpfc_sli4_release_queues(&phba->sli4_hba.fcp_cq, in lpfc_sli4_queue_destroy()
8613 lpfc_sli4_release_queues(&phba->sli4_hba.fcp_wq, in lpfc_sli4_queue_destroy()
8617 lpfc_sli4_release_queue_map(&phba->sli4_hba.fcp_cq_map); in lpfc_sli4_queue_destroy()
8620 lpfc_sli4_release_queues(&phba->sli4_hba.nvme_cq, in lpfc_sli4_queue_destroy()
8624 lpfc_sli4_release_queues(&phba->sli4_hba.nvme_wq, in lpfc_sli4_queue_destroy()
8628 lpfc_sli4_release_queue_map(&phba->sli4_hba.nvme_cq_map); in lpfc_sli4_queue_destroy()
8631 lpfc_sli4_release_queues(&phba->sli4_hba.nvmet_cqset, in lpfc_sli4_queue_destroy()
8634 lpfc_sli4_release_queues(&phba->sli4_hba.nvmet_mrq_hdr, in lpfc_sli4_queue_destroy()
8636 lpfc_sli4_release_queues(&phba->sli4_hba.nvmet_mrq_data, in lpfc_sli4_queue_destroy()
8641 __lpfc_sli4_release_queue(&phba->sli4_hba.mbx_wq); in lpfc_sli4_queue_destroy()
8644 __lpfc_sli4_release_queue(&phba->sli4_hba.els_wq); in lpfc_sli4_queue_destroy()
8647 __lpfc_sli4_release_queue(&phba->sli4_hba.nvmels_wq); in lpfc_sli4_queue_destroy()
8650 __lpfc_sli4_release_queue(&phba->sli4_hba.hdr_rq); in lpfc_sli4_queue_destroy()
8651 __lpfc_sli4_release_queue(&phba->sli4_hba.dat_rq); in lpfc_sli4_queue_destroy()
8654 __lpfc_sli4_release_queue(&phba->sli4_hba.els_cq); in lpfc_sli4_queue_destroy()
8657 __lpfc_sli4_release_queue(&phba->sli4_hba.nvmels_cq); in lpfc_sli4_queue_destroy()
8660 __lpfc_sli4_release_queue(&phba->sli4_hba.mbx_cq); in lpfc_sli4_queue_destroy()
8663 INIT_LIST_HEAD(&phba->sli4_hba.lpfc_wq_list); in lpfc_sli4_queue_destroy()
8751 phba->sli4_hba.mbx_wq->queue_id, in lpfc_create_wq_cq()
8752 phba->sli4_hba.mbx_cq->queue_id); in lpfc_create_wq_cq()
8811 phba->sli4_hba.fw_func_mode = in lpfc_sli4_queue_setup()
8813 phba->sli4_hba.ulp0_mode = mboxq->u.mqe.un.query_fw_cfg.rsp.ulp0_mode; in lpfc_sli4_queue_setup()
8814 phba->sli4_hba.ulp1_mode = mboxq->u.mqe.un.query_fw_cfg.rsp.ulp1_mode; in lpfc_sli4_queue_setup()
8815 phba->sli4_hba.physical_port = in lpfc_sli4_queue_setup()
8819 "ulp1_mode:x%x\n", phba->sli4_hba.fw_func_mode, in lpfc_sli4_queue_setup()
8820 phba->sli4_hba.ulp0_mode, phba->sli4_hba.ulp1_mode); in lpfc_sli4_queue_setup()
8831 if (io_channel && !phba->sli4_hba.hba_eq) { in lpfc_sli4_queue_setup()
8838 if (!phba->sli4_hba.hba_eq[qidx]) { in lpfc_sli4_queue_setup()
8845 rc = lpfc_eq_create(phba, phba->sli4_hba.hba_eq[qidx], in lpfc_sli4_queue_setup()
8856 qidx, phba->sli4_hba.hba_eq[qidx]->queue_id); in lpfc_sli4_queue_setup()
8860 if (!phba->sli4_hba.nvme_cq || !phba->sli4_hba.nvme_wq) { in lpfc_sli4_queue_setup()
8863 (phba->sli4_hba.nvme_cq) ? "CQ" : "WQ"); in lpfc_sli4_queue_setup()
8870 phba->sli4_hba.hba_eq[ in lpfc_sli4_queue_setup()
8872 phba->sli4_hba.nvme_cq[qidx], in lpfc_sli4_queue_setup()
8873 phba->sli4_hba.nvme_wq[qidx], in lpfc_sli4_queue_setup()
8874 &phba->sli4_hba.nvme_cq_map[qidx], in lpfc_sli4_queue_setup()
8888 if (!phba->sli4_hba.fcp_cq || !phba->sli4_hba.fcp_wq) { in lpfc_sli4_queue_setup()
8891 phba->sli4_hba.fcp_cq ? "WQ" : "CQ"); in lpfc_sli4_queue_setup()
8898 phba->sli4_hba.hba_eq[ in lpfc_sli4_queue_setup()
8900 phba->sli4_hba.fcp_cq[qidx], in lpfc_sli4_queue_setup()
8901 phba->sli4_hba.fcp_wq[qidx], in lpfc_sli4_queue_setup()
8902 &phba->sli4_hba.fcp_cq_map[qidx], in lpfc_sli4_queue_setup()
8920 if (!phba->sli4_hba.mbx_cq || !phba->sli4_hba.mbx_wq) { in lpfc_sli4_queue_setup()
8923 phba->sli4_hba.mbx_cq ? in lpfc_sli4_queue_setup()
8929 rc = lpfc_create_wq_cq(phba, phba->sli4_hba.hba_eq[0], in lpfc_sli4_queue_setup()
8930 phba->sli4_hba.mbx_cq, in lpfc_sli4_queue_setup()
8931 phba->sli4_hba.mbx_wq, in lpfc_sli4_queue_setup()
8940 if (!phba->sli4_hba.nvmet_cqset) { in lpfc_sli4_queue_setup()
8949 phba->sli4_hba.nvmet_cqset, in lpfc_sli4_queue_setup()
8950 phba->sli4_hba.hba_eq, in lpfc_sli4_queue_setup()
8961 rc = lpfc_cq_create(phba, phba->sli4_hba.nvmet_cqset[0], in lpfc_sli4_queue_setup()
8962 phba->sli4_hba.hba_eq[0], in lpfc_sli4_queue_setup()
8970 phba->sli4_hba.nvmet_cqset[0]->chann = 0; in lpfc_sli4_queue_setup()
8975 phba->sli4_hba.nvmet_cqset[0]->queue_id, in lpfc_sli4_queue_setup()
8976 phba->sli4_hba.hba_eq[0]->queue_id); in lpfc_sli4_queue_setup()
8981 if (!phba->sli4_hba.els_cq || !phba->sli4_hba.els_wq) { in lpfc_sli4_queue_setup()
8984 phba->sli4_hba.els_cq ? "WQ" : "CQ"); in lpfc_sli4_queue_setup()
8988 rc = lpfc_create_wq_cq(phba, phba->sli4_hba.hba_eq[0], in lpfc_sli4_queue_setup()
8989 phba->sli4_hba.els_cq, in lpfc_sli4_queue_setup()
8990 phba->sli4_hba.els_wq, in lpfc_sli4_queue_setup()
9000 phba->sli4_hba.els_wq->queue_id, in lpfc_sli4_queue_setup()
9001 phba->sli4_hba.els_cq->queue_id); in lpfc_sli4_queue_setup()
9005 if (!phba->sli4_hba.nvmels_cq || !phba->sli4_hba.nvmels_wq) { in lpfc_sli4_queue_setup()
9008 phba->sli4_hba.nvmels_cq ? "WQ" : "CQ"); in lpfc_sli4_queue_setup()
9012 rc = lpfc_create_wq_cq(phba, phba->sli4_hba.hba_eq[0], in lpfc_sli4_queue_setup()
9013 phba->sli4_hba.nvmels_cq, in lpfc_sli4_queue_setup()
9014 phba->sli4_hba.nvmels_wq, in lpfc_sli4_queue_setup()
9026 phba->sli4_hba.nvmels_wq->queue_id, in lpfc_sli4_queue_setup()
9027 phba->sli4_hba.nvmels_cq->queue_id); in lpfc_sli4_queue_setup()
9034 if ((!phba->sli4_hba.nvmet_cqset) || in lpfc_sli4_queue_setup()
9035 (!phba->sli4_hba.nvmet_mrq_hdr) || in lpfc_sli4_queue_setup()
9036 (!phba->sli4_hba.nvmet_mrq_data)) { in lpfc_sli4_queue_setup()
9045 phba->sli4_hba.nvmet_mrq_hdr, in lpfc_sli4_queue_setup()
9046 phba->sli4_hba.nvmet_mrq_data, in lpfc_sli4_queue_setup()
9047 phba->sli4_hba.nvmet_cqset, in lpfc_sli4_queue_setup()
9059 phba->sli4_hba.nvmet_mrq_hdr[0], in lpfc_sli4_queue_setup()
9060 phba->sli4_hba.nvmet_mrq_data[0], in lpfc_sli4_queue_setup()
9061 phba->sli4_hba.nvmet_cqset[0], in lpfc_sli4_queue_setup()
9075 phba->sli4_hba.nvmet_mrq_hdr[0]->queue_id, in lpfc_sli4_queue_setup()
9076 phba->sli4_hba.nvmet_mrq_data[0]->queue_id, in lpfc_sli4_queue_setup()
9077 phba->sli4_hba.nvmet_cqset[0]->queue_id); in lpfc_sli4_queue_setup()
9082 if (!phba->sli4_hba.hdr_rq || !phba->sli4_hba.dat_rq) { in lpfc_sli4_queue_setup()
9089 rc = lpfc_rq_create(phba, phba->sli4_hba.hdr_rq, phba->sli4_hba.dat_rq, in lpfc_sli4_queue_setup()
9090 phba->sli4_hba.els_cq, LPFC_USOL); in lpfc_sli4_queue_setup()
9101 phba->sli4_hba.hdr_rq->queue_id, in lpfc_sli4_queue_setup()
9102 phba->sli4_hba.dat_rq->queue_id, in lpfc_sli4_queue_setup()
9103 phba->sli4_hba.els_cq->queue_id); in lpfc_sli4_queue_setup()
9149 if (phba->sli4_hba.mbx_wq) in lpfc_sli4_queue_unset()
9150 lpfc_mq_destroy(phba, phba->sli4_hba.mbx_wq); in lpfc_sli4_queue_unset()
9153 if (phba->sli4_hba.nvmels_wq) in lpfc_sli4_queue_unset()
9154 lpfc_wq_destroy(phba, phba->sli4_hba.nvmels_wq); in lpfc_sli4_queue_unset()
9157 if (phba->sli4_hba.els_wq) in lpfc_sli4_queue_unset()
9158 lpfc_wq_destroy(phba, phba->sli4_hba.els_wq); in lpfc_sli4_queue_unset()
9161 if (phba->sli4_hba.hdr_rq) in lpfc_sli4_queue_unset()
9162 lpfc_rq_destroy(phba, phba->sli4_hba.hdr_rq, in lpfc_sli4_queue_unset()
9163 phba->sli4_hba.dat_rq); in lpfc_sli4_queue_unset()
9166 if (phba->sli4_hba.fcp_wq) in lpfc_sli4_queue_unset()
9168 lpfc_wq_destroy(phba, phba->sli4_hba.fcp_wq[qidx]); in lpfc_sli4_queue_unset()
9171 if (phba->sli4_hba.nvme_wq) { in lpfc_sli4_queue_unset()
9173 lpfc_wq_destroy(phba, phba->sli4_hba.nvme_wq[qidx]); in lpfc_sli4_queue_unset()
9177 if (phba->sli4_hba.mbx_cq) in lpfc_sli4_queue_unset()
9178 lpfc_cq_destroy(phba, phba->sli4_hba.mbx_cq); in lpfc_sli4_queue_unset()
9181 if (phba->sli4_hba.els_cq) in lpfc_sli4_queue_unset()
9182 lpfc_cq_destroy(phba, phba->sli4_hba.els_cq); in lpfc_sli4_queue_unset()
9185 if (phba->sli4_hba.nvmels_cq) in lpfc_sli4_queue_unset()
9186 lpfc_cq_destroy(phba, phba->sli4_hba.nvmels_cq); in lpfc_sli4_queue_unset()
9189 if (phba->sli4_hba.nvme_cq) in lpfc_sli4_queue_unset()
9191 lpfc_cq_destroy(phba, phba->sli4_hba.nvme_cq[qidx]); in lpfc_sli4_queue_unset()
9195 if (phba->sli4_hba.nvmet_mrq_hdr) { in lpfc_sli4_queue_unset()
9199 phba->sli4_hba.nvmet_mrq_hdr[qidx], in lpfc_sli4_queue_unset()
9200 phba->sli4_hba.nvmet_mrq_data[qidx]); in lpfc_sli4_queue_unset()
9204 if (phba->sli4_hba.nvmet_cqset) { in lpfc_sli4_queue_unset()
9207 phba, phba->sli4_hba.nvmet_cqset[qidx]); in lpfc_sli4_queue_unset()
9212 if (phba->sli4_hba.fcp_cq) in lpfc_sli4_queue_unset()
9214 lpfc_cq_destroy(phba, phba->sli4_hba.fcp_cq[qidx]); in lpfc_sli4_queue_unset()
9217 if (phba->sli4_hba.hba_eq) in lpfc_sli4_queue_unset()
9219 lpfc_eq_destroy(phba, phba->sli4_hba.hba_eq[qidx]); in lpfc_sli4_queue_unset()
9244 for (i = 0; i < (4 * phba->sli4_hba.cq_ecount); i++) { in lpfc_sli4_cq_event_pool_create()
9249 &phba->sli4_hba.sp_cqe_event_pool); in lpfc_sli4_cq_event_pool_create()
9274 &phba->sli4_hba.sp_cqe_event_pool, list) { in lpfc_sli4_cq_event_pool_destroy()
9295 list_remove_head(&phba->sli4_hba.sp_cqe_event_pool, cq_event, in __lpfc_sli4_cq_event_alloc()
9334 list_add_tail(&cq_event->list, &phba->sli4_hba.sp_cqe_event_pool); in __lpfc_sli4_cq_event_release()
9372 list_splice_init(&phba->sli4_hba.sp_fcp_xri_aborted_work_queue, in lpfc_sli4_cq_event_release_all()
9375 list_splice_init(&phba->sli4_hba.sp_els_xri_aborted_work_queue, in lpfc_sli4_cq_event_release_all()
9378 list_splice_init(&phba->sli4_hba.sp_asynce_work_queue, in lpfc_sli4_cq_event_release_all()
9412 if_type = bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf); in lpfc_pci_function_reset()
9455 if (lpfc_readl(phba->sli4_hba.u.if_type2. in lpfc_pci_function_reset()
9467 phba->sli4_hba.u.if_type2.ERR1regaddr); in lpfc_pci_function_reset()
9469 phba->sli4_hba.u.if_type2.ERR2regaddr); in lpfc_pci_function_reset()
9489 writel(reg_data.word0, phba->sli4_hba.u.if_type2. in lpfc_pci_function_reset()
9560 &phba->sli4_hba.sli_intf.word0)) { in lpfc_sli4_pci_mem_setup()
9565 if (bf_get(lpfc_sli_intf_valid, &phba->sli4_hba.sli_intf) != in lpfc_sli4_pci_mem_setup()
9570 phba->sli4_hba.sli_intf.word0); in lpfc_sli4_pci_mem_setup()
9574 if_type = bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf); in lpfc_sli4_pci_mem_setup()
9589 phba->sli4_hba.conf_regs_memmap_p = in lpfc_sli4_pci_mem_setup()
9591 if (!phba->sli4_hba.conf_regs_memmap_p) { in lpfc_sli4_pci_mem_setup()
9597 phba->pci_bar0_memmap_p = phba->sli4_hba.conf_regs_memmap_p; in lpfc_sli4_pci_mem_setup()
9608 phba->sli4_hba.conf_regs_memmap_p = in lpfc_sli4_pci_mem_setup()
9610 if (!phba->sli4_hba.conf_regs_memmap_p) { in lpfc_sli4_pci_mem_setup()
9628 phba->sli4_hba.ctrl_regs_memmap_p = in lpfc_sli4_pci_mem_setup()
9631 if (!phba->sli4_hba.ctrl_regs_memmap_p) { in lpfc_sli4_pci_mem_setup()
9639 phba->sli4_hba.ctrl_regs_memmap_p; in lpfc_sli4_pci_mem_setup()
9655 phba->sli4_hba.drbl_regs_memmap_p = in lpfc_sli4_pci_mem_setup()
9657 if (!phba->sli4_hba.drbl_regs_memmap_p) { in lpfc_sli4_pci_mem_setup()
9662 phba->pci_bar2_memmap_p = phba->sli4_hba.drbl_regs_memmap_p; in lpfc_sli4_pci_mem_setup()
9675 phba->sli4_hba.drbl_regs_memmap_p = in lpfc_sli4_pci_mem_setup()
9678 if (!phba->sli4_hba.drbl_regs_memmap_p) { in lpfc_sli4_pci_mem_setup()
9686 phba->sli4_hba.drbl_regs_memmap_p; in lpfc_sli4_pci_mem_setup()
9704 phba->sli4_hba.dpp_regs_memmap_p = in lpfc_sli4_pci_mem_setup()
9706 if (!phba->sli4_hba.dpp_regs_memmap_p) { in lpfc_sli4_pci_mem_setup()
9711 phba->pci_bar4_memmap_p = phba->sli4_hba.dpp_regs_memmap_p; in lpfc_sli4_pci_mem_setup()
9718 phba->sli4_hba.sli4_eq_clr_intr = lpfc_sli4_eq_clr_intr; in lpfc_sli4_pci_mem_setup()
9719 phba->sli4_hba.sli4_eq_release = lpfc_sli4_eq_release; in lpfc_sli4_pci_mem_setup()
9720 phba->sli4_hba.sli4_cq_release = lpfc_sli4_cq_release; in lpfc_sli4_pci_mem_setup()
9723 phba->sli4_hba.sli4_eq_clr_intr = lpfc_sli4_if6_eq_clr_intr; in lpfc_sli4_pci_mem_setup()
9724 phba->sli4_hba.sli4_eq_release = lpfc_sli4_if6_eq_release; in lpfc_sli4_pci_mem_setup()
9725 phba->sli4_hba.sli4_cq_release = lpfc_sli4_if6_cq_release; in lpfc_sli4_pci_mem_setup()
9734 iounmap(phba->sli4_hba.drbl_regs_memmap_p); in lpfc_sli4_pci_mem_setup()
9736 iounmap(phba->sli4_hba.ctrl_regs_memmap_p); in lpfc_sli4_pci_mem_setup()
9738 iounmap(phba->sli4_hba.conf_regs_memmap_p); in lpfc_sli4_pci_mem_setup()
9754 if_type = bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf); in lpfc_sli4_pci_mem_unset()
9758 iounmap(phba->sli4_hba.drbl_regs_memmap_p); in lpfc_sli4_pci_mem_unset()
9759 iounmap(phba->sli4_hba.ctrl_regs_memmap_p); in lpfc_sli4_pci_mem_unset()
9760 iounmap(phba->sli4_hba.conf_regs_memmap_p); in lpfc_sli4_pci_mem_unset()
9763 iounmap(phba->sli4_hba.conf_regs_memmap_p); in lpfc_sli4_pci_mem_unset()
9766 iounmap(phba->sli4_hba.drbl_regs_memmap_p); in lpfc_sli4_pci_mem_unset()
9767 iounmap(phba->sli4_hba.conf_regs_memmap_p); in lpfc_sli4_pci_mem_unset()
10030 memset(phba->sli4_hba.cpu_map, 0xff, in lpfc_cpu_affinity_check()
10032 phba->sli4_hba.num_present_cpu)); in lpfc_cpu_affinity_check()
10035 cpup = phba->sli4_hba.cpu_map; in lpfc_cpu_affinity_check()
10036 for (cpu = 0; cpu < phba->sli4_hba.num_present_cpu; cpu++) { in lpfc_cpu_affinity_check()
10093 name = phba->sli4_hba.hba_eq_hdl[index].handler_name; in lpfc_sli4_enable_msix()
10098 phba->sli4_hba.hba_eq_hdl[index].idx = index; in lpfc_sli4_enable_msix()
10099 phba->sli4_hba.hba_eq_hdl[index].phba = phba; in lpfc_sli4_enable_msix()
10100 atomic_set(&phba->sli4_hba.hba_eq_hdl[index].hba_eq_in_use, 1); in lpfc_sli4_enable_msix()
10105 &phba->sli4_hba.hba_eq_hdl[index]); in lpfc_sli4_enable_msix()
10110 &phba->sli4_hba.hba_eq_hdl[index]); in lpfc_sli4_enable_msix()
10144 &phba->sli4_hba.hba_eq_hdl[index]); in lpfc_sli4_enable_msix()
10192 phba->sli4_hba.hba_eq_hdl[index].idx = index; in lpfc_sli4_enable_msi()
10193 phba->sli4_hba.hba_eq_hdl[index].phba = phba; in lpfc_sli4_enable_msi()
10197 phba->sli4_hba.hba_eq_hdl[index].idx = index; in lpfc_sli4_enable_msi()
10198 phba->sli4_hba.hba_eq_hdl[index].phba = phba; in lpfc_sli4_enable_msi()
10261 eqhdl = &phba->sli4_hba.hba_eq_hdl[idx]; in lpfc_sli4_enable_intr()
10267 eqhdl = &phba->sli4_hba.hba_eq_hdl[idx]; in lpfc_sli4_enable_intr()
10296 &phba->sli4_hba.hba_eq_hdl[index]); in lpfc_sli4_disable_intr()
10300 &phba->sli4_hba.hba_eq_hdl[index]); in lpfc_sli4_disable_intr()
10365 int els_xri_cmpl = list_empty(&phba->sli4_hba.lpfc_abts_els_sgl_list); in lpfc_sli4_xri_exchange_busy_wait()
10379 list_empty(&phba->sli4_hba.lpfc_abts_scsi_buf_list); in lpfc_sli4_xri_exchange_busy_wait()
10382 list_empty(&phba->sli4_hba.lpfc_abts_nvme_buf_list); in lpfc_sli4_xri_exchange_busy_wait()
10384 list_empty(&phba->sli4_hba.lpfc_abts_nvmet_ctx_list); in lpfc_sli4_xri_exchange_busy_wait()
10418 &phba->sli4_hba.lpfc_abts_nvme_buf_list); in lpfc_sli4_xri_exchange_busy_wait()
10420 &phba->sli4_hba.lpfc_abts_nvmet_ctx_list); in lpfc_sli4_xri_exchange_busy_wait()
10425 &phba->sli4_hba.lpfc_abts_scsi_buf_list); in lpfc_sli4_xri_exchange_busy_wait()
10428 list_empty(&phba->sli4_hba.lpfc_abts_els_sgl_list); in lpfc_sli4_xri_exchange_busy_wait()
10451 phba->sli4_hba.intr_enable = 0; in lpfc_sli4_hba_unset()
10533 if (!phba->sli4_hba.intr_enable) in lpfc_pc_sli4_params_get()
10543 sli4_params = &phba->sli4_hba.pc_sli4_params; in lpfc_pc_sli4_params_get()
10608 phba->sli4_hba.rpi_hdrs_in_use = 1; in lpfc_get_sli4_parameters()
10616 if (!phba->sli4_hba.intr_enable) in lpfc_get_sli4_parameters()
10624 sli4_params = &phba->sli4_hba.pc_sli4_params; in lpfc_get_sli4_parameters()
10653 phba->sli4_hba.extents_in_use = bf_get(cfg_ext, mbx_sli4_parameters); in lpfc_get_sli4_parameters()
10654 phba->sli4_hba.rpi_hdrs_in_use = bf_get(cfg_hdrr, mbx_sli4_parameters); in lpfc_get_sli4_parameters()
10678 if ((bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) != in lpfc_get_sli4_parameters()
10720 if ((bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) == in lpfc_get_sli4_parameters()
10722 (bf_get(lpfc_sli_intf_sli_family, &phba->sli4_hba.sli_intf) == in lpfc_get_sli4_parameters()
11347 int max_xri = phba->sli4_hba.max_cfg_param.max_xri; in lpfc_sli4_get_els_iocb_cnt()
11523 if (bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) < in lpfc_sli4_request_firmware_update()
12418 if (phba->sli4_hba.pc_sli4_params.oas_supported) { in lpfc_sli4_oas_verify()
12447 rc = lpfc_eq_create(phba, phba->sli4_hba.fof_eq, LPFC_MAX_IMAX); in lpfc_fof_queue_setup()
12453 rc = lpfc_cq_create(phba, phba->sli4_hba.oas_cq, in lpfc_fof_queue_setup()
12454 phba->sli4_hba.fof_eq, LPFC_WCQ, LPFC_FCP); in lpfc_fof_queue_setup()
12458 rc = lpfc_wq_create(phba, phba->sli4_hba.oas_wq, in lpfc_fof_queue_setup()
12459 phba->sli4_hba.oas_cq, LPFC_FCP); in lpfc_fof_queue_setup()
12464 pring = phba->sli4_hba.oas_wq->pring; in lpfc_fof_queue_setup()
12466 (void *)phba->sli4_hba.oas_wq; in lpfc_fof_queue_setup()
12467 phba->sli4_hba.oas_cq->pring = pring; in lpfc_fof_queue_setup()
12473 lpfc_cq_destroy(phba, phba->sli4_hba.oas_cq); in lpfc_fof_queue_setup()
12475 lpfc_eq_destroy(phba, phba->sli4_hba.fof_eq); in lpfc_fof_queue_setup()
12502 phba->sli4_hba.eq_esize, in lpfc_fof_queue_create()
12503 phba->sli4_hba.eq_ecount); in lpfc_fof_queue_create()
12508 phba->sli4_hba.fof_eq = qdesc; in lpfc_fof_queue_create()
12516 phba->sli4_hba.cq_esize, in lpfc_fof_queue_create()
12521 phba->sli4_hba.cq_esize, in lpfc_fof_queue_create()
12522 phba->sli4_hba.cq_ecount); in lpfc_fof_queue_create()
12527 phba->sli4_hba.oas_cq = qdesc; in lpfc_fof_queue_create()
12532 LPFC_WQE128_SIZE : phba->sli4_hba.wq_esize; in lpfc_fof_queue_create()
12540 phba->sli4_hba.wq_esize, in lpfc_fof_queue_create()
12541 phba->sli4_hba.wq_ecount); in lpfc_fof_queue_create()
12546 phba->sli4_hba.oas_wq = qdesc; in lpfc_fof_queue_create()
12547 list_add_tail(&qdesc->wq_list, &phba->sli4_hba.lpfc_wq_list); in lpfc_fof_queue_create()
12571 if (phba->sli4_hba.fof_eq != NULL) { in lpfc_fof_queue_destroy()
12572 lpfc_sli4_queue_free(phba->sli4_hba.fof_eq); in lpfc_fof_queue_destroy()
12573 phba->sli4_hba.fof_eq = NULL; in lpfc_fof_queue_destroy()
12577 if (phba->sli4_hba.oas_cq != NULL) { in lpfc_fof_queue_destroy()
12578 lpfc_sli4_queue_free(phba->sli4_hba.oas_cq); in lpfc_fof_queue_destroy()
12579 phba->sli4_hba.oas_cq = NULL; in lpfc_fof_queue_destroy()
12583 if (phba->sli4_hba.oas_wq != NULL) { in lpfc_fof_queue_destroy()
12584 lpfc_sli4_queue_free(phba->sli4_hba.oas_wq); in lpfc_fof_queue_destroy()
12585 phba->sli4_hba.oas_wq = NULL; in lpfc_fof_queue_destroy()