Lines Matching refs:sli4_hba

846 	while (!list_empty(&phba->sli4_hba.sp_queue_event)) {  in lpfc_sli4_free_sp_events()
849 list_remove_head(&phba->sli4_hba.sp_queue_event, in lpfc_sli4_free_sp_events()
1009 spin_lock(&phba->sli4_hba.abts_sgl_list_lock); in lpfc_hba_down_post_s4()
1011 &phba->sli4_hba.lpfc_abts_els_sgl_list, list) in lpfc_hba_down_post_s4()
1015 list_splice_init(&phba->sli4_hba.lpfc_abts_els_sgl_list, in lpfc_hba_down_post_s4()
1016 &phba->sli4_hba.lpfc_sgl_list); in lpfc_hba_down_post_s4()
1018 spin_unlock(&phba->sli4_hba.abts_sgl_list_lock); in lpfc_hba_down_post_s4()
1022 spin_lock(&phba->sli4_hba.abts_scsi_buf_list_lock); in lpfc_hba_down_post_s4()
1023 list_splice_init(&phba->sli4_hba.lpfc_abts_scsi_buf_list, in lpfc_hba_down_post_s4()
1025 spin_unlock(&phba->sli4_hba.abts_scsi_buf_list_lock); in lpfc_hba_down_post_s4()
1642 if_type = bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf); in lpfc_handle_eratt_s4()
1646 phba->sli4_hba.u.if_type0.UERRLOregaddr, in lpfc_handle_eratt_s4()
1649 phba->sli4_hba.u.if_type0.UEMASKLOregaddr, in lpfc_handle_eratt_s4()
1659 phba->sli4_hba.u.if_type2.STATUSregaddr, in lpfc_handle_eratt_s4()
1665 readl(phba->sli4_hba.u.if_type2.STATUSregaddr)); in lpfc_handle_eratt_s4()
1668 reg_err1 = readl(phba->sli4_hba.u.if_type2.ERR1regaddr); in lpfc_handle_eratt_s4()
1669 reg_err2 = readl(phba->sli4_hba.u.if_type2.ERR2regaddr); in lpfc_handle_eratt_s4()
1971 (phba->sli4_hba.pport_name_sta == in lpfc_parse_vpd()
1981 (phba->sli4_hba.pport_name_sta == in lpfc_parse_vpd()
2840 if (!phba->sli4_hba.max_cfg_param.vpi_used) in lpfc_online()
3097 if (els_xri_cnt > phba->sli4_hba.els_xri_cnt) { in lpfc_sli4_xri_sgl_update()
3099 xri_cnt = els_xri_cnt - phba->sli4_hba.els_xri_cnt; in lpfc_sli4_xri_sgl_update()
3102 "%d to %d\n", phba->sli4_hba.els_xri_cnt, in lpfc_sli4_xri_sgl_update()
3133 list_splice_init(&els_sgl_list, &phba->sli4_hba.lpfc_sgl_list); in lpfc_sli4_xri_sgl_update()
3136 } else if (els_xri_cnt < phba->sli4_hba.els_xri_cnt) { in lpfc_sli4_xri_sgl_update()
3138 xri_cnt = phba->sli4_hba.els_xri_cnt - els_xri_cnt; in lpfc_sli4_xri_sgl_update()
3141 "%d to %d\n", phba->sli4_hba.els_xri_cnt, in lpfc_sli4_xri_sgl_update()
3145 list_splice_init(&phba->sli4_hba.lpfc_sgl_list, &els_sgl_list); in lpfc_sli4_xri_sgl_update()
3160 list_splice_init(&els_sgl_list, &phba->sli4_hba.lpfc_sgl_list); in lpfc_sli4_xri_sgl_update()
3167 phba->sli4_hba.els_xri_cnt = els_xri_cnt; in lpfc_sli4_xri_sgl_update()
3173 &phba->sli4_hba.lpfc_sgl_list, list) { in lpfc_sli4_xri_sgl_update()
3183 sglq_entry->sli4_xritag = phba->sli4_hba.xri_ids[lxri]; in lpfc_sli4_xri_sgl_update()
3192 phba->sli4_hba.scsi_xri_max = phba->sli4_hba.max_cfg_param.max_xri - in lpfc_sli4_xri_sgl_update()
3198 phba->sli4_hba.scsi_xri_cnt, in lpfc_sli4_xri_sgl_update()
3199 phba->sli4_hba.scsi_xri_max); in lpfc_sli4_xri_sgl_update()
3208 if (phba->sli4_hba.scsi_xri_cnt > phba->sli4_hba.scsi_xri_max) { in lpfc_sli4_xri_sgl_update()
3210 scsi_xri_cnt = phba->sli4_hba.scsi_xri_cnt - in lpfc_sli4_xri_sgl_update()
3211 phba->sli4_hba.scsi_xri_max; in lpfc_sli4_xri_sgl_update()
3223 phba->sli4_hba.scsi_xri_cnt -= scsi_xri_cnt; in lpfc_sli4_xri_sgl_update()
3240 psb->cur_iocbq.sli4_xritag = phba->sli4_hba.xri_ids[lxri]; in lpfc_sli4_xri_sgl_update()
3308 phba->sli4_hba.pc_sli4_params.sge_supp_len-1; in lpfc_create_port()
3561 phba->sli4_hba.intr_enable = 0; in lpfc_stop_port_s4()
3922 phba->sli4_hba.link_state.speed = in lpfc_sli4_async_link_evt()
3925 phba->sli4_hba.link_state.duplex = in lpfc_sli4_async_link_evt()
3927 phba->sli4_hba.link_state.status = in lpfc_sli4_async_link_evt()
3929 phba->sli4_hba.link_state.type = in lpfc_sli4_async_link_evt()
3931 phba->sli4_hba.link_state.number = in lpfc_sli4_async_link_evt()
3933 phba->sli4_hba.link_state.fault = in lpfc_sli4_async_link_evt()
3935 phba->sli4_hba.link_state.logical_speed = in lpfc_sli4_async_link_evt()
3942 phba->sli4_hba.link_state.speed, in lpfc_sli4_async_link_evt()
3943 phba->sli4_hba.link_state.topology, in lpfc_sli4_async_link_evt()
3944 phba->sli4_hba.link_state.status, in lpfc_sli4_async_link_evt()
3945 phba->sli4_hba.link_state.type, in lpfc_sli4_async_link_evt()
3946 phba->sli4_hba.link_state.number, in lpfc_sli4_async_link_evt()
3947 phba->sli4_hba.link_state.logical_speed, in lpfc_sli4_async_link_evt()
3948 phba->sli4_hba.link_state.fault); in lpfc_sli4_async_link_evt()
4018 phba->sli4_hba.link_state.speed = in lpfc_sli4_async_fc_evt()
4021 phba->sli4_hba.link_state.duplex = LPFC_ASYNC_LINK_DUPLEX_FULL; in lpfc_sli4_async_fc_evt()
4022 phba->sli4_hba.link_state.topology = in lpfc_sli4_async_fc_evt()
4024 phba->sli4_hba.link_state.status = in lpfc_sli4_async_fc_evt()
4026 phba->sli4_hba.link_state.type = in lpfc_sli4_async_fc_evt()
4028 phba->sli4_hba.link_state.number = in lpfc_sli4_async_fc_evt()
4030 phba->sli4_hba.link_state.fault = in lpfc_sli4_async_fc_evt()
4032 phba->sli4_hba.link_state.logical_speed = in lpfc_sli4_async_fc_evt()
4038 phba->sli4_hba.link_state.speed, in lpfc_sli4_async_fc_evt()
4039 phba->sli4_hba.link_state.topology, in lpfc_sli4_async_fc_evt()
4040 phba->sli4_hba.link_state.status, in lpfc_sli4_async_fc_evt()
4041 phba->sli4_hba.link_state.type, in lpfc_sli4_async_fc_evt()
4042 phba->sli4_hba.link_state.number, in lpfc_sli4_async_fc_evt()
4043 phba->sli4_hba.link_state.logical_speed, in lpfc_sli4_async_fc_evt()
4044 phba->sli4_hba.link_state.fault); in lpfc_sli4_async_fc_evt()
4110 if (bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) != in lpfc_sli4_async_sli_evt()
4162 switch (phba->sli4_hba.lnk_info.lnk_no) { in lpfc_sli4_async_sli_evt()
4584 prev_ll_spd = phba->sli4_hba.link_state.logical_speed; in lpfc_sli4_async_grp5_evt()
4585 phba->sli4_hba.link_state.logical_speed = in lpfc_sli4_async_grp5_evt()
4590 phba->sli4_hba.link_state.logical_speed); in lpfc_sli4_async_grp5_evt()
4609 while (!list_empty(&phba->sli4_hba.sp_asynce_work_queue)) { in lpfc_sli4_async_event_proc()
4612 list_remove_head(&phba->sli4_hba.sp_asynce_work_queue, in lpfc_sli4_async_event_proc()
5250 spin_lock_init(&phba->sli4_hba.abts_scsi_buf_list_lock); in lpfc_sli4_driver_resource_setup()
5251 INIT_LIST_HEAD(&phba->sli4_hba.lpfc_abts_scsi_buf_list); in lpfc_sli4_driver_resource_setup()
5253 spin_lock_init(&phba->sli4_hba.abts_sgl_list_lock); in lpfc_sli4_driver_resource_setup()
5260 INIT_LIST_HEAD(&phba->sli4_hba.sp_cqe_event_pool); in lpfc_sli4_driver_resource_setup()
5262 INIT_LIST_HEAD(&phba->sli4_hba.sp_queue_event); in lpfc_sli4_driver_resource_setup()
5264 INIT_LIST_HEAD(&phba->sli4_hba.sp_asynce_work_queue); in lpfc_sli4_driver_resource_setup()
5266 INIT_LIST_HEAD(&phba->sli4_hba.sp_fcp_xri_aborted_work_queue); in lpfc_sli4_driver_resource_setup()
5268 INIT_LIST_HEAD(&phba->sli4_hba.sp_els_xri_aborted_work_queue); in lpfc_sli4_driver_resource_setup()
5270 INIT_LIST_HEAD(&phba->sli4_hba.sp_unsol_work_queue); in lpfc_sli4_driver_resource_setup()
5273 INIT_LIST_HEAD(&phba->sli4_hba.lpfc_rpi_blk_list); in lpfc_sli4_driver_resource_setup()
5274 INIT_LIST_HEAD(&phba->sli4_hba.lpfc_xri_blk_list); in lpfc_sli4_driver_resource_setup()
5275 INIT_LIST_HEAD(&phba->sli4_hba.lpfc_vfi_blk_list); in lpfc_sli4_driver_resource_setup()
5288 if (bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) == in lpfc_sli4_driver_resource_setup()
5315 if (bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) == in lpfc_sli4_driver_resource_setup()
5339 phba->sli4_hba.pc_sli4_params.supported = 1; in lpfc_sli4_driver_resource_setup()
5346 if (phba->sli4_hba.pc_sli4_params.supported) in lpfc_sli4_driver_resource_setup()
5361 if (phba->sli4_hba.extents_in_use && in lpfc_sli4_driver_resource_setup()
5362 phba->sli4_hba.rpi_hdrs_in_use) { in lpfc_sli4_driver_resource_setup()
5415 phba->sli4_hba.fcp_eq_hdl = in lpfc_sli4_driver_resource_setup()
5419 if (!phba->sli4_hba.fcp_eq_hdl) { in lpfc_sli4_driver_resource_setup()
5427 phba->sli4_hba.msix_entries = kzalloc((sizeof(struct msix_entry) * in lpfc_sli4_driver_resource_setup()
5430 if (!phba->sli4_hba.msix_entries) { in lpfc_sli4_driver_resource_setup()
5438 phba->sli4_hba.cpu_map = kzalloc((sizeof(struct lpfc_vector_map_info) * in lpfc_sli4_driver_resource_setup()
5439 phba->sli4_hba.num_present_cpu), in lpfc_sli4_driver_resource_setup()
5441 if (!phba->sli4_hba.cpu_map) { in lpfc_sli4_driver_resource_setup()
5455 kfree(phba->sli4_hba.cpu_map); in lpfc_sli4_driver_resource_setup()
5464 cpup = phba->sli4_hba.cpu_map; in lpfc_sli4_driver_resource_setup()
5466 for (i = 0; i < phba->sli4_hba.num_present_cpu; i++) { in lpfc_sli4_driver_resource_setup()
5493 kfree(phba->sli4_hba.msix_entries); in lpfc_sli4_driver_resource_setup()
5495 kfree(phba->sli4_hba.fcp_eq_hdl); in lpfc_sli4_driver_resource_setup()
5524 kfree(phba->sli4_hba.cpu_map); in lpfc_sli4_driver_resource_unset()
5525 phba->sli4_hba.num_present_cpu = 0; in lpfc_sli4_driver_resource_unset()
5526 phba->sli4_hba.num_online_cpu = 0; in lpfc_sli4_driver_resource_unset()
5527 phba->sli4_hba.curr_disp_cpu = 0; in lpfc_sli4_driver_resource_unset()
5530 kfree(phba->sli4_hba.msix_entries); in lpfc_sli4_driver_resource_unset()
5533 kfree(phba->sli4_hba.fcp_eq_hdl); in lpfc_sli4_driver_resource_unset()
5810 list_splice_init(&phba->sli4_hba.lpfc_sgl_list, &sglq_list); in lpfc_free_els_sgl_list()
5830 size *= phba->sli4_hba.max_cfg_param.max_xri; in lpfc_init_active_sgl_array()
5832 phba->sli4_hba.lpfc_sglq_active_list = in lpfc_init_active_sgl_array()
5834 if (!phba->sli4_hba.lpfc_sglq_active_list) in lpfc_init_active_sgl_array()
5850 kfree(phba->sli4_hba.lpfc_sglq_active_list); in lpfc_free_active_sgl()
5865 INIT_LIST_HEAD(&phba->sli4_hba.lpfc_sgl_list); in lpfc_init_sgl_list()
5866 INIT_LIST_HEAD(&phba->sli4_hba.lpfc_abts_els_sgl_list); in lpfc_init_sgl_list()
5869 phba->sli4_hba.els_xri_cnt = 0; in lpfc_init_sgl_list()
5872 phba->sli4_hba.scsi_xri_cnt = 0; in lpfc_init_sgl_list()
5895 INIT_LIST_HEAD(&phba->sli4_hba.lpfc_rpi_hdr_list); in lpfc_sli4_init_rpi_hdrs()
5896 if (!phba->sli4_hba.rpi_hdrs_in_use) in lpfc_sli4_init_rpi_hdrs()
5898 if (phba->sli4_hba.extents_in_use) in lpfc_sli4_init_rpi_hdrs()
5938 if (!phba->sli4_hba.rpi_hdrs_in_use) in lpfc_sli4_create_rpi_hdr()
5940 if (phba->sli4_hba.extents_in_use) in lpfc_sli4_create_rpi_hdr()
5944 rpi_limit = phba->sli4_hba.max_cfg_param.rpi_base + in lpfc_sli4_create_rpi_hdr()
5945 phba->sli4_hba.max_cfg_param.max_rpi - 1; in lpfc_sli4_create_rpi_hdr()
5953 curr_rpi_range = phba->sli4_hba.next_rpi; in lpfc_sli4_create_rpi_hdr()
6001 list_add_tail(&rpi_hdr->list, &phba->sli4_hba.lpfc_rpi_hdr_list); in lpfc_sli4_create_rpi_hdr()
6007 phba->sli4_hba.next_rpi += rpi_count; in lpfc_sli4_create_rpi_hdr()
6033 if (!phba->sli4_hba.rpi_hdrs_in_use) in lpfc_sli4_remove_rpi_hdrs()
6037 &phba->sli4_hba.lpfc_rpi_hdr_list, list) { in lpfc_sli4_remove_rpi_hdrs()
6046 phba->sli4_hba.next_rpi = 0; in lpfc_sli4_remove_rpi_hdrs()
6475 if (!phba->sli4_hba.PSMPHRregaddr) in lpfc_sli4_post_status_check()
6480 if (lpfc_readl(phba->sli4_hba.PSMPHRregaddr, in lpfc_sli4_post_status_check()
6517 &phba->sli4_hba.sli_intf), in lpfc_sli4_post_status_check()
6519 &phba->sli4_hba.sli_intf), in lpfc_sli4_post_status_check()
6521 &phba->sli4_hba.sli_intf), in lpfc_sli4_post_status_check()
6523 &phba->sli4_hba.sli_intf), in lpfc_sli4_post_status_check()
6525 &phba->sli4_hba.sli_intf), in lpfc_sli4_post_status_check()
6527 &phba->sli4_hba.sli_intf)); in lpfc_sli4_post_status_check()
6534 &phba->sli4_hba.sli_intf); in lpfc_sli4_post_status_check()
6537 phba->sli4_hba.ue_mask_lo = in lpfc_sli4_post_status_check()
6538 readl(phba->sli4_hba.u.if_type0.UEMASKLOregaddr); in lpfc_sli4_post_status_check()
6539 phba->sli4_hba.ue_mask_hi = in lpfc_sli4_post_status_check()
6540 readl(phba->sli4_hba.u.if_type0.UEMASKHIregaddr); in lpfc_sli4_post_status_check()
6542 readl(phba->sli4_hba.u.if_type0.UERRLOregaddr); in lpfc_sli4_post_status_check()
6544 readl(phba->sli4_hba.u.if_type0.UERRHIregaddr); in lpfc_sli4_post_status_check()
6545 if ((~phba->sli4_hba.ue_mask_lo & uerrlo_reg.word0) || in lpfc_sli4_post_status_check()
6546 (~phba->sli4_hba.ue_mask_hi & uerrhi_reg.word0)) { in lpfc_sli4_post_status_check()
6556 phba->sli4_hba.ue_mask_lo, in lpfc_sli4_post_status_check()
6557 phba->sli4_hba.ue_mask_hi); in lpfc_sli4_post_status_check()
6563 if (lpfc_readl(phba->sli4_hba.u.if_type2.STATUSregaddr, in lpfc_sli4_post_status_check()
6568 readl(phba->sli4_hba.u.if_type2. in lpfc_sli4_post_status_check()
6571 readl(phba->sli4_hba.u.if_type2. in lpfc_sli4_post_status_check()
6606 phba->sli4_hba.u.if_type0.UERRLOregaddr = in lpfc_sli4_bar0_register_memmap()
6607 phba->sli4_hba.conf_regs_memmap_p + LPFC_UERR_STATUS_LO; in lpfc_sli4_bar0_register_memmap()
6608 phba->sli4_hba.u.if_type0.UERRHIregaddr = in lpfc_sli4_bar0_register_memmap()
6609 phba->sli4_hba.conf_regs_memmap_p + LPFC_UERR_STATUS_HI; in lpfc_sli4_bar0_register_memmap()
6610 phba->sli4_hba.u.if_type0.UEMASKLOregaddr = in lpfc_sli4_bar0_register_memmap()
6611 phba->sli4_hba.conf_regs_memmap_p + LPFC_UE_MASK_LO; in lpfc_sli4_bar0_register_memmap()
6612 phba->sli4_hba.u.if_type0.UEMASKHIregaddr = in lpfc_sli4_bar0_register_memmap()
6613 phba->sli4_hba.conf_regs_memmap_p + LPFC_UE_MASK_HI; in lpfc_sli4_bar0_register_memmap()
6614 phba->sli4_hba.SLIINTFregaddr = in lpfc_sli4_bar0_register_memmap()
6615 phba->sli4_hba.conf_regs_memmap_p + LPFC_SLI_INTF; in lpfc_sli4_bar0_register_memmap()
6618 phba->sli4_hba.u.if_type2.ERR1regaddr = in lpfc_sli4_bar0_register_memmap()
6619 phba->sli4_hba.conf_regs_memmap_p + in lpfc_sli4_bar0_register_memmap()
6621 phba->sli4_hba.u.if_type2.ERR2regaddr = in lpfc_sli4_bar0_register_memmap()
6622 phba->sli4_hba.conf_regs_memmap_p + in lpfc_sli4_bar0_register_memmap()
6624 phba->sli4_hba.u.if_type2.CTRLregaddr = in lpfc_sli4_bar0_register_memmap()
6625 phba->sli4_hba.conf_regs_memmap_p + in lpfc_sli4_bar0_register_memmap()
6627 phba->sli4_hba.u.if_type2.STATUSregaddr = in lpfc_sli4_bar0_register_memmap()
6628 phba->sli4_hba.conf_regs_memmap_p + in lpfc_sli4_bar0_register_memmap()
6630 phba->sli4_hba.SLIINTFregaddr = in lpfc_sli4_bar0_register_memmap()
6631 phba->sli4_hba.conf_regs_memmap_p + LPFC_SLI_INTF; in lpfc_sli4_bar0_register_memmap()
6632 phba->sli4_hba.PSMPHRregaddr = in lpfc_sli4_bar0_register_memmap()
6633 phba->sli4_hba.conf_regs_memmap_p + in lpfc_sli4_bar0_register_memmap()
6635 phba->sli4_hba.RQDBregaddr = in lpfc_sli4_bar0_register_memmap()
6636 phba->sli4_hba.conf_regs_memmap_p + in lpfc_sli4_bar0_register_memmap()
6638 phba->sli4_hba.WQDBregaddr = in lpfc_sli4_bar0_register_memmap()
6639 phba->sli4_hba.conf_regs_memmap_p + in lpfc_sli4_bar0_register_memmap()
6641 phba->sli4_hba.EQCQDBregaddr = in lpfc_sli4_bar0_register_memmap()
6642 phba->sli4_hba.conf_regs_memmap_p + LPFC_EQCQ_DOORBELL; in lpfc_sli4_bar0_register_memmap()
6643 phba->sli4_hba.MQDBregaddr = in lpfc_sli4_bar0_register_memmap()
6644 phba->sli4_hba.conf_regs_memmap_p + LPFC_MQ_DOORBELL; in lpfc_sli4_bar0_register_memmap()
6645 phba->sli4_hba.BMBXregaddr = in lpfc_sli4_bar0_register_memmap()
6646 phba->sli4_hba.conf_regs_memmap_p + LPFC_BMBX; in lpfc_sli4_bar0_register_memmap()
6667 phba->sli4_hba.PSMPHRregaddr = phba->sli4_hba.ctrl_regs_memmap_p + in lpfc_sli4_bar1_register_memmap()
6669 phba->sli4_hba.ISRregaddr = phba->sli4_hba.ctrl_regs_memmap_p + in lpfc_sli4_bar1_register_memmap()
6671 phba->sli4_hba.IMRregaddr = phba->sli4_hba.ctrl_regs_memmap_p + in lpfc_sli4_bar1_register_memmap()
6673 phba->sli4_hba.ISCRregaddr = phba->sli4_hba.ctrl_regs_memmap_p + in lpfc_sli4_bar1_register_memmap()
6693 phba->sli4_hba.RQDBregaddr = (phba->sli4_hba.drbl_regs_memmap_p + in lpfc_sli4_bar2_register_memmap()
6696 phba->sli4_hba.WQDBregaddr = (phba->sli4_hba.drbl_regs_memmap_p + in lpfc_sli4_bar2_register_memmap()
6699 phba->sli4_hba.EQCQDBregaddr = (phba->sli4_hba.drbl_regs_memmap_p + in lpfc_sli4_bar2_register_memmap()
6701 phba->sli4_hba.MQDBregaddr = (phba->sli4_hba.drbl_regs_memmap_p + in lpfc_sli4_bar2_register_memmap()
6703 phba->sli4_hba.BMBXregaddr = (phba->sli4_hba.drbl_regs_memmap_p + in lpfc_sli4_bar2_register_memmap()
6755 phba->sli4_hba.bmbx.dmabuf = dmabuf; in lpfc_create_bootstrap_mbox()
6756 phba->sli4_hba.bmbx.bmbx_size = bmbx_size; in lpfc_create_bootstrap_mbox()
6758 phba->sli4_hba.bmbx.avirt = PTR_ALIGN(dmabuf->virt, in lpfc_create_bootstrap_mbox()
6760 phba->sli4_hba.bmbx.aphys = ALIGN(dmabuf->phys, in lpfc_create_bootstrap_mbox()
6771 dma_address = &phba->sli4_hba.bmbx.dma_address; in lpfc_create_bootstrap_mbox()
6772 phys_addr = (uint64_t)phba->sli4_hba.bmbx.aphys; in lpfc_create_bootstrap_mbox()
6777 pa_addr = (uint32_t) ((phba->sli4_hba.bmbx.aphys >> 4) & 0x3fffffff); in lpfc_create_bootstrap_mbox()
6798 phba->sli4_hba.bmbx.bmbx_size, in lpfc_destroy_bootstrap_mbox()
6799 phba->sli4_hba.bmbx.dmabuf->virt, in lpfc_destroy_bootstrap_mbox()
6800 phba->sli4_hba.bmbx.dmabuf->phys); in lpfc_destroy_bootstrap_mbox()
6802 kfree(phba->sli4_hba.bmbx.dmabuf); in lpfc_destroy_bootstrap_mbox()
6803 memset(&phba->sli4_hba.bmbx, 0, sizeof(struct lpfc_bmbx)); in lpfc_destroy_bootstrap_mbox()
6853 phba->sli4_hba.lnk_info.lnk_dv = LPFC_LNK_DAT_VAL; in lpfc_sli4_read_config()
6854 phba->sli4_hba.lnk_info.lnk_tp = in lpfc_sli4_read_config()
6856 phba->sli4_hba.lnk_info.lnk_no = in lpfc_sli4_read_config()
6860 phba->sli4_hba.lnk_info.lnk_tp, in lpfc_sli4_read_config()
6861 phba->sli4_hba.lnk_info.lnk_no); in lpfc_sli4_read_config()
6866 phba->sli4_hba.extents_in_use = in lpfc_sli4_read_config()
6868 phba->sli4_hba.max_cfg_param.max_xri = in lpfc_sli4_read_config()
6870 phba->sli4_hba.max_cfg_param.xri_base = in lpfc_sli4_read_config()
6872 phba->sli4_hba.max_cfg_param.max_vpi = in lpfc_sli4_read_config()
6874 phba->sli4_hba.max_cfg_param.vpi_base = in lpfc_sli4_read_config()
6876 phba->sli4_hba.max_cfg_param.max_rpi = in lpfc_sli4_read_config()
6878 phba->sli4_hba.max_cfg_param.rpi_base = in lpfc_sli4_read_config()
6880 phba->sli4_hba.max_cfg_param.max_vfi = in lpfc_sli4_read_config()
6882 phba->sli4_hba.max_cfg_param.vfi_base = in lpfc_sli4_read_config()
6884 phba->sli4_hba.max_cfg_param.max_fcfi = in lpfc_sli4_read_config()
6886 phba->sli4_hba.max_cfg_param.max_eq = in lpfc_sli4_read_config()
6888 phba->sli4_hba.max_cfg_param.max_rq = in lpfc_sli4_read_config()
6890 phba->sli4_hba.max_cfg_param.max_wq = in lpfc_sli4_read_config()
6892 phba->sli4_hba.max_cfg_param.max_cq = in lpfc_sli4_read_config()
6895 phba->sli4_hba.next_xri = phba->sli4_hba.max_cfg_param.xri_base; in lpfc_sli4_read_config()
6896 phba->vpi_base = phba->sli4_hba.max_cfg_param.vpi_base; in lpfc_sli4_read_config()
6897 phba->vfi_base = phba->sli4_hba.max_cfg_param.vfi_base; in lpfc_sli4_read_config()
6898 phba->max_vpi = (phba->sli4_hba.max_cfg_param.max_vpi > 0) ? in lpfc_sli4_read_config()
6899 (phba->sli4_hba.max_cfg_param.max_vpi - 1) : 0; in lpfc_sli4_read_config()
6908 phba->sli4_hba.extents_in_use, in lpfc_sli4_read_config()
6909 phba->sli4_hba.max_cfg_param.xri_base, in lpfc_sli4_read_config()
6910 phba->sli4_hba.max_cfg_param.max_xri, in lpfc_sli4_read_config()
6911 phba->sli4_hba.max_cfg_param.vpi_base, in lpfc_sli4_read_config()
6912 phba->sli4_hba.max_cfg_param.max_vpi, in lpfc_sli4_read_config()
6913 phba->sli4_hba.max_cfg_param.vfi_base, in lpfc_sli4_read_config()
6914 phba->sli4_hba.max_cfg_param.max_vfi, in lpfc_sli4_read_config()
6915 phba->sli4_hba.max_cfg_param.rpi_base, in lpfc_sli4_read_config()
6916 phba->sli4_hba.max_cfg_param.max_rpi, in lpfc_sli4_read_config()
6917 phba->sli4_hba.max_cfg_param.max_fcfi); in lpfc_sli4_read_config()
6924 length = phba->sli4_hba.max_cfg_param.max_xri - in lpfc_sli4_read_config()
6933 if (bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) != in lpfc_sli4_read_config()
6973 phba->sli4_hba.iov.pf_number = in lpfc_sli4_read_config()
6975 phba->sli4_hba.iov.vf_number = in lpfc_sli4_read_config()
6984 "vf_number:%d\n", phba->sli4_hba.iov.pf_number, in lpfc_sli4_read_config()
6985 phba->sli4_hba.iov.vf_number); in lpfc_sli4_read_config()
7018 if_type = bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf); in lpfc_setup_endian_order()
7089 phba->sli4_hba.num_online_cpu = i; in lpfc_sli4_queue_verify()
7090 phba->sli4_hba.num_present_cpu = lpfc_present_cpu; in lpfc_sli4_queue_verify()
7091 phba->sli4_hba.curr_disp_cpu = 0; in lpfc_sli4_queue_verify()
7103 phba->sli4_hba.max_cfg_param.max_eq) { in lpfc_sli4_queue_verify()
7104 if (phba->sli4_hba.max_cfg_param.max_eq < in lpfc_sli4_queue_verify()
7110 phba->sli4_hba.max_cfg_param.max_eq, in lpfc_sli4_queue_verify()
7118 phba->sli4_hba.max_cfg_param.max_eq); in lpfc_sli4_queue_verify()
7119 cfg_fcp_io_channel = phba->sli4_hba.max_cfg_param.max_eq - in lpfc_sli4_queue_verify()
7127 phba->sli4_hba.eq_esize = LPFC_EQE_SIZE_4B; in lpfc_sli4_queue_verify()
7128 phba->sli4_hba.eq_ecount = LPFC_EQE_DEF_COUNT; in lpfc_sli4_queue_verify()
7131 phba->sli4_hba.cq_esize = LPFC_CQE_SIZE; in lpfc_sli4_queue_verify()
7132 phba->sli4_hba.cq_ecount = LPFC_CQE_DEF_COUNT; in lpfc_sli4_queue_verify()
7165 phba->sli4_hba.mq_esize = LPFC_MQE_SIZE; in lpfc_sli4_queue_create()
7166 phba->sli4_hba.mq_ecount = LPFC_MQE_DEF_COUNT; in lpfc_sli4_queue_create()
7167 phba->sli4_hba.wq_esize = LPFC_WQE_SIZE; in lpfc_sli4_queue_create()
7168 phba->sli4_hba.wq_ecount = LPFC_WQE_DEF_COUNT; in lpfc_sli4_queue_create()
7169 phba->sli4_hba.rq_esize = LPFC_RQE_SIZE; in lpfc_sli4_queue_create()
7170 phba->sli4_hba.rq_ecount = LPFC_RQE_DEF_COUNT; in lpfc_sli4_queue_create()
7172 phba->sli4_hba.hba_eq = kzalloc((sizeof(struct lpfc_queue *) * in lpfc_sli4_queue_create()
7174 if (!phba->sli4_hba.hba_eq) { in lpfc_sli4_queue_create()
7181 phba->sli4_hba.fcp_cq = kzalloc((sizeof(struct lpfc_queue *) * in lpfc_sli4_queue_create()
7183 if (!phba->sli4_hba.fcp_cq) { in lpfc_sli4_queue_create()
7190 phba->sli4_hba.fcp_wq = kzalloc((sizeof(struct lpfc_queue *) * in lpfc_sli4_queue_create()
7192 if (!phba->sli4_hba.fcp_wq) { in lpfc_sli4_queue_create()
7204 phba->sli4_hba.fcp_cq_map = kzalloc((sizeof(uint16_t) * in lpfc_sli4_queue_create()
7206 if (!phba->sli4_hba.fcp_cq_map) { in lpfc_sli4_queue_create()
7220 qdesc = lpfc_sli4_queue_alloc(phba, phba->sli4_hba.eq_esize, in lpfc_sli4_queue_create()
7221 phba->sli4_hba.eq_ecount); in lpfc_sli4_queue_create()
7227 phba->sli4_hba.hba_eq[idx] = qdesc; in lpfc_sli4_queue_create()
7230 qdesc = lpfc_sli4_queue_alloc(phba, phba->sli4_hba.cq_esize, in lpfc_sli4_queue_create()
7231 phba->sli4_hba.cq_ecount); in lpfc_sli4_queue_create()
7238 phba->sli4_hba.fcp_cq[idx] = qdesc; in lpfc_sli4_queue_create()
7241 qdesc = lpfc_sli4_queue_alloc(phba, phba->sli4_hba.wq_esize, in lpfc_sli4_queue_create()
7242 phba->sli4_hba.wq_ecount); in lpfc_sli4_queue_create()
7249 phba->sli4_hba.fcp_wq[idx] = qdesc; in lpfc_sli4_queue_create()
7258 qdesc = lpfc_sli4_queue_alloc(phba, phba->sli4_hba.cq_esize, in lpfc_sli4_queue_create()
7259 phba->sli4_hba.cq_ecount); in lpfc_sli4_queue_create()
7265 phba->sli4_hba.mbx_cq = qdesc; in lpfc_sli4_queue_create()
7268 qdesc = lpfc_sli4_queue_alloc(phba, phba->sli4_hba.cq_esize, in lpfc_sli4_queue_create()
7269 phba->sli4_hba.cq_ecount); in lpfc_sli4_queue_create()
7275 phba->sli4_hba.els_cq = qdesc; in lpfc_sli4_queue_create()
7284 qdesc = lpfc_sli4_queue_alloc(phba, phba->sli4_hba.mq_esize, in lpfc_sli4_queue_create()
7285 phba->sli4_hba.mq_ecount); in lpfc_sli4_queue_create()
7291 phba->sli4_hba.mbx_wq = qdesc; in lpfc_sli4_queue_create()
7298 qdesc = lpfc_sli4_queue_alloc(phba, phba->sli4_hba.wq_esize, in lpfc_sli4_queue_create()
7299 phba->sli4_hba.wq_ecount); in lpfc_sli4_queue_create()
7305 phba->sli4_hba.els_wq = qdesc; in lpfc_sli4_queue_create()
7312 qdesc = lpfc_sli4_queue_alloc(phba, phba->sli4_hba.rq_esize, in lpfc_sli4_queue_create()
7313 phba->sli4_hba.rq_ecount); in lpfc_sli4_queue_create()
7319 phba->sli4_hba.hdr_rq = qdesc; in lpfc_sli4_queue_create()
7322 qdesc = lpfc_sli4_queue_alloc(phba, phba->sli4_hba.rq_esize, in lpfc_sli4_queue_create()
7323 phba->sli4_hba.rq_ecount); in lpfc_sli4_queue_create()
7329 phba->sli4_hba.dat_rq = qdesc; in lpfc_sli4_queue_create()
7361 if (phba->sli4_hba.hba_eq != NULL) { in lpfc_sli4_queue_destroy()
7364 if (phba->sli4_hba.hba_eq[idx] != NULL) { in lpfc_sli4_queue_destroy()
7366 phba->sli4_hba.hba_eq[idx]); in lpfc_sli4_queue_destroy()
7367 phba->sli4_hba.hba_eq[idx] = NULL; in lpfc_sli4_queue_destroy()
7370 kfree(phba->sli4_hba.hba_eq); in lpfc_sli4_queue_destroy()
7371 phba->sli4_hba.hba_eq = NULL; in lpfc_sli4_queue_destroy()
7374 if (phba->sli4_hba.fcp_cq != NULL) { in lpfc_sli4_queue_destroy()
7377 if (phba->sli4_hba.fcp_cq[idx] != NULL) { in lpfc_sli4_queue_destroy()
7379 phba->sli4_hba.fcp_cq[idx]); in lpfc_sli4_queue_destroy()
7380 phba->sli4_hba.fcp_cq[idx] = NULL; in lpfc_sli4_queue_destroy()
7383 kfree(phba->sli4_hba.fcp_cq); in lpfc_sli4_queue_destroy()
7384 phba->sli4_hba.fcp_cq = NULL; in lpfc_sli4_queue_destroy()
7387 if (phba->sli4_hba.fcp_wq != NULL) { in lpfc_sli4_queue_destroy()
7390 if (phba->sli4_hba.fcp_wq[idx] != NULL) { in lpfc_sli4_queue_destroy()
7392 phba->sli4_hba.fcp_wq[idx]); in lpfc_sli4_queue_destroy()
7393 phba->sli4_hba.fcp_wq[idx] = NULL; in lpfc_sli4_queue_destroy()
7396 kfree(phba->sli4_hba.fcp_wq); in lpfc_sli4_queue_destroy()
7397 phba->sli4_hba.fcp_wq = NULL; in lpfc_sli4_queue_destroy()
7401 if (phba->sli4_hba.fcp_cq_map != NULL) { in lpfc_sli4_queue_destroy()
7402 kfree(phba->sli4_hba.fcp_cq_map); in lpfc_sli4_queue_destroy()
7403 phba->sli4_hba.fcp_cq_map = NULL; in lpfc_sli4_queue_destroy()
7407 if (phba->sli4_hba.mbx_wq != NULL) { in lpfc_sli4_queue_destroy()
7408 lpfc_sli4_queue_free(phba->sli4_hba.mbx_wq); in lpfc_sli4_queue_destroy()
7409 phba->sli4_hba.mbx_wq = NULL; in lpfc_sli4_queue_destroy()
7413 if (phba->sli4_hba.els_wq != NULL) { in lpfc_sli4_queue_destroy()
7414 lpfc_sli4_queue_free(phba->sli4_hba.els_wq); in lpfc_sli4_queue_destroy()
7415 phba->sli4_hba.els_wq = NULL; in lpfc_sli4_queue_destroy()
7419 if (phba->sli4_hba.hdr_rq != NULL) { in lpfc_sli4_queue_destroy()
7420 lpfc_sli4_queue_free(phba->sli4_hba.hdr_rq); in lpfc_sli4_queue_destroy()
7421 phba->sli4_hba.hdr_rq = NULL; in lpfc_sli4_queue_destroy()
7423 if (phba->sli4_hba.dat_rq != NULL) { in lpfc_sli4_queue_destroy()
7424 lpfc_sli4_queue_free(phba->sli4_hba.dat_rq); in lpfc_sli4_queue_destroy()
7425 phba->sli4_hba.dat_rq = NULL; in lpfc_sli4_queue_destroy()
7429 if (phba->sli4_hba.els_cq != NULL) { in lpfc_sli4_queue_destroy()
7430 lpfc_sli4_queue_free(phba->sli4_hba.els_cq); in lpfc_sli4_queue_destroy()
7431 phba->sli4_hba.els_cq = NULL; in lpfc_sli4_queue_destroy()
7435 if (phba->sli4_hba.mbx_cq != NULL) { in lpfc_sli4_queue_destroy()
7436 lpfc_sli4_queue_free(phba->sli4_hba.mbx_cq); in lpfc_sli4_queue_destroy()
7437 phba->sli4_hba.mbx_cq = NULL; in lpfc_sli4_queue_destroy()
7499 phba->sli4_hba.fw_func_mode = in lpfc_sli4_queue_setup()
7501 phba->sli4_hba.ulp0_mode = mboxq->u.mqe.un.query_fw_cfg.rsp.ulp0_mode; in lpfc_sli4_queue_setup()
7502 phba->sli4_hba.ulp1_mode = mboxq->u.mqe.un.query_fw_cfg.rsp.ulp1_mode; in lpfc_sli4_queue_setup()
7505 "ulp1_mode:x%x\n", phba->sli4_hba.fw_func_mode, in lpfc_sli4_queue_setup()
7506 phba->sli4_hba.ulp0_mode, phba->sli4_hba.ulp1_mode); in lpfc_sli4_queue_setup()
7516 if (phba->cfg_fcp_io_channel && !phba->sli4_hba.hba_eq) { in lpfc_sli4_queue_setup()
7523 if (!phba->sli4_hba.hba_eq[fcp_eqidx]) { in lpfc_sli4_queue_setup()
7530 rc = lpfc_eq_create(phba, phba->sli4_hba.hba_eq[fcp_eqidx], in lpfc_sli4_queue_setup()
7542 phba->sli4_hba.hba_eq[fcp_eqidx]->queue_id); in lpfc_sli4_queue_setup()
7546 if (!phba->sli4_hba.fcp_cq) { in lpfc_sli4_queue_setup()
7555 if (!phba->sli4_hba.fcp_cq[fcp_cqidx]) { in lpfc_sli4_queue_setup()
7562 rc = lpfc_cq_create(phba, phba->sli4_hba.fcp_cq[fcp_cqidx], in lpfc_sli4_queue_setup()
7563 phba->sli4_hba.hba_eq[fcp_cqidx], LPFC_WCQ, LPFC_FCP); in lpfc_sli4_queue_setup()
7573 phba->sli4_hba.fcp_cq_map[fcp_cqidx] = in lpfc_sli4_queue_setup()
7574 phba->sli4_hba.fcp_cq[fcp_cqidx]->queue_id; in lpfc_sli4_queue_setup()
7580 phba->sli4_hba.fcp_cq[fcp_cqidx]->queue_id, in lpfc_sli4_queue_setup()
7582 phba->sli4_hba.hba_eq[fcp_cqidx]->queue_id); in lpfc_sli4_queue_setup()
7586 if (!phba->sli4_hba.fcp_wq) { in lpfc_sli4_queue_setup()
7595 if (!phba->sli4_hba.fcp_wq[fcp_wqidx]) { in lpfc_sli4_queue_setup()
7602 rc = lpfc_wq_create(phba, phba->sli4_hba.fcp_wq[fcp_wqidx], in lpfc_sli4_queue_setup()
7603 phba->sli4_hba.fcp_cq[fcp_wqidx], in lpfc_sli4_queue_setup()
7615 pring->sli.sli4.wqp = (void *)phba->sli4_hba.fcp_wq[fcp_wqidx]; in lpfc_sli4_queue_setup()
7616 phba->sli4_hba.fcp_cq[fcp_wqidx]->pring = pring; in lpfc_sli4_queue_setup()
7622 phba->sli4_hba.fcp_wq[fcp_wqidx]->queue_id, in lpfc_sli4_queue_setup()
7624 phba->sli4_hba.fcp_cq[fcp_wqidx]->queue_id); in lpfc_sli4_queue_setup()
7631 if (!phba->sli4_hba.mbx_cq) { in lpfc_sli4_queue_setup()
7637 rc = lpfc_cq_create(phba, phba->sli4_hba.mbx_cq, in lpfc_sli4_queue_setup()
7638 phba->sli4_hba.hba_eq[0], LPFC_MCQ, LPFC_MBOX); in lpfc_sli4_queue_setup()
7647 phba->sli4_hba.mbx_cq->queue_id, in lpfc_sli4_queue_setup()
7648 phba->sli4_hba.hba_eq[0]->queue_id); in lpfc_sli4_queue_setup()
7651 if (!phba->sli4_hba.els_cq) { in lpfc_sli4_queue_setup()
7657 rc = lpfc_cq_create(phba, phba->sli4_hba.els_cq, in lpfc_sli4_queue_setup()
7658 phba->sli4_hba.hba_eq[0], LPFC_WCQ, LPFC_ELS); in lpfc_sli4_queue_setup()
7667 phba->sli4_hba.els_cq->queue_id, in lpfc_sli4_queue_setup()
7668 phba->sli4_hba.hba_eq[0]->queue_id); in lpfc_sli4_queue_setup()
7675 if (!phba->sli4_hba.mbx_wq) { in lpfc_sli4_queue_setup()
7681 rc = lpfc_mq_create(phba, phba->sli4_hba.mbx_wq, in lpfc_sli4_queue_setup()
7682 phba->sli4_hba.mbx_cq, LPFC_MBOX); in lpfc_sli4_queue_setup()
7691 phba->sli4_hba.mbx_wq->queue_id, in lpfc_sli4_queue_setup()
7692 phba->sli4_hba.mbx_cq->queue_id); in lpfc_sli4_queue_setup()
7695 if (!phba->sli4_hba.els_wq) { in lpfc_sli4_queue_setup()
7701 rc = lpfc_wq_create(phba, phba->sli4_hba.els_wq, in lpfc_sli4_queue_setup()
7702 phba->sli4_hba.els_cq, LPFC_ELS); in lpfc_sli4_queue_setup()
7712 pring->sli.sli4.wqp = (void *)phba->sli4_hba.els_wq; in lpfc_sli4_queue_setup()
7713 phba->sli4_hba.els_cq->pring = pring; in lpfc_sli4_queue_setup()
7717 phba->sli4_hba.els_wq->queue_id, in lpfc_sli4_queue_setup()
7718 phba->sli4_hba.els_cq->queue_id); in lpfc_sli4_queue_setup()
7723 if (!phba->sli4_hba.hdr_rq || !phba->sli4_hba.dat_rq) { in lpfc_sli4_queue_setup()
7730 lpfc_rq_adjust_repost(phba, phba->sli4_hba.hdr_rq, LPFC_ELS_HBQ); in lpfc_sli4_queue_setup()
7731 lpfc_rq_adjust_repost(phba, phba->sli4_hba.dat_rq, LPFC_ELS_HBQ); in lpfc_sli4_queue_setup()
7733 rc = lpfc_rq_create(phba, phba->sli4_hba.hdr_rq, phba->sli4_hba.dat_rq, in lpfc_sli4_queue_setup()
7734 phba->sli4_hba.els_cq, LPFC_USOL); in lpfc_sli4_queue_setup()
7745 phba->sli4_hba.hdr_rq->queue_id, in lpfc_sli4_queue_setup()
7746 phba->sli4_hba.dat_rq->queue_id, in lpfc_sli4_queue_setup()
7747 phba->sli4_hba.els_cq->queue_id); in lpfc_sli4_queue_setup()
7769 lpfc_rq_destroy(phba, phba->sli4_hba.hdr_rq, phba->sli4_hba.dat_rq); in lpfc_sli4_queue_setup()
7771 lpfc_wq_destroy(phba, phba->sli4_hba.els_wq); in lpfc_sli4_queue_setup()
7773 lpfc_mq_destroy(phba, phba->sli4_hba.mbx_wq); in lpfc_sli4_queue_setup()
7775 lpfc_cq_destroy(phba, phba->sli4_hba.els_cq); in lpfc_sli4_queue_setup()
7777 lpfc_cq_destroy(phba, phba->sli4_hba.mbx_cq); in lpfc_sli4_queue_setup()
7780 lpfc_wq_destroy(phba, phba->sli4_hba.fcp_wq[fcp_wqidx]); in lpfc_sli4_queue_setup()
7783 lpfc_cq_destroy(phba, phba->sli4_hba.fcp_cq[fcp_cqidx]); in lpfc_sli4_queue_setup()
7786 lpfc_eq_destroy(phba, phba->sli4_hba.hba_eq[fcp_eqidx]); in lpfc_sli4_queue_setup()
7812 lpfc_mq_destroy(phba, phba->sli4_hba.mbx_wq); in lpfc_sli4_queue_unset()
7814 lpfc_wq_destroy(phba, phba->sli4_hba.els_wq); in lpfc_sli4_queue_unset()
7816 lpfc_rq_destroy(phba, phba->sli4_hba.hdr_rq, phba->sli4_hba.dat_rq); in lpfc_sli4_queue_unset()
7818 if (phba->sli4_hba.fcp_wq) { in lpfc_sli4_queue_unset()
7821 lpfc_wq_destroy(phba, phba->sli4_hba.fcp_wq[fcp_qidx]); in lpfc_sli4_queue_unset()
7824 lpfc_cq_destroy(phba, phba->sli4_hba.mbx_cq); in lpfc_sli4_queue_unset()
7826 lpfc_cq_destroy(phba, phba->sli4_hba.els_cq); in lpfc_sli4_queue_unset()
7828 if (phba->sli4_hba.fcp_cq) { in lpfc_sli4_queue_unset()
7831 lpfc_cq_destroy(phba, phba->sli4_hba.fcp_cq[fcp_qidx]); in lpfc_sli4_queue_unset()
7834 if (phba->sli4_hba.hba_eq) { in lpfc_sli4_queue_unset()
7837 lpfc_eq_destroy(phba, phba->sli4_hba.hba_eq[fcp_qidx]); in lpfc_sli4_queue_unset()
7863 for (i = 0; i < (4 * phba->sli4_hba.cq_ecount); i++) { in lpfc_sli4_cq_event_pool_create()
7868 &phba->sli4_hba.sp_cqe_event_pool); in lpfc_sli4_cq_event_pool_create()
7893 &phba->sli4_hba.sp_cqe_event_pool, list) { in lpfc_sli4_cq_event_pool_destroy()
7914 list_remove_head(&phba->sli4_hba.sp_cqe_event_pool, cq_event, in __lpfc_sli4_cq_event_alloc()
7953 list_add_tail(&cq_event->list, &phba->sli4_hba.sp_cqe_event_pool); in __lpfc_sli4_cq_event_release()
7991 list_splice_init(&phba->sli4_hba.sp_fcp_xri_aborted_work_queue, in lpfc_sli4_cq_event_release_all()
7994 list_splice_init(&phba->sli4_hba.sp_els_xri_aborted_work_queue, in lpfc_sli4_cq_event_release_all()
7997 list_splice_init(&phba->sli4_hba.sp_asynce_work_queue, in lpfc_sli4_cq_event_release_all()
8031 if_type = bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf); in lpfc_pci_function_reset()
8073 if (lpfc_readl(phba->sli4_hba.u.if_type2. in lpfc_pci_function_reset()
8085 phba->sli4_hba.u.if_type2.ERR1regaddr); in lpfc_pci_function_reset()
8087 phba->sli4_hba.u.if_type2.ERR2regaddr); in lpfc_pci_function_reset()
8107 writel(reg_data.word0, phba->sli4_hba.u.if_type2. in lpfc_pci_function_reset()
8178 &phba->sli4_hba.sli_intf.word0)) { in lpfc_sli4_pci_mem_setup()
8183 if (bf_get(lpfc_sli_intf_valid, &phba->sli4_hba.sli_intf) != in lpfc_sli4_pci_mem_setup()
8188 phba->sli4_hba.sli_intf.word0); in lpfc_sli4_pci_mem_setup()
8192 if_type = bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf); in lpfc_sli4_pci_mem_setup()
8207 phba->sli4_hba.conf_regs_memmap_p = in lpfc_sli4_pci_mem_setup()
8209 if (!phba->sli4_hba.conf_regs_memmap_p) { in lpfc_sli4_pci_mem_setup()
8215 phba->pci_bar0_memmap_p = phba->sli4_hba.conf_regs_memmap_p; in lpfc_sli4_pci_mem_setup()
8226 phba->sli4_hba.conf_regs_memmap_p = in lpfc_sli4_pci_mem_setup()
8228 if (!phba->sli4_hba.conf_regs_memmap_p) { in lpfc_sli4_pci_mem_setup()
8245 phba->sli4_hba.ctrl_regs_memmap_p = in lpfc_sli4_pci_mem_setup()
8247 if (!phba->sli4_hba.ctrl_regs_memmap_p) { in lpfc_sli4_pci_mem_setup()
8252 phba->pci_bar2_memmap_p = phba->sli4_hba.ctrl_regs_memmap_p; in lpfc_sli4_pci_mem_setup()
8264 phba->sli4_hba.drbl_regs_memmap_p = in lpfc_sli4_pci_mem_setup()
8266 if (!phba->sli4_hba.drbl_regs_memmap_p) { in lpfc_sli4_pci_mem_setup()
8271 phba->pci_bar4_memmap_p = phba->sli4_hba.drbl_regs_memmap_p; in lpfc_sli4_pci_mem_setup()
8280 iounmap(phba->sli4_hba.drbl_regs_memmap_p); in lpfc_sli4_pci_mem_setup()
8282 iounmap(phba->sli4_hba.ctrl_regs_memmap_p); in lpfc_sli4_pci_mem_setup()
8284 iounmap(phba->sli4_hba.conf_regs_memmap_p); in lpfc_sli4_pci_mem_setup()
8300 if_type = bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf); in lpfc_sli4_pci_mem_unset()
8304 iounmap(phba->sli4_hba.drbl_regs_memmap_p); in lpfc_sli4_pci_mem_unset()
8305 iounmap(phba->sli4_hba.ctrl_regs_memmap_p); in lpfc_sli4_pci_mem_unset()
8306 iounmap(phba->sli4_hba.conf_regs_memmap_p); in lpfc_sli4_pci_mem_unset()
8309 iounmap(phba->sli4_hba.conf_regs_memmap_p); in lpfc_sli4_pci_mem_unset()
8615 cpup = phba->sli4_hba.cpu_map; in lpfc_find_next_cpu()
8616 for (cpu = 0; cpu < phba->sli4_hba.num_present_cpu; cpu++) { in lpfc_find_next_cpu()
8634 for (cpu = 0; cpu < phba->sli4_hba.num_present_cpu; cpu++) { in lpfc_find_next_cpu()
8639 cpup = phba->sli4_hba.cpu_map; in lpfc_find_next_cpu()
8640 for (cpu = 0; cpu < phba->sli4_hba.num_present_cpu; cpu++) { in lpfc_find_next_cpu()
8681 memset(phba->sli4_hba.cpu_map, 0xff, in lpfc_sli4_set_affinity()
8683 phba->sli4_hba.num_present_cpu)); in lpfc_sli4_set_affinity()
8692 cpup = phba->sli4_hba.cpu_map; in lpfc_sli4_set_affinity()
8693 for (cpu = 0; cpu < phba->sli4_hba.num_present_cpu; cpu++) { in lpfc_sli4_set_affinity()
8718 cpup = phba->sli4_hba.cpu_map; in lpfc_sli4_set_affinity()
8736 cpup = phba->sli4_hba.cpu_map; in lpfc_sli4_set_affinity()
8737 for (i = 0; i < phba->sli4_hba.num_present_cpu; i++) { in lpfc_sli4_set_affinity()
8757 cpup->irq = phba->sli4_hba.msix_entries[idx].vector; in lpfc_sli4_set_affinity()
8770 i = irq_set_affinity_hint(phba->sli4_hba.msix_entries[idx]. in lpfc_sli4_set_affinity()
8777 phba->sli4_hba.msix_entries[idx].vector, i); in lpfc_sli4_set_affinity()
8809 cpup = phba->sli4_hba.cpu_map; in lpfc_sli4_set_affinity()
8812 for (idx = 0; idx < phba->sli4_hba.num_present_cpu; in lpfc_sli4_set_affinity()
8845 if (cpu >= phba->sli4_hba.num_present_cpu) { in lpfc_sli4_set_affinity()
8846 cpup = phba->sli4_hba.cpu_map; in lpfc_sli4_set_affinity()
8854 if (phba->sli4_hba.num_online_cpu != phba->sli4_hba.num_present_cpu) { in lpfc_sli4_set_affinity()
8855 cpup = phba->sli4_hba.cpu_map; in lpfc_sli4_set_affinity()
8856 for (idx = 0; idx < phba->sli4_hba.num_present_cpu; idx++) { in lpfc_sli4_set_affinity()
8871 if (num_io_channel != phba->sli4_hba.num_present_cpu) in lpfc_sli4_set_affinity()
8875 num_io_channel, phba->sli4_hba.num_present_cpu, in lpfc_sli4_set_affinity()
8909 phba->sli4_hba.msix_entries[index].entry = index; in lpfc_sli4_enable_msix()
8914 phba->sli4_hba.msix_entries[index].entry = index; in lpfc_sli4_enable_msix()
8917 rc = pci_enable_msix_range(phba->pcidev, phba->sli4_hba.msix_entries, in lpfc_sli4_enable_msix()
8931 phba->sli4_hba.msix_entries[index].vector, in lpfc_sli4_enable_msix()
8932 phba->sli4_hba.msix_entries[index].entry); in lpfc_sli4_enable_msix()
8936 memset(&phba->sli4_hba.handler_name[index], 0, 16); in lpfc_sli4_enable_msix()
8937 snprintf((char *)&phba->sli4_hba.handler_name[index], in lpfc_sli4_enable_msix()
8941 phba->sli4_hba.fcp_eq_hdl[index].idx = index; in lpfc_sli4_enable_msix()
8942 phba->sli4_hba.fcp_eq_hdl[index].phba = phba; in lpfc_sli4_enable_msix()
8943 atomic_set(&phba->sli4_hba.fcp_eq_hdl[index].fcp_eq_in_use, 1); in lpfc_sli4_enable_msix()
8946 phba->sli4_hba.msix_entries[index].vector, in lpfc_sli4_enable_msix()
8948 (char *)&phba->sli4_hba.handler_name[index], in lpfc_sli4_enable_msix()
8949 &phba->sli4_hba.fcp_eq_hdl[index]); in lpfc_sli4_enable_msix()
8952 phba->sli4_hba.msix_entries[index].vector, in lpfc_sli4_enable_msix()
8954 (char *)&phba->sli4_hba.handler_name[index], in lpfc_sli4_enable_msix()
8955 &phba->sli4_hba.fcp_eq_hdl[index]); in lpfc_sli4_enable_msix()
8981 irq_set_affinity_hint(phba->sli4_hba.msix_entries[index]. in lpfc_sli4_enable_msix()
8983 free_irq(phba->sli4_hba.msix_entries[index].vector, in lpfc_sli4_enable_msix()
8984 &phba->sli4_hba.fcp_eq_hdl[index]); in lpfc_sli4_enable_msix()
9008 irq_set_affinity_hint(phba->sli4_hba.msix_entries[index]. in lpfc_sli4_disable_msix()
9010 free_irq(phba->sli4_hba.msix_entries[index].vector, in lpfc_sli4_disable_msix()
9011 &phba->sli4_hba.fcp_eq_hdl[index]); in lpfc_sli4_disable_msix()
9014 free_irq(phba->sli4_hba.msix_entries[index].vector, in lpfc_sli4_disable_msix()
9015 &phba->sli4_hba.fcp_eq_hdl[index]); in lpfc_sli4_disable_msix()
9062 phba->sli4_hba.fcp_eq_hdl[index].idx = index; in lpfc_sli4_enable_msi()
9063 phba->sli4_hba.fcp_eq_hdl[index].phba = phba; in lpfc_sli4_enable_msi()
9067 phba->sli4_hba.fcp_eq_hdl[index].idx = index; in lpfc_sli4_enable_msi()
9068 phba->sli4_hba.fcp_eq_hdl[index].phba = phba; in lpfc_sli4_enable_msi()
9147 phba->sli4_hba.fcp_eq_hdl[index].idx = index; in lpfc_sli4_enable_intr()
9148 phba->sli4_hba.fcp_eq_hdl[index].phba = phba; in lpfc_sli4_enable_intr()
9149 atomic_set(&phba->sli4_hba.fcp_eq_hdl[index]. in lpfc_sli4_enable_intr()
9153 phba->sli4_hba.fcp_eq_hdl[index].idx = index; in lpfc_sli4_enable_intr()
9154 phba->sli4_hba.fcp_eq_hdl[index].phba = phba; in lpfc_sli4_enable_intr()
9155 atomic_set(&phba->sli4_hba.fcp_eq_hdl[index]. in lpfc_sli4_enable_intr()
9240 int fcp_xri_cmpl = list_empty(&phba->sli4_hba.lpfc_abts_scsi_buf_list); in lpfc_sli4_xri_exchange_busy_wait()
9241 int els_xri_cmpl = list_empty(&phba->sli4_hba.lpfc_abts_els_sgl_list); in lpfc_sli4_xri_exchange_busy_wait()
9262 list_empty(&phba->sli4_hba.lpfc_abts_scsi_buf_list); in lpfc_sli4_xri_exchange_busy_wait()
9264 list_empty(&phba->sli4_hba.lpfc_abts_els_sgl_list); in lpfc_sli4_xri_exchange_busy_wait()
9286 phba->sli4_hba.intr_enable = 0; in lpfc_sli4_hba_unset()
9363 if (!phba->sli4_hba.intr_enable) in lpfc_pc_sli4_params_get()
9373 sli4_params = &phba->sli4_hba.pc_sli4_params; in lpfc_pc_sli4_params_get()
9437 phba->sli4_hba.rpi_hdrs_in_use = 1; in lpfc_get_sli4_parameters()
9445 if (!phba->sli4_hba.intr_enable) in lpfc_get_sli4_parameters()
9453 sli4_params = &phba->sli4_hba.pc_sli4_params; in lpfc_get_sli4_parameters()
9478 phba->sli4_hba.extents_in_use = bf_get(cfg_ext, mbx_sli4_parameters); in lpfc_get_sli4_parameters()
9479 phba->sli4_hba.rpi_hdrs_in_use = bf_get(cfg_hdrr, mbx_sli4_parameters); in lpfc_get_sli4_parameters()
10099 int max_xri = phba->sli4_hba.max_cfg_param.max_xri; in lpfc_sli4_get_els_iocb_cnt()
10234 if (bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) != in lpfc_sli4_request_firmware_update()
11111 if (phba->sli4_hba.pc_sli4_params.oas_supported) { in lpfc_sli4_oas_verify()
11140 rc = lpfc_eq_create(phba, phba->sli4_hba.fof_eq, LPFC_MAX_IMAX); in lpfc_fof_queue_setup()
11146 rc = lpfc_cq_create(phba, phba->sli4_hba.oas_cq, in lpfc_fof_queue_setup()
11147 phba->sli4_hba.fof_eq, LPFC_WCQ, LPFC_FCP); in lpfc_fof_queue_setup()
11151 rc = lpfc_wq_create(phba, phba->sli4_hba.oas_wq, in lpfc_fof_queue_setup()
11152 phba->sli4_hba.oas_cq, LPFC_FCP); in lpfc_fof_queue_setup()
11156 phba->sli4_hba.oas_cq->pring = &psli->ring[LPFC_FCP_OAS_RING]; in lpfc_fof_queue_setup()
11157 phba->sli4_hba.oas_ring = &psli->ring[LPFC_FCP_OAS_RING]; in lpfc_fof_queue_setup()
11163 lpfc_cq_destroy(phba, phba->sli4_hba.oas_cq); in lpfc_fof_queue_setup()
11165 lpfc_eq_destroy(phba, phba->sli4_hba.fof_eq); in lpfc_fof_queue_setup()
11190 qdesc = lpfc_sli4_queue_alloc(phba, phba->sli4_hba.eq_esize, in lpfc_fof_queue_create()
11191 phba->sli4_hba.eq_ecount); in lpfc_fof_queue_create()
11195 phba->sli4_hba.fof_eq = qdesc; in lpfc_fof_queue_create()
11200 qdesc = lpfc_sli4_queue_alloc(phba, phba->sli4_hba.cq_esize, in lpfc_fof_queue_create()
11201 phba->sli4_hba.cq_ecount); in lpfc_fof_queue_create()
11205 phba->sli4_hba.oas_cq = qdesc; in lpfc_fof_queue_create()
11208 qdesc = lpfc_sli4_queue_alloc(phba, phba->sli4_hba.wq_esize, in lpfc_fof_queue_create()
11209 phba->sli4_hba.wq_ecount); in lpfc_fof_queue_create()
11213 phba->sli4_hba.oas_wq = qdesc; in lpfc_fof_queue_create()
11237 if (phba->sli4_hba.fof_eq != NULL) { in lpfc_fof_queue_destroy()
11238 lpfc_sli4_queue_free(phba->sli4_hba.fof_eq); in lpfc_fof_queue_destroy()
11239 phba->sli4_hba.fof_eq = NULL; in lpfc_fof_queue_destroy()
11243 if (phba->sli4_hba.oas_cq != NULL) { in lpfc_fof_queue_destroy()
11244 lpfc_sli4_queue_free(phba->sli4_hba.oas_cq); in lpfc_fof_queue_destroy()
11245 phba->sli4_hba.oas_cq = NULL; in lpfc_fof_queue_destroy()
11249 if (phba->sli4_hba.oas_wq != NULL) { in lpfc_fof_queue_destroy()
11250 lpfc_sli4_queue_free(phba->sli4_hba.oas_wq); in lpfc_fof_queue_destroy()
11251 phba->sli4_hba.oas_wq = NULL; in lpfc_fof_queue_destroy()