Lines Matching refs:phba
123 struct lpfc_hba *phba = vport->phba; in lpfc_cmf_info_show() local
131 if (phba->cgn_i) in lpfc_cmf_info_show()
132 cp = (struct lpfc_cgn_info *)phba->cgn_i->virt; in lpfc_cmf_info_show()
137 phba->sli4_hba.pc_sli4_params.mi_cap, in lpfc_cmf_info_show()
139 phba->sli4_hba.pc_sli4_params.cmf, phba->cmf_timer_cnt); in lpfc_cmf_info_show()
144 if (!phba->sli4_hba.pc_sli4_params.cmf) in lpfc_cmf_info_show()
147 switch (phba->cgn_init_reg_signal) { in lpfc_cmf_info_show()
164 switch (phba->cgn_init_reg_fpin) { in lpfc_cmf_info_show()
185 switch (phba->cgn_reg_signal) { in lpfc_cmf_info_show()
202 switch (phba->cgn_reg_fpin) { in lpfc_cmf_info_show()
205 "FPIN:WARN ACQEcnt:%d\n", phba->cgn_acqe_cnt); in lpfc_cmf_info_show()
209 "FPIN:ALARM ACQEcnt:%d\n", phba->cgn_acqe_cnt); in lpfc_cmf_info_show()
213 "FPIN:WARN|ALARM ACQEcnt:%d\n", phba->cgn_acqe_cnt); in lpfc_cmf_info_show()
217 "FPIN:NONE ACQEcnt:%d\n", phba->cgn_acqe_cnt); in lpfc_cmf_info_show()
223 if (phba->cmf_active_mode != phba->cgn_p.cgn_param_mode) { in lpfc_cmf_info_show()
224 switch (phba->cmf_active_mode) { in lpfc_cmf_info_show()
241 switch (phba->cgn_p.cgn_param_mode) { in lpfc_cmf_info_show()
260 cgs = per_cpu_ptr(phba->cmf_stat, cpu); in lpfc_cmf_info_show()
267 atomic_read(&phba->cmf_busy), in lpfc_cmf_info_show()
268 phba->cmf_active_info, rcv, total); in lpfc_cmf_info_show()
275 lpfc_sli_port_speed_get(phba), in lpfc_cmf_info_show()
276 (unsigned long)phba->cmf_link_byte_count, in lpfc_cmf_info_show()
277 (unsigned long)phba->cmf_max_bytes_per_interval); in lpfc_cmf_info_show()
284 lpfc_printf_log(phba, KERN_INFO, LOG_CGN_MGMT, in lpfc_cmf_info_show()
323 struct lpfc_hba *phba = vport->phba; in lpfc_enable_fip_show() local
325 if (phba->hba_flag & HBA_FIP_SUPPORT) in lpfc_enable_fip_show()
337 struct lpfc_hba *phba = vport->phba; in lpfc_nvme_info_show() local
356 if (phba->nvmet_support) { in lpfc_nvme_info_show()
357 if (!phba->targetport) { in lpfc_nvme_info_show()
364 if (phba->targetport->port_id) in lpfc_nvme_info_show()
377 phba->brd_no, in lpfc_nvme_info_show()
380 phba->targetport->port_id); in lpfc_nvme_info_show()
388 tgtp = (struct lpfc_nvmet_tgtport *)phba->targetport->private; in lpfc_nvme_info_show()
502 phba->sli4_hba.nvmet_xri_cnt, in lpfc_nvme_info_show()
503 phba->sli4_hba.nvmet_io_wait_cnt, in lpfc_nvme_info_show()
504 phba->sli4_hba.nvmet_io_wait_total, in lpfc_nvme_info_show()
523 phba->brd_no, in lpfc_nvme_info_show()
524 phba->sli4_hba.max_cfg_param.max_xri, in lpfc_nvme_info_show()
525 phba->sli4_hba.io_xri_max, in lpfc_nvme_info_show()
526 lpfc_sli4_get_els_iocb_cnt(phba)); in lpfc_nvme_info_show()
539 phba->brd_no, in lpfc_nvme_info_show()
574 if (phba->brd_no >= 10) { in lpfc_nvme_info_show()
646 for (i = 0; i < phba->cfg_hdw_queue; i++) { in lpfc_nvme_info_show()
647 cstat = &phba->sli4_hba.hdwq[i].nvme_cstat; in lpfc_nvme_info_show()
690 lpfc_printf_log(phba, KERN_INFO, LOG_NVME, in lpfc_nvme_info_show()
708 struct lpfc_hba *phba = vport->phba; in lpfc_scsi_stat_show() local
717 (phba->sli_rev != LPFC_SLI_REV4)) in lpfc_scsi_stat_show()
724 for (i = 0; i < phba->cfg_hdw_queue; i++) { in lpfc_scsi_stat_show()
725 cstat = &phba->sli4_hba.hdwq[i].scsi_cstat; in lpfc_scsi_stat_show()
759 struct lpfc_hba *phba = vport->phba; in lpfc_bg_info_show() local
761 if (phba->cfg_enable_bg) { in lpfc_bg_info_show()
762 if (phba->sli3_options & LPFC_SLI3_BG_ENABLED) in lpfc_bg_info_show()
779 struct lpfc_hba *phba = vport->phba; in lpfc_bg_guard_err_show() local
782 (unsigned long long)phba->bg_guard_err_cnt); in lpfc_bg_guard_err_show()
791 struct lpfc_hba *phba = vport->phba; in lpfc_bg_apptag_err_show() local
794 (unsigned long long)phba->bg_apptag_err_cnt); in lpfc_bg_apptag_err_show()
803 struct lpfc_hba *phba = vport->phba; in lpfc_bg_reftag_err_show() local
806 (unsigned long long)phba->bg_reftag_err_cnt); in lpfc_bg_reftag_err_show()
840 struct lpfc_hba *phba = vport->phba; in lpfc_serialnum_show() local
842 return scnprintf(buf, PAGE_SIZE, "%s\n", phba->SerialNumber); in lpfc_serialnum_show()
863 struct lpfc_hba *phba = vport->phba; in lpfc_temp_sensor_show() local
864 return scnprintf(buf, PAGE_SIZE, "%d\n", phba->temp_sensor_support); in lpfc_temp_sensor_show()
881 struct lpfc_hba *phba = vport->phba; in lpfc_modeldesc_show() local
883 return scnprintf(buf, PAGE_SIZE, "%s\n", phba->ModelDesc); in lpfc_modeldesc_show()
900 struct lpfc_hba *phba = vport->phba; in lpfc_modelname_show() local
902 return scnprintf(buf, PAGE_SIZE, "%s\n", phba->ModelName); in lpfc_modelname_show()
919 struct lpfc_hba *phba = vport->phba; in lpfc_programtype_show() local
921 return scnprintf(buf, PAGE_SIZE, "%s\n", phba->ProgramType); in lpfc_programtype_show()
938 struct lpfc_hba *phba = vport->phba; in lpfc_vportnum_show() local
940 return scnprintf(buf, PAGE_SIZE, "%s\n", phba->Port); in lpfc_vportnum_show()
957 struct lpfc_hba *phba = vport->phba; in lpfc_fwrev_show() local
963 lpfc_decode_firmware_rev(phba, fwrev, 1); in lpfc_fwrev_show()
964 if_type = phba->sli4_hba.pc_sli4_params.if_type; in lpfc_fwrev_show()
965 sli_family = phba->sli4_hba.pc_sli4_params.sli_family; in lpfc_fwrev_show()
967 if (phba->sli_rev < LPFC_SLI_REV4) in lpfc_fwrev_show()
969 fwrev, phba->sli_rev); in lpfc_fwrev_show()
972 fwrev, phba->sli_rev, if_type, sli_family); in lpfc_fwrev_show()
991 struct lpfc_hba *phba = vport->phba; in lpfc_hdw_show() local
992 lpfc_vpd_t *vp = &phba->vpd; in lpfc_hdw_show()
1013 struct lpfc_hba *phba = vport->phba; in lpfc_option_rom_version_show() local
1016 if (phba->sli_rev < LPFC_SLI_REV4) in lpfc_option_rom_version_show()
1018 phba->OptionROMVersion); in lpfc_option_rom_version_show()
1020 lpfc_decode_firmware_rev(phba, fwrev, 1); in lpfc_option_rom_version_show()
1041 struct lpfc_hba *phba = vport->phba; in lpfc_link_state_show() local
1044 switch (phba->link_state) { in lpfc_link_state_show()
1051 if (phba->hba_flag & LINK_DISABLED) in lpfc_link_state_show()
1093 if (phba->fc_topology == LPFC_TOPOLOGY_LOOP) { in lpfc_link_state_show()
1102 if (phba->sli_rev == LPFC_SLI_REV4 && in lpfc_link_state_show()
1104 phba->sli4_hba.fawwpn_flag & in lpfc_link_state_show()
1120 if ((phba->sli_rev == LPFC_SLI_REV4) && in lpfc_link_state_show()
1122 &phba->sli4_hba.sli_intf) == in lpfc_link_state_show()
1124 struct lpfc_trunk_link link = phba->trunk_link; in lpfc_link_state_show()
1126 if (bf_get(lpfc_conf_trunk_port0, &phba->sli4_hba)) in lpfc_link_state_show()
1133 if (bf_get(lpfc_conf_trunk_port1, &phba->sli4_hba)) in lpfc_link_state_show()
1140 if (bf_get(lpfc_conf_trunk_port2, &phba->sli4_hba)) in lpfc_link_state_show()
1147 if (bf_get(lpfc_conf_trunk_port3, &phba->sli4_hba)) in lpfc_link_state_show()
1173 struct lpfc_hba *phba = vport->phba; in lpfc_sli4_protocol_show() local
1175 if (phba->sli_rev < LPFC_SLI_REV4) in lpfc_sli4_protocol_show()
1178 if (phba->sli4_hba.lnk_info.lnk_dv == LPFC_LNK_DAT_VAL) { in lpfc_sli4_protocol_show()
1179 if (phba->sli4_hba.lnk_info.lnk_tp == LPFC_LNK_TYPE_GE) in lpfc_sli4_protocol_show()
1181 if (phba->sli4_hba.lnk_info.lnk_tp == LPFC_LNK_TYPE_FC) in lpfc_sli4_protocol_show()
1202 struct lpfc_hba *phba = vport->phba; in lpfc_oas_supported_show() local
1205 phba->sli4_hba.pc_sli4_params.oas_supported); in lpfc_oas_supported_show()
1226 struct lpfc_hba *phba = vport->phba; in lpfc_link_state_store() local
1231 (phba->link_state == LPFC_LINK_DOWN)) in lpfc_link_state_store()
1232 status = phba->lpfc_hba_init_link(phba, MBX_NOWAIT); in lpfc_link_state_store()
1234 (phba->link_state >= LPFC_LINK_UP)) in lpfc_link_state_store()
1235 status = phba->lpfc_hba_down_link(phba, MBX_NOWAIT); in lpfc_link_state_store()
1284 struct lpfc_hba *phba = vport->phba; in lpfc_issue_lip() local
1293 (phba->hba_flag & LINK_DISABLED) || in lpfc_issue_lip()
1294 (phba->sli.sli_flag & LPFC_BLOCK_MGMT_IO)) in lpfc_issue_lip()
1297 pmboxq = mempool_alloc(phba->mbox_mem_pool,GFP_KERNEL); in lpfc_issue_lip()
1309 mbxstatus = lpfc_sli_issue_mbox_wait(phba, pmboxq, LPFC_MBOX_TMO * 2); in lpfc_issue_lip()
1315 lpfc_init_link(phba, pmboxq, phba->cfg_topology, in lpfc_issue_lip()
1316 phba->cfg_link_speed); in lpfc_issue_lip()
1317 mbxstatus = lpfc_sli_issue_mbox_wait(phba, pmboxq, in lpfc_issue_lip()
1318 phba->fc_ratov * 2); in lpfc_issue_lip()
1321 lpfc_printf_log(phba, KERN_ERR, LOG_MBOX | LOG_SLI, in lpfc_issue_lip()
1326 lpfc_set_loopback_flag(phba); in lpfc_issue_lip()
1328 mempool_free(pmboxq, phba->mbox_mem_pool); in lpfc_issue_lip()
1337 lpfc_emptyq_wait(struct lpfc_hba *phba, struct list_head *q, spinlock_t *lock) in lpfc_emptyq_wait() argument
1346 lpfc_printf_log(phba, KERN_WARNING, LOG_INIT, in lpfc_emptyq_wait()
1373 lpfc_do_offline(struct lpfc_hba *phba, uint32_t type) in lpfc_do_offline() argument
1384 rc = lpfc_workq_post_event(phba, &status, &online_compl, in lpfc_do_offline()
1394 psli = &phba->sli; in lpfc_do_offline()
1401 spin_lock_irq(&phba->hbalock); in lpfc_do_offline()
1405 spin_unlock_irq(&phba->hbalock); in lpfc_do_offline()
1408 spin_unlock_irq(&phba->hbalock); in lpfc_do_offline()
1413 if (phba->sli_rev != LPFC_SLI_REV4) { in lpfc_do_offline()
1416 if (!lpfc_emptyq_wait(phba, &pring->txcmplq, in lpfc_do_offline()
1417 &phba->hbalock)) in lpfc_do_offline()
1421 list_for_each_entry(qp, &phba->sli4_hba.lpfc_wq_list, wq_list) { in lpfc_do_offline()
1425 if (!lpfc_emptyq_wait(phba, &pring->txcmplq, in lpfc_do_offline()
1431 spin_lock_irq(&phba->hbalock); in lpfc_do_offline()
1433 spin_unlock_irq(&phba->hbalock); in lpfc_do_offline()
1437 rc = lpfc_workq_post_event(phba, &status, &online_compl, type); in lpfc_do_offline()
1470 lpfc_reset_pci_bus(struct lpfc_hba *phba) in lpfc_reset_pci_bus() argument
1472 struct pci_dev *pdev = phba->pcidev; in lpfc_reset_pci_bus()
1478 if (phba->cfg_enable_hba_reset != 2) in lpfc_reset_pci_bus()
1482 lpfc_printf_log(phba, KERN_INFO, LOG_INIT, "8345 pdev NULL!\n"); in lpfc_reset_pci_bus()
1486 res = lpfc_check_pci_resettable(phba); in lpfc_reset_pci_bus()
1496 ((struct lpfc_vport *)shost->hostdata)->phba; in lpfc_reset_pci_bus()
1518 lpfc_printf_log(phba, KERN_ERR, LOG_INIT, in lpfc_reset_pci_bus()
1543 lpfc_selective_reset(struct lpfc_hba *phba) in lpfc_selective_reset() argument
1549 if (!phba->cfg_enable_hba_reset) in lpfc_selective_reset()
1552 if (!(phba->pport->fc_flag & FC_OFFLINE_MODE)) { in lpfc_selective_reset()
1553 status = lpfc_do_offline(phba, LPFC_EVT_OFFLINE); in lpfc_selective_reset()
1560 rc = lpfc_workq_post_event(phba, &status, &online_compl, in lpfc_selective_reset()
1600 struct lpfc_hba *phba = vport->phba; in lpfc_issue_reset() local
1603 if (!phba->cfg_enable_hba_reset) in lpfc_issue_reset()
1607 status = phba->lpfc_selective_reset(phba); in lpfc_issue_reset()
1632 lpfc_sli4_pdev_status_reg_wait(struct lpfc_hba *phba) in lpfc_sli4_pdev_status_reg_wait() argument
1638 if (lpfc_readl(phba->sli4_hba.u.if_type2.STATUSregaddr, in lpfc_sli4_pdev_status_reg_wait()
1656 if (lpfc_readl(phba->sli4_hba.u.if_type2.STATUSregaddr, in lpfc_sli4_pdev_status_reg_wait()
1687 lpfc_sli4_pdev_reg_request(struct lpfc_hba *phba, uint32_t opcode) in lpfc_sli4_pdev_reg_request() argument
1690 struct pci_dev *pdev = phba->pcidev; in lpfc_sli4_pdev_reg_request()
1697 if (!phba->cfg_enable_hba_reset) in lpfc_sli4_pdev_reg_request()
1700 if ((phba->sli_rev < LPFC_SLI_REV4) || in lpfc_sli4_pdev_reg_request()
1701 (bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) < in lpfc_sli4_pdev_reg_request()
1706 before_fc_flag = phba->pport->fc_flag; in lpfc_sli4_pdev_reg_request()
1707 sriov_nr_virtfn = phba->cfg_sriov_nr_virtfn; in lpfc_sli4_pdev_reg_request()
1711 phba->fw_dump_cmpl = &online_compl; in lpfc_sli4_pdev_reg_request()
1714 if (phba->cfg_sriov_nr_virtfn) { in lpfc_sli4_pdev_reg_request()
1716 phba->cfg_sriov_nr_virtfn = 0; in lpfc_sli4_pdev_reg_request()
1719 status = lpfc_do_offline(phba, LPFC_EVT_OFFLINE); in lpfc_sli4_pdev_reg_request()
1728 reg_val = readl(phba->sli4_hba.conf_regs_memmap_p + in lpfc_sli4_pdev_reg_request()
1738 writel(reg_val, phba->sli4_hba.conf_regs_memmap_p + in lpfc_sli4_pdev_reg_request()
1741 readl(phba->sli4_hba.conf_regs_memmap_p + LPFC_CTL_PDEV_CTL_OFFSET); in lpfc_sli4_pdev_reg_request()
1744 rc = lpfc_sli4_pdev_status_reg_wait(phba); in lpfc_sli4_pdev_reg_request()
1748 lpfc_printf_log(phba, KERN_ERR, LOG_SLI, in lpfc_sli4_pdev_reg_request()
1753 lpfc_printf_log(phba, KERN_ERR, LOG_SLI, in lpfc_sli4_pdev_reg_request()
1756 if (phba->fw_dump_cmpl) in lpfc_sli4_pdev_reg_request()
1757 phba->fw_dump_cmpl = NULL; in lpfc_sli4_pdev_reg_request()
1763 if (phba->fw_dump_cmpl) in lpfc_sli4_pdev_reg_request()
1764 phba->fw_dump_cmpl = NULL; in lpfc_sli4_pdev_reg_request()
1773 wait_for_completion(phba->fw_dump_cmpl); in lpfc_sli4_pdev_reg_request()
1776 job_posted = lpfc_workq_post_event(phba, &status, &online_compl, in lpfc_sli4_pdev_reg_request()
1789 phba->cfg_sriov_nr_virtfn = 0; in lpfc_sli4_pdev_reg_request()
1793 lpfc_sli_probe_sriov_nr_virtfn(phba, sriov_nr_virtfn); in lpfc_sli4_pdev_reg_request()
1795 phba->cfg_sriov_nr_virtfn = sriov_nr_virtfn; in lpfc_sli4_pdev_reg_request()
1822 struct lpfc_hba *phba = vport->phba; in lpfc_nport_evt_cnt_show() local
1824 return scnprintf(buf, PAGE_SIZE, "%d\n", phba->nport_event_cnt); in lpfc_nport_evt_cnt_show()
1828 lpfc_set_trunking(struct lpfc_hba *phba, char *buff_out) in lpfc_set_trunking() argument
1862 lpfc_printf_log(phba, KERN_ERR, LOG_MBOX, in lpfc_set_trunking()
1865 mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL); in lpfc_set_trunking()
1869 lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_FCOE, in lpfc_set_trunking()
1876 rc = lpfc_sli_issue_mbox(phba, mbox, MBX_POLL); in lpfc_set_trunking()
1878 lpfc_printf_log(phba, KERN_ERR, LOG_MBOX, in lpfc_set_trunking()
1881 mempool_free(mbox, phba->mbox_mem_pool); in lpfc_set_trunking()
1892 struct lpfc_hba *phba = vport->phba; in lpfc_xcvr_data_show() local
1908 rc = lpfc_get_sfp_info_wait(phba, rdp_context); in lpfc_xcvr_data_show()
2003 struct lpfc_hba *phba = vport->phba; in lpfc_board_mode_show() local
2006 if (phba->link_state == LPFC_HBA_ERROR) in lpfc_board_mode_show()
2008 else if (phba->link_state == LPFC_WARM_START) in lpfc_board_mode_show()
2010 else if (phba->link_state == LPFC_INIT_START) in lpfc_board_mode_show()
2037 struct lpfc_hba *phba = vport->phba; in lpfc_board_mode_store() local
2043 if (!phba->cfg_enable_hba_reset) { in lpfc_board_mode_store()
2054 rc = lpfc_workq_post_event(phba, &status, &online_compl, in lpfc_board_mode_store()
2064 status = lpfc_do_offline(phba, LPFC_EVT_OFFLINE); in lpfc_board_mode_store()
2066 if (phba->sli_rev == LPFC_SLI_REV4) in lpfc_board_mode_store()
2069 status = lpfc_do_offline(phba, LPFC_EVT_WARM_START); in lpfc_board_mode_store()
2071 if (phba->sli_rev == LPFC_SLI_REV4) in lpfc_board_mode_store()
2074 status = lpfc_do_offline(phba, LPFC_EVT_KILL); in lpfc_board_mode_store()
2076 status = lpfc_sli4_pdev_reg_request(phba, LPFC_FW_DUMP); in lpfc_board_mode_store()
2078 status = lpfc_sli4_pdev_reg_request(phba, LPFC_FW_RESET); in lpfc_board_mode_store()
2080 status = lpfc_sli4_pdev_reg_request(phba, LPFC_DV_RESET); in lpfc_board_mode_store()
2083 status = lpfc_reset_pci_bus(phba); in lpfc_board_mode_store()
2085 lpfc_issue_hb_tmo(phba); in lpfc_board_mode_store()
2087 status = lpfc_set_trunking(phba, (char *)buf + sizeof("trunk")); in lpfc_board_mode_store()
2101 buf, status, phba->pport->fc_flag); in lpfc_board_mode_store()
2125 lpfc_get_hba_info(struct lpfc_hba *phba, in lpfc_get_hba_info() argument
2141 if (phba->link_state < LPFC_LINK_DOWN || in lpfc_get_hba_info()
2142 !phba->mbox_mem_pool || in lpfc_get_hba_info()
2143 (phba->sli.sli_flag & LPFC_SLI_ACTIVE) == 0) in lpfc_get_hba_info()
2146 if (phba->sli.sli_flag & LPFC_BLOCK_MGMT_IO) in lpfc_get_hba_info()
2149 pmboxq = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL); in lpfc_get_hba_info()
2159 if (phba->pport->fc_flag & FC_OFFLINE_MODE) in lpfc_get_hba_info()
2162 rc = lpfc_sli_issue_mbox_wait(phba, pmboxq, phba->fc_ratov * 2); in lpfc_get_hba_info()
2166 mempool_free(pmboxq, phba->mbox_mem_pool); in lpfc_get_hba_info()
2170 if (phba->sli_rev == LPFC_SLI_REV4) { in lpfc_get_hba_info()
2171 sli4_hba = &phba->sli4_hba; in lpfc_get_hba_info()
2175 if (!phba->sli4_hba.extents_in_use) { in lpfc_get_hba_info()
2190 if (lpfc_sli4_get_avail_extnt_rsrc(phba, in lpfc_get_hba_info()
2202 if (lpfc_sli4_get_avail_extnt_rsrc(phba, in lpfc_get_hba_info()
2214 if (lpfc_sli4_get_avail_extnt_rsrc(phba, in lpfc_get_hba_info()
2243 if (phba->link_state == LPFC_HBA_READY) in lpfc_get_hba_info()
2254 mempool_free(pmboxq, phba->mbox_mem_pool); in lpfc_get_hba_info()
2278 struct lpfc_hba *phba = vport->phba; in lpfc_max_rpi_show() local
2281 if (lpfc_get_hba_info(phba, NULL, NULL, &cnt, NULL, NULL, NULL)) in lpfc_max_rpi_show()
2306 struct lpfc_hba *phba = vport->phba; in lpfc_used_rpi_show() local
2311 if (phba->sli_rev == LPFC_SLI_REV4) { in lpfc_used_rpi_show()
2312 sli4_hba = &phba->sli4_hba; in lpfc_used_rpi_show()
2317 if (lpfc_get_hba_info(phba, NULL, NULL, &cnt, &acnt, NULL, NULL)) in lpfc_used_rpi_show()
2343 struct lpfc_hba *phba = vport->phba; in lpfc_max_xri_show() local
2346 if (lpfc_get_hba_info(phba, &cnt, NULL, NULL, NULL, NULL, NULL)) in lpfc_max_xri_show()
2371 struct lpfc_hba *phba = vport->phba; in lpfc_used_xri_show() local
2376 if (phba->sli_rev == LPFC_SLI_REV4) { in lpfc_used_xri_show()
2377 sli4_hba = &phba->sli4_hba; in lpfc_used_xri_show()
2382 if (lpfc_get_hba_info(phba, &cnt, &acnt, NULL, NULL, NULL, NULL)) in lpfc_used_xri_show()
2408 struct lpfc_hba *phba = vport->phba; in lpfc_max_vpi_show() local
2411 if (lpfc_get_hba_info(phba, NULL, NULL, NULL, NULL, &cnt, NULL)) in lpfc_max_vpi_show()
2436 struct lpfc_hba *phba = vport->phba; in lpfc_used_vpi_show() local
2441 if (phba->sli_rev == LPFC_SLI_REV4) { in lpfc_used_vpi_show()
2442 sli4_hba = &phba->sli4_hba; in lpfc_used_vpi_show()
2447 if (lpfc_get_hba_info(phba, NULL, NULL, NULL, NULL, &cnt, &acnt)) in lpfc_used_vpi_show()
2472 struct lpfc_hba *phba = vport->phba; in lpfc_npiv_info_show() local
2474 if (!(phba->max_vpi)) in lpfc_npiv_info_show()
2498 struct lpfc_hba *phba = vport->phba; in lpfc_poll_show() local
2500 return scnprintf(buf, PAGE_SIZE, "%#x\n", phba->cfg_poll); in lpfc_poll_show()
2523 struct lpfc_hba *phba = vport->phba; in lpfc_poll_store() local
2537 if (phba->sli_rev == LPFC_SLI_REV4) in lpfc_poll_store()
2542 phba->cfg_poll, val); in lpfc_poll_store()
2544 spin_lock_irq(&phba->hbalock); in lpfc_poll_store()
2546 old_val = phba->cfg_poll; in lpfc_poll_store()
2551 if (lpfc_readl(phba->HCregaddr, &creg_val)) { in lpfc_poll_store()
2552 spin_unlock_irq(&phba->hbalock); in lpfc_poll_store()
2556 writel(creg_val, phba->HCregaddr); in lpfc_poll_store()
2557 readl(phba->HCregaddr); /* flush */ in lpfc_poll_store()
2559 lpfc_poll_start_timer(phba); in lpfc_poll_store()
2562 spin_unlock_irq(&phba->hbalock); in lpfc_poll_store()
2569 spin_unlock_irq(&phba->hbalock); in lpfc_poll_store()
2570 del_timer(&phba->fcp_poll_timer); in lpfc_poll_store()
2571 spin_lock_irq(&phba->hbalock); in lpfc_poll_store()
2572 if (lpfc_readl(phba->HCregaddr, &creg_val)) { in lpfc_poll_store()
2573 spin_unlock_irq(&phba->hbalock); in lpfc_poll_store()
2577 writel(creg_val, phba->HCregaddr); in lpfc_poll_store()
2578 readl(phba->HCregaddr); /* flush */ in lpfc_poll_store()
2581 phba->cfg_poll = val; in lpfc_poll_store()
2583 spin_unlock_irq(&phba->hbalock); in lpfc_poll_store()
2607 struct lpfc_hba *phba = vport->phba; in lpfc_sriov_hw_max_virtfn_show() local
2610 max_nr_virtfn = lpfc_sli_sriov_nr_virtfn_get(phba); in lpfc_sriov_hw_max_virtfn_show()
2629 lpfc_enable_bbcr_set(struct lpfc_hba *phba, uint val) in lpfc_enable_bbcr_set() argument
2631 if (lpfc_rangecheck(val, 0, 1) && phba->sli_rev == LPFC_SLI_REV4) { in lpfc_enable_bbcr_set()
2632 lpfc_printf_log(phba, KERN_ERR, LOG_INIT, in lpfc_enable_bbcr_set()
2634 "%d\n", phba->cfg_enable_bbcr, val); in lpfc_enable_bbcr_set()
2635 phba->cfg_enable_bbcr = val; in lpfc_enable_bbcr_set()
2638 lpfc_printf_log(phba, KERN_ERR, LOG_INIT, in lpfc_enable_bbcr_set()
2665 struct lpfc_hba *phba = vport->phba;\
2667 phba->cfg_##attr);\
2691 struct lpfc_hba *phba = vport->phba;\
2693 val = phba->cfg_##attr;\
2695 phba->cfg_##attr);\
2719 lpfc_##attr##_init(struct lpfc_hba *phba, uint val) \
2722 phba->cfg_##attr = val;\
2725 lpfc_printf_log(phba, KERN_ERR, LOG_INIT, \
2728 phba->cfg_##attr = default;\
2754 lpfc_##attr##_set(struct lpfc_hba *phba, uint val) \
2757 lpfc_printf_log(phba, KERN_ERR, LOG_INIT, \
2759 phba->cfg_##attr, val); \
2760 phba->cfg_##attr = val;\
2763 lpfc_printf_log(phba, KERN_ERR, LOG_INIT, \
2797 struct lpfc_hba *phba = vport->phba;\
2803 if (lpfc_##attr##_set(phba, val) == 0) \
3064 struct lpfc_hba *phba = ((struct lpfc_vport *)shost->hostdata)->phba; in lpfc_oas_tgt_show() local
3067 wwn_to_u64(phba->cfg_oas_tgt_wwpn)); in lpfc_oas_tgt_show()
3088 struct lpfc_hba *phba = ((struct lpfc_vport *)shost->hostdata)->phba; in lpfc_oas_tgt_store() local
3093 if (!phba->cfg_fof) in lpfc_oas_tgt_store()
3104 memcpy(phba->cfg_oas_tgt_wwpn, wwpn, (8 * sizeof(uint8_t))); in lpfc_oas_tgt_store()
3105 memcpy(phba->sli4_hba.oas_next_tgt_wwpn, wwpn, (8 * sizeof(uint8_t))); in lpfc_oas_tgt_store()
3107 phba->cfg_oas_flags |= OAS_FIND_ANY_TARGET; in lpfc_oas_tgt_store()
3109 phba->cfg_oas_flags &= ~OAS_FIND_ANY_TARGET; in lpfc_oas_tgt_store()
3110 phba->cfg_oas_flags &= ~OAS_LUN_VALID; in lpfc_oas_tgt_store()
3111 phba->sli4_hba.oas_next_lun = FIND_FIRST_OAS_LUN; in lpfc_oas_tgt_store()
3132 struct lpfc_hba *phba = ((struct lpfc_vport *)shost->hostdata)->phba; in lpfc_oas_priority_show() local
3134 return scnprintf(buf, PAGE_SIZE, "%d\n", phba->cfg_oas_priority); in lpfc_oas_priority_show()
3155 struct lpfc_hba *phba = ((struct lpfc_vport *)shost->hostdata)->phba; in lpfc_oas_priority_store() local
3160 if (!phba->cfg_fof) in lpfc_oas_priority_store()
3172 phba->cfg_oas_priority = (uint8_t)val; in lpfc_oas_priority_store()
3174 phba->cfg_oas_priority = phba->cfg_XLanePriority; in lpfc_oas_priority_store()
3195 struct lpfc_hba *phba = ((struct lpfc_vport *)shost->hostdata)->phba; in lpfc_oas_vpt_show() local
3198 wwn_to_u64(phba->cfg_oas_vpt_wwpn)); in lpfc_oas_vpt_show()
3219 struct lpfc_hba *phba = ((struct lpfc_vport *)shost->hostdata)->phba; in lpfc_oas_vpt_store() local
3224 if (!phba->cfg_fof) in lpfc_oas_vpt_store()
3235 memcpy(phba->cfg_oas_vpt_wwpn, wwpn, (8 * sizeof(uint8_t))); in lpfc_oas_vpt_store()
3236 memcpy(phba->sli4_hba.oas_next_vpt_wwpn, wwpn, (8 * sizeof(uint8_t))); in lpfc_oas_vpt_store()
3238 phba->cfg_oas_flags |= OAS_FIND_ANY_VPORT; in lpfc_oas_vpt_store()
3240 phba->cfg_oas_flags &= ~OAS_FIND_ANY_VPORT; in lpfc_oas_vpt_store()
3241 phba->cfg_oas_flags &= ~OAS_LUN_VALID; in lpfc_oas_vpt_store()
3242 if (phba->cfg_oas_priority == 0) in lpfc_oas_vpt_store()
3243 phba->cfg_oas_priority = phba->cfg_XLanePriority; in lpfc_oas_vpt_store()
3244 phba->sli4_hba.oas_next_lun = FIND_FIRST_OAS_LUN; in lpfc_oas_vpt_store()
3266 struct lpfc_hba *phba = ((struct lpfc_vport *)shost->hostdata)->phba; in lpfc_oas_lun_state_show() local
3268 return scnprintf(buf, PAGE_SIZE, "%d\n", phba->cfg_oas_lun_state); in lpfc_oas_lun_state_show()
3290 struct lpfc_hba *phba = ((struct lpfc_vport *)shost->hostdata)->phba; in lpfc_oas_lun_state_store() local
3293 if (!phba->cfg_fof) in lpfc_oas_lun_state_store()
3305 phba->cfg_oas_lun_state = val; in lpfc_oas_lun_state_store()
3327 struct lpfc_hba *phba = ((struct lpfc_vport *)shost->hostdata)->phba; in lpfc_oas_lun_status_show() local
3329 if (!(phba->cfg_oas_flags & OAS_LUN_VALID)) in lpfc_oas_lun_status_show()
3332 return scnprintf(buf, PAGE_SIZE, "%d\n", phba->cfg_oas_lun_status); in lpfc_oas_lun_status_show()
3354 lpfc_oas_lun_state_set(struct lpfc_hba *phba, uint8_t vpt_wwpn[], in lpfc_oas_lun_state_set() argument
3361 if (!phba->cfg_fof) in lpfc_oas_lun_state_set()
3365 if (!lpfc_enable_oas_lun(phba, (struct lpfc_name *)vpt_wwpn, in lpfc_oas_lun_state_set()
3370 lpfc_disable_oas_lun(phba, (struct lpfc_name *)vpt_wwpn, in lpfc_oas_lun_state_set()
3395 lpfc_oas_lun_get_next(struct lpfc_hba *phba, uint8_t vpt_wwpn[], in lpfc_oas_lun_get_next() argument
3401 if (unlikely(!phba) || !vpt_wwpn || !tgt_wwpn) in lpfc_oas_lun_get_next()
3403 if (lpfc_find_next_oas_lun(phba, (struct lpfc_name *) in lpfc_oas_lun_get_next()
3404 phba->sli4_hba.oas_next_vpt_wwpn, in lpfc_oas_lun_get_next()
3406 phba->sli4_hba.oas_next_tgt_wwpn, in lpfc_oas_lun_get_next()
3407 &phba->sli4_hba.oas_next_lun, in lpfc_oas_lun_get_next()
3434 lpfc_oas_lun_state_change(struct lpfc_hba *phba, uint8_t vpt_wwpn[], in lpfc_oas_lun_state_change() argument
3441 rc = lpfc_oas_lun_state_set(phba, vpt_wwpn, tgt_wwpn, lun, in lpfc_oas_lun_state_change()
3465 struct lpfc_hba *phba = ((struct lpfc_vport *)shost->hostdata)->phba; in lpfc_oas_lun_show() local
3470 if (!phba->cfg_fof) in lpfc_oas_lun_show()
3473 if (wwn_to_u64(phba->cfg_oas_vpt_wwpn) == 0) in lpfc_oas_lun_show()
3474 if (!(phba->cfg_oas_flags & OAS_FIND_ANY_VPORT)) in lpfc_oas_lun_show()
3477 if (wwn_to_u64(phba->cfg_oas_tgt_wwpn) == 0) in lpfc_oas_lun_show()
3478 if (!(phba->cfg_oas_flags & OAS_FIND_ANY_TARGET)) in lpfc_oas_lun_show()
3481 oas_lun = lpfc_oas_lun_get_next(phba, phba->cfg_oas_vpt_wwpn, in lpfc_oas_lun_show()
3482 phba->cfg_oas_tgt_wwpn, in lpfc_oas_lun_show()
3483 &phba->cfg_oas_lun_status, in lpfc_oas_lun_show()
3484 &phba->cfg_oas_priority); in lpfc_oas_lun_show()
3486 phba->cfg_oas_flags |= OAS_LUN_VALID; in lpfc_oas_lun_show()
3514 struct lpfc_hba *phba = ((struct lpfc_vport *)shost->hostdata)->phba; in lpfc_oas_lun_store() local
3519 if (!phba->cfg_fof) in lpfc_oas_lun_store()
3522 if (wwn_to_u64(phba->cfg_oas_vpt_wwpn) == 0) in lpfc_oas_lun_store()
3525 if (wwn_to_u64(phba->cfg_oas_tgt_wwpn) == 0) in lpfc_oas_lun_store()
3534 pri = phba->cfg_oas_priority; in lpfc_oas_lun_store()
3536 pri = phba->cfg_XLanePriority; in lpfc_oas_lun_store()
3538 lpfc_printf_log(phba, KERN_INFO, LOG_INIT, in lpfc_oas_lun_store()
3541 wwn_to_u64(phba->cfg_oas_vpt_wwpn), in lpfc_oas_lun_store()
3542 wwn_to_u64(phba->cfg_oas_tgt_wwpn), scsi_lun, in lpfc_oas_lun_store()
3543 pri, phba->cfg_oas_lun_state); in lpfc_oas_lun_store()
3545 rc = lpfc_oas_lun_state_change(phba, phba->cfg_oas_vpt_wwpn, in lpfc_oas_lun_store()
3546 phba->cfg_oas_tgt_wwpn, scsi_lun, in lpfc_oas_lun_store()
3547 phba->cfg_oas_lun_state, pri); in lpfc_oas_lun_store()
3620 struct lpfc_hba *phba = ((struct lpfc_vport *)shost->hostdata)->phba; in lpfc_pls_show() local
3623 phba->sli4_hba.pc_sli4_params.pls); in lpfc_pls_show()
3632 struct lpfc_hba *phba = ((struct lpfc_vport *)shost->hostdata)->phba; in lpfc_pt_show() local
3635 (phba->hba_flag & HBA_PERSISTENT_TOPO) ? 1 : 0); in lpfc_pt_show()
3652 struct lpfc_hba *phba = ((struct lpfc_vport *) shost->hostdata)->phba; in lpfc_iocb_hw_show() local
3654 return scnprintf(buf, PAGE_SIZE, "%d\n", phba->iocb_max); in lpfc_iocb_hw_show()
3663 struct lpfc_hba *phba = ((struct lpfc_vport *) shost->hostdata)->phba; in lpfc_txq_hw_show() local
3664 struct lpfc_sli_ring *pring = lpfc_phba_elsring(phba); in lpfc_txq_hw_show()
3677 struct lpfc_hba *phba = ((struct lpfc_vport *) shost->hostdata)->phba; in lpfc_txcmplq_hw_show() local
3678 struct lpfc_sli_ring *pring = lpfc_phba_elsring(phba); in lpfc_txcmplq_hw_show()
4171 struct lpfc_hba *phba = vport->phba; in lpfc_topology_store() local
4190 prev_val = phba->cfg_topology; in lpfc_topology_store()
4191 if (phba->cfg_link_speed == LPFC_USER_LINK_SPEED_16G && in lpfc_topology_store()
4204 &phba->sli4_hba.sli_intf); in lpfc_topology_store()
4206 &phba->sli4_hba.sli_intf); in lpfc_topology_store()
4207 if ((phba->hba_flag & HBA_PERSISTENT_TOPO || in lpfc_topology_store()
4208 (!phba->sli4_hba.pc_sli4_params.pls && in lpfc_topology_store()
4216 phba->cfg_topology = val; in lpfc_topology_store()
4223 if (prev_val != val && phba->sli_rev == LPFC_SLI_REV4) in lpfc_topology_store()
4224 phba->fc_topology_changed = 1; in lpfc_topology_store()
4225 err = lpfc_issue_lip(lpfc_shost_from_vport(phba->pport)); in lpfc_topology_store()
4227 phba->cfg_topology = prev_val; in lpfc_topology_store()
4232 lpfc_printf_log(phba, KERN_ERR, LOG_INIT, in lpfc_topology_store()
4235 phba->brd_no, val); in lpfc_topology_store()
4302 struct lpfc_hba *phba = vport->phba; in lpfc_link_speed_store() local
4309 if_type = bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf); in lpfc_link_speed_store()
4311 phba->hba_flag & HBA_FORCED_LINK_SPEED) in lpfc_link_speed_store()
4326 phba->cfg_link_speed, val, nolip ? "(nolip)" : "(lip)"); in lpfc_link_speed_store()
4328 if (((val == LPFC_USER_LINK_SPEED_1G) && !(phba->lmt & LMT_1Gb)) || in lpfc_link_speed_store()
4329 ((val == LPFC_USER_LINK_SPEED_2G) && !(phba->lmt & LMT_2Gb)) || in lpfc_link_speed_store()
4330 ((val == LPFC_USER_LINK_SPEED_4G) && !(phba->lmt & LMT_4Gb)) || in lpfc_link_speed_store()
4331 ((val == LPFC_USER_LINK_SPEED_8G) && !(phba->lmt & LMT_8Gb)) || in lpfc_link_speed_store()
4332 ((val == LPFC_USER_LINK_SPEED_10G) && !(phba->lmt & LMT_10Gb)) || in lpfc_link_speed_store()
4333 ((val == LPFC_USER_LINK_SPEED_16G) && !(phba->lmt & LMT_16Gb)) || in lpfc_link_speed_store()
4334 ((val == LPFC_USER_LINK_SPEED_32G) && !(phba->lmt & LMT_32Gb)) || in lpfc_link_speed_store()
4335 ((val == LPFC_USER_LINK_SPEED_64G) && !(phba->lmt & LMT_64Gb))) { in lpfc_link_speed_store()
4336 lpfc_printf_log(phba, KERN_ERR, LOG_INIT, in lpfc_link_speed_store()
4343 phba->fc_topology == LPFC_TOPOLOGY_LOOP) { in lpfc_link_speed_store()
4344 lpfc_printf_log(phba, KERN_ERR, LOG_INIT, in lpfc_link_speed_store()
4360 prev_val = phba->cfg_link_speed; in lpfc_link_speed_store()
4361 phba->cfg_link_speed = val; in lpfc_link_speed_store()
4365 err = lpfc_issue_lip(lpfc_shost_from_vport(phba->pport)); in lpfc_link_speed_store()
4367 phba->cfg_link_speed = prev_val; in lpfc_link_speed_store()
4375 lpfc_printf_log(phba, KERN_ERR, LOG_INIT, in lpfc_link_speed_store()
4405 lpfc_link_speed_init(struct lpfc_hba *phba, int val) in lpfc_param_show()
4407 if (val >= LPFC_USER_LINK_SPEED_16G && phba->cfg_topology == 4) { in lpfc_param_show()
4408 lpfc_printf_log(phba, KERN_ERR, LOG_INIT, in lpfc_param_show()
4412 phba->cfg_topology = 0; in lpfc_param_show()
4424 phba->cfg_link_speed = val; in lpfc_param_show()
4427 lpfc_printf_log(phba, KERN_ERR, LOG_INIT, in lpfc_param_show()
4431 phba->cfg_link_speed = LPFC_USER_LINK_SPEED_AUTO; in lpfc_param_show()
4516 struct lpfc_hba *phba = vport->phba; in lpfc_aer_cleanup_state() local
4526 rc = pci_aer_clear_nonfatal_status(phba->pcidev); in lpfc_aer_cleanup_state()
4582 struct lpfc_hba *phba = vport->phba; in lpfc_sriov_nr_virtfn_store() local
4583 struct pci_dev *pdev = phba->pcidev; in lpfc_sriov_nr_virtfn_store()
4596 if (phba->cfg_sriov_nr_virtfn > 0) { in lpfc_sriov_nr_virtfn_store()
4598 phba->cfg_sriov_nr_virtfn = 0; in lpfc_sriov_nr_virtfn_store()
4604 if (phba->cfg_sriov_nr_virtfn > 0) { in lpfc_sriov_nr_virtfn_store()
4605 lpfc_printf_log(phba, KERN_ERR, LOG_INIT, in lpfc_sriov_nr_virtfn_store()
4608 phba->cfg_sriov_nr_virtfn); in lpfc_sriov_nr_virtfn_store()
4613 phba->cfg_sriov_nr_virtfn = val; in lpfc_sriov_nr_virtfn_store()
4615 lpfc_printf_log(phba, KERN_ERR, LOG_INIT, in lpfc_sriov_nr_virtfn_store()
4621 rc = lpfc_sli_probe_sriov_nr_virtfn(phba, phba->cfg_sriov_nr_virtfn); in lpfc_sriov_nr_virtfn_store()
4623 phba->cfg_sriov_nr_virtfn = 0; in lpfc_sriov_nr_virtfn_store()
4659 struct lpfc_hba *phba = vport->phba; in lpfc_request_firmware_upgrade_store() local
4670 rc = lpfc_sli4_request_firmware_update(phba, RUN_FW_UPGRADE); in lpfc_request_firmware_upgrade_store()
4696 lpfc_request_firmware_upgrade_init(struct lpfc_hba *phba, int val) in lpfc_param_show()
4699 phba->cfg_request_firmware_upgrade = val; in lpfc_param_show()
4760 lpfc_force_rscn_init(struct lpfc_hba *phba, int val) in lpfc_param_show()
4789 struct lpfc_hba *phba = vport->phba; in lpfc_fcp_imax_store() local
4795 if (phba->sli_rev != LPFC_SLI_REV4) in lpfc_fcp_imax_store()
4812 phba->cfg_auto_imax = (val) ? 0 : 1; in lpfc_fcp_imax_store()
4813 if (phba->cfg_fcp_imax && !val) { in lpfc_fcp_imax_store()
4814 queue_delayed_work(phba->wq, &phba->eq_delay_work, in lpfc_fcp_imax_store()
4818 eqi = per_cpu_ptr(phba->sli4_hba.eq_info, i); in lpfc_fcp_imax_store()
4823 phba->cfg_fcp_imax = (uint32_t)val; in lpfc_fcp_imax_store()
4825 if (phba->cfg_fcp_imax) in lpfc_fcp_imax_store()
4826 usdelay = LPFC_SEC_TO_USEC / phba->cfg_fcp_imax; in lpfc_fcp_imax_store()
4830 for (i = 0; i < phba->cfg_irq_chann; i += LPFC_MAX_EQ_DELAY_EQID_CNT) in lpfc_fcp_imax_store()
4831 lpfc_modify_hba_eq_delay(phba, i, LPFC_MAX_EQ_DELAY_EQID_CNT, in lpfc_fcp_imax_store()
4863 lpfc_fcp_imax_init(struct lpfc_hba *phba, int val) in lpfc_param_show()
4865 if (phba->sli_rev != LPFC_SLI_REV4) { in lpfc_param_show()
4866 phba->cfg_fcp_imax = 0; in lpfc_param_show()
4872 phba->cfg_fcp_imax = val; in lpfc_param_show()
4876 lpfc_printf_log(phba, KERN_ERR, LOG_INIT, in lpfc_param_show()
4879 phba->cfg_fcp_imax = LPFC_DEF_IMAX; in lpfc_param_show()
4908 struct lpfc_hba *phba = vport->phba; in lpfc_cq_max_proc_limit_store() local
4914 if (phba->sli_rev != LPFC_SLI_REV4) in lpfc_cq_max_proc_limit_store()
4926 phba->cfg_cq_max_proc_limit = (uint32_t)val; in lpfc_cq_max_proc_limit_store()
4929 for (i = 0; i < phba->cfg_irq_chann; i++) { in lpfc_cq_max_proc_limit_store()
4931 eq = phba->sli4_hba.hba_eq_hdl[i].eq; in lpfc_cq_max_proc_limit_store()
4936 cq->max_proc_limit = min(phba->cfg_cq_max_proc_limit, in lpfc_cq_max_proc_limit_store()
4979 lpfc_cq_max_proc_limit_init(struct lpfc_hba *phba, int val) in lpfc_cq_max_proc_limit_init() argument
4981 phba->cfg_cq_max_proc_limit = LPFC_CQ_DEF_MAX_PROC_LIMIT; in lpfc_cq_max_proc_limit_init()
4983 if (phba->sli_rev != LPFC_SLI_REV4) in lpfc_cq_max_proc_limit_init()
4987 phba->cfg_cq_max_proc_limit = val; in lpfc_cq_max_proc_limit_init()
4991 lpfc_printf_log(phba, KERN_ERR, LOG_INIT, in lpfc_cq_max_proc_limit_init()
4994 phba->cfg_cq_max_proc_limit); in lpfc_cq_max_proc_limit_init()
5015 struct lpfc_hba *phba = vport->phba; in lpfc_fcp_cpu_map_show() local
5019 if ((phba->sli_rev != LPFC_SLI_REV4) || in lpfc_fcp_cpu_map_show()
5020 (phba->intr_type != MSIX)) in lpfc_fcp_cpu_map_show()
5023 switch (phba->cfg_fcp_cpu_map) { in lpfc_fcp_cpu_map_show()
5027 phba->cfg_fcp_cpu_map); in lpfc_fcp_cpu_map_show()
5033 phba->cfg_fcp_cpu_map, num_online_cpus(), in lpfc_fcp_cpu_map_show()
5035 phba->sli4_hba.num_possible_cpu); in lpfc_fcp_cpu_map_show()
5039 while (phba->sli4_hba.curr_disp_cpu < in lpfc_fcp_cpu_map_show()
5040 phba->sli4_hba.num_possible_cpu) { in lpfc_fcp_cpu_map_show()
5041 cpup = &phba->sli4_hba.cpu_map[phba->sli4_hba.curr_disp_cpu]; in lpfc_fcp_cpu_map_show()
5043 if (!cpu_present(phba->sli4_hba.curr_disp_cpu)) in lpfc_fcp_cpu_map_show()
5046 phba->sli4_hba.curr_disp_cpu); in lpfc_fcp_cpu_map_show()
5053 phba->sli4_hba.curr_disp_cpu, in lpfc_fcp_cpu_map_show()
5062 phba->sli4_hba.curr_disp_cpu, in lpfc_fcp_cpu_map_show()
5073 phba->sli4_hba.curr_disp_cpu, in lpfc_fcp_cpu_map_show()
5084 phba->sli4_hba.curr_disp_cpu, in lpfc_fcp_cpu_map_show()
5092 phba->sli4_hba.curr_disp_cpu++; in lpfc_fcp_cpu_map_show()
5095 if (phba->sli4_hba.curr_disp_cpu < in lpfc_fcp_cpu_map_show()
5096 phba->sli4_hba.num_possible_cpu && in lpfc_fcp_cpu_map_show()
5104 if (phba->sli4_hba.curr_disp_cpu == phba->sli4_hba.num_possible_cpu) in lpfc_fcp_cpu_map_show()
5105 phba->sli4_hba.curr_disp_cpu = 0; in lpfc_fcp_cpu_map_show()
5156 lpfc_fcp_cpu_map_init(struct lpfc_hba *phba, int val) in lpfc_fcp_cpu_map_init() argument
5158 if (phba->sli_rev != LPFC_SLI_REV4) { in lpfc_fcp_cpu_map_init()
5159 phba->cfg_fcp_cpu_map = 0; in lpfc_fcp_cpu_map_init()
5164 phba->cfg_fcp_cpu_map = val; in lpfc_fcp_cpu_map_init()
5168 lpfc_printf_log(phba, KERN_ERR, LOG_INIT, in lpfc_fcp_cpu_map_init()
5171 phba->cfg_fcp_cpu_map = LPFC_HBA_CPU_MAP; in lpfc_fcp_cpu_map_init()
5491 lpfc_cpumask_irq_mode_init(struct lpfc_hba *phba) in lpfc_cpumask_irq_mode_init() argument
5495 struct cpumask *aff_mask = &phba->sli4_hba.irq_aff_mask; in lpfc_cpumask_irq_mode_init()
5499 if (phba->irq_chann_mode == NUMA_MODE) { in lpfc_cpumask_irq_mode_init()
5501 numa_node = dev_to_node(&phba->pcidev->dev); in lpfc_cpumask_irq_mode_init()
5503 phba->irq_chann_mode = NORMAL_MODE; in lpfc_cpumask_irq_mode_init()
5509 switch (phba->irq_chann_mode) { in lpfc_cpumask_irq_mode_init()
5528 lpfc_assign_default_irq_chann(struct lpfc_hba *phba) in lpfc_assign_default_irq_chann() argument
5534 phba->irq_chann_mode = NUMA_MODE; in lpfc_assign_default_irq_chann()
5538 phba->irq_chann_mode = NHT_MODE; in lpfc_assign_default_irq_chann()
5541 phba->irq_chann_mode = NORMAL_MODE; in lpfc_assign_default_irq_chann()
5544 lpfc_cpumask_irq_mode_init(phba); in lpfc_assign_default_irq_chann()
5546 phba->irq_chann_mode = NORMAL_MODE; in lpfc_assign_default_irq_chann()
5582 lpfc_irq_chann_init(struct lpfc_hba *phba, uint32_t val) in lpfc_irq_chann_init() argument
5586 if (phba->cfg_use_msi != 2) { in lpfc_irq_chann_init()
5587 lpfc_printf_log(phba, KERN_INFO, LOG_INIT, in lpfc_irq_chann_init()
5589 phba->cfg_use_msi); in lpfc_irq_chann_init()
5590 phba->irq_chann_mode = NORMAL_MODE; in lpfc_irq_chann_init()
5591 phba->cfg_irq_chann = LPFC_IRQ_CHANN_DEF; in lpfc_irq_chann_init()
5597 phba->cfg_hdw_queue == LPFC_HBA_HDWQ_DEF && in lpfc_irq_chann_init()
5598 phba->sli_rev == LPFC_SLI_REV4) in lpfc_irq_chann_init()
5599 lpfc_assign_default_irq_chann(phba); in lpfc_irq_chann_init()
5601 if (phba->irq_chann_mode != NORMAL_MODE) { in lpfc_irq_chann_init()
5602 aff_mask = &phba->sli4_hba.irq_aff_mask; in lpfc_irq_chann_init()
5605 lpfc_printf_log(phba, KERN_INFO, LOG_INIT, in lpfc_irq_chann_init()
5608 phba->irq_chann_mode); in lpfc_irq_chann_init()
5609 phba->irq_chann_mode = NORMAL_MODE; in lpfc_irq_chann_init()
5610 phba->cfg_irq_chann = LPFC_IRQ_CHANN_DEF; in lpfc_irq_chann_init()
5612 phba->cfg_irq_chann = cpumask_weight(aff_mask); in lpfc_irq_chann_init()
5617 if (phba->irq_chann_mode == NHT_MODE) in lpfc_irq_chann_init()
5618 phba->cfg_hdw_queue = phba->cfg_irq_chann; in lpfc_irq_chann_init()
5620 lpfc_printf_log(phba, KERN_INFO, LOG_INIT, in lpfc_irq_chann_init()
5622 "(mode: %d)\n", phba->cfg_irq_chann, in lpfc_irq_chann_init()
5623 phba->irq_chann_mode); in lpfc_irq_chann_init()
5627 lpfc_printf_log(phba, KERN_INFO, LOG_INIT, in lpfc_irq_chann_init()
5634 phba->cfg_irq_chann = LPFC_IRQ_CHANN_DEF; in lpfc_irq_chann_init()
5637 if (phba->sli_rev == LPFC_SLI_REV4) { in lpfc_irq_chann_init()
5638 phba->cfg_irq_chann = val; in lpfc_irq_chann_init()
5640 phba->cfg_irq_chann = 2; in lpfc_irq_chann_init()
5641 phba->cfg_hdw_queue = 1; in lpfc_irq_chann_init()
5662 struct lpfc_hba *phba = vport->phba; in lpfc_irq_chann_show() local
5664 return scnprintf(buf, PAGE_SIZE, "%u\n", phba->cfg_irq_chann); in lpfc_irq_chann_show()
5791 struct lpfc_hba *phba = vport->phba; in lpfc_sg_seg_cnt_show() local
5795 phba->cfg_sg_dma_buf_size, phba->cfg_total_seg_cnt); in lpfc_sg_seg_cnt_show()
5799 phba->cfg_sg_seg_cnt, phba->cfg_scsi_seg_cnt, in lpfc_sg_seg_cnt_show()
5800 phba->cfg_nvme_seg_cnt); in lpfc_sg_seg_cnt_show()
5821 lpfc_sg_seg_cnt_init(struct lpfc_hba *phba, int val) in lpfc_sg_seg_cnt_init() argument
5824 phba->cfg_sg_seg_cnt = val; in lpfc_sg_seg_cnt_init()
5827 lpfc_printf_log(phba, KERN_ERR, LOG_INIT, in lpfc_sg_seg_cnt_init()
5831 phba->cfg_sg_seg_cnt = LPFC_DEFAULT_SG_SEG_CNT; in lpfc_sg_seg_cnt_init()
5853 lpfc_ras_fwlog_buffsize_set(struct lpfc_hba *phba, uint val) in lpfc_ras_fwlog_buffsize_set() argument
5861 if (phba->cfg_ras_fwlog_buffsize == val) in lpfc_ras_fwlog_buffsize_set()
5864 if (phba->cfg_ras_fwlog_func != PCI_FUNC(phba->pcidev->devfn)) in lpfc_ras_fwlog_buffsize_set()
5867 spin_lock_irq(&phba->hbalock); in lpfc_ras_fwlog_buffsize_set()
5868 state = phba->ras_fwlog.state; in lpfc_ras_fwlog_buffsize_set()
5869 spin_unlock_irq(&phba->hbalock); in lpfc_ras_fwlog_buffsize_set()
5872 lpfc_printf_log(phba, KERN_ERR, LOG_SLI, "6147 RAS Logging " in lpfc_ras_fwlog_buffsize_set()
5881 phba->cfg_ras_fwlog_buffsize = val; in lpfc_ras_fwlog_buffsize_set()
5883 lpfc_ras_stop_fwlog(phba); in lpfc_ras_fwlog_buffsize_set()
5884 lpfc_sli4_ras_dma_free(phba); in lpfc_ras_fwlog_buffsize_set()
5887 lpfc_sli4_ras_init(phba); in lpfc_ras_fwlog_buffsize_set()
5888 if (phba->ras_fwlog.ras_enabled) in lpfc_ras_fwlog_buffsize_set()
5889 ret = lpfc_sli4_ras_fwlog_init(phba, phba->cfg_ras_fwlog_level, in lpfc_ras_fwlog_buffsize_set()
6185 struct lpfc_hba *phba = vport->phba; in sysfs_ctlreg_write() local
6187 if (phba->sli_rev >= LPFC_SLI_REV4) in sysfs_ctlreg_write()
6206 spin_lock_irq(&phba->hbalock); in sysfs_ctlreg_write()
6210 phba->ctrl_regs_memmap_p + off + buf_off); in sysfs_ctlreg_write()
6212 spin_unlock_irq(&phba->hbalock); in sysfs_ctlreg_write()
6245 struct lpfc_hba *phba = vport->phba; in sysfs_ctlreg_read() local
6247 if (phba->sli_rev >= LPFC_SLI_REV4) in sysfs_ctlreg_read()
6261 spin_lock_irq(&phba->hbalock); in sysfs_ctlreg_read()
6265 *tmp_ptr = readl(phba->ctrl_regs_memmap_p + off + buf_off); in sysfs_ctlreg_read()
6268 spin_unlock_irq(&phba->hbalock); in sysfs_ctlreg_read()
6430 struct lpfc_hba *phba = vport->phba; in lpfc_get_host_port_type() local
6436 } else if (lpfc_is_link_up(phba)) { in lpfc_get_host_port_type()
6437 if (phba->fc_topology == LPFC_TOPOLOGY_LOOP) { in lpfc_get_host_port_type()
6462 struct lpfc_hba *phba = vport->phba; in lpfc_get_host_port_state() local
6469 switch (phba->link_state) { in lpfc_get_host_port_state()
6505 struct lpfc_hba *phba = vport->phba; in lpfc_get_host_speed() local
6509 if ((lpfc_is_link_up(phba)) && (!(phba->hba_flag & HBA_FCOE_MODE))) { in lpfc_get_host_speed()
6510 switch(phba->fc_linkspeed) { in lpfc_get_host_speed()
6545 } else if (lpfc_is_link_up(phba) && (phba->hba_flag & HBA_FCOE_MODE)) { in lpfc_get_host_speed()
6546 switch (phba->fc_linkspeed) { in lpfc_get_host_speed()
6583 struct lpfc_hba *phba = vport->phba; in lpfc_get_host_fabric_name() local
6590 ((phba->fc_topology == LPFC_TOPOLOGY_LOOP) && in lpfc_get_host_fabric_name()
6592 node_name = wwn_to_u64(phba->fc_fabparam.nodeName.u.wwn); in lpfc_get_host_fabric_name()
6618 struct lpfc_hba *phba = vport->phba; in lpfc_get_stats() local
6619 struct lpfc_sli *psli = &phba->sli; in lpfc_get_stats()
6620 struct fc_host_statistics *hs = &phba->link_stats; in lpfc_get_stats()
6630 if (phba->link_state < LPFC_LINK_DOWN || in lpfc_get_stats()
6631 !phba->mbox_mem_pool || in lpfc_get_stats()
6632 (phba->sli.sli_flag & LPFC_SLI_ACTIVE) == 0) in lpfc_get_stats()
6635 if (phba->sli.sli_flag & LPFC_BLOCK_MGMT_IO) in lpfc_get_stats()
6638 pmboxq = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL); in lpfc_get_stats()
6650 rc = lpfc_sli_issue_mbox(phba, pmboxq, MBX_POLL); in lpfc_get_stats()
6652 mempool_free(pmboxq, phba->mbox_mem_pool); in lpfc_get_stats()
6656 rc = lpfc_sli_issue_mbox_wait(phba, pmboxq, phba->fc_ratov * 2); in lpfc_get_stats()
6659 mempool_free(pmboxq, phba->mbox_mem_pool); in lpfc_get_stats()
6703 rc = lpfc_sli_issue_mbox(phba, pmboxq, MBX_POLL); in lpfc_get_stats()
6705 mempool_free(pmboxq, phba->mbox_mem_pool); in lpfc_get_stats()
6709 rc = lpfc_sli_issue_mbox_wait(phba, pmboxq, phba->fc_ratov * 2); in lpfc_get_stats()
6712 mempool_free(pmboxq, phba->mbox_mem_pool); in lpfc_get_stats()
6725 hs->cn_sig_warn = atomic64_read(&phba->cgn_acqe_stat.warn); in lpfc_get_stats()
6726 hs->cn_sig_alarm = atomic64_read(&phba->cgn_acqe_stat.alarm); in lpfc_get_stats()
6736 if (phba->hba_flag & HBA_FCOE_MODE) { in lpfc_get_stats()
6738 hs->nos_count = (phba->link_events >> 1); in lpfc_get_stats()
6740 } else if (phba->fc_topology == LPFC_TOPOLOGY_LOOP) { in lpfc_get_stats()
6741 hs->lip_count = (phba->fc_eventTag >> 1); in lpfc_get_stats()
6746 hs->nos_count = (phba->fc_eventTag >> 1); in lpfc_get_stats()
6754 mempool_free(pmboxq, phba->mbox_mem_pool); in lpfc_get_stats()
6767 struct lpfc_hba *phba = vport->phba; in lpfc_reset_stats() local
6768 struct lpfc_sli *psli = &phba->sli; in lpfc_reset_stats()
6774 if (phba->sli.sli_flag & LPFC_BLOCK_MGMT_IO) in lpfc_reset_stats()
6777 pmboxq = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL); in lpfc_reset_stats()
6791 rc = lpfc_sli_issue_mbox(phba, pmboxq, MBX_POLL); in lpfc_reset_stats()
6793 mempool_free(pmboxq, phba->mbox_mem_pool); in lpfc_reset_stats()
6797 rc = lpfc_sli_issue_mbox_wait(phba, pmboxq, phba->fc_ratov * 2); in lpfc_reset_stats()
6800 mempool_free(pmboxq, phba->mbox_mem_pool); in lpfc_reset_stats()
6813 rc = lpfc_sli_issue_mbox(phba, pmboxq, MBX_POLL); in lpfc_reset_stats()
6815 mempool_free(pmboxq, phba->mbox_mem_pool); in lpfc_reset_stats()
6819 rc = lpfc_sli_issue_mbox_wait(phba, pmboxq, phba->fc_ratov * 2); in lpfc_reset_stats()
6822 mempool_free(pmboxq, phba->mbox_mem_pool); in lpfc_reset_stats()
6834 if (phba->hba_flag & HBA_FCOE_MODE) in lpfc_reset_stats()
6835 lso->link_events = (phba->link_events >> 1); in lpfc_reset_stats()
6837 lso->link_events = (phba->fc_eventTag >> 1); in lpfc_reset_stats()
6839 atomic64_set(&phba->cgn_acqe_stat.warn, 0); in lpfc_reset_stats()
6840 atomic64_set(&phba->cgn_acqe_stat.alarm, 0); in lpfc_reset_stats()
6847 mempool_free(pmboxq, phba->mbox_mem_pool); in lpfc_reset_stats()
7023 lpfc_hba_log_verbose_init(struct lpfc_hba *phba, uint32_t verbose) in lpfc_hba_log_verbose_init() argument
7025 phba->cfg_log_verbose = verbose; in lpfc_hba_log_verbose_init()
7166 lpfc_get_hba_function_mode(struct lpfc_hba *phba) in lpfc_get_hba_function_mode() argument
7169 switch (phba->pcidev->device) { in lpfc_get_hba_function_mode()
7177 phba->hba_flag |= HBA_FCOE_MODE; in lpfc_get_hba_function_mode()
7181 phba->hba_flag &= ~HBA_FCOE_MODE; in lpfc_get_hba_function_mode()
7190 lpfc_get_cfgparam(struct lpfc_hba *phba) in lpfc_get_cfgparam() argument
7192 lpfc_hba_log_verbose_init(phba, lpfc_log_verbose); in lpfc_get_cfgparam()
7193 lpfc_fcp_io_sched_init(phba, lpfc_fcp_io_sched); in lpfc_get_cfgparam()
7194 lpfc_ns_query_init(phba, lpfc_ns_query); in lpfc_get_cfgparam()
7195 lpfc_fcp2_no_tgt_reset_init(phba, lpfc_fcp2_no_tgt_reset); in lpfc_get_cfgparam()
7196 lpfc_cr_delay_init(phba, lpfc_cr_delay); in lpfc_get_cfgparam()
7197 lpfc_cr_count_init(phba, lpfc_cr_count); in lpfc_get_cfgparam()
7198 lpfc_multi_ring_support_init(phba, lpfc_multi_ring_support); in lpfc_get_cfgparam()
7199 lpfc_multi_ring_rctl_init(phba, lpfc_multi_ring_rctl); in lpfc_get_cfgparam()
7200 lpfc_multi_ring_type_init(phba, lpfc_multi_ring_type); in lpfc_get_cfgparam()
7201 lpfc_ack0_init(phba, lpfc_ack0); in lpfc_get_cfgparam()
7202 lpfc_xri_rebalancing_init(phba, lpfc_xri_rebalancing); in lpfc_get_cfgparam()
7203 lpfc_topology_init(phba, lpfc_topology); in lpfc_get_cfgparam()
7204 lpfc_link_speed_init(phba, lpfc_link_speed); in lpfc_get_cfgparam()
7205 lpfc_poll_tmo_init(phba, lpfc_poll_tmo); in lpfc_get_cfgparam()
7206 lpfc_task_mgmt_tmo_init(phba, lpfc_task_mgmt_tmo); in lpfc_get_cfgparam()
7207 lpfc_enable_npiv_init(phba, lpfc_enable_npiv); in lpfc_get_cfgparam()
7208 lpfc_fcf_failover_policy_init(phba, lpfc_fcf_failover_policy); in lpfc_get_cfgparam()
7209 lpfc_enable_rrq_init(phba, lpfc_enable_rrq); in lpfc_get_cfgparam()
7210 lpfc_fcp_wait_abts_rsp_init(phba, lpfc_fcp_wait_abts_rsp); in lpfc_get_cfgparam()
7211 lpfc_fdmi_on_init(phba, lpfc_fdmi_on); in lpfc_get_cfgparam()
7212 lpfc_enable_SmartSAN_init(phba, lpfc_enable_SmartSAN); in lpfc_get_cfgparam()
7213 lpfc_use_msi_init(phba, lpfc_use_msi); in lpfc_get_cfgparam()
7214 lpfc_nvme_oas_init(phba, lpfc_nvme_oas); in lpfc_get_cfgparam()
7215 lpfc_nvme_embed_cmd_init(phba, lpfc_nvme_embed_cmd); in lpfc_get_cfgparam()
7216 lpfc_fcp_imax_init(phba, lpfc_fcp_imax); in lpfc_get_cfgparam()
7217 lpfc_force_rscn_init(phba, lpfc_force_rscn); in lpfc_get_cfgparam()
7218 lpfc_cq_poll_threshold_init(phba, lpfc_cq_poll_threshold); in lpfc_get_cfgparam()
7219 lpfc_cq_max_proc_limit_init(phba, lpfc_cq_max_proc_limit); in lpfc_get_cfgparam()
7220 lpfc_fcp_cpu_map_init(phba, lpfc_fcp_cpu_map); in lpfc_get_cfgparam()
7221 lpfc_enable_hba_reset_init(phba, lpfc_enable_hba_reset); in lpfc_get_cfgparam()
7222 lpfc_enable_hba_heartbeat_init(phba, lpfc_enable_hba_heartbeat); in lpfc_get_cfgparam()
7224 lpfc_EnableXLane_init(phba, lpfc_EnableXLane); in lpfc_get_cfgparam()
7226 lpfc_max_vmid_init(phba, lpfc_max_vmid); in lpfc_get_cfgparam()
7227 lpfc_vmid_inactivity_timeout_init(phba, lpfc_vmid_inactivity_timeout); in lpfc_get_cfgparam()
7228 lpfc_vmid_app_header_init(phba, lpfc_vmid_app_header); in lpfc_get_cfgparam()
7229 lpfc_vmid_priority_tagging_init(phba, lpfc_vmid_priority_tagging); in lpfc_get_cfgparam()
7230 if (phba->sli_rev != LPFC_SLI_REV4) in lpfc_get_cfgparam()
7231 phba->cfg_EnableXLane = 0; in lpfc_get_cfgparam()
7232 lpfc_XLanePriority_init(phba, lpfc_XLanePriority); in lpfc_get_cfgparam()
7234 memset(phba->cfg_oas_tgt_wwpn, 0, (8 * sizeof(uint8_t))); in lpfc_get_cfgparam()
7235 memset(phba->cfg_oas_vpt_wwpn, 0, (8 * sizeof(uint8_t))); in lpfc_get_cfgparam()
7236 phba->cfg_oas_lun_state = 0; in lpfc_get_cfgparam()
7237 phba->cfg_oas_lun_status = 0; in lpfc_get_cfgparam()
7238 phba->cfg_oas_flags = 0; in lpfc_get_cfgparam()
7239 phba->cfg_oas_priority = 0; in lpfc_get_cfgparam()
7240 lpfc_enable_bg_init(phba, lpfc_enable_bg); in lpfc_get_cfgparam()
7241 lpfc_prot_mask_init(phba, lpfc_prot_mask); in lpfc_get_cfgparam()
7242 lpfc_prot_guard_init(phba, lpfc_prot_guard); in lpfc_get_cfgparam()
7243 if (phba->sli_rev == LPFC_SLI_REV4) in lpfc_get_cfgparam()
7244 phba->cfg_poll = 0; in lpfc_get_cfgparam()
7246 phba->cfg_poll = lpfc_poll; in lpfc_get_cfgparam()
7249 lpfc_get_hba_function_mode(phba); in lpfc_get_cfgparam()
7252 if (phba->cfg_enable_bg && phba->hba_flag & HBA_FCOE_MODE) { in lpfc_get_cfgparam()
7253 lpfc_printf_log(phba, KERN_INFO, LOG_INIT, in lpfc_get_cfgparam()
7256 phba->cfg_enable_bg = 0; in lpfc_get_cfgparam()
7257 } else if (phba->cfg_enable_bg) { in lpfc_get_cfgparam()
7258 phba->sli3_options |= LPFC_SLI3_BG_ENABLED; in lpfc_get_cfgparam()
7261 lpfc_suppress_rsp_init(phba, lpfc_suppress_rsp); in lpfc_get_cfgparam()
7263 lpfc_enable_fc4_type_init(phba, lpfc_enable_fc4_type); in lpfc_get_cfgparam()
7264 lpfc_nvmet_mrq_init(phba, lpfc_nvmet_mrq); in lpfc_get_cfgparam()
7265 lpfc_nvmet_mrq_post_init(phba, lpfc_nvmet_mrq_post); in lpfc_get_cfgparam()
7268 lpfc_nvme_enable_fb_init(phba, lpfc_nvme_enable_fb); in lpfc_get_cfgparam()
7269 lpfc_nvmet_fb_size_init(phba, lpfc_nvmet_fb_size); in lpfc_get_cfgparam()
7270 lpfc_fcp_mq_threshold_init(phba, lpfc_fcp_mq_threshold); in lpfc_get_cfgparam()
7271 lpfc_hdw_queue_init(phba, lpfc_hdw_queue); in lpfc_get_cfgparam()
7272 lpfc_irq_chann_init(phba, lpfc_irq_chann); in lpfc_get_cfgparam()
7273 lpfc_enable_bbcr_init(phba, lpfc_enable_bbcr); in lpfc_get_cfgparam()
7274 lpfc_enable_dpp_init(phba, lpfc_enable_dpp); in lpfc_get_cfgparam()
7275 lpfc_enable_mi_init(phba, lpfc_enable_mi); in lpfc_get_cfgparam()
7277 phba->cgn_p.cgn_param_mode = LPFC_CFG_OFF; in lpfc_get_cfgparam()
7278 phba->cmf_active_mode = LPFC_CFG_OFF; in lpfc_get_cfgparam()
7283 if (phba->sli_rev != LPFC_SLI_REV4) { in lpfc_get_cfgparam()
7285 phba->nvmet_support = 0; in lpfc_get_cfgparam()
7286 phba->cfg_nvmet_mrq = 0; in lpfc_get_cfgparam()
7287 phba->cfg_enable_fc4_type = LPFC_ENABLE_FCP; in lpfc_get_cfgparam()
7288 phba->cfg_enable_bbcr = 0; in lpfc_get_cfgparam()
7289 phba->cfg_xri_rebalancing = 0; in lpfc_get_cfgparam()
7292 if (!(phba->cfg_enable_fc4_type & LPFC_ENABLE_FCP)) in lpfc_get_cfgparam()
7293 phba->cfg_enable_fc4_type |= LPFC_ENABLE_FCP; in lpfc_get_cfgparam()
7296 phba->cfg_auto_imax = (phba->cfg_fcp_imax) ? 0 : 1; in lpfc_get_cfgparam()
7298 phba->cfg_enable_pbde = 0; in lpfc_get_cfgparam()
7301 if (phba->cfg_hdw_queue == 0) in lpfc_get_cfgparam()
7302 phba->cfg_hdw_queue = phba->sli4_hba.num_present_cpu; in lpfc_get_cfgparam()
7303 if (phba->cfg_irq_chann == 0) in lpfc_get_cfgparam()
7304 phba->cfg_irq_chann = phba->sli4_hba.num_present_cpu; in lpfc_get_cfgparam()
7305 if (phba->cfg_irq_chann > phba->cfg_hdw_queue && in lpfc_get_cfgparam()
7306 phba->sli_rev == LPFC_SLI_REV4) in lpfc_get_cfgparam()
7307 phba->cfg_irq_chann = phba->cfg_hdw_queue; in lpfc_get_cfgparam()
7309 lpfc_sg_seg_cnt_init(phba, lpfc_sg_seg_cnt); in lpfc_get_cfgparam()
7310 lpfc_hba_queue_depth_init(phba, lpfc_hba_queue_depth); in lpfc_get_cfgparam()
7311 lpfc_sriov_nr_virtfn_init(phba, lpfc_sriov_nr_virtfn); in lpfc_get_cfgparam()
7312 lpfc_request_firmware_upgrade_init(phba, lpfc_req_fw_upgrade); in lpfc_get_cfgparam()
7313 lpfc_suppress_link_up_init(phba, lpfc_suppress_link_up); in lpfc_get_cfgparam()
7314 lpfc_delay_discovery_init(phba, lpfc_delay_discovery); in lpfc_get_cfgparam()
7315 lpfc_sli_mode_init(phba, lpfc_sli_mode); in lpfc_get_cfgparam()
7316 lpfc_enable_mds_diags_init(phba, lpfc_enable_mds_diags); in lpfc_get_cfgparam()
7317 lpfc_ras_fwlog_buffsize_init(phba, lpfc_ras_fwlog_buffsize); in lpfc_get_cfgparam()
7318 lpfc_ras_fwlog_level_init(phba, lpfc_ras_fwlog_level); in lpfc_get_cfgparam()
7319 lpfc_ras_fwlog_func_init(phba, lpfc_ras_fwlog_func); in lpfc_get_cfgparam()
7330 lpfc_nvme_mod_param_dep(struct lpfc_hba *phba) in lpfc_nvme_mod_param_dep() argument
7334 if (phba->cfg_hdw_queue > phba->sli4_hba.num_present_cpu) { in lpfc_nvme_mod_param_dep()
7335 phba->cfg_hdw_queue = phba->sli4_hba.num_present_cpu; in lpfc_nvme_mod_param_dep()
7338 if (phba->cfg_irq_chann > phba->sli4_hba.num_present_cpu) { in lpfc_nvme_mod_param_dep()
7339 phba->cfg_irq_chann = phba->sli4_hba.num_present_cpu; in lpfc_nvme_mod_param_dep()
7342 if (phba->cfg_irq_chann > phba->cfg_hdw_queue) { in lpfc_nvme_mod_param_dep()
7343 phba->cfg_irq_chann = phba->cfg_hdw_queue; in lpfc_nvme_mod_param_dep()
7347 lpfc_printf_log(phba, KERN_ERR, LOG_SLI, in lpfc_nvme_mod_param_dep()
7350 phba->cfg_irq_chann, in lpfc_nvme_mod_param_dep()
7351 phba->cfg_hdw_queue); in lpfc_nvme_mod_param_dep()
7353 if (phba->cfg_enable_fc4_type & LPFC_ENABLE_NVME && in lpfc_nvme_mod_param_dep()
7354 phba->nvmet_support) { in lpfc_nvme_mod_param_dep()
7355 phba->cfg_enable_fc4_type &= ~LPFC_ENABLE_FCP; in lpfc_nvme_mod_param_dep()
7357 lpfc_printf_log(phba, KERN_INFO, LOG_NVME_DISC, in lpfc_nvme_mod_param_dep()
7360 phba->cfg_nvme_enable_fb, in lpfc_nvme_mod_param_dep()
7361 phba->cfg_nvmet_fb_size, in lpfc_nvme_mod_param_dep()
7364 if (phba->cfg_nvme_enable_fb == 0) in lpfc_nvme_mod_param_dep()
7365 phba->cfg_nvmet_fb_size = 0; in lpfc_nvme_mod_param_dep()
7367 if (phba->cfg_nvmet_fb_size > LPFC_NVMET_FB_SZ_MAX) in lpfc_nvme_mod_param_dep()
7368 phba->cfg_nvmet_fb_size = LPFC_NVMET_FB_SZ_MAX; in lpfc_nvme_mod_param_dep()
7371 if (!phba->cfg_nvmet_mrq) in lpfc_nvme_mod_param_dep()
7372 phba->cfg_nvmet_mrq = phba->cfg_hdw_queue; in lpfc_nvme_mod_param_dep()
7375 if (phba->cfg_nvmet_mrq > phba->cfg_hdw_queue) { in lpfc_nvme_mod_param_dep()
7376 phba->cfg_nvmet_mrq = phba->cfg_hdw_queue; in lpfc_nvme_mod_param_dep()
7377 lpfc_printf_log(phba, KERN_ERR, LOG_NVME_DISC, in lpfc_nvme_mod_param_dep()
7379 phba->cfg_nvmet_mrq); in lpfc_nvme_mod_param_dep()
7381 if (phba->cfg_nvmet_mrq > LPFC_NVMET_MRQ_MAX) in lpfc_nvme_mod_param_dep()
7382 phba->cfg_nvmet_mrq = LPFC_NVMET_MRQ_MAX; in lpfc_nvme_mod_param_dep()
7386 phba->nvmet_support = 0; in lpfc_nvme_mod_param_dep()
7387 phba->cfg_nvmet_mrq = 0; in lpfc_nvme_mod_param_dep()
7388 phba->cfg_nvmet_fb_size = 0; in lpfc_nvme_mod_param_dep()