phba               90 drivers/scsi/be2iscsi/be.h 	struct beiscsi_hba *phba;
phba               88 drivers/scsi/be2iscsi/be_cmds.c struct be_mcc_wrb *alloc_mcc_wrb(struct beiscsi_hba *phba,
phba               91 drivers/scsi/be2iscsi/be_cmds.c 	struct be_queue_info *mccq = &phba->ctrl.mcc_obj.q;
phba               95 drivers/scsi/be2iscsi/be_cmds.c 	spin_lock(&phba->ctrl.mcc_lock);
phba               97 drivers/scsi/be2iscsi/be_cmds.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT |
phba              100 drivers/scsi/be2iscsi/be_cmds.c 			    mccq->used, phba->ctrl.mcc_tag_available);
phba              104 drivers/scsi/be2iscsi/be_cmds.c 	if (!phba->ctrl.mcc_tag_available)
phba              107 drivers/scsi/be2iscsi/be_cmds.c 	tag = phba->ctrl.mcc_tag[phba->ctrl.mcc_alloc_index];
phba              109 drivers/scsi/be2iscsi/be_cmds.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT |
phba              112 drivers/scsi/be2iscsi/be_cmds.c 			    phba->ctrl.mcc_tag_available,
phba              113 drivers/scsi/be2iscsi/be_cmds.c 			    phba->ctrl.mcc_alloc_index);
phba              119 drivers/scsi/be2iscsi/be_cmds.c 	phba->ctrl.mcc_tag[phba->ctrl.mcc_alloc_index] = 0;
phba              120 drivers/scsi/be2iscsi/be_cmds.c 	phba->ctrl.mcc_tag_status[tag] = 0;
phba              121 drivers/scsi/be2iscsi/be_cmds.c 	phba->ctrl.ptag_state[tag].tag_state = 0;
phba              122 drivers/scsi/be2iscsi/be_cmds.c 	phba->ctrl.ptag_state[tag].cbfn = NULL;
phba              123 drivers/scsi/be2iscsi/be_cmds.c 	phba->ctrl.mcc_tag_available--;
phba              124 drivers/scsi/be2iscsi/be_cmds.c 	if (phba->ctrl.mcc_alloc_index == (MAX_MCC_CMD - 1))
phba              125 drivers/scsi/be2iscsi/be_cmds.c 		phba->ctrl.mcc_alloc_index = 0;
phba              127 drivers/scsi/be2iscsi/be_cmds.c 		phba->ctrl.mcc_alloc_index++;
phba              137 drivers/scsi/be2iscsi/be_cmds.c 	spin_unlock(&phba->ctrl.mcc_lock);
phba              168 drivers/scsi/be2iscsi/be_cmds.c int __beiscsi_mcc_compl_status(struct beiscsi_hba *phba,
phba              173 drivers/scsi/be2iscsi/be_cmds.c 	struct be_queue_info *mccq = &phba->ctrl.mcc_obj.q;
phba              181 drivers/scsi/be2iscsi/be_cmds.c 	mcc_tag_status = phba->ctrl.mcc_tag_status[tag];
phba              199 drivers/scsi/be2iscsi/be_cmds.c 		beiscsi_log(phba, KERN_WARNING,
phba              208 drivers/scsi/be2iscsi/be_cmds.c 			beiscsi_log(phba, KERN_WARNING,
phba              234 drivers/scsi/be2iscsi/be_cmds.c int beiscsi_mccq_compl_wait(struct beiscsi_hba *phba,
phba              242 drivers/scsi/be2iscsi/be_cmds.c 		__beiscsi_log(phba, KERN_ERR,
phba              247 drivers/scsi/be2iscsi/be_cmds.c 	if (beiscsi_hba_in_error(phba)) {
phba              249 drivers/scsi/be2iscsi/be_cmds.c 			  &phba->ctrl.ptag_state[tag].tag_state);
phba              254 drivers/scsi/be2iscsi/be_cmds.c 	rc = wait_event_interruptible_timeout(phba->ctrl.mcc_wait[tag],
phba              255 drivers/scsi/be2iscsi/be_cmds.c 					      phba->ctrl.mcc_tag_status[tag],
phba              263 drivers/scsi/be2iscsi/be_cmds.c 	if (!test_bit(BEISCSI_HBA_ONLINE, &phba->state)) {
phba              265 drivers/scsi/be2iscsi/be_cmds.c 			  &phba->ctrl.ptag_state[tag].tag_state);
phba              282 drivers/scsi/be2iscsi/be_cmds.c 		tag_mem = &phba->ctrl.ptag_state[tag].tag_mem_state;
phba              293 drivers/scsi/be2iscsi/be_cmds.c 				&phba->ctrl.ptag_state[tag].tag_state);
phba              295 drivers/scsi/be2iscsi/be_cmds.c 		beiscsi_log(phba, KERN_ERR,
phba              302 drivers/scsi/be2iscsi/be_cmds.c 	rc = __beiscsi_mcc_compl_status(phba, tag, wrb, mbx_cmd_mem);
phba              304 drivers/scsi/be2iscsi/be_cmds.c 	free_mcc_wrb(&phba->ctrl, tag);
phba              323 drivers/scsi/be2iscsi/be_cmds.c 	struct beiscsi_hba *phba = pci_get_drvdata(ctrl->pdev);
phba              333 drivers/scsi/be2iscsi/be_cmds.c 		beiscsi_log(phba, KERN_ERR,
phba              356 drivers/scsi/be2iscsi/be_cmds.c 	beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_CONFIG | BEISCSI_LOG_MBOX,
phba              362 drivers/scsi/be2iscsi/be_cmds.c static void beiscsi_process_async_link(struct beiscsi_hba *phba,
phba              369 drivers/scsi/be2iscsi/be_cmds.c 	phba->port_speed = evt->port_speed;
phba              375 drivers/scsi/be2iscsi/be_cmds.c 		set_bit(BEISCSI_HBA_LINK_UP, &phba->state);
phba              376 drivers/scsi/be2iscsi/be_cmds.c 		if (test_bit(BEISCSI_HBA_BOOT_FOUND, &phba->state))
phba              377 drivers/scsi/be2iscsi/be_cmds.c 			beiscsi_start_boot_work(phba, BE_BOOT_INVALID_SHANDLE);
phba              378 drivers/scsi/be2iscsi/be_cmds.c 		__beiscsi_log(phba, KERN_ERR,
phba              382 drivers/scsi/be2iscsi/be_cmds.c 		clear_bit(BEISCSI_HBA_LINK_UP, &phba->state);
phba              383 drivers/scsi/be2iscsi/be_cmds.c 		__beiscsi_log(phba, KERN_ERR,
phba              386 drivers/scsi/be2iscsi/be_cmds.c 		iscsi_host_for_each_session(phba->shost,
phba              400 drivers/scsi/be2iscsi/be_cmds.c static void beiscsi_process_async_sli(struct beiscsi_hba *phba,
phba              417 drivers/scsi/be2iscsi/be_cmds.c 		 (phba->fw_config.phys_port * 8) & 0xff;
phba              419 drivers/scsi/be2iscsi/be_cmds.c 		 (phba->fw_config.phys_port * 8) & 0xff;
phba              421 drivers/scsi/be2iscsi/be_cmds.c 	old_state = phba->optic_state;
phba              422 drivers/scsi/be2iscsi/be_cmds.c 	phba->optic_state = state;
phba              426 drivers/scsi/be2iscsi/be_cmds.c 		__beiscsi_log(phba, KERN_ERR,
phba              428 drivers/scsi/be2iscsi/be_cmds.c 			    phba->port_name, async_sli->event_data1);
phba              446 drivers/scsi/be2iscsi/be_cmds.c 	if (old_state != phba->optic_state)
phba              447 drivers/scsi/be2iscsi/be_cmds.c 		__beiscsi_log(phba, sev, "BC_%d : Port %c: %s%s\n",
phba              448 drivers/scsi/be2iscsi/be_cmds.c 			      phba->port_name,
phba              453 drivers/scsi/be2iscsi/be_cmds.c void beiscsi_process_async_event(struct beiscsi_hba *phba,
phba              464 drivers/scsi/be2iscsi/be_cmds.c 		beiscsi_process_async_link(phba, compl);
phba              467 drivers/scsi/be2iscsi/be_cmds.c 		if (test_bit(BEISCSI_HBA_BOOT_FOUND, &phba->state))
phba              468 drivers/scsi/be2iscsi/be_cmds.c 			beiscsi_start_boot_work(phba, BE_BOOT_INVALID_SHANDLE);
phba              472 drivers/scsi/be2iscsi/be_cmds.c 		beiscsi_process_async_sli(phba, compl);
phba              479 drivers/scsi/be2iscsi/be_cmds.c 	beiscsi_log(phba, sev, BEISCSI_LOG_CONFIG | BEISCSI_LOG_MBOX,
phba              487 drivers/scsi/be2iscsi/be_cmds.c 	struct beiscsi_hba *phba = pci_get_drvdata(ctrl->pdev);
phba              498 drivers/scsi/be2iscsi/be_cmds.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_MBOX |
phba              508 drivers/scsi/be2iscsi/be_cmds.c 		beiscsi_log(phba, KERN_WARNING,
phba              542 drivers/scsi/be2iscsi/be_cmds.c 			ctrl->ptag_state[tag].cbfn(phba, tag);
phba              544 drivers/scsi/be2iscsi/be_cmds.c 			__beiscsi_log(phba, KERN_ERR,
phba              552 drivers/scsi/be2iscsi/be_cmds.c 		__beiscsi_mcc_compl_status(phba, tag, NULL, NULL);
phba              561 drivers/scsi/be2iscsi/be_cmds.c void be_mcc_notify(struct beiscsi_hba *phba, unsigned int tag)
phba              563 drivers/scsi/be2iscsi/be_cmds.c 	struct be_queue_info *mccq = &phba->ctrl.mcc_obj.q;
phba              566 drivers/scsi/be2iscsi/be_cmds.c 	set_bit(MCC_TAG_STATE_RUNNING, &phba->ctrl.ptag_state[tag].tag_state);
phba              571 drivers/scsi/be2iscsi/be_cmds.c 	iowrite32(val, phba->db_va + DB_MCCQ_OFFSET);
phba              590 drivers/scsi/be2iscsi/be_cmds.c 	struct beiscsi_hba *phba = pci_get_drvdata(ctrl->pdev);
phba              600 drivers/scsi/be2iscsi/be_cmds.c 		if (beiscsi_hba_in_error(phba))
phba              617 drivers/scsi/be2iscsi/be_cmds.c 	beiscsi_log(phba, KERN_ERR,
phba              620 drivers/scsi/be2iscsi/be_cmds.c 	set_bit(BEISCSI_HBA_FW_TIMEOUT, &phba->state);
phba              782 drivers/scsi/be2iscsi/be_cmds.c 	struct beiscsi_hba *phba = pci_get_drvdata(ctrl->pdev);
phba              796 drivers/scsi/be2iscsi/be_cmds.c 	if (is_chip_be2_be3r(phba)) {
phba              833 drivers/scsi/be2iscsi/be_cmds.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba              850 drivers/scsi/be2iscsi/be_cmds.c int beiscsi_cmd_mccq_create(struct beiscsi_hba *phba,
phba              861 drivers/scsi/be2iscsi/be_cmds.c 	mutex_lock(&phba->ctrl.mbox_lock);
phba              862 drivers/scsi/be2iscsi/be_cmds.c 	ctrl = &phba->ctrl;
phba              879 drivers/scsi/be2iscsi/be_cmds.c 		      PCI_FUNC(phba->pcidev->devfn));
phba              895 drivers/scsi/be2iscsi/be_cmds.c 	mutex_unlock(&phba->ctrl.mbox_lock);
phba              905 drivers/scsi/be2iscsi/be_cmds.c 	struct beiscsi_hba *phba = pci_get_drvdata(ctrl->pdev);
phba              909 drivers/scsi/be2iscsi/be_cmds.c 	beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_INIT,
phba              983 drivers/scsi/be2iscsi/be_cmds.c 	struct beiscsi_hba *phba = pci_get_drvdata(ctrl->pdev);
phba              996 drivers/scsi/be2iscsi/be_cmds.c 	if (phba->fw_config.dual_ulp_aware) {
phba             1002 drivers/scsi/be2iscsi/be_cmds.c 	if (is_chip_be2_be3r(phba)) {
phba             1044 drivers/scsi/be2iscsi/be_cmds.c 			defq_ring = &phba->phwi_ctrlr->default_pdu_hdr[ulp_num];
phba             1046 drivers/scsi/be2iscsi/be_cmds.c 			defq_ring = &phba->phwi_ctrlr->
phba             1051 drivers/scsi/be2iscsi/be_cmds.c 		if (!phba->fw_config.dual_ulp_aware) {
phba             1084 drivers/scsi/be2iscsi/be_cmds.c 	struct beiscsi_hba *phba = pci_get_drvdata(ctrl->pdev);
phba             1096 drivers/scsi/be2iscsi/be_cmds.c 	if (phba->fw_config.dual_ulp_aware) {
phba             1110 drivers/scsi/be2iscsi/be_cmds.c 		if (!phba->fw_config.dual_ulp_aware) {
phba             1173 drivers/scsi/be2iscsi/be_cmds.c 	struct beiscsi_hba *phba = pci_get_drvdata(ctrl->pdev);
phba             1204 drivers/scsi/be2iscsi/be_cmds.c 			beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             1227 drivers/scsi/be2iscsi/be_cmds.c int be_cmd_set_vlan(struct beiscsi_hba *phba,
phba             1233 drivers/scsi/be2iscsi/be_cmds.c 	struct be_ctrl_info *ctrl = &phba->ctrl;
phba             1237 drivers/scsi/be2iscsi/be_cmds.c 	wrb = alloc_mcc_wrb(phba, &tag);
phba             1249 drivers/scsi/be2iscsi/be_cmds.c 	req->interface_hndl = phba->interface_handle;
phba             1252 drivers/scsi/be2iscsi/be_cmds.c 	be_mcc_notify(phba, tag);
phba             1259 drivers/scsi/be2iscsi/be_cmds.c 			       struct beiscsi_hba *phba)
phba             1271 drivers/scsi/be2iscsi/be_cmds.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             1291 drivers/scsi/be2iscsi/be_cmds.c 		beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_INIT,
phba             1300 drivers/scsi/be2iscsi/be_cmds.c 		phba->fw_config.iscsi_features =
phba             1302 drivers/scsi/be2iscsi/be_cmds.c 		beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_INIT,
phba             1304 drivers/scsi/be2iscsi/be_cmds.c 			    phba->fw_config.iscsi_features);
phba             1305 drivers/scsi/be2iscsi/be_cmds.c 		memcpy(phba->fw_ver_str, resp->params.hba_attribs.
phba             1308 drivers/scsi/be2iscsi/be_cmds.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             1331 drivers/scsi/be2iscsi/be_cmds.c 			  struct beiscsi_hba *phba)
phba             1348 drivers/scsi/be2iscsi/be_cmds.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             1354 drivers/scsi/be2iscsi/be_cmds.c 	phba->fw_config.phys_port = pfw_cfg->phys_port;
phba             1355 drivers/scsi/be2iscsi/be_cmds.c 	if (phba->fw_config.phys_port >= BEISCSI_PHYS_PORT_MAX) {
phba             1356 drivers/scsi/be2iscsi/be_cmds.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             1358 drivers/scsi/be2iscsi/be_cmds.c 			    phba->fw_config.phys_port);
phba             1363 drivers/scsi/be2iscsi/be_cmds.c 	if (!is_chip_be2_be3r(phba)) {
phba             1364 drivers/scsi/be2iscsi/be_cmds.c 		phba->fw_config.eqid_count = pfw_cfg->eqid_count;
phba             1365 drivers/scsi/be2iscsi/be_cmds.c 		phba->fw_config.cqid_count = pfw_cfg->cqid_count;
phba             1366 drivers/scsi/be2iscsi/be_cmds.c 		if (phba->fw_config.eqid_count == 0 ||
phba             1367 drivers/scsi/be2iscsi/be_cmds.c 		    phba->fw_config.eqid_count > 2048) {
phba             1368 drivers/scsi/be2iscsi/be_cmds.c 			beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             1370 drivers/scsi/be2iscsi/be_cmds.c 				    phba->fw_config.eqid_count);
phba             1373 drivers/scsi/be2iscsi/be_cmds.c 		if (phba->fw_config.cqid_count == 0 ||
phba             1374 drivers/scsi/be2iscsi/be_cmds.c 		    phba->fw_config.cqid_count > 4096) {
phba             1375 drivers/scsi/be2iscsi/be_cmds.c 			beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             1377 drivers/scsi/be2iscsi/be_cmds.c 				    phba->fw_config.cqid_count);
phba             1380 drivers/scsi/be2iscsi/be_cmds.c 		beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_INIT,
phba             1382 drivers/scsi/be2iscsi/be_cmds.c 			    phba->fw_config.eqid_count,
phba             1383 drivers/scsi/be2iscsi/be_cmds.c 			    phba->fw_config.cqid_count);
phba             1395 drivers/scsi/be2iscsi/be_cmds.c 			set_bit(ulp_num, &phba->fw_config.ulp_supported);
phba             1398 drivers/scsi/be2iscsi/be_cmds.c 			phba->fw_config.iscsi_cid_start[ulp_num] =
phba             1400 drivers/scsi/be2iscsi/be_cmds.c 			phba->fw_config.iscsi_cid_count[ulp_num] =
phba             1403 drivers/scsi/be2iscsi/be_cmds.c 			phba->fw_config.iscsi_icd_start[ulp_num] =
phba             1405 drivers/scsi/be2iscsi/be_cmds.c 			phba->fw_config.iscsi_icd_count[ulp_num] =
phba             1408 drivers/scsi/be2iscsi/be_cmds.c 			phba->fw_config.iscsi_chain_start[ulp_num] =
phba             1410 drivers/scsi/be2iscsi/be_cmds.c 			phba->fw_config.iscsi_chain_count[ulp_num] =
phba             1413 drivers/scsi/be2iscsi/be_cmds.c 			beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_INIT,
phba             1420 drivers/scsi/be2iscsi/be_cmds.c 				    phba->fw_config.
phba             1422 drivers/scsi/be2iscsi/be_cmds.c 				    phba->fw_config.
phba             1424 drivers/scsi/be2iscsi/be_cmds.c 				    phba->fw_config.
phba             1426 drivers/scsi/be2iscsi/be_cmds.c 				    phba->fw_config.
phba             1431 drivers/scsi/be2iscsi/be_cmds.c 	if (phba->fw_config.ulp_supported == 0) {
phba             1432 drivers/scsi/be2iscsi/be_cmds.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             1443 drivers/scsi/be2iscsi/be_cmds.c 		if (test_bit(ulp_num, &phba->fw_config.ulp_supported))
phba             1445 drivers/scsi/be2iscsi/be_cmds.c 	icd_count = phba->fw_config.iscsi_icd_count[ulp_num];
phba             1447 drivers/scsi/be2iscsi/be_cmds.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             1452 drivers/scsi/be2iscsi/be_cmds.c 	cid_count = BEISCSI_GET_CID_COUNT(phba, BEISCSI_ULP0) +
phba             1453 drivers/scsi/be2iscsi/be_cmds.c 		    BEISCSI_GET_CID_COUNT(phba, BEISCSI_ULP1);
phba             1455 drivers/scsi/be2iscsi/be_cmds.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             1464 drivers/scsi/be2iscsi/be_cmds.c 	phba->fw_config.dual_ulp_aware = (pfw_cfg->function_mode &
phba             1467 drivers/scsi/be2iscsi/be_cmds.c 	beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_INIT,
phba             1469 drivers/scsi/be2iscsi/be_cmds.c 		    phba->fw_config.dual_ulp_aware);
phba             1486 drivers/scsi/be2iscsi/be_cmds.c int beiscsi_get_port_name(struct be_ctrl_info *ctrl, struct beiscsi_hba *phba)
phba             1502 drivers/scsi/be2iscsi/be_cmds.c 	phba->port_name = 0;
phba             1504 drivers/scsi/be2iscsi/be_cmds.c 		phba->port_name = ioctl->p.resp.port_names >>
phba             1505 drivers/scsi/be2iscsi/be_cmds.c 				  (phba->fw_config.phys_port * 8) & 0xff;
phba             1507 drivers/scsi/be2iscsi/be_cmds.c 		beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_INIT,
phba             1512 drivers/scsi/be2iscsi/be_cmds.c 	if (phba->port_name == 0)
phba             1513 drivers/scsi/be2iscsi/be_cmds.c 		phba->port_name = '?';
phba             1519 drivers/scsi/be2iscsi/be_cmds.c int beiscsi_set_host_data(struct beiscsi_hba *phba)
phba             1521 drivers/scsi/be2iscsi/be_cmds.c 	struct be_ctrl_info *ctrl = &phba->ctrl;
phba             1526 drivers/scsi/be2iscsi/be_cmds.c 	if (is_chip_be2_be3r(phba))
phba             1548 drivers/scsi/be2iscsi/be_cmds.c 		beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_INIT,
phba             1557 drivers/scsi/be2iscsi/be_cmds.c 			__beiscsi_log(phba, KERN_INFO,
phba             1565 drivers/scsi/be2iscsi/be_cmds.c int beiscsi_set_uer_feature(struct beiscsi_hba *phba)
phba             1567 drivers/scsi/be2iscsi/be_cmds.c 	struct be_ctrl_info *ctrl = &phba->ctrl;
phba             1586 drivers/scsi/be2iscsi/be_cmds.c 		phba->ue2rp = ioctl->param.resp.ue2rp;
phba             1587 drivers/scsi/be2iscsi/be_cmds.c 		set_bit(BEISCSI_HBA_UER_SUPP, &phba->state);
phba             1588 drivers/scsi/be2iscsi/be_cmds.c 		beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_INIT,
phba             1597 drivers/scsi/be2iscsi/be_cmds.c 			__beiscsi_log(phba, KERN_INFO,
phba             1605 drivers/scsi/be2iscsi/be_cmds.c static u32 beiscsi_get_post_stage(struct beiscsi_hba *phba)
phba             1609 drivers/scsi/be2iscsi/be_cmds.c 	if (is_chip_be2_be3r(phba))
phba             1610 drivers/scsi/be2iscsi/be_cmds.c 		sem = ioread32(phba->csr_va + SLIPORT_SEMAPHORE_OFFSET_BEx);
phba             1612 drivers/scsi/be2iscsi/be_cmds.c 		pci_read_config_dword(phba->pcidev,
phba             1617 drivers/scsi/be2iscsi/be_cmds.c int beiscsi_check_fw_rdy(struct beiscsi_hba *phba)
phba             1623 drivers/scsi/be2iscsi/be_cmds.c 		post = beiscsi_get_post_stage(phba);
phba             1634 drivers/scsi/be2iscsi/be_cmds.c 		__beiscsi_log(phba, KERN_ERR,
phba             1641 drivers/scsi/be2iscsi/be_cmds.c int beiscsi_cmd_function_reset(struct beiscsi_hba *phba)
phba             1643 drivers/scsi/be2iscsi/be_cmds.c 	struct be_ctrl_info *ctrl = &phba->ctrl;
phba             1663 drivers/scsi/be2iscsi/be_cmds.c 	struct beiscsi_hba *phba = pci_get_drvdata(ctrl->pdev);
phba             1696 drivers/scsi/be2iscsi/be_cmds.c 		beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_INIT,
phba             1702 drivers/scsi/be2iscsi/be_cmds.c int beiscsi_init_sliport(struct beiscsi_hba *phba)
phba             1707 drivers/scsi/be2iscsi/be_cmds.c 	status = beiscsi_check_fw_rdy(phba);
phba             1712 drivers/scsi/be2iscsi/be_cmds.c 	phba->state &= ~BEISCSI_HBA_IN_ERR;
phba             1715 drivers/scsi/be2iscsi/be_cmds.c 	phba->state &= ~BEISCSI_HBA_UER_SUPP;
phba             1721 drivers/scsi/be2iscsi/be_cmds.c 	status = beiscsi_cmd_function_reset(phba);
phba             1723 drivers/scsi/be2iscsi/be_cmds.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             1729 drivers/scsi/be2iscsi/be_cmds.c 	return beiscsi_cmd_special_wrb(&phba->ctrl, 1);
phba             1741 drivers/scsi/be2iscsi/be_cmds.c int beiscsi_cmd_iscsi_cleanup(struct beiscsi_hba *phba, unsigned short ulp)
phba             1743 drivers/scsi/be2iscsi/be_cmds.c 	struct be_ctrl_info *ctrl = &phba->ctrl;
phba             1753 drivers/scsi/be2iscsi/be_cmds.c 	hdr_ring_id = HWI_GET_DEF_HDRQ_ID(phba, ulp);
phba             1754 drivers/scsi/be2iscsi/be_cmds.c 	data_ring_id = HWI_GET_DEF_BUFQ_ID(phba, ulp);
phba             1755 drivers/scsi/be2iscsi/be_cmds.c 	if (is_chip_be2_be3r(phba)) {
phba             1778 drivers/scsi/be2iscsi/be_cmds.c 		beiscsi_log(phba, KERN_WARNING, BEISCSI_LOG_INIT,
phba             1790 drivers/scsi/be2iscsi/be_cmds.c int beiscsi_detect_ue(struct beiscsi_hba *phba)
phba             1797 drivers/scsi/be2iscsi/be_cmds.c 	pci_read_config_dword(phba->pcidev,
phba             1799 drivers/scsi/be2iscsi/be_cmds.c 	pci_read_config_dword(phba->pcidev,
phba             1802 drivers/scsi/be2iscsi/be_cmds.c 	pci_read_config_dword(phba->pcidev,
phba             1805 drivers/scsi/be2iscsi/be_cmds.c 	pci_read_config_dword(phba->pcidev,
phba             1814 drivers/scsi/be2iscsi/be_cmds.c 		set_bit(BEISCSI_HBA_IN_UE, &phba->state);
phba             1815 drivers/scsi/be2iscsi/be_cmds.c 		__beiscsi_log(phba, KERN_ERR,
phba             1823 drivers/scsi/be2iscsi/be_cmds.c 				__beiscsi_log(phba, KERN_ERR,
phba             1832 drivers/scsi/be2iscsi/be_cmds.c 				__beiscsi_log(phba, KERN_ERR,
phba             1847 drivers/scsi/be2iscsi/be_cmds.c int beiscsi_detect_tpe(struct beiscsi_hba *phba)
phba             1852 drivers/scsi/be2iscsi/be_cmds.c 	post = beiscsi_get_post_stage(phba);
phba             1856 drivers/scsi/be2iscsi/be_cmds.c 		set_bit(BEISCSI_HBA_IN_TPE, &phba->state);
phba             1857 drivers/scsi/be2iscsi/be_cmds.c 		__beiscsi_log(phba, KERN_INFO,
phba             1861 drivers/scsi/be2iscsi/be_cmds.c 		__beiscsi_log(phba, KERN_INFO,
phba              788 drivers/scsi/be2iscsi/be_cmds.h int beiscsi_cmd_function_reset(struct beiscsi_hba *phba);
phba              792 drivers/scsi/be2iscsi/be_cmds.h int beiscsi_check_fw_rdy(struct beiscsi_hba *phba);
phba              794 drivers/scsi/be2iscsi/be_cmds.h int beiscsi_init_sliport(struct beiscsi_hba *phba);
phba              796 drivers/scsi/be2iscsi/be_cmds.h int beiscsi_cmd_iscsi_cleanup(struct beiscsi_hba *phba, unsigned short ulp_num);
phba              798 drivers/scsi/be2iscsi/be_cmds.h int beiscsi_detect_ue(struct beiscsi_hba *phba);
phba              800 drivers/scsi/be2iscsi/be_cmds.h int beiscsi_detect_tpe(struct beiscsi_hba *phba);
phba              812 drivers/scsi/be2iscsi/be_cmds.h int beiscsi_cmd_mccq_create(struct beiscsi_hba *phba,
phba              818 drivers/scsi/be2iscsi/be_cmds.h int beiscsi_modify_eq_delay(struct beiscsi_hba *phba, struct be_set_eqd *,
phba              820 drivers/scsi/be2iscsi/be_cmds.h int beiscsi_mccq_compl_wait(struct beiscsi_hba *phba,
phba              824 drivers/scsi/be2iscsi/be_cmds.h int __beiscsi_mcc_compl_status(struct beiscsi_hba *phba,
phba              829 drivers/scsi/be2iscsi/be_cmds.h void be_mcc_notify(struct beiscsi_hba *phba, unsigned int tag);
phba              830 drivers/scsi/be2iscsi/be_cmds.h struct be_mcc_wrb *alloc_mcc_wrb(struct beiscsi_hba *phba,
phba              832 drivers/scsi/be2iscsi/be_cmds.h void beiscsi_process_async_event(struct beiscsi_hba *phba,
phba              858 drivers/scsi/be2iscsi/be_cmds.h int be_cmd_set_vlan(struct beiscsi_hba *phba, uint16_t vlan_tag);
phba              861 drivers/scsi/be2iscsi/be_cmds.h 			       struct beiscsi_hba *phba);
phba              863 drivers/scsi/be2iscsi/be_cmds.h int beiscsi_get_fw_config(struct be_ctrl_info *ctrl, struct beiscsi_hba *phba);
phba              865 drivers/scsi/be2iscsi/be_cmds.h int beiscsi_get_port_name(struct be_ctrl_info *ctrl, struct beiscsi_hba *phba);
phba              867 drivers/scsi/be2iscsi/be_cmds.h int beiscsi_set_uer_feature(struct beiscsi_hba *phba);
phba              868 drivers/scsi/be2iscsi/be_cmds.h int beiscsi_set_host_data(struct beiscsi_hba *phba);
phba               42 drivers/scsi/be2iscsi/be_iscsi.c 	struct beiscsi_hba *phba;
phba               53 drivers/scsi/be2iscsi/be_iscsi.c 	phba = beiscsi_ep->phba;
phba               55 drivers/scsi/be2iscsi/be_iscsi.c 	if (!beiscsi_hba_is_online(phba)) {
phba               56 drivers/scsi/be2iscsi/be_iscsi.c 		beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_CONFIG,
phba               57 drivers/scsi/be2iscsi/be_iscsi.c 			    "BS_%d : HBA in error 0x%lx\n", phba->state);
phba               61 drivers/scsi/be2iscsi/be_iscsi.c 	beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_CONFIG,
phba               63 drivers/scsi/be2iscsi/be_iscsi.c 	if (cmds_max > beiscsi_ep->phba->params.wrbs_per_cxn) {
phba               64 drivers/scsi/be2iscsi/be_iscsi.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_CONFIG,
phba               68 drivers/scsi/be2iscsi/be_iscsi.c 			    beiscsi_ep->phba->params.wrbs_per_cxn,
phba               69 drivers/scsi/be2iscsi/be_iscsi.c 			    beiscsi_ep->phba->params.wrbs_per_cxn);
phba               71 drivers/scsi/be2iscsi/be_iscsi.c 		cmds_max = beiscsi_ep->phba->params.wrbs_per_cxn;
phba               74 drivers/scsi/be2iscsi/be_iscsi.c 	shost = phba->shost;
phba               85 drivers/scsi/be2iscsi/be_iscsi.c 						   &phba->pcidev->dev,
phba              132 drivers/scsi/be2iscsi/be_iscsi.c 	struct beiscsi_hba *phba;
phba              141 drivers/scsi/be2iscsi/be_iscsi.c 	phba = iscsi_host_priv(shost);
phba              143 drivers/scsi/be2iscsi/be_iscsi.c 	beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_CONFIG,
phba              154 drivers/scsi/be2iscsi/be_iscsi.c 	beiscsi_conn->phba = phba;
phba              177 drivers/scsi/be2iscsi/be_iscsi.c 	struct beiscsi_hba *phba = iscsi_host_priv(shost);
phba              178 drivers/scsi/be2iscsi/be_iscsi.c 	struct hwi_controller *phwi_ctrlr = phba->phwi_ctrlr;
phba              193 drivers/scsi/be2iscsi/be_iscsi.c 	if (beiscsi_ep->phba != phba) {
phba              194 drivers/scsi/be2iscsi/be_iscsi.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_CONFIG,
phba              196 drivers/scsi/be2iscsi/be_iscsi.c 			    beiscsi_ep->phba, phba);
phba              201 drivers/scsi/be2iscsi/be_iscsi.c 	if (phba->conn_table[cri_index]) {
phba              202 drivers/scsi/be2iscsi/be_iscsi.c 		if (beiscsi_conn != phba->conn_table[cri_index] ||
phba              203 drivers/scsi/be2iscsi/be_iscsi.c 		    beiscsi_ep != phba->conn_table[cri_index]->ep) {
phba              204 drivers/scsi/be2iscsi/be_iscsi.c 			__beiscsi_log(phba, KERN_ERR,
phba              209 drivers/scsi/be2iscsi/be_iscsi.c 				      phba->conn_table[cri_index]);
phba              223 drivers/scsi/be2iscsi/be_iscsi.c 	beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_CONFIG,
phba              226 drivers/scsi/be2iscsi/be_iscsi.c 	phba->conn_table[cri_index] = beiscsi_conn;
phba              230 drivers/scsi/be2iscsi/be_iscsi.c static int beiscsi_iface_create_ipv4(struct beiscsi_hba *phba)
phba              232 drivers/scsi/be2iscsi/be_iscsi.c 	if (phba->ipv4_iface)
phba              235 drivers/scsi/be2iscsi/be_iscsi.c 	phba->ipv4_iface = iscsi_create_iface(phba->shost,
phba              239 drivers/scsi/be2iscsi/be_iscsi.c 	if (!phba->ipv4_iface) {
phba              240 drivers/scsi/be2iscsi/be_iscsi.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_CONFIG,
phba              249 drivers/scsi/be2iscsi/be_iscsi.c static int beiscsi_iface_create_ipv6(struct beiscsi_hba *phba)
phba              251 drivers/scsi/be2iscsi/be_iscsi.c 	if (phba->ipv6_iface)
phba              254 drivers/scsi/be2iscsi/be_iscsi.c 	phba->ipv6_iface = iscsi_create_iface(phba->shost,
phba              258 drivers/scsi/be2iscsi/be_iscsi.c 	if (!phba->ipv6_iface) {
phba              259 drivers/scsi/be2iscsi/be_iscsi.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_CONFIG,
phba              268 drivers/scsi/be2iscsi/be_iscsi.c void beiscsi_iface_create_default(struct beiscsi_hba *phba)
phba              272 drivers/scsi/be2iscsi/be_iscsi.c 	if (!beiscsi_if_get_info(phba, BEISCSI_IP_TYPE_V4, &if_info)) {
phba              273 drivers/scsi/be2iscsi/be_iscsi.c 		beiscsi_iface_create_ipv4(phba);
phba              277 drivers/scsi/be2iscsi/be_iscsi.c 	if (!beiscsi_if_get_info(phba, BEISCSI_IP_TYPE_V6, &if_info)) {
phba              278 drivers/scsi/be2iscsi/be_iscsi.c 		beiscsi_iface_create_ipv6(phba);
phba              283 drivers/scsi/be2iscsi/be_iscsi.c void beiscsi_iface_destroy_default(struct beiscsi_hba *phba)
phba              285 drivers/scsi/be2iscsi/be_iscsi.c 	if (phba->ipv6_iface) {
phba              286 drivers/scsi/be2iscsi/be_iscsi.c 		iscsi_destroy_iface(phba->ipv6_iface);
phba              287 drivers/scsi/be2iscsi/be_iscsi.c 		phba->ipv6_iface = NULL;
phba              289 drivers/scsi/be2iscsi/be_iscsi.c 	if (phba->ipv4_iface) {
phba              290 drivers/scsi/be2iscsi/be_iscsi.c 		iscsi_destroy_iface(phba->ipv4_iface);
phba              291 drivers/scsi/be2iscsi/be_iscsi.c 		phba->ipv4_iface = NULL;
phba              311 drivers/scsi/be2iscsi/be_iscsi.c 	struct beiscsi_hba *phba = iscsi_host_priv(shost);
phba              318 drivers/scsi/be2iscsi/be_iscsi.c 			ret = beiscsi_if_set_vlan(phba, BEISCSI_VLAN_DISABLE);
phba              321 drivers/scsi/be2iscsi/be_iscsi.c 		ret = beiscsi_if_set_vlan(phba,
phba              334 drivers/scsi/be2iscsi/be_iscsi.c 	struct beiscsi_hba *phba = iscsi_host_priv(shost);
phba              343 drivers/scsi/be2iscsi/be_iscsi.c 			ret = beiscsi_iface_create_ipv4(phba);
phba              345 drivers/scsi/be2iscsi/be_iscsi.c 			iscsi_destroy_iface(phba->ipv4_iface);
phba              346 drivers/scsi/be2iscsi/be_iscsi.c 			phba->ipv4_iface = NULL;
phba              351 drivers/scsi/be2iscsi/be_iscsi.c 		ret = beiscsi_if_set_gw(phba, BEISCSI_IP_TYPE_V4, gw);
phba              355 drivers/scsi/be2iscsi/be_iscsi.c 			ret = beiscsi_if_en_dhcp(phba, BEISCSI_IP_TYPE_V4);
phba              358 drivers/scsi/be2iscsi/be_iscsi.c 			ret = beiscsi_if_en_static(phba, BEISCSI_IP_TYPE_V4,
phba              361 drivers/scsi/be2iscsi/be_iscsi.c 			beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_CONFIG,
phba              372 drivers/scsi/be2iscsi/be_iscsi.c 		ret = beiscsi_if_en_static(phba, BEISCSI_IP_TYPE_V4,
phba              386 drivers/scsi/be2iscsi/be_iscsi.c 		ret = beiscsi_if_en_static(phba, BEISCSI_IP_TYPE_V4,
phba              399 drivers/scsi/be2iscsi/be_iscsi.c 	struct beiscsi_hba *phba = iscsi_host_priv(shost);
phba              405 drivers/scsi/be2iscsi/be_iscsi.c 			ret = beiscsi_iface_create_ipv6(phba);
phba              407 drivers/scsi/be2iscsi/be_iscsi.c 			iscsi_destroy_iface(phba->ipv6_iface);
phba              408 drivers/scsi/be2iscsi/be_iscsi.c 			phba->ipv6_iface = NULL;
phba              412 drivers/scsi/be2iscsi/be_iscsi.c 		ret = beiscsi_if_en_static(phba, BEISCSI_IP_TYPE_V6,
phba              424 drivers/scsi/be2iscsi/be_iscsi.c 	struct beiscsi_hba *phba = iscsi_host_priv(shost);
phba              429 drivers/scsi/be2iscsi/be_iscsi.c 	if (!beiscsi_hba_is_online(phba)) {
phba              430 drivers/scsi/be2iscsi/be_iscsi.c 		beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_CONFIG,
phba              431 drivers/scsi/be2iscsi/be_iscsi.c 			    "BS_%d : HBA in error 0x%lx\n", phba->state);
phba              436 drivers/scsi/be2iscsi/be_iscsi.c 	ret = beiscsi_if_get_handle(phba);
phba              438 drivers/scsi/be2iscsi/be_iscsi.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_CONFIG,
phba              453 drivers/scsi/be2iscsi/be_iscsi.c 			beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_CONFIG,
phba              461 drivers/scsi/be2iscsi/be_iscsi.c 		beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_CONFIG,
phba              488 drivers/scsi/be2iscsi/be_iscsi.c 			__beiscsi_log(phba, KERN_ERR,
phba              502 drivers/scsi/be2iscsi/be_iscsi.c static int __beiscsi_iface_get_param(struct beiscsi_hba *phba,
phba              512 drivers/scsi/be2iscsi/be_iscsi.c 	len = beiscsi_if_get_info(phba, ip_type, &if_info);
phba              566 drivers/scsi/be2iscsi/be_iscsi.c 	struct beiscsi_hba *phba = iscsi_host_priv(shost);
phba              572 drivers/scsi/be2iscsi/be_iscsi.c 	if (!beiscsi_hba_is_online(phba)) {
phba              573 drivers/scsi/be2iscsi/be_iscsi.c 		beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_CONFIG,
phba              574 drivers/scsi/be2iscsi/be_iscsi.c 			    "BS_%d : HBA in error 0x%lx\n", phba->state);
phba              586 drivers/scsi/be2iscsi/be_iscsi.c 		len = __beiscsi_iface_get_param(phba, iface, param, buf);
phba              591 drivers/scsi/be2iscsi/be_iscsi.c 				      phba->ipv4_iface ? "enable" : "disable");
phba              594 drivers/scsi/be2iscsi/be_iscsi.c 				      phba->ipv6_iface ? "enable" : "disable");
phba              598 drivers/scsi/be2iscsi/be_iscsi.c 		len = beiscsi_if_get_gw(phba, BEISCSI_IP_TYPE_V4, &gateway);
phba              621 drivers/scsi/be2iscsi/be_iscsi.c 	beiscsi_log(beiscsi_ep->phba, KERN_INFO,
phba              647 drivers/scsi/be2iscsi/be_iscsi.c 	struct beiscsi_hba *phba = NULL;
phba              650 drivers/scsi/be2iscsi/be_iscsi.c 	phba = ((struct beiscsi_conn *)conn->dd_data)->phba;
phba              651 drivers/scsi/be2iscsi/be_iscsi.c 	beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_CONFIG,
phba              693 drivers/scsi/be2iscsi/be_iscsi.c 	struct beiscsi_hba *phba = iscsi_host_priv(shost);
phba              696 drivers/scsi/be2iscsi/be_iscsi.c 	ihost->port_state = test_bit(BEISCSI_HBA_LINK_UP, &phba->state) ?
phba              707 drivers/scsi/be2iscsi/be_iscsi.c 	struct beiscsi_hba *phba = iscsi_host_priv(shost);
phba              710 drivers/scsi/be2iscsi/be_iscsi.c 	switch (phba->port_speed) {
phba              744 drivers/scsi/be2iscsi/be_iscsi.c 	struct beiscsi_hba *phba = iscsi_host_priv(shost);
phba              747 drivers/scsi/be2iscsi/be_iscsi.c 	if (!beiscsi_hba_is_online(phba)) {
phba              748 drivers/scsi/be2iscsi/be_iscsi.c 		beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_CONFIG,
phba              749 drivers/scsi/be2iscsi/be_iscsi.c 			    "BS_%d : HBA in error 0x%lx\n", phba->state);
phba              752 drivers/scsi/be2iscsi/be_iscsi.c 	beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_CONFIG,
phba              757 drivers/scsi/be2iscsi/be_iscsi.c 		status = beiscsi_get_macaddr(buf, phba);
phba              759 drivers/scsi/be2iscsi/be_iscsi.c 			beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_CONFIG,
phba              766 drivers/scsi/be2iscsi/be_iscsi.c 		status = beiscsi_get_initiator_name(phba, buf, true);
phba              768 drivers/scsi/be2iscsi/be_iscsi.c 			status = beiscsi_get_initiator_name(phba, buf, false);
phba              770 drivers/scsi/be2iscsi/be_iscsi.c 				beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_CONFIG,
phba              790 drivers/scsi/be2iscsi/be_iscsi.c int beiscsi_get_macaddr(char *buf, struct beiscsi_hba *phba)
phba              795 drivers/scsi/be2iscsi/be_iscsi.c 	if (phba->mac_addr_set)
phba              796 drivers/scsi/be2iscsi/be_iscsi.c 		return sysfs_format_mac(buf, phba->mac_address, ETH_ALEN);
phba              799 drivers/scsi/be2iscsi/be_iscsi.c 	rc = mgmt_get_nic_conf(phba, &resp);
phba              803 drivers/scsi/be2iscsi/be_iscsi.c 	phba->mac_addr_set = true;
phba              804 drivers/scsi/be2iscsi/be_iscsi.c 	memcpy(phba->mac_address, resp.mac_address, ETH_ALEN);
phba              805 drivers/scsi/be2iscsi/be_iscsi.c 	return sysfs_format_mac(buf, phba->mac_address, ETH_ALEN);
phba              819 drivers/scsi/be2iscsi/be_iscsi.c 	struct beiscsi_hba *phba = NULL;
phba              821 drivers/scsi/be2iscsi/be_iscsi.c 	phba = ((struct beiscsi_conn *)conn->dd_data)->phba;
phba              822 drivers/scsi/be2iscsi/be_iscsi.c 	beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_CONFIG,
phba              895 drivers/scsi/be2iscsi/be_iscsi.c 	struct beiscsi_hba *phba;
phba              897 drivers/scsi/be2iscsi/be_iscsi.c 	phba = ((struct beiscsi_conn *)conn->dd_data)->phba;
phba              899 drivers/scsi/be2iscsi/be_iscsi.c 	if (!beiscsi_hba_is_online(phba)) {
phba              900 drivers/scsi/be2iscsi/be_iscsi.c 		beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_CONFIG,
phba              901 drivers/scsi/be2iscsi/be_iscsi.c 			    "BS_%d : HBA in error 0x%lx\n", phba->state);
phba              904 drivers/scsi/be2iscsi/be_iscsi.c 	beiscsi_log(beiscsi_conn->phba, KERN_INFO, BEISCSI_LOG_CONFIG,
phba              910 drivers/scsi/be2iscsi/be_iscsi.c 		beiscsi_log(beiscsi_conn->phba, KERN_ERR,
phba              925 drivers/scsi/be2iscsi/be_iscsi.c static int beiscsi_get_cid(struct beiscsi_hba *phba)
phba              932 drivers/scsi/be2iscsi/be_iscsi.c 	cid_avlbl_ulp0 = (phba->cid_array_info[BEISCSI_ULP0]) ?
phba              933 drivers/scsi/be2iscsi/be_iscsi.c 			  BEISCSI_ULP0_AVLBL_CID(phba) : 0;
phba              934 drivers/scsi/be2iscsi/be_iscsi.c 	cid_avlbl_ulp1 = (phba->cid_array_info[BEISCSI_ULP1]) ?
phba              935 drivers/scsi/be2iscsi/be_iscsi.c 			  BEISCSI_ULP1_AVLBL_CID(phba) : 0;
phba              943 drivers/scsi/be2iscsi/be_iscsi.c 	if (!test_bit(cid_from_ulp, (void *)&phba->fw_config.ulp_supported))
phba              946 drivers/scsi/be2iscsi/be_iscsi.c 	cid_info = phba->cid_array_info[cid_from_ulp];
phba              949 drivers/scsi/be2iscsi/be_iscsi.c 		__beiscsi_log(phba, KERN_ERR,
phba              956 drivers/scsi/be2iscsi/be_iscsi.c 	if (cid_info->cid_alloc == BEISCSI_GET_CID_COUNT(phba, cid_from_ulp))
phba              967 drivers/scsi/be2iscsi/be_iscsi.c static void beiscsi_put_cid(struct beiscsi_hba *phba, unsigned short cid)
phba              975 drivers/scsi/be2iscsi/be_iscsi.c 	phwi_ctrlr = phba->phwi_ctrlr;
phba              979 drivers/scsi/be2iscsi/be_iscsi.c 	cid_info = phba->cid_array_info[cid_post_ulp];
phba              982 drivers/scsi/be2iscsi/be_iscsi.c 		__beiscsi_log(phba, KERN_ERR,
phba              988 drivers/scsi/be2iscsi/be_iscsi.c 	if (cid_info->cid_free == BEISCSI_GET_CID_COUNT(phba, cid_post_ulp))
phba              999 drivers/scsi/be2iscsi/be_iscsi.c 	struct beiscsi_hba *phba = beiscsi_ep->phba;
phba             1002 drivers/scsi/be2iscsi/be_iscsi.c 	beiscsi_put_cid(phba, beiscsi_ep->ep_cid);
phba             1003 drivers/scsi/be2iscsi/be_iscsi.c 	beiscsi_ep->phba = NULL;
phba             1005 drivers/scsi/be2iscsi/be_iscsi.c 	phba->ep_array[BE_GET_CRI_FROM_CID(beiscsi_ep->ep_cid)] = NULL;
phba             1041 drivers/scsi/be2iscsi/be_iscsi.c 	struct beiscsi_hba *phba = beiscsi_ep->phba;
phba             1047 drivers/scsi/be2iscsi/be_iscsi.c 	beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_CONFIG,
phba             1050 drivers/scsi/be2iscsi/be_iscsi.c 	beiscsi_ep->ep_cid = beiscsi_get_cid(phba);
phba             1052 drivers/scsi/be2iscsi/be_iscsi.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_CONFIG,
phba             1057 drivers/scsi/be2iscsi/be_iscsi.c 	beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_CONFIG,
phba             1061 drivers/scsi/be2iscsi/be_iscsi.c 	phba->ep_array[BE_GET_CRI_FROM_CID
phba             1066 drivers/scsi/be2iscsi/be_iscsi.c 	if (is_chip_be2_be3r(phba))
phba             1071 drivers/scsi/be2iscsi/be_iscsi.c 	nonemb_cmd.va = dma_alloc_coherent(&phba->ctrl.pdev->dev,
phba             1076 drivers/scsi/be2iscsi/be_iscsi.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_CONFIG,
phba             1085 drivers/scsi/be2iscsi/be_iscsi.c 	tag = mgmt_open_connection(phba, dst_addr, beiscsi_ep, &nonemb_cmd);
phba             1087 drivers/scsi/be2iscsi/be_iscsi.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_CONFIG,
phba             1091 drivers/scsi/be2iscsi/be_iscsi.c 		dma_free_coherent(&phba->ctrl.pdev->dev, nonemb_cmd.size,
phba             1097 drivers/scsi/be2iscsi/be_iscsi.c 	ret = beiscsi_mccq_compl_wait(phba, tag, NULL, &nonemb_cmd);
phba             1099 drivers/scsi/be2iscsi/be_iscsi.c 		beiscsi_log(phba, KERN_ERR,
phba             1104 drivers/scsi/be2iscsi/be_iscsi.c 			dma_free_coherent(&phba->ctrl.pdev->dev,
phba             1116 drivers/scsi/be2iscsi/be_iscsi.c 	beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_CONFIG,
phba             1119 drivers/scsi/be2iscsi/be_iscsi.c 	dma_free_coherent(&phba->ctrl.pdev->dev, nonemb_cmd.size,
phba             1136 drivers/scsi/be2iscsi/be_iscsi.c 	struct beiscsi_hba *phba;
phba             1147 drivers/scsi/be2iscsi/be_iscsi.c 	phba = iscsi_host_priv(shost);
phba             1148 drivers/scsi/be2iscsi/be_iscsi.c 	if (!beiscsi_hba_is_online(phba)) {
phba             1150 drivers/scsi/be2iscsi/be_iscsi.c 		beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_CONFIG,
phba             1151 drivers/scsi/be2iscsi/be_iscsi.c 			    "BS_%d : HBA in error 0x%lx\n", phba->state);
phba             1154 drivers/scsi/be2iscsi/be_iscsi.c 	if (!test_bit(BEISCSI_HBA_LINK_UP, &phba->state)) {
phba             1156 drivers/scsi/be2iscsi/be_iscsi.c 		beiscsi_log(phba, KERN_WARNING, BEISCSI_LOG_CONFIG,
phba             1168 drivers/scsi/be2iscsi/be_iscsi.c 	beiscsi_ep->phba = phba;
phba             1172 drivers/scsi/be2iscsi/be_iscsi.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_CONFIG,
phba             1195 drivers/scsi/be2iscsi/be_iscsi.c 	beiscsi_log(beiscsi_ep->phba, KERN_INFO, BEISCSI_LOG_CONFIG,
phba             1211 drivers/scsi/be2iscsi/be_iscsi.c static void beiscsi_flush_cq(struct beiscsi_hba *phba)
phba             1218 drivers/scsi/be2iscsi/be_iscsi.c 	phwi_ctrlr = phba->phwi_ctrlr;
phba             1221 drivers/scsi/be2iscsi/be_iscsi.c 	for (i = 0; i < phba->num_cpus; i++) {
phba             1237 drivers/scsi/be2iscsi/be_iscsi.c 	struct beiscsi_hba *phba = beiscsi_ep->phba;
phba             1247 drivers/scsi/be2iscsi/be_iscsi.c 		tag = beiscsi_invalidate_cxn(phba, beiscsi_ep);
phba             1249 drivers/scsi/be2iscsi/be_iscsi.c 			ret = beiscsi_mccq_compl_wait(phba, tag, NULL, NULL);
phba             1252 drivers/scsi/be2iscsi/be_iscsi.c 			beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_CONFIG,
phba             1261 drivers/scsi/be2iscsi/be_iscsi.c 	beiscsi_flush_cq(phba);
phba             1268 drivers/scsi/be2iscsi/be_iscsi.c 		tag = beiscsi_upload_cxn(phba, beiscsi_ep);
phba             1270 drivers/scsi/be2iscsi/be_iscsi.c 			ret = beiscsi_mccq_compl_wait(phba, tag, NULL, NULL);
phba             1273 drivers/scsi/be2iscsi/be_iscsi.c 			beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_CONFIG,
phba             1294 drivers/scsi/be2iscsi/be_iscsi.c 	struct beiscsi_hba *phba;
phba             1298 drivers/scsi/be2iscsi/be_iscsi.c 	phba = beiscsi_ep->phba;
phba             1299 drivers/scsi/be2iscsi/be_iscsi.c 	beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_CONFIG,
phba             1304 drivers/scsi/be2iscsi/be_iscsi.c 	if (!phba->ep_array[cri_index]) {
phba             1305 drivers/scsi/be2iscsi/be_iscsi.c 		__beiscsi_log(phba, KERN_ERR,
phba             1317 drivers/scsi/be2iscsi/be_iscsi.c 	if (!beiscsi_hba_is_online(phba)) {
phba             1318 drivers/scsi/be2iscsi/be_iscsi.c 		beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_CONFIG,
phba             1319 drivers/scsi/be2iscsi/be_iscsi.c 			    "BS_%d : HBA in error 0x%lx\n", phba->state);
phba             1326 drivers/scsi/be2iscsi/be_iscsi.c 			__beiscsi_log(phba, KERN_ERR,
phba             1332 drivers/scsi/be2iscsi/be_iscsi.c 	if (!phba->conn_table[cri_index])
phba             1333 drivers/scsi/be2iscsi/be_iscsi.c 		__beiscsi_log(phba, KERN_ERR,
phba             1336 drivers/scsi/be2iscsi/be_iscsi.c 	phba->conn_table[cri_index] = NULL;
phba               16 drivers/scsi/be2iscsi/be_iscsi.h void beiscsi_iface_create_default(struct beiscsi_hba *phba);
phba               18 drivers/scsi/be2iscsi/be_iscsi.h void beiscsi_iface_destroy_default(struct beiscsi_hba *phba);
phba               32 drivers/scsi/be2iscsi/be_iscsi.h void beiscsi_offload_iscsi(struct beiscsi_hba *phba, struct iscsi_conn *conn,
phba               58 drivers/scsi/be2iscsi/be_iscsi.h int beiscsi_get_macaddr(char *buf, struct beiscsi_hba *phba);
phba               75 drivers/scsi/be2iscsi/be_main.c 	struct beiscsi_hba *phba = iscsi_host_priv(shost); \
phba               77 drivers/scsi/be2iscsi/be_main.c 			phba->attr_##_name);\
phba               82 drivers/scsi/be2iscsi/be_main.c beiscsi_##_name##_change(struct beiscsi_hba *phba, uint32_t val)\
phba               85 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,\
phba               88 drivers/scsi/be2iscsi/be_main.c 			    phba->attr_##_name, val); \
phba               89 drivers/scsi/be2iscsi/be_main.c 		phba->attr_##_name = val;\
phba               92 drivers/scsi/be2iscsi/be_main.c 	beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT, \
phba              106 drivers/scsi/be2iscsi/be_main.c 	struct beiscsi_hba *phba = iscsi_host_priv(shost);\
phba              112 drivers/scsi/be2iscsi/be_main.c 	if (beiscsi_##_name##_change(phba, param_val) == 0) \
phba              120 drivers/scsi/be2iscsi/be_main.c beiscsi_##_name##_init(struct beiscsi_hba *phba, uint32_t val) \
phba              123 drivers/scsi/be2iscsi/be_main.c 		phba->attr_##_name = val;\
phba              126 drivers/scsi/be2iscsi/be_main.c 	beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,\
phba              130 drivers/scsi/be2iscsi/be_main.c 	phba->attr_##_name = _defval;\
phba              225 drivers/scsi/be2iscsi/be_main.c 	struct beiscsi_hba *phba;
phba              243 drivers/scsi/be2iscsi/be_main.c 	phba = beiscsi_conn->phba;
phba              245 drivers/scsi/be2iscsi/be_main.c 	if (is_chip_be2_be3r(phba)) {
phba              256 drivers/scsi/be2iscsi/be_main.c 	rc = beiscsi_mgmt_invalidate_icds(phba, &inv_tbl, 1);
phba              259 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_WARNING, BEISCSI_LOG_EH,
phba              278 drivers/scsi/be2iscsi/be_main.c 	struct beiscsi_hba *phba;
phba              295 drivers/scsi/be2iscsi/be_main.c 	phba = beiscsi_conn->phba;
phba              300 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_EH,
phba              327 drivers/scsi/be2iscsi/be_main.c 		if (is_chip_be2_be3r(phba)) {
phba              348 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_EH,
phba              354 drivers/scsi/be2iscsi/be_main.c 	if (beiscsi_mgmt_invalidate_icds(phba, &inv_tbl->tbl[0], nents)) {
phba              355 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_WARNING, BEISCSI_LOG_EH,
phba              410 drivers/scsi/be2iscsi/be_main.c 	struct beiscsi_hba *phba;
phba              413 drivers/scsi/be2iscsi/be_main.c 	shost = iscsi_host_alloc(&beiscsi_sht, sizeof(*phba), 0);
phba              424 drivers/scsi/be2iscsi/be_main.c 	phba = iscsi_host_priv(shost);
phba              425 drivers/scsi/be2iscsi/be_main.c 	memset(phba, 0, sizeof(*phba));
phba              426 drivers/scsi/be2iscsi/be_main.c 	phba->shost = shost;
phba              427 drivers/scsi/be2iscsi/be_main.c 	phba->pcidev = pci_dev_get(pcidev);
phba              428 drivers/scsi/be2iscsi/be_main.c 	pci_set_drvdata(pcidev, phba);
phba              429 drivers/scsi/be2iscsi/be_main.c 	phba->interface_handle = 0xFFFFFFFF;
phba              431 drivers/scsi/be2iscsi/be_main.c 	return phba;
phba              434 drivers/scsi/be2iscsi/be_main.c static void beiscsi_unmap_pci_function(struct beiscsi_hba *phba)
phba              436 drivers/scsi/be2iscsi/be_main.c 	if (phba->csr_va) {
phba              437 drivers/scsi/be2iscsi/be_main.c 		iounmap(phba->csr_va);
phba              438 drivers/scsi/be2iscsi/be_main.c 		phba->csr_va = NULL;
phba              440 drivers/scsi/be2iscsi/be_main.c 	if (phba->db_va) {
phba              441 drivers/scsi/be2iscsi/be_main.c 		iounmap(phba->db_va);
phba              442 drivers/scsi/be2iscsi/be_main.c 		phba->db_va = NULL;
phba              444 drivers/scsi/be2iscsi/be_main.c 	if (phba->pci_va) {
phba              445 drivers/scsi/be2iscsi/be_main.c 		iounmap(phba->pci_va);
phba              446 drivers/scsi/be2iscsi/be_main.c 		phba->pci_va = NULL;
phba              450 drivers/scsi/be2iscsi/be_main.c static int beiscsi_map_pci_bars(struct beiscsi_hba *phba,
phba              460 drivers/scsi/be2iscsi/be_main.c 	phba->ctrl.csr = addr;
phba              461 drivers/scsi/be2iscsi/be_main.c 	phba->csr_va = addr;
phba              466 drivers/scsi/be2iscsi/be_main.c 	phba->ctrl.db = addr;
phba              467 drivers/scsi/be2iscsi/be_main.c 	phba->db_va = addr;
phba              469 drivers/scsi/be2iscsi/be_main.c 	if (phba->generation == BE_GEN2)
phba              479 drivers/scsi/be2iscsi/be_main.c 	phba->ctrl.pcicfg = addr;
phba              480 drivers/scsi/be2iscsi/be_main.c 	phba->pci_va = addr;
phba              484 drivers/scsi/be2iscsi/be_main.c 	beiscsi_unmap_pci_function(phba);
phba              525 drivers/scsi/be2iscsi/be_main.c static int be_ctrl_init(struct beiscsi_hba *phba, struct pci_dev *pdev)
phba              527 drivers/scsi/be2iscsi/be_main.c 	struct be_ctrl_info *ctrl = &phba->ctrl;
phba              533 drivers/scsi/be2iscsi/be_main.c 	status = beiscsi_map_pci_bars(phba, pdev);
phba              540 drivers/scsi/be2iscsi/be_main.c 		beiscsi_unmap_pci_function(phba);
phba              549 drivers/scsi/be2iscsi/be_main.c 	spin_lock_init(&phba->ctrl.mcc_lock);
phba              558 drivers/scsi/be2iscsi/be_main.c static void beiscsi_get_params(struct beiscsi_hba *phba)
phba              564 drivers/scsi/be2iscsi/be_main.c 	total_cid_count = BEISCSI_GET_CID_COUNT(phba, BEISCSI_ULP0) +
phba              565 drivers/scsi/be2iscsi/be_main.c 			  BEISCSI_GET_CID_COUNT(phba, BEISCSI_ULP1);
phba              574 drivers/scsi/be2iscsi/be_main.c 		if (test_bit(ulp_num, &phba->fw_config.ulp_supported)) {
phba              575 drivers/scsi/be2iscsi/be_main.c 			icd_start = phba->fw_config.iscsi_icd_start[ulp_num];
phba              576 drivers/scsi/be2iscsi/be_main.c 			icd_count = phba->fw_config.iscsi_icd_count[ulp_num];
phba              588 drivers/scsi/be2iscsi/be_main.c 				phba->fw_config.
phba              603 drivers/scsi/be2iscsi/be_main.c 			phba->fw_config.iscsi_icd_count[ulp_num] = (icd_count -
phba              606 drivers/scsi/be2iscsi/be_main.c 			beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_INIT,
phba              611 drivers/scsi/be2iscsi/be_main.c 					phba->fw_config.
phba              613 drivers/scsi/be2iscsi/be_main.c 					phba->fw_config.
phba              620 drivers/scsi/be2iscsi/be_main.c 	total_icd_count = phba->fw_config.iscsi_icd_count[ulp_num];
phba              621 drivers/scsi/be2iscsi/be_main.c 	phba->params.ios_per_ctrl = (total_icd_count -
phba              624 drivers/scsi/be2iscsi/be_main.c 	phba->params.cxns_per_ctrl = total_cid_count;
phba              625 drivers/scsi/be2iscsi/be_main.c 	phba->params.icds_per_ctrl = total_icd_count;
phba              626 drivers/scsi/be2iscsi/be_main.c 	phba->params.num_sge_per_io = BE2_SGE;
phba              627 drivers/scsi/be2iscsi/be_main.c 	phba->params.defpdu_hdr_sz = BE2_DEFPDU_HDR_SZ;
phba              628 drivers/scsi/be2iscsi/be_main.c 	phba->params.defpdu_data_sz = BE2_DEFPDU_DATA_SZ;
phba              629 drivers/scsi/be2iscsi/be_main.c 	phba->params.num_eq_entries = 1024;
phba              630 drivers/scsi/be2iscsi/be_main.c 	phba->params.num_cq_entries = 1024;
phba              631 drivers/scsi/be2iscsi/be_main.c 	phba->params.wrbs_per_cxn = 256;
phba              634 drivers/scsi/be2iscsi/be_main.c static void hwi_ring_eq_db(struct beiscsi_hba *phba,
phba              657 drivers/scsi/be2iscsi/be_main.c 	iowrite32(val, phba->db_va + DB_EQ_OFFSET);
phba              667 drivers/scsi/be2iscsi/be_main.c 	struct beiscsi_hba *phba;
phba              676 drivers/scsi/be2iscsi/be_main.c 	phba =  pbe_eq->phba;
phba              677 drivers/scsi/be2iscsi/be_main.c 	mcc = &phba->ctrl.mcc_obj.cq;
phba              694 drivers/scsi/be2iscsi/be_main.c 		queue_work(phba->wq, &pbe_eq->mcc_work);
phba              695 drivers/scsi/be2iscsi/be_main.c 		hwi_ring_eq_db(phba, eq->id, 1,	mcc_events, 1, 1);
phba              707 drivers/scsi/be2iscsi/be_main.c 	struct beiscsi_hba *phba;
phba              714 drivers/scsi/be2iscsi/be_main.c 	phba = pbe_eq->phba;
phba              716 drivers/scsi/be2iscsi/be_main.c 	hwi_ring_eq_db(phba, eq->id, 1,	0, 0, 1);
phba              729 drivers/scsi/be2iscsi/be_main.c 	struct beiscsi_hba *phba;
phba              740 drivers/scsi/be2iscsi/be_main.c 	phba = dev_id;
phba              741 drivers/scsi/be2iscsi/be_main.c 	ctrl = &phba->ctrl;
phba              747 drivers/scsi/be2iscsi/be_main.c 	phwi_ctrlr = phba->phwi_ctrlr;
phba              752 drivers/scsi/be2iscsi/be_main.c 	mcc = &phba->ctrl.mcc_obj.cq;
phba              774 drivers/scsi/be2iscsi/be_main.c 		queue_work(phba->wq, &pbe_eq->mcc_work);
phba              780 drivers/scsi/be2iscsi/be_main.c 	hwi_ring_eq_db(phba, eq->id, 0, (io_events + mcc_events), rearm, 1);
phba              784 drivers/scsi/be2iscsi/be_main.c static void beiscsi_free_irqs(struct beiscsi_hba *phba)
phba              789 drivers/scsi/be2iscsi/be_main.c 	if (!phba->pcidev->msix_enabled) {
phba              790 drivers/scsi/be2iscsi/be_main.c 		if (phba->pcidev->irq)
phba              791 drivers/scsi/be2iscsi/be_main.c 			free_irq(phba->pcidev->irq, phba);
phba              795 drivers/scsi/be2iscsi/be_main.c 	phwi_context = phba->phwi_ctrlr->phwi_ctxt;
phba              796 drivers/scsi/be2iscsi/be_main.c 	for (i = 0; i <= phba->num_cpus; i++) {
phba              797 drivers/scsi/be2iscsi/be_main.c 		free_irq(pci_irq_vector(phba->pcidev, i),
phba              799 drivers/scsi/be2iscsi/be_main.c 		kfree(phba->msi_name[i]);
phba              803 drivers/scsi/be2iscsi/be_main.c static int beiscsi_init_irqs(struct beiscsi_hba *phba)
phba              805 drivers/scsi/be2iscsi/be_main.c 	struct pci_dev *pcidev = phba->pcidev;
phba              810 drivers/scsi/be2iscsi/be_main.c 	phwi_ctrlr = phba->phwi_ctrlr;
phba              814 drivers/scsi/be2iscsi/be_main.c 		for (i = 0; i < phba->num_cpus; i++) {
phba              815 drivers/scsi/be2iscsi/be_main.c 			phba->msi_name[i] = kasprintf(GFP_KERNEL,
phba              817 drivers/scsi/be2iscsi/be_main.c 						      phba->shost->host_no, i);
phba              818 drivers/scsi/be2iscsi/be_main.c 			if (!phba->msi_name[i]) {
phba              824 drivers/scsi/be2iscsi/be_main.c 					  be_isr_msix, 0, phba->msi_name[i],
phba              827 drivers/scsi/be2iscsi/be_main.c 				beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba              831 drivers/scsi/be2iscsi/be_main.c 				kfree(phba->msi_name[i]);
phba              835 drivers/scsi/be2iscsi/be_main.c 		phba->msi_name[i] = kasprintf(GFP_KERNEL, "beiscsi_mcc_%02x",
phba              836 drivers/scsi/be2iscsi/be_main.c 					      phba->shost->host_no);
phba              837 drivers/scsi/be2iscsi/be_main.c 		if (!phba->msi_name[i]) {
phba              842 drivers/scsi/be2iscsi/be_main.c 				  phba->msi_name[i], &phwi_context->be_eq[i]);
phba              844 drivers/scsi/be2iscsi/be_main.c 			beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT ,
phba              847 drivers/scsi/be2iscsi/be_main.c 			kfree(phba->msi_name[i]);
phba              853 drivers/scsi/be2iscsi/be_main.c 				  "beiscsi", phba);
phba              855 drivers/scsi/be2iscsi/be_main.c 			beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba              865 drivers/scsi/be2iscsi/be_main.c 		kfree(phba->msi_name[j]);
phba              870 drivers/scsi/be2iscsi/be_main.c void hwi_ring_cq_db(struct beiscsi_hba *phba,
phba              889 drivers/scsi/be2iscsi/be_main.c 	iowrite32(val, phba->db_va + DB_CQ_OFFSET);
phba              892 drivers/scsi/be2iscsi/be_main.c static struct sgl_handle *alloc_io_sgl_handle(struct beiscsi_hba *phba)
phba              897 drivers/scsi/be2iscsi/be_main.c 	spin_lock_irqsave(&phba->io_sgl_lock, flags);
phba              898 drivers/scsi/be2iscsi/be_main.c 	if (phba->io_sgl_hndl_avbl) {
phba              899 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_IO,
phba              902 drivers/scsi/be2iscsi/be_main.c 			    phba->io_sgl_alloc_index);
phba              904 drivers/scsi/be2iscsi/be_main.c 		psgl_handle = phba->io_sgl_hndl_base[phba->
phba              906 drivers/scsi/be2iscsi/be_main.c 		phba->io_sgl_hndl_base[phba->io_sgl_alloc_index] = NULL;
phba              907 drivers/scsi/be2iscsi/be_main.c 		phba->io_sgl_hndl_avbl--;
phba              908 drivers/scsi/be2iscsi/be_main.c 		if (phba->io_sgl_alloc_index == (phba->params.
phba              910 drivers/scsi/be2iscsi/be_main.c 			phba->io_sgl_alloc_index = 0;
phba              912 drivers/scsi/be2iscsi/be_main.c 			phba->io_sgl_alloc_index++;
phba              915 drivers/scsi/be2iscsi/be_main.c 	spin_unlock_irqrestore(&phba->io_sgl_lock, flags);
phba              920 drivers/scsi/be2iscsi/be_main.c free_io_sgl_handle(struct beiscsi_hba *phba, struct sgl_handle *psgl_handle)
phba              924 drivers/scsi/be2iscsi/be_main.c 	spin_lock_irqsave(&phba->io_sgl_lock, flags);
phba              925 drivers/scsi/be2iscsi/be_main.c 	beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_IO,
phba              927 drivers/scsi/be2iscsi/be_main.c 		    phba->io_sgl_free_index);
phba              929 drivers/scsi/be2iscsi/be_main.c 	if (phba->io_sgl_hndl_base[phba->io_sgl_free_index]) {
phba              934 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_IO,
phba              936 drivers/scsi/be2iscsi/be_main.c 			    phba->io_sgl_free_index,
phba              937 drivers/scsi/be2iscsi/be_main.c 			    phba->io_sgl_hndl_base[phba->io_sgl_free_index]);
phba              938 drivers/scsi/be2iscsi/be_main.c 		spin_unlock_irqrestore(&phba->io_sgl_lock, flags);
phba              941 drivers/scsi/be2iscsi/be_main.c 	phba->io_sgl_hndl_base[phba->io_sgl_free_index] = psgl_handle;
phba              942 drivers/scsi/be2iscsi/be_main.c 	phba->io_sgl_hndl_avbl++;
phba              943 drivers/scsi/be2iscsi/be_main.c 	if (phba->io_sgl_free_index == (phba->params.ios_per_ctrl - 1))
phba              944 drivers/scsi/be2iscsi/be_main.c 		phba->io_sgl_free_index = 0;
phba              946 drivers/scsi/be2iscsi/be_main.c 		phba->io_sgl_free_index++;
phba              947 drivers/scsi/be2iscsi/be_main.c 	spin_unlock_irqrestore(&phba->io_sgl_lock, flags);
phba              984 drivers/scsi/be2iscsi/be_main.c struct wrb_handle *alloc_wrb_handle(struct beiscsi_hba *phba, unsigned int cid,
phba              991 drivers/scsi/be2iscsi/be_main.c 	phwi_ctrlr = phba->phwi_ctrlr;
phba              995 drivers/scsi/be2iscsi/be_main.c 	return beiscsi_get_wrb_handle(pwrb_context, phba->params.wrbs_per_cxn);
phba             1025 drivers/scsi/be2iscsi/be_main.c free_wrb_handle(struct beiscsi_hba *phba, struct hwi_wrb_context *pwrb_context,
phba             1030 drivers/scsi/be2iscsi/be_main.c 			       phba->params.wrbs_per_cxn);
phba             1031 drivers/scsi/be2iscsi/be_main.c 	beiscsi_log(phba, KERN_INFO,
phba             1039 drivers/scsi/be2iscsi/be_main.c static struct sgl_handle *alloc_mgmt_sgl_handle(struct beiscsi_hba *phba)
phba             1044 drivers/scsi/be2iscsi/be_main.c 	spin_lock_irqsave(&phba->mgmt_sgl_lock, flags);
phba             1045 drivers/scsi/be2iscsi/be_main.c 	if (phba->eh_sgl_hndl_avbl) {
phba             1046 drivers/scsi/be2iscsi/be_main.c 		psgl_handle = phba->eh_sgl_hndl_base[phba->eh_sgl_alloc_index];
phba             1047 drivers/scsi/be2iscsi/be_main.c 		phba->eh_sgl_hndl_base[phba->eh_sgl_alloc_index] = NULL;
phba             1048 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_CONFIG,
phba             1050 drivers/scsi/be2iscsi/be_main.c 			    phba->eh_sgl_alloc_index,
phba             1051 drivers/scsi/be2iscsi/be_main.c 			    phba->eh_sgl_alloc_index);
phba             1053 drivers/scsi/be2iscsi/be_main.c 		phba->eh_sgl_hndl_avbl--;
phba             1054 drivers/scsi/be2iscsi/be_main.c 		if (phba->eh_sgl_alloc_index ==
phba             1055 drivers/scsi/be2iscsi/be_main.c 		    (phba->params.icds_per_ctrl - phba->params.ios_per_ctrl -
phba             1057 drivers/scsi/be2iscsi/be_main.c 			phba->eh_sgl_alloc_index = 0;
phba             1059 drivers/scsi/be2iscsi/be_main.c 			phba->eh_sgl_alloc_index++;
phba             1062 drivers/scsi/be2iscsi/be_main.c 	spin_unlock_irqrestore(&phba->mgmt_sgl_lock, flags);
phba             1067 drivers/scsi/be2iscsi/be_main.c free_mgmt_sgl_handle(struct beiscsi_hba *phba, struct sgl_handle *psgl_handle)
phba             1071 drivers/scsi/be2iscsi/be_main.c 	spin_lock_irqsave(&phba->mgmt_sgl_lock, flags);
phba             1072 drivers/scsi/be2iscsi/be_main.c 	beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_CONFIG,
phba             1075 drivers/scsi/be2iscsi/be_main.c 		    phba->eh_sgl_free_index);
phba             1077 drivers/scsi/be2iscsi/be_main.c 	if (phba->eh_sgl_hndl_base[phba->eh_sgl_free_index]) {
phba             1082 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_WARNING, BEISCSI_LOG_CONFIG,
phba             1085 drivers/scsi/be2iscsi/be_main.c 			    phba->eh_sgl_free_index);
phba             1086 drivers/scsi/be2iscsi/be_main.c 		spin_unlock_irqrestore(&phba->mgmt_sgl_lock, flags);
phba             1089 drivers/scsi/be2iscsi/be_main.c 	phba->eh_sgl_hndl_base[phba->eh_sgl_free_index] = psgl_handle;
phba             1090 drivers/scsi/be2iscsi/be_main.c 	phba->eh_sgl_hndl_avbl++;
phba             1091 drivers/scsi/be2iscsi/be_main.c 	if (phba->eh_sgl_free_index ==
phba             1092 drivers/scsi/be2iscsi/be_main.c 	    (phba->params.icds_per_ctrl - phba->params.ios_per_ctrl - 1))
phba             1093 drivers/scsi/be2iscsi/be_main.c 		phba->eh_sgl_free_index = 0;
phba             1095 drivers/scsi/be2iscsi/be_main.c 		phba->eh_sgl_free_index++;
phba             1096 drivers/scsi/be2iscsi/be_main.c 	spin_unlock_irqrestore(&phba->mgmt_sgl_lock, flags);
phba             1217 drivers/scsi/be2iscsi/be_main.c 		       struct beiscsi_hba *phba, struct sol_cqe *psol)
phba             1226 drivers/scsi/be2iscsi/be_main.c 	phwi_ctrlr = phba->phwi_ctrlr;
phba             1227 drivers/scsi/be2iscsi/be_main.c 	if (is_chip_be2_be3r(phba)) {
phba             1270 drivers/scsi/be2iscsi/be_main.c static void adapter_get_sol_cqe(struct beiscsi_hba *phba,
phba             1274 drivers/scsi/be2iscsi/be_main.c 	if (is_chip_be2_be3r(phba)) {
phba             1325 drivers/scsi/be2iscsi/be_main.c 			     struct beiscsi_hba *phba, struct sol_cqe *psol)
phba             1337 drivers/scsi/be2iscsi/be_main.c 	phwi_ctrlr = phba->phwi_ctrlr;
phba             1340 drivers/scsi/be2iscsi/be_main.c 	adapter_get_sol_cqe(phba, psol, &csol_cqe);
phba             1374 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_ERR,
phba             1385 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_WARNING,
phba             1410 drivers/scsi/be2iscsi/be_main.c 	struct beiscsi_hba *phba = beiscsi_conn->phba;
phba             1428 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_ERR,
phba             1440 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_WARNING,
phba             1461 drivers/scsi/be2iscsi/be_main.c beiscsi_hdl_purge_handles(struct beiscsi_hba *phba,
phba             1484 drivers/scsi/be2iscsi/be_main.c 	struct beiscsi_hba *phba = beiscsi_conn->phba;
phba             1501 drivers/scsi/be2iscsi/be_main.c 	if (is_chip_be2_be3r(phba)) {
phba             1548 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_ISCSI,
phba             1567 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_ISCSI,
phba             1570 drivers/scsi/be2iscsi/be_main.c 		beiscsi_hdl_purge_handles(phba, pasync_ctx, cri);
phba             1593 drivers/scsi/be2iscsi/be_main.c 	struct beiscsi_hba *phba = beiscsi_conn->phba;
phba             1624 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_ISCSI,
phba             1635 drivers/scsi/be2iscsi/be_main.c 	beiscsi_hdl_purge_handles(phba, pasync_ctx, cri);
phba             1647 drivers/scsi/be2iscsi/be_main.c 	struct beiscsi_hba *phba;
phba             1651 drivers/scsi/be2iscsi/be_main.c 	phba = beiscsi_conn->phba;
phba             1692 drivers/scsi/be2iscsi/be_main.c 	beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_ISCSI,
phba             1701 drivers/scsi/be2iscsi/be_main.c 	beiscsi_hdl_purge_handles(phba, pasync_ctx, cri);
phba             1707 drivers/scsi/be2iscsi/be_main.c beiscsi_hdq_post_handles(struct beiscsi_hba *phba,
phba             1718 drivers/scsi/be2iscsi/be_main.c 	phwi_ctrlr = phba->phwi_ctrlr;
phba             1760 drivers/scsi/be2iscsi/be_main.c 	iowrite32(doorbell, phba->db_va + doorbell_offset);
phba             1767 drivers/scsi/be2iscsi/be_main.c 	struct beiscsi_hba *phba = beiscsi_conn->phba;
phba             1774 drivers/scsi/be2iscsi/be_main.c 	phwi_ctrlr = phba->phwi_ctrlr;
phba             1780 drivers/scsi/be2iscsi/be_main.c 	if (is_chip_be2_be3r(phba))
phba             1790 drivers/scsi/be2iscsi/be_main.c 		beiscsi_hdq_post_handles(phba, header, ulp_num, 8 * consumed);
phba             1793 drivers/scsi/be2iscsi/be_main.c void beiscsi_process_mcc_cq(struct beiscsi_hba *phba)
phba             1799 drivers/scsi/be2iscsi/be_main.c 	mcc_cq = &phba->ctrl.mcc_obj.cq;
phba             1803 drivers/scsi/be2iscsi/be_main.c 		if (beiscsi_hba_in_error(phba))
phba             1807 drivers/scsi/be2iscsi/be_main.c 			hwi_ring_cq_db(phba, mcc_cq->id,
phba             1812 drivers/scsi/be2iscsi/be_main.c 			beiscsi_process_async_event(phba, mcc_compl);
phba             1814 drivers/scsi/be2iscsi/be_main.c 			beiscsi_process_mcc_compl(&phba->ctrl, mcc_compl);
phba             1825 drivers/scsi/be2iscsi/be_main.c 		hwi_ring_cq_db(phba, mcc_cq->id, num_processed, 1);
phba             1831 drivers/scsi/be2iscsi/be_main.c 	struct beiscsi_hba *phba;
phba             1834 drivers/scsi/be2iscsi/be_main.c 	phba = pbe_eq->phba;
phba             1835 drivers/scsi/be2iscsi/be_main.c 	beiscsi_process_mcc_cq(phba);
phba             1837 drivers/scsi/be2iscsi/be_main.c 	if (!beiscsi_hba_in_error(phba))
phba             1838 drivers/scsi/be2iscsi/be_main.c 		hwi_ring_eq_db(phba, pbe_eq->q.id, 0, 0, 1, 1);
phba             1860 drivers/scsi/be2iscsi/be_main.c 	struct beiscsi_hba *phba;
phba             1864 drivers/scsi/be2iscsi/be_main.c 	phba = pbe_eq->phba;
phba             1868 drivers/scsi/be2iscsi/be_main.c 		if (beiscsi_hba_in_error(phba))
phba             1877 drivers/scsi/be2iscsi/be_main.c 		if (is_chip_be2_be3r(phba)) {
phba             1892 drivers/scsi/be2iscsi/be_main.c 		ep = phba->ep_array[cri_index];
phba             1898 drivers/scsi/be2iscsi/be_main.c 			beiscsi_log(phba, KERN_WARNING,
phba             1910 drivers/scsi/be2iscsi/be_main.c 			hwi_ring_cq_db(phba, cq->id, 32, 0);
phba             1917 drivers/scsi/be2iscsi/be_main.c 			hwi_complete_cmd(beiscsi_conn, phba, sol);
phba             1920 drivers/scsi/be2iscsi/be_main.c 			beiscsi_log(phba, KERN_INFO,
phba             1925 drivers/scsi/be2iscsi/be_main.c 			hwi_complete_drvr_msgs(beiscsi_conn, phba, sol);
phba             1928 drivers/scsi/be2iscsi/be_main.c 			beiscsi_log(phba, KERN_INFO,
phba             1933 drivers/scsi/be2iscsi/be_main.c 			spin_lock_bh(&phba->async_pdu_lock);
phba             1936 drivers/scsi/be2iscsi/be_main.c 			spin_unlock_bh(&phba->async_pdu_lock);
phba             1939 drivers/scsi/be2iscsi/be_main.c 			beiscsi_log(phba, KERN_INFO,
phba             1944 drivers/scsi/be2iscsi/be_main.c 			spin_lock_bh(&phba->async_pdu_lock);
phba             1947 drivers/scsi/be2iscsi/be_main.c 			spin_unlock_bh(&phba->async_pdu_lock);
phba             1952 drivers/scsi/be2iscsi/be_main.c 			beiscsi_log(phba, KERN_ERR,
phba             1959 drivers/scsi/be2iscsi/be_main.c 			beiscsi_log(phba, KERN_ERR,
phba             1971 drivers/scsi/be2iscsi/be_main.c 			beiscsi_log(phba, KERN_ERR,
phba             1977 drivers/scsi/be2iscsi/be_main.c 			beiscsi_log(phba, KERN_ERR,
phba             1981 drivers/scsi/be2iscsi/be_main.c 			spin_lock_bh(&phba->async_pdu_lock);
phba             1985 drivers/scsi/be2iscsi/be_main.c 			spin_unlock_bh(&phba->async_pdu_lock);
phba             2002 drivers/scsi/be2iscsi/be_main.c 			beiscsi_log(phba, KERN_ERR,
phba             2011 drivers/scsi/be2iscsi/be_main.c 			beiscsi_log(phba, KERN_ERR,
phba             2028 drivers/scsi/be2iscsi/be_main.c 	hwi_ring_cq_db(phba, cq->id, num_processed, 1);
phba             2035 drivers/scsi/be2iscsi/be_main.c 	struct beiscsi_hba *phba;
phba             2041 drivers/scsi/be2iscsi/be_main.c 	phba = pbe_eq->phba;
phba             2042 drivers/scsi/be2iscsi/be_main.c 	if (beiscsi_hba_in_error(phba)) {
phba             2057 drivers/scsi/be2iscsi/be_main.c 	hwi_ring_eq_db(phba, eq->id, 1, io_events, 0, 1);
phba             2063 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_INFO,
phba             2067 drivers/scsi/be2iscsi/be_main.c 		if (!beiscsi_hba_in_error(phba))
phba             2068 drivers/scsi/be2iscsi/be_main.c 			hwi_ring_eq_db(phba, pbe_eq->q.id, 0, 0, 1, 1);
phba             2266 drivers/scsi/be2iscsi/be_main.c 	struct beiscsi_hba *phba = beiscsi_conn->phba;
phba             2280 drivers/scsi/be2iscsi/be_main.c 		if (is_chip_be2_be3r(phba))
phba             2289 drivers/scsi/be2iscsi/be_main.c 			io_task->mtask_addr = dma_map_single(&phba->pcidev->dev,
phba             2293 drivers/scsi/be2iscsi/be_main.c 			if (dma_mapping_error(&phba->pcidev->dev,
phba             2347 drivers/scsi/be2iscsi/be_main.c static void beiscsi_find_mem_req(struct beiscsi_hba *phba)
phba             2354 drivers/scsi/be2iscsi/be_main.c 	phba->params.hwi_ws_sz = sizeof(struct hwi_controller);
phba             2356 drivers/scsi/be2iscsi/be_main.c 	phba->mem_req[ISCSI_MEM_GLOBAL_HEADER] = 2 *
phba             2358 drivers/scsi/be2iscsi/be_main.c 	phba->mem_req[HWI_MEM_ADDN_CONTEXT] =
phba             2362 drivers/scsi/be2iscsi/be_main.c 	phba->mem_req[HWI_MEM_WRB] = sizeof(struct iscsi_wrb)
phba             2363 drivers/scsi/be2iscsi/be_main.c 	    * (phba->params.wrbs_per_cxn)
phba             2364 drivers/scsi/be2iscsi/be_main.c 	    * phba->params.cxns_per_ctrl;
phba             2366 drivers/scsi/be2iscsi/be_main.c 				 (phba->params.wrbs_per_cxn);
phba             2367 drivers/scsi/be2iscsi/be_main.c 	phba->mem_req[HWI_MEM_WRBH] = roundup_pow_of_two((wrb_sz_per_cxn) *
phba             2368 drivers/scsi/be2iscsi/be_main.c 				phba->params.cxns_per_ctrl);
phba             2370 drivers/scsi/be2iscsi/be_main.c 	phba->mem_req[HWI_MEM_SGLH] = sizeof(struct sgl_handle) *
phba             2371 drivers/scsi/be2iscsi/be_main.c 		phba->params.icds_per_ctrl;
phba             2372 drivers/scsi/be2iscsi/be_main.c 	phba->mem_req[HWI_MEM_SGE] = sizeof(struct iscsi_sge) *
phba             2373 drivers/scsi/be2iscsi/be_main.c 		phba->params.num_sge_per_io * phba->params.icds_per_ctrl;
phba             2375 drivers/scsi/be2iscsi/be_main.c 		if (test_bit(ulp_num, &phba->fw_config.ulp_supported)) {
phba             2379 drivers/scsi/be2iscsi/be_main.c 					       phba, ulp_num) *
phba             2384 drivers/scsi/be2iscsi/be_main.c 					       phba, ulp_num) *
phba             2385 drivers/scsi/be2iscsi/be_main.c 					       phba->params.defpdu_hdr_sz);
phba             2389 drivers/scsi/be2iscsi/be_main.c 					       phba, ulp_num) *
phba             2390 drivers/scsi/be2iscsi/be_main.c 					       phba->params.defpdu_data_sz);
phba             2394 drivers/scsi/be2iscsi/be_main.c 					       phba, ulp_num) *
phba             2399 drivers/scsi/be2iscsi/be_main.c 			phba->mem_req[mem_descr_index] =
phba             2400 drivers/scsi/be2iscsi/be_main.c 					BEISCSI_GET_CID_COUNT(phba, ulp_num) *
phba             2405 drivers/scsi/be2iscsi/be_main.c 			phba->mem_req[mem_descr_index] =
phba             2411 drivers/scsi/be2iscsi/be_main.c 			phba->mem_req[mem_descr_index] =
phba             2417 drivers/scsi/be2iscsi/be_main.c 			phba->mem_req[mem_descr_index] =
phba             2423 drivers/scsi/be2iscsi/be_main.c 			phba->mem_req[mem_descr_index] =
phba             2429 drivers/scsi/be2iscsi/be_main.c 			phba->mem_req[mem_descr_index] =
phba             2430 drivers/scsi/be2iscsi/be_main.c 				BEISCSI_ASYNC_HDQ_SIZE(phba, ulp_num) *
phba             2435 drivers/scsi/be2iscsi/be_main.c 			phba->mem_req[mem_descr_index] =
phba             2436 drivers/scsi/be2iscsi/be_main.c 				BEISCSI_ASYNC_HDQ_SIZE(phba, ulp_num) *
phba             2441 drivers/scsi/be2iscsi/be_main.c 			phba->mem_req[mem_descr_index] =
phba             2443 drivers/scsi/be2iscsi/be_main.c 				(BEISCSI_ASYNC_HDQ_SIZE(phba, ulp_num) *
phba             2449 drivers/scsi/be2iscsi/be_main.c static int beiscsi_alloc_mem(struct beiscsi_hba *phba)
phba             2457 drivers/scsi/be2iscsi/be_main.c 	phba->phwi_ctrlr = kzalloc(phba->params.hwi_ws_sz, GFP_KERNEL);
phba             2458 drivers/scsi/be2iscsi/be_main.c 	if (!phba->phwi_ctrlr)
phba             2462 drivers/scsi/be2iscsi/be_main.c 	phwi_ctrlr = phba->phwi_ctrlr;
phba             2463 drivers/scsi/be2iscsi/be_main.c 	phwi_ctrlr->wrb_context = kcalloc(phba->params.cxns_per_ctrl,
phba             2467 drivers/scsi/be2iscsi/be_main.c 		kfree(phba->phwi_ctrlr);
phba             2471 drivers/scsi/be2iscsi/be_main.c 	phba->init_mem = kcalloc(SE_MEM_MAX, sizeof(*mem_descr),
phba             2473 drivers/scsi/be2iscsi/be_main.c 	if (!phba->init_mem) {
phba             2475 drivers/scsi/be2iscsi/be_main.c 		kfree(phba->phwi_ctrlr);
phba             2483 drivers/scsi/be2iscsi/be_main.c 		kfree(phba->init_mem);
phba             2485 drivers/scsi/be2iscsi/be_main.c 		kfree(phba->phwi_ctrlr);
phba             2489 drivers/scsi/be2iscsi/be_main.c 	mem_descr = phba->init_mem;
phba             2491 drivers/scsi/be2iscsi/be_main.c 		if (!phba->mem_req[i]) {
phba             2499 drivers/scsi/be2iscsi/be_main.c 		alloc_size = phba->mem_req[i];
phba             2505 drivers/scsi/be2iscsi/be_main.c 				dma_alloc_coherent(&phba->pcidev->dev,
phba             2528 drivers/scsi/be2iscsi/be_main.c 		mem_descr->size_in_bytes = phba->mem_req[i];
phba             2544 drivers/scsi/be2iscsi/be_main.c 			dma_free_coherent(&phba->pcidev->dev,
phba             2559 drivers/scsi/be2iscsi/be_main.c 	kfree(phba->init_mem);
phba             2560 drivers/scsi/be2iscsi/be_main.c 	kfree(phba->phwi_ctrlr->wrb_context);
phba             2561 drivers/scsi/be2iscsi/be_main.c 	kfree(phba->phwi_ctrlr);
phba             2565 drivers/scsi/be2iscsi/be_main.c static int beiscsi_get_memory(struct beiscsi_hba *phba)
phba             2567 drivers/scsi/be2iscsi/be_main.c 	beiscsi_find_mem_req(phba);
phba             2568 drivers/scsi/be2iscsi/be_main.c 	return beiscsi_alloc_mem(phba);
phba             2571 drivers/scsi/be2iscsi/be_main.c static void iscsi_init_global_templates(struct beiscsi_hba *phba)
phba             2577 drivers/scsi/be2iscsi/be_main.c 	mem_descr = phba->init_mem;
phba             2596 drivers/scsi/be2iscsi/be_main.c static int beiscsi_init_wrb_handle(struct beiscsi_hba *phba)
phba             2607 drivers/scsi/be2iscsi/be_main.c 	mem_descr_wrbh = phba->init_mem;
phba             2610 drivers/scsi/be2iscsi/be_main.c 	mem_descr_wrb = phba->init_mem;
phba             2612 drivers/scsi/be2iscsi/be_main.c 	phwi_ctrlr = phba->phwi_ctrlr;
phba             2616 drivers/scsi/be2iscsi/be_main.c 	phwi_ctxt->be_wrbq = kcalloc(phba->params.cxns_per_ctrl,
phba             2620 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             2625 drivers/scsi/be2iscsi/be_main.c 	for (index = 0; index < phba->params.cxns_per_ctrl; index++) {
phba             2628 drivers/scsi/be2iscsi/be_main.c 				kcalloc(phba->params.wrbs_per_cxn,
phba             2632 drivers/scsi/be2iscsi/be_main.c 			beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             2637 drivers/scsi/be2iscsi/be_main.c 				kcalloc(phba->params.wrbs_per_cxn,
phba             2641 drivers/scsi/be2iscsi/be_main.c 			beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             2650 drivers/scsi/be2iscsi/be_main.c 					 phba->params.wrbs_per_cxn));
phba             2658 drivers/scsi/be2iscsi/be_main.c 			for (j = 0; j < phba->params.wrbs_per_cxn; j++) {
phba             2671 drivers/scsi/be2iscsi/be_main.c 	for (index = 0; index < phba->params.cxns_per_ctrl; index++) {
phba             2677 drivers/scsi/be2iscsi/be_main.c 				  phba->params.wrbs_per_cxn));
phba             2682 drivers/scsi/be2iscsi/be_main.c 			for (j = 0; j < phba->params.wrbs_per_cxn; j++) {
phba             2700 drivers/scsi/be2iscsi/be_main.c static int hwi_init_async_pdu_ctx(struct beiscsi_hba *phba)
phba             2704 drivers/scsi/be2iscsi/be_main.c 	struct hba_parameters *p = &phba->params;
phba             2711 drivers/scsi/be2iscsi/be_main.c 		if (test_bit(ulp_num, &phba->fw_config.ulp_supported)) {
phba             2713 drivers/scsi/be2iscsi/be_main.c 			mem_descr = (struct be_mem_descriptor *)phba->init_mem;
phba             2717 drivers/scsi/be2iscsi/be_main.c 			phwi_ctrlr = phba->phwi_ctrlr;
phba             2730 drivers/scsi/be2iscsi/be_main.c 			pasync_ctx->num_entries = BEISCSI_ASYNC_HDQ_SIZE(phba,
phba             2733 drivers/scsi/be2iscsi/be_main.c 			mem_descr = (struct be_mem_descriptor *)phba->init_mem;
phba             2737 drivers/scsi/be2iscsi/be_main.c 				beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_INIT,
phba             2744 drivers/scsi/be2iscsi/be_main.c 				beiscsi_log(phba, KERN_WARNING,
phba             2759 drivers/scsi/be2iscsi/be_main.c 			mem_descr = (struct be_mem_descriptor *)phba->init_mem;
phba             2763 drivers/scsi/be2iscsi/be_main.c 				beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_INIT,
phba             2770 drivers/scsi/be2iscsi/be_main.c 				beiscsi_log(phba, KERN_WARNING,
phba             2779 drivers/scsi/be2iscsi/be_main.c 			mem_descr = (struct be_mem_descriptor *)phba->init_mem;
phba             2783 drivers/scsi/be2iscsi/be_main.c 				beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_INIT,
phba             2790 drivers/scsi/be2iscsi/be_main.c 				beiscsi_log(phba, KERN_WARNING,
phba             2799 drivers/scsi/be2iscsi/be_main.c 			mem_descr = (struct be_mem_descriptor *)phba->init_mem;
phba             2803 drivers/scsi/be2iscsi/be_main.c 				beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_INIT,
phba             2810 drivers/scsi/be2iscsi/be_main.c 				beiscsi_log(phba, KERN_WARNING,
phba             2819 drivers/scsi/be2iscsi/be_main.c 			mem_descr = (struct be_mem_descriptor *)phba->init_mem;
phba             2823 drivers/scsi/be2iscsi/be_main.c 				beiscsi_log(phba, KERN_WARNING,
phba             2839 drivers/scsi/be2iscsi/be_main.c 			mem_descr = (struct be_mem_descriptor *)phba->init_mem;
phba             2843 drivers/scsi/be2iscsi/be_main.c 				beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_INIT,
phba             2850 drivers/scsi/be2iscsi/be_main.c 				beiscsi_log(phba, KERN_WARNING,
phba             2865 drivers/scsi/be2iscsi/be_main.c 					phba->params.defpdu_data_sz);
phba             2869 drivers/scsi/be2iscsi/be_main.c 					(phba, ulp_num); index++) {
phba             2908 drivers/scsi/be2iscsi/be_main.c 						 phba->params.defpdu_data_sz);
phba             2955 drivers/scsi/be2iscsi/be_main.c hwi_build_be_sgl_arr(struct beiscsi_hba *phba,
phba             2967 drivers/scsi/be2iscsi/be_main.c hwi_build_be_sgl_by_offset(struct beiscsi_hba *phba,
phba             2994 drivers/scsi/be2iscsi/be_main.c static int beiscsi_create_eqs(struct beiscsi_hba *phba,
phba             3004 drivers/scsi/be2iscsi/be_main.c 	num_eq_pages = PAGES_REQUIRED(phba->params.num_eq_entries * \
phba             3007 drivers/scsi/be2iscsi/be_main.c 	if (phba->pcidev->msix_enabled)
phba             3011 drivers/scsi/be2iscsi/be_main.c 	for (i = 0; i < (phba->num_cpus + eq_for_mcc); i++) {
phba             3014 drivers/scsi/be2iscsi/be_main.c 		phwi_context->be_eq[i].phba = phba;
phba             3015 drivers/scsi/be2iscsi/be_main.c 		eq_vaddress = dma_alloc_coherent(&phba->pcidev->dev,
phba             3024 drivers/scsi/be2iscsi/be_main.c 		ret = be_fill_queue(eq, phba->params.num_eq_entries,
phba             3027 drivers/scsi/be2iscsi/be_main.c 			beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             3033 drivers/scsi/be2iscsi/be_main.c 		ret = beiscsi_cmd_eq_create(&phba->ctrl, eq,
phba             3036 drivers/scsi/be2iscsi/be_main.c 			beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             3042 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_INIT,
phba             3049 drivers/scsi/be2iscsi/be_main.c 	for (i = 0; i < (phba->num_cpus + eq_for_mcc); i++) {
phba             3053 drivers/scsi/be2iscsi/be_main.c 			dma_free_coherent(&phba->pcidev->dev, num_eq_pages
phba             3060 drivers/scsi/be2iscsi/be_main.c static int beiscsi_create_cqs(struct beiscsi_hba *phba,
phba             3071 drivers/scsi/be2iscsi/be_main.c 	num_cq_pages = PAGES_REQUIRED(phba->params.num_cq_entries * \
phba             3074 drivers/scsi/be2iscsi/be_main.c 	for (i = 0; i < phba->num_cpus; i++) {
phba             3079 drivers/scsi/be2iscsi/be_main.c 		pbe_eq->phba = phba;
phba             3081 drivers/scsi/be2iscsi/be_main.c 		cq_vaddress = dma_alloc_coherent(&phba->pcidev->dev,
phba             3089 drivers/scsi/be2iscsi/be_main.c 		ret = be_fill_queue(cq, phba->params.num_cq_entries,
phba             3092 drivers/scsi/be2iscsi/be_main.c 			beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             3099 drivers/scsi/be2iscsi/be_main.c 		ret = beiscsi_cmd_cq_create(&phba->ctrl, cq, eq, false,
phba             3102 drivers/scsi/be2iscsi/be_main.c 			beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             3107 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_INIT,
phba             3114 drivers/scsi/be2iscsi/be_main.c 	for (i = 0; i < phba->num_cpus; i++) {
phba             3118 drivers/scsi/be2iscsi/be_main.c 			dma_free_coherent(&phba->pcidev->dev, num_cq_pages
phba             3126 drivers/scsi/be2iscsi/be_main.c beiscsi_create_def_hdr(struct beiscsi_hba *phba,
phba             3142 drivers/scsi/be2iscsi/be_main.c 	mem_descr = phba->init_mem;
phba             3150 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             3158 drivers/scsi/be2iscsi/be_main.c 	ret = be_cmd_create_default_pdu_queue(&phba->ctrl, cq, dq,
phba             3160 drivers/scsi/be2iscsi/be_main.c 					      phba->params.defpdu_hdr_sz,
phba             3163 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             3170 drivers/scsi/be2iscsi/be_main.c 	beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_INIT,
phba             3178 drivers/scsi/be2iscsi/be_main.c beiscsi_create_def_data(struct beiscsi_hba *phba,
phba             3194 drivers/scsi/be2iscsi/be_main.c 	mem_descr = phba->init_mem;
phba             3202 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             3211 drivers/scsi/be2iscsi/be_main.c 	ret = be_cmd_create_default_pdu_queue(&phba->ctrl, cq, dataq,
phba             3213 drivers/scsi/be2iscsi/be_main.c 					      phba->params.defpdu_data_sz,
phba             3216 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             3223 drivers/scsi/be2iscsi/be_main.c 	beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_INIT,
phba             3228 drivers/scsi/be2iscsi/be_main.c 	beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_INIT,
phba             3236 drivers/scsi/be2iscsi/be_main.c beiscsi_post_template_hdr(struct beiscsi_hba *phba)
phba             3244 drivers/scsi/be2iscsi/be_main.c 		if (test_bit(ulp_num, &phba->fw_config.ulp_supported)) {
phba             3245 drivers/scsi/be2iscsi/be_main.c 			mem_descr = (struct be_mem_descriptor *)phba->init_mem;
phba             3250 drivers/scsi/be2iscsi/be_main.c 			hwi_build_be_sgl_arr(phba, pm_arr, &sgl);
phba             3252 drivers/scsi/be2iscsi/be_main.c 				 &phba->ctrl, &sgl);
phba             3255 drivers/scsi/be2iscsi/be_main.c 				beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             3261 drivers/scsi/be2iscsi/be_main.c 			beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_INIT,
phba             3270 drivers/scsi/be2iscsi/be_main.c beiscsi_post_pages(struct beiscsi_hba *phba)
phba             3278 drivers/scsi/be2iscsi/be_main.c 	mem_descr = phba->init_mem;
phba             3283 drivers/scsi/be2iscsi/be_main.c 		if (test_bit(ulp_num, &phba->fw_config.ulp_supported))
phba             3286 drivers/scsi/be2iscsi/be_main.c 	page_offset = (sizeof(struct iscsi_sge) * phba->params.num_sge_per_io *
phba             3287 drivers/scsi/be2iscsi/be_main.c 			phba->fw_config.iscsi_icd_start[ulp_num]) / PAGE_SIZE;
phba             3289 drivers/scsi/be2iscsi/be_main.c 		hwi_build_be_sgl_arr(phba, pm_arr, &sgl);
phba             3290 drivers/scsi/be2iscsi/be_main.c 		status = be_cmd_iscsi_post_sgl_pages(&phba->ctrl, &sgl,
phba             3295 drivers/scsi/be2iscsi/be_main.c 			beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             3301 drivers/scsi/be2iscsi/be_main.c 	beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_INIT,
phba             3306 drivers/scsi/be2iscsi/be_main.c static void be_queue_free(struct beiscsi_hba *phba, struct be_queue_info *q)
phba             3310 drivers/scsi/be2iscsi/be_main.c 		dma_free_coherent(&phba->pcidev->dev, mem->size,
phba             3316 drivers/scsi/be2iscsi/be_main.c static int be_queue_alloc(struct beiscsi_hba *phba, struct be_queue_info *q,
phba             3325 drivers/scsi/be2iscsi/be_main.c 	mem->va = dma_alloc_coherent(&phba->pcidev->dev, mem->size, &mem->dma,
phba             3333 drivers/scsi/be2iscsi/be_main.c beiscsi_create_wrb_rings(struct beiscsi_hba *phba,
phba             3350 drivers/scsi/be2iscsi/be_main.c 	mem_descr = phba->init_mem;
phba             3352 drivers/scsi/be2iscsi/be_main.c 	pwrb_arr = kmalloc_array(phba->params.cxns_per_ctrl,
phba             3356 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             3363 drivers/scsi/be2iscsi/be_main.c 		(phba->params.wrbs_per_cxn * sizeof(struct iscsi_wrb));
phba             3365 drivers/scsi/be2iscsi/be_main.c 	for (num = 0; num < phba->params.cxns_per_ctrl; num++) {
phba             3369 drivers/scsi/be2iscsi/be_main.c 			pwrb_arr[num].size = phba->params.wrbs_per_cxn *
phba             3380 drivers/scsi/be2iscsi/be_main.c 					(phba->params.wrbs_per_cxn *
phba             3385 drivers/scsi/be2iscsi/be_main.c 			pwrb_arr[num].size = phba->params.wrbs_per_cxn *
phba             3395 drivers/scsi/be2iscsi/be_main.c 		if (test_bit(ulp_num, &phba->fw_config.ulp_supported)) {
phba             3399 drivers/scsi/be2iscsi/be_main.c 				BEISCSI_GET_CID_COUNT(phba, ulp_num);
phba             3402 drivers/scsi/be2iscsi/be_main.c 	for (i = 0; i < phba->params.cxns_per_ctrl; i++) {
phba             3414 drivers/scsi/be2iscsi/be_main.c 		hwi_build_be_sgl_by_offset(phba, &pwrb_arr[i], &sgl);
phba             3415 drivers/scsi/be2iscsi/be_main.c 		status = be_cmd_wrbq_create(&phba->ctrl, &sgl,
phba             3420 drivers/scsi/be2iscsi/be_main.c 			beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             3432 drivers/scsi/be2iscsi/be_main.c static void free_wrb_handles(struct beiscsi_hba *phba)
phba             3438 drivers/scsi/be2iscsi/be_main.c 	phwi_ctrlr = phba->phwi_ctrlr;
phba             3439 drivers/scsi/be2iscsi/be_main.c 	for (index = 0; index < phba->params.cxns_per_ctrl; index++) {
phba             3446 drivers/scsi/be2iscsi/be_main.c static void be_mcc_queues_destroy(struct beiscsi_hba *phba)
phba             3448 drivers/scsi/be2iscsi/be_main.c 	struct be_ctrl_info *ctrl = &phba->ctrl;
phba             3453 drivers/scsi/be2iscsi/be_main.c 	q = &phba->ctrl.mcc_obj.q;
phba             3497 drivers/scsi/be2iscsi/be_main.c 		be_queue_free(phba, q);
phba             3500 drivers/scsi/be2iscsi/be_main.c 	q = &phba->ctrl.mcc_obj.cq;
phba             3503 drivers/scsi/be2iscsi/be_main.c 		be_queue_free(phba, q);
phba             3507 drivers/scsi/be2iscsi/be_main.c static int be_mcc_queues_create(struct beiscsi_hba *phba,
phba             3511 drivers/scsi/be2iscsi/be_main.c 	struct be_ctrl_info *ctrl = &phba->ctrl;
phba             3514 drivers/scsi/be2iscsi/be_main.c 	cq = &phba->ctrl.mcc_obj.cq;
phba             3515 drivers/scsi/be2iscsi/be_main.c 	if (be_queue_alloc(phba, cq, MCC_CQ_LEN,
phba             3519 drivers/scsi/be2iscsi/be_main.c 	if (phba->pcidev->msix_enabled) {
phba             3521 drivers/scsi/be2iscsi/be_main.c 					&phwi_context->be_eq[phba->num_cpus].q,
phba             3531 drivers/scsi/be2iscsi/be_main.c 	q = &phba->ctrl.mcc_obj.q;
phba             3532 drivers/scsi/be2iscsi/be_main.c 	if (be_queue_alloc(phba, q, MCC_Q_LEN, sizeof(struct be_mcc_wrb)))
phba             3536 drivers/scsi/be2iscsi/be_main.c 	if (beiscsi_cmd_mccq_create(phba, q, cq))
phba             3542 drivers/scsi/be2iscsi/be_main.c 	be_queue_free(phba, q);
phba             3546 drivers/scsi/be2iscsi/be_main.c 	be_queue_free(phba, cq);
phba             3551 drivers/scsi/be2iscsi/be_main.c static void be2iscsi_enable_msix(struct beiscsi_hba *phba)
phba             3555 drivers/scsi/be2iscsi/be_main.c 	switch (phba->generation) {
phba             3561 drivers/scsi/be2iscsi/be_main.c 		nvec = phba->fw_config.eqid_count;
phba             3572 drivers/scsi/be2iscsi/be_main.c 		if (pci_alloc_irq_vectors_affinity(phba->pcidev, 2, nvec,
phba             3574 drivers/scsi/be2iscsi/be_main.c 			phba->num_cpus = nvec - 1;
phba             3579 drivers/scsi/be2iscsi/be_main.c 	phba->num_cpus = 1;
phba             3582 drivers/scsi/be2iscsi/be_main.c static void hwi_purge_eq(struct beiscsi_hba *phba)
phba             3591 drivers/scsi/be2iscsi/be_main.c 	if (beiscsi_hba_in_error(phba))
phba             3594 drivers/scsi/be2iscsi/be_main.c 	phwi_ctrlr = phba->phwi_ctrlr;
phba             3596 drivers/scsi/be2iscsi/be_main.c 	if (phba->pcidev->msix_enabled)
phba             3601 drivers/scsi/be2iscsi/be_main.c 	for (i = 0; i < (phba->num_cpus + eq_msix); i++) {
phba             3614 drivers/scsi/be2iscsi/be_main.c 			hwi_ring_eq_db(phba, eq->id, 1,	num_processed, 1, 1);
phba             3618 drivers/scsi/be2iscsi/be_main.c static void hwi_cleanup_port(struct beiscsi_hba *phba)
phba             3621 drivers/scsi/be2iscsi/be_main.c 	struct be_ctrl_info *ctrl = &phba->ctrl;
phba             3627 drivers/scsi/be2iscsi/be_main.c 		if (test_bit(ulp_num, &phba->fw_config.ulp_supported))
phba             3628 drivers/scsi/be2iscsi/be_main.c 			beiscsi_cmd_iscsi_cleanup(phba, ulp_num);
phba             3635 drivers/scsi/be2iscsi/be_main.c 	hwi_purge_eq(phba);
phba             3637 drivers/scsi/be2iscsi/be_main.c 	phwi_ctrlr = phba->phwi_ctrlr;
phba             3642 drivers/scsi/be2iscsi/be_main.c 	for (i = 0; i < phba->params.cxns_per_ctrl; i++) {
phba             3648 drivers/scsi/be2iscsi/be_main.c 	free_wrb_handles(phba);
phba             3651 drivers/scsi/be2iscsi/be_main.c 		if (test_bit(ulp_num, &phba->fw_config.ulp_supported)) {
phba             3665 drivers/scsi/be2iscsi/be_main.c 	for (i = 0; i < (phba->num_cpus); i++) {
phba             3668 drivers/scsi/be2iscsi/be_main.c 			be_queue_free(phba, q);
phba             3673 drivers/scsi/be2iscsi/be_main.c 	be_mcc_queues_destroy(phba);
phba             3674 drivers/scsi/be2iscsi/be_main.c 	if (phba->pcidev->msix_enabled)
phba             3678 drivers/scsi/be2iscsi/be_main.c 	for (i = 0; i < (phba->num_cpus + eq_for_mcc); i++) {
phba             3681 drivers/scsi/be2iscsi/be_main.c 			be_queue_free(phba, q);
phba             3686 drivers/scsi/be2iscsi/be_main.c 	beiscsi_cmd_function_reset(phba);
phba             3688 drivers/scsi/be2iscsi/be_main.c 	beiscsi_cmd_special_wrb(&phba->ctrl, 0);
phba             3691 drivers/scsi/be2iscsi/be_main.c static int hwi_init_port(struct beiscsi_hba *phba)
phba             3696 drivers/scsi/be2iscsi/be_main.c 	struct be_ctrl_info *ctrl = &phba->ctrl;
phba             3700 drivers/scsi/be2iscsi/be_main.c 	phwi_ctrlr = phba->phwi_ctrlr;
phba             3703 drivers/scsi/be2iscsi/be_main.c 	phba->optic_state = 0xff;
phba             3705 drivers/scsi/be2iscsi/be_main.c 	status = beiscsi_create_eqs(phba, phwi_context);
phba             3707 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             3712 drivers/scsi/be2iscsi/be_main.c 	status = be_mcc_queues_create(phba, phwi_context);
phba             3716 drivers/scsi/be2iscsi/be_main.c 	status = beiscsi_check_supported_fw(ctrl, phba);
phba             3718 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             3723 drivers/scsi/be2iscsi/be_main.c 	status = beiscsi_create_cqs(phba, phwi_context);
phba             3725 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             3731 drivers/scsi/be2iscsi/be_main.c 		if (test_bit(ulp_num, &phba->fw_config.ulp_supported)) {
phba             3735 drivers/scsi/be2iscsi/be_main.c 			status = beiscsi_create_def_hdr(phba, phwi_context,
phba             3740 drivers/scsi/be2iscsi/be_main.c 				beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             3746 drivers/scsi/be2iscsi/be_main.c 			status = beiscsi_create_def_data(phba, phwi_context,
phba             3751 drivers/scsi/be2iscsi/be_main.c 				beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             3760 drivers/scsi/be2iscsi/be_main.c 			beiscsi_hdq_post_handles(phba, BEISCSI_DEFQ_HDR,
phba             3762 drivers/scsi/be2iscsi/be_main.c 			beiscsi_hdq_post_handles(phba, BEISCSI_DEFQ_DATA,
phba             3767 drivers/scsi/be2iscsi/be_main.c 	status = beiscsi_post_pages(phba);
phba             3769 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             3774 drivers/scsi/be2iscsi/be_main.c 	status = beiscsi_post_template_hdr(phba);
phba             3776 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             3780 drivers/scsi/be2iscsi/be_main.c 	status = beiscsi_create_wrb_rings(phba,	phwi_context, phwi_ctrlr);
phba             3782 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             3790 drivers/scsi/be2iscsi/be_main.c 		if (test_bit(ulp_num, &phba->fw_config.ulp_supported)) {
phba             3797 drivers/scsi/be2iscsi/be_main.c 			     phba->params.cxns_per_ctrl; cri++) {
phba             3807 drivers/scsi/be2iscsi/be_main.c 	beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_INIT,
phba             3812 drivers/scsi/be2iscsi/be_main.c 	beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             3814 drivers/scsi/be2iscsi/be_main.c 	hwi_cleanup_port(phba);
phba             3818 drivers/scsi/be2iscsi/be_main.c static int hwi_init_controller(struct beiscsi_hba *phba)
phba             3822 drivers/scsi/be2iscsi/be_main.c 	phwi_ctrlr = phba->phwi_ctrlr;
phba             3823 drivers/scsi/be2iscsi/be_main.c 	if (1 == phba->init_mem[HWI_MEM_ADDN_CONTEXT].num_elements) {
phba             3824 drivers/scsi/be2iscsi/be_main.c 		phwi_ctrlr->phwi_ctxt = (struct hwi_context_memory *)phba->
phba             3826 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_INIT,
phba             3830 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             3836 drivers/scsi/be2iscsi/be_main.c 	iscsi_init_global_templates(phba);
phba             3837 drivers/scsi/be2iscsi/be_main.c 	if (beiscsi_init_wrb_handle(phba))
phba             3840 drivers/scsi/be2iscsi/be_main.c 	if (hwi_init_async_pdu_ctx(phba)) {
phba             3841 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             3846 drivers/scsi/be2iscsi/be_main.c 	if (hwi_init_port(phba) != 0) {
phba             3847 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             3855 drivers/scsi/be2iscsi/be_main.c static void beiscsi_free_mem(struct beiscsi_hba *phba)
phba             3860 drivers/scsi/be2iscsi/be_main.c 	mem_descr = phba->init_mem;
phba             3865 drivers/scsi/be2iscsi/be_main.c 			dma_free_coherent(&phba->pcidev->dev,
phba             3875 drivers/scsi/be2iscsi/be_main.c 	kfree(phba->init_mem);
phba             3876 drivers/scsi/be2iscsi/be_main.c 	kfree(phba->phwi_ctrlr->wrb_context);
phba             3877 drivers/scsi/be2iscsi/be_main.c 	kfree(phba->phwi_ctrlr);
phba             3880 drivers/scsi/be2iscsi/be_main.c static int beiscsi_init_sgl_handle(struct beiscsi_hba *phba)
phba             3888 drivers/scsi/be2iscsi/be_main.c 	phba->io_sgl_hndl_avbl = 0;
phba             3889 drivers/scsi/be2iscsi/be_main.c 	phba->eh_sgl_hndl_avbl = 0;
phba             3891 drivers/scsi/be2iscsi/be_main.c 	mem_descr_sglh = phba->init_mem;
phba             3894 drivers/scsi/be2iscsi/be_main.c 		phba->io_sgl_hndl_base = kcalloc(phba->params.ios_per_ctrl,
phba             3897 drivers/scsi/be2iscsi/be_main.c 		if (!phba->io_sgl_hndl_base) {
phba             3898 drivers/scsi/be2iscsi/be_main.c 			beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             3902 drivers/scsi/be2iscsi/be_main.c 		phba->eh_sgl_hndl_base =
phba             3903 drivers/scsi/be2iscsi/be_main.c 			kcalloc(phba->params.icds_per_ctrl -
phba             3904 drivers/scsi/be2iscsi/be_main.c 					phba->params.ios_per_ctrl,
phba             3906 drivers/scsi/be2iscsi/be_main.c 		if (!phba->eh_sgl_hndl_base) {
phba             3907 drivers/scsi/be2iscsi/be_main.c 			kfree(phba->io_sgl_hndl_base);
phba             3908 drivers/scsi/be2iscsi/be_main.c 			beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             3913 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             3926 drivers/scsi/be2iscsi/be_main.c 			if (arr_index < phba->params.ios_per_ctrl) {
phba             3927 drivers/scsi/be2iscsi/be_main.c 				phba->io_sgl_hndl_base[arr_index] = psgl_handle;
phba             3928 drivers/scsi/be2iscsi/be_main.c 				phba->io_sgl_hndl_avbl++;
phba             3931 drivers/scsi/be2iscsi/be_main.c 				phba->eh_sgl_hndl_base[arr_index -
phba             3932 drivers/scsi/be2iscsi/be_main.c 					phba->params.ios_per_ctrl] =
phba             3935 drivers/scsi/be2iscsi/be_main.c 				phba->eh_sgl_hndl_avbl++;
phba             3941 drivers/scsi/be2iscsi/be_main.c 	beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_INIT,
phba             3944 drivers/scsi/be2iscsi/be_main.c 		    phba->io_sgl_hndl_avbl,
phba             3945 drivers/scsi/be2iscsi/be_main.c 		    phba->eh_sgl_hndl_avbl);
phba             3947 drivers/scsi/be2iscsi/be_main.c 	mem_descr_sg = phba->init_mem;
phba             3949 drivers/scsi/be2iscsi/be_main.c 	beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_INIT,
phba             3954 drivers/scsi/be2iscsi/be_main.c 		if (test_bit(ulp_num, &phba->fw_config.ulp_supported))
phba             3957 drivers/scsi/be2iscsi/be_main.c 	ulp_icd_start = phba->fw_config.iscsi_icd_start[ulp_num];
phba             3966 drivers/scsi/be2iscsi/be_main.c 		     (sizeof(struct iscsi_sge) * phba->params.num_sge_per_io);
phba             3968 drivers/scsi/be2iscsi/be_main.c 			if (arr_index < phba->params.ios_per_ctrl)
phba             3969 drivers/scsi/be2iscsi/be_main.c 				psgl_handle = phba->io_sgl_hndl_base[arr_index];
phba             3971 drivers/scsi/be2iscsi/be_main.c 				psgl_handle = phba->eh_sgl_hndl_base[arr_index -
phba             3972 drivers/scsi/be2iscsi/be_main.c 						phba->params.ios_per_ctrl];
phba             3976 drivers/scsi/be2iscsi/be_main.c 			pfrag += phba->params.num_sge_per_io;
phba             3981 drivers/scsi/be2iscsi/be_main.c 	phba->io_sgl_free_index = 0;
phba             3982 drivers/scsi/be2iscsi/be_main.c 	phba->io_sgl_alloc_index = 0;
phba             3983 drivers/scsi/be2iscsi/be_main.c 	phba->eh_sgl_free_index = 0;
phba             3984 drivers/scsi/be2iscsi/be_main.c 	phba->eh_sgl_alloc_index = 0;
phba             3988 drivers/scsi/be2iscsi/be_main.c static int hba_setup_cid_tbls(struct beiscsi_hba *phba)
phba             3995 drivers/scsi/be2iscsi/be_main.c 		if (test_bit(ulp_num, (void *)&phba->fw_config.ulp_supported)) {
phba             4000 drivers/scsi/be2iscsi/be_main.c 				beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             4011 drivers/scsi/be2iscsi/be_main.c 				kcalloc(BEISCSI_GET_CID_COUNT(phba, ulp_num),
phba             4015 drivers/scsi/be2iscsi/be_main.c 				beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             4026 drivers/scsi/be2iscsi/be_main.c 						   phba, ulp_num);
phba             4029 drivers/scsi/be2iscsi/be_main.c 			phba->cid_array_info[ulp_num] = ptr_cid_info;
phba             4032 drivers/scsi/be2iscsi/be_main.c 	phba->ep_array = kcalloc(phba->params.cxns_per_ctrl,
phba             4035 drivers/scsi/be2iscsi/be_main.c 	if (!phba->ep_array) {
phba             4036 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             4044 drivers/scsi/be2iscsi/be_main.c 	phba->conn_table = kcalloc(phba->params.cxns_per_ctrl,
phba             4047 drivers/scsi/be2iscsi/be_main.c 	if (!phba->conn_table) {
phba             4048 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             4052 drivers/scsi/be2iscsi/be_main.c 		kfree(phba->ep_array);
phba             4053 drivers/scsi/be2iscsi/be_main.c 		phba->ep_array = NULL;
phba             4059 drivers/scsi/be2iscsi/be_main.c 	for (i = 0; i < phba->params.cxns_per_ctrl; i++) {
phba             4060 drivers/scsi/be2iscsi/be_main.c 		ulp_num = phba->phwi_ctrlr->wrb_context[i].ulp_num;
phba             4062 drivers/scsi/be2iscsi/be_main.c 		ptr_cid_info = phba->cid_array_info[ulp_num];
phba             4064 drivers/scsi/be2iscsi/be_main.c 			phba->phwi_ctrlr->wrb_context[i].cid;
phba             4069 drivers/scsi/be2iscsi/be_main.c 		if (test_bit(ulp_num, (void *)&phba->fw_config.ulp_supported)) {
phba             4070 drivers/scsi/be2iscsi/be_main.c 			ptr_cid_info = phba->cid_array_info[ulp_num];
phba             4080 drivers/scsi/be2iscsi/be_main.c 		if (test_bit(ulp_num, (void *)&phba->fw_config.ulp_supported)) {
phba             4081 drivers/scsi/be2iscsi/be_main.c 			ptr_cid_info = phba->cid_array_info[ulp_num];
phba             4086 drivers/scsi/be2iscsi/be_main.c 				phba->cid_array_info[ulp_num] = NULL;
phba             4094 drivers/scsi/be2iscsi/be_main.c static void hwi_enable_intr(struct beiscsi_hba *phba)
phba             4096 drivers/scsi/be2iscsi/be_main.c 	struct be_ctrl_info *ctrl = &phba->ctrl;
phba             4104 drivers/scsi/be2iscsi/be_main.c 	phwi_ctrlr = phba->phwi_ctrlr;
phba             4114 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_INIT,
phba             4119 drivers/scsi/be2iscsi/be_main.c 	if (!phba->pcidev->msix_enabled) {
phba             4121 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_INIT,
phba             4124 drivers/scsi/be2iscsi/be_main.c 		hwi_ring_eq_db(phba, eq->id, 0, 0, 1, 1);
phba             4126 drivers/scsi/be2iscsi/be_main.c 		for (i = 0; i <= phba->num_cpus; i++) {
phba             4128 drivers/scsi/be2iscsi/be_main.c 			beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_INIT,
phba             4130 drivers/scsi/be2iscsi/be_main.c 			hwi_ring_eq_db(phba, eq->id, 0, 0, 1, 1);
phba             4135 drivers/scsi/be2iscsi/be_main.c static void hwi_disable_intr(struct beiscsi_hba *phba)
phba             4137 drivers/scsi/be2iscsi/be_main.c 	struct be_ctrl_info *ctrl = &phba->ctrl;
phba             4147 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_WARNING, BEISCSI_LOG_INIT,
phba             4151 drivers/scsi/be2iscsi/be_main.c static int beiscsi_init_port(struct beiscsi_hba *phba)
phba             4155 drivers/scsi/be2iscsi/be_main.c 	ret = hwi_init_controller(phba);
phba             4157 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             4161 drivers/scsi/be2iscsi/be_main.c 	ret = beiscsi_init_sgl_handle(phba);
phba             4163 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             4168 drivers/scsi/be2iscsi/be_main.c 	ret = hba_setup_cid_tbls(phba);
phba             4170 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             4172 drivers/scsi/be2iscsi/be_main.c 		kfree(phba->io_sgl_hndl_base);
phba             4173 drivers/scsi/be2iscsi/be_main.c 		kfree(phba->eh_sgl_hndl_base);
phba             4179 drivers/scsi/be2iscsi/be_main.c 	hwi_cleanup_port(phba);
phba             4183 drivers/scsi/be2iscsi/be_main.c static void beiscsi_cleanup_port(struct beiscsi_hba *phba)
phba             4188 drivers/scsi/be2iscsi/be_main.c 	kfree(phba->io_sgl_hndl_base);
phba             4189 drivers/scsi/be2iscsi/be_main.c 	kfree(phba->eh_sgl_hndl_base);
phba             4190 drivers/scsi/be2iscsi/be_main.c 	kfree(phba->ep_array);
phba             4191 drivers/scsi/be2iscsi/be_main.c 	kfree(phba->conn_table);
phba             4194 drivers/scsi/be2iscsi/be_main.c 		if (test_bit(ulp_num, (void *)&phba->fw_config.ulp_supported)) {
phba             4195 drivers/scsi/be2iscsi/be_main.c 			ptr_cid_info = phba->cid_array_info[ulp_num];
phba             4200 drivers/scsi/be2iscsi/be_main.c 				phba->cid_array_info[ulp_num] = NULL;
phba             4218 drivers/scsi/be2iscsi/be_main.c 	struct beiscsi_hba *phba = beiscsi_conn->phba;
phba             4224 drivers/scsi/be2iscsi/be_main.c 	phwi_ctrlr = phba->phwi_ctrlr;
phba             4230 drivers/scsi/be2iscsi/be_main.c 		free_wrb_handle(phba, pwrb_context, io_task->pwrb_handle);
phba             4235 drivers/scsi/be2iscsi/be_main.c 		free_mgmt_sgl_handle(phba, io_task->psgl_handle);
phba             4240 drivers/scsi/be2iscsi/be_main.c 		dma_unmap_single(&phba->pcidev->dev,
phba             4258 drivers/scsi/be2iscsi/be_main.c 	struct beiscsi_hba *phba = beiscsi_conn->phba;
phba             4265 drivers/scsi/be2iscsi/be_main.c 	phwi_ctrlr = phba->phwi_ctrlr;
phba             4277 drivers/scsi/be2iscsi/be_main.c 			free_wrb_handle(phba, pwrb_context,
phba             4283 drivers/scsi/be2iscsi/be_main.c 			free_io_sgl_handle(phba, io_task->psgl_handle);
phba             4304 drivers/scsi/be2iscsi/be_main.c 	struct beiscsi_hba *phba = beiscsi_conn->phba;
phba             4318 drivers/scsi/be2iscsi/be_main.c 	pwrb_handle = alloc_wrb_handle(phba, beiscsi_conn->beiscsi_conn_cid,
phba             4322 drivers/scsi/be2iscsi/be_main.c 	if (is_chip_be2_be3r(phba))
phba             4324 drivers/scsi/be2iscsi/be_main.c 				       phba->init_mem,
phba             4337 drivers/scsi/be2iscsi/be_main.c 	iowrite32(doorbell, phba->db_va +
phba             4347 drivers/scsi/be2iscsi/be_main.c 			       phba->params.wrbs_per_cxn);
phba             4348 drivers/scsi/be2iscsi/be_main.c 	beiscsi_log(phba, KERN_INFO,
phba             4378 drivers/scsi/be2iscsi/be_main.c 	struct beiscsi_hba *phba = beiscsi_conn->phba;
phba             4400 drivers/scsi/be2iscsi/be_main.c 		io_task->psgl_handle = alloc_io_sgl_handle(phba);
phba             4402 drivers/scsi/be2iscsi/be_main.c 			beiscsi_log(phba, KERN_ERR,
phba             4409 drivers/scsi/be2iscsi/be_main.c 		io_task->pwrb_handle = alloc_wrb_handle(phba,
phba             4413 drivers/scsi/be2iscsi/be_main.c 			beiscsi_log(phba, KERN_ERR,
phba             4426 drivers/scsi/be2iscsi/be_main.c 						alloc_mgmt_sgl_handle(phba);
phba             4428 drivers/scsi/be2iscsi/be_main.c 					beiscsi_log(phba, KERN_ERR,
phba             4442 drivers/scsi/be2iscsi/be_main.c 					alloc_wrb_handle(phba,
phba             4446 drivers/scsi/be2iscsi/be_main.c 					beiscsi_log(phba, KERN_ERR,
phba             4465 drivers/scsi/be2iscsi/be_main.c 			io_task->psgl_handle = alloc_mgmt_sgl_handle(phba);
phba             4467 drivers/scsi/be2iscsi/be_main.c 				beiscsi_log(phba, KERN_ERR,
phba             4477 drivers/scsi/be2iscsi/be_main.c 					alloc_wrb_handle(phba,
phba             4481 drivers/scsi/be2iscsi/be_main.c 				beiscsi_log(phba, KERN_ERR,
phba             4500 drivers/scsi/be2iscsi/be_main.c 	free_io_sgl_handle(phba, io_task->psgl_handle);
phba             4503 drivers/scsi/be2iscsi/be_main.c 	free_mgmt_sgl_handle(phba, io_task->psgl_handle);
phba             4506 drivers/scsi/be2iscsi/be_main.c 	phwi_ctrlr = phba->phwi_ctrlr;
phba             4511 drivers/scsi/be2iscsi/be_main.c 		free_wrb_handle(phba, pwrb_context, io_task->pwrb_handle);
phba             4526 drivers/scsi/be2iscsi/be_main.c 	struct beiscsi_hba *phba = beiscsi_conn->phba;
phba             4574 drivers/scsi/be2iscsi/be_main.c 	iowrite32(doorbell, phba->db_va +
phba             4587 drivers/scsi/be2iscsi/be_main.c 	struct beiscsi_hba *phba = beiscsi_conn->phba;
phba             4635 drivers/scsi/be2iscsi/be_main.c 	iowrite32(doorbell, phba->db_va +
phba             4645 drivers/scsi/be2iscsi/be_main.c 	struct beiscsi_hba *phba = beiscsi_conn->phba;
phba             4655 drivers/scsi/be2iscsi/be_main.c 	if (is_chip_be2_be3r(phba)) {
phba             4703 drivers/scsi/be2iscsi/be_main.c 			if (is_chip_be2_be3r(phba))
phba             4711 drivers/scsi/be2iscsi/be_main.c 			if (is_chip_be2_be3r(phba))
phba             4734 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_CONFIG,
phba             4745 drivers/scsi/be2iscsi/be_main.c 	io_task->wrb_type = (is_chip_be2_be3r(phba)) ?
phba             4753 drivers/scsi/be2iscsi/be_main.c 	iowrite32(doorbell, phba->db_va +
phba             4762 drivers/scsi/be2iscsi/be_main.c 	struct beiscsi_hba *phba;
phba             4767 drivers/scsi/be2iscsi/be_main.c 	phba = io_task->conn->phba;
phba             4773 drivers/scsi/be2iscsi/be_main.c 	if (!beiscsi_hba_is_online(phba))
phba             4786 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_ERR,
phba             4807 drivers/scsi/be2iscsi/be_main.c 	return phba->iotask_fn(task, sg, num_sg, xferlen, writedir);
phba             4817 drivers/scsi/be2iscsi/be_main.c 	struct beiscsi_hba *phba;
phba             4827 drivers/scsi/be2iscsi/be_main.c 	phba = iscsi_host_priv(shost);
phba             4829 drivers/scsi/be2iscsi/be_main.c 	if (!beiscsi_hba_is_online(phba)) {
phba             4830 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_CONFIG,
phba             4831 drivers/scsi/be2iscsi/be_main.c 			    "BM_%d : HBA in error 0x%lx\n", phba->state);
phba             4837 drivers/scsi/be2iscsi/be_main.c 		nonemb_cmd.va = dma_alloc_coherent(&phba->ctrl.pdev->dev,
phba             4841 drivers/scsi/be2iscsi/be_main.c 			beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_CONFIG,
phba             4846 drivers/scsi/be2iscsi/be_main.c 		tag = mgmt_vendor_specific_fw_cmd(&phba->ctrl, phba, job,
phba             4849 drivers/scsi/be2iscsi/be_main.c 			beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_CONFIG,
phba             4852 drivers/scsi/be2iscsi/be_main.c 			dma_free_coherent(&phba->ctrl.pdev->dev, nonemb_cmd.size,
phba             4858 drivers/scsi/be2iscsi/be_main.c 					phba->ctrl.mcc_wait[tag],
phba             4859 drivers/scsi/be2iscsi/be_main.c 					phba->ctrl.mcc_tag_status[tag],
phba             4863 drivers/scsi/be2iscsi/be_main.c 		if (!test_bit(BEISCSI_HBA_ONLINE, &phba->state)) {
phba             4865 drivers/scsi/be2iscsi/be_main.c 				  &phba->ctrl.ptag_state[tag].tag_state);
phba             4866 drivers/scsi/be2iscsi/be_main.c 			dma_free_coherent(&phba->ctrl.pdev->dev, nonemb_cmd.size,
phba             4870 drivers/scsi/be2iscsi/be_main.c 		extd_status = (phba->ctrl.mcc_tag_status[tag] &
phba             4872 drivers/scsi/be2iscsi/be_main.c 		status = phba->ctrl.mcc_tag_status[tag] & CQE_STATUS_MASK;
phba             4873 drivers/scsi/be2iscsi/be_main.c 		free_mcc_wrb(&phba->ctrl, tag);
phba             4883 drivers/scsi/be2iscsi/be_main.c 		dma_free_coherent(&phba->ctrl.pdev->dev, nonemb_cmd.size,
phba             4886 drivers/scsi/be2iscsi/be_main.c 			beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_CONFIG,
phba             4898 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_CONFIG,
phba             4907 drivers/scsi/be2iscsi/be_main.c static void beiscsi_hba_attrs_init(struct beiscsi_hba *phba)
phba             4910 drivers/scsi/be2iscsi/be_main.c 	beiscsi_log_enable_init(phba, beiscsi_log_enable);
phba             4913 drivers/scsi/be2iscsi/be_main.c void beiscsi_start_boot_work(struct beiscsi_hba *phba, unsigned int s_handle)
phba             4915 drivers/scsi/be2iscsi/be_main.c 	if (phba->boot_struct.boot_kset)
phba             4919 drivers/scsi/be2iscsi/be_main.c 	if (test_and_set_bit(BEISCSI_HBA_BOOT_WORK, &phba->state))
phba             4922 drivers/scsi/be2iscsi/be_main.c 	phba->boot_struct.retry = 3;
phba             4923 drivers/scsi/be2iscsi/be_main.c 	phba->boot_struct.tag = 0;
phba             4924 drivers/scsi/be2iscsi/be_main.c 	phba->boot_struct.s_handle = s_handle;
phba             4925 drivers/scsi/be2iscsi/be_main.c 	phba->boot_struct.action = BEISCSI_BOOT_GET_SHANDLE;
phba             4926 drivers/scsi/be2iscsi/be_main.c 	schedule_work(&phba->boot_work);
phba             4938 drivers/scsi/be2iscsi/be_main.c 	struct beiscsi_hba *phba = data;
phba             4939 drivers/scsi/be2iscsi/be_main.c 	struct mgmt_session_info *boot_sess = &phba->boot_struct.boot_sess;
phba             5002 drivers/scsi/be2iscsi/be_main.c 	struct beiscsi_hba *phba = data;
phba             5009 drivers/scsi/be2iscsi/be_main.c 			     phba->boot_struct.boot_sess.initiator_iscsiname);
phba             5017 drivers/scsi/be2iscsi/be_main.c 	struct beiscsi_hba *phba = data;
phba             5029 drivers/scsi/be2iscsi/be_main.c 		rc  = beiscsi_get_macaddr(str, phba);
phba             5083 drivers/scsi/be2iscsi/be_main.c 	struct beiscsi_hba *phba = data;
phba             5085 drivers/scsi/be2iscsi/be_main.c 	scsi_host_put(phba->shost);
phba             5088 drivers/scsi/be2iscsi/be_main.c static int beiscsi_boot_create_kset(struct beiscsi_hba *phba)
phba             5090 drivers/scsi/be2iscsi/be_main.c 	struct boot_struct *bs = &phba->boot_struct;
phba             5094 drivers/scsi/be2iscsi/be_main.c 		__beiscsi_log(phba, KERN_ERR,
phba             5099 drivers/scsi/be2iscsi/be_main.c 	bs->boot_kset = iscsi_boot_create_host_kset(phba->shost->host_no);
phba             5101 drivers/scsi/be2iscsi/be_main.c 		__beiscsi_log(phba, KERN_ERR,
phba             5107 drivers/scsi/be2iscsi/be_main.c 	if (!scsi_host_get(phba->shost))
phba             5110 drivers/scsi/be2iscsi/be_main.c 	boot_kobj = iscsi_boot_create_target(bs->boot_kset, 0, phba,
phba             5117 drivers/scsi/be2iscsi/be_main.c 	if (!scsi_host_get(phba->shost))
phba             5120 drivers/scsi/be2iscsi/be_main.c 	boot_kobj = iscsi_boot_create_initiator(bs->boot_kset, 0, phba,
phba             5127 drivers/scsi/be2iscsi/be_main.c 	if (!scsi_host_get(phba->shost))
phba             5130 drivers/scsi/be2iscsi/be_main.c 	boot_kobj = iscsi_boot_create_ethernet(bs->boot_kset, 0, phba,
phba             5140 drivers/scsi/be2iscsi/be_main.c 	scsi_host_put(phba->shost);
phba             5149 drivers/scsi/be2iscsi/be_main.c 	struct beiscsi_hba *phba =
phba             5151 drivers/scsi/be2iscsi/be_main.c 	struct boot_struct *bs = &phba->boot_struct;
phba             5154 drivers/scsi/be2iscsi/be_main.c 	if (!beiscsi_hba_is_online(phba))
phba             5157 drivers/scsi/be2iscsi/be_main.c 	beiscsi_log(phba, KERN_INFO,
phba             5160 drivers/scsi/be2iscsi/be_main.c 		    __func__, phba->boot_struct.action);
phba             5162 drivers/scsi/be2iscsi/be_main.c 	switch (phba->boot_struct.action) {
phba             5164 drivers/scsi/be2iscsi/be_main.c 		tag = beiscsi_boot_reopen_sess(phba);
phba             5167 drivers/scsi/be2iscsi/be_main.c 		tag = __beiscsi_boot_get_shandle(phba, 1);
phba             5170 drivers/scsi/be2iscsi/be_main.c 		tag = beiscsi_boot_get_sinfo(phba);
phba             5173 drivers/scsi/be2iscsi/be_main.c 		tag = beiscsi_boot_logout_sess(phba);
phba             5176 drivers/scsi/be2iscsi/be_main.c 		beiscsi_boot_create_kset(phba);
phba             5182 drivers/scsi/be2iscsi/be_main.c 		clear_bit(BEISCSI_HBA_BOOT_WORK, &phba->state);
phba             5187 drivers/scsi/be2iscsi/be_main.c 			schedule_work(&phba->boot_work);
phba             5189 drivers/scsi/be2iscsi/be_main.c 			clear_bit(BEISCSI_HBA_BOOT_WORK, &phba->state);
phba             5199 drivers/scsi/be2iscsi/be_main.c 	struct beiscsi_hba *phba;
phba             5205 drivers/scsi/be2iscsi/be_main.c 	phba = container_of(work, struct beiscsi_hba, eqd_update.work);
phba             5206 drivers/scsi/be2iscsi/be_main.c 	if (!beiscsi_hba_is_online(phba))
phba             5209 drivers/scsi/be2iscsi/be_main.c 	phwi_ctrlr = phba->phwi_ctrlr;
phba             5212 drivers/scsi/be2iscsi/be_main.c 	for (i = 0; i <= phba->num_cpus; i++) {
phba             5213 drivers/scsi/be2iscsi/be_main.c 		aic = &phba->aic_obj[i];
phba             5243 drivers/scsi/be2iscsi/be_main.c 		beiscsi_modify_eq_delay(phba, set_eqd, num);
phba             5245 drivers/scsi/be2iscsi/be_main.c 	schedule_delayed_work(&phba->eqd_update,
phba             5251 drivers/scsi/be2iscsi/be_main.c 	struct beiscsi_hba *phba = from_timer(phba, t, hw_check);
phba             5255 drivers/scsi/be2iscsi/be_main.c 	if (!beiscsi_detect_tpe(phba))
phba             5260 drivers/scsi/be2iscsi/be_main.c 	if (phba->ue2rp > BEISCSI_UE_DETECT_INTERVAL)
phba             5261 drivers/scsi/be2iscsi/be_main.c 		wait = phba->ue2rp - BEISCSI_UE_DETECT_INTERVAL;
phba             5262 drivers/scsi/be2iscsi/be_main.c 	queue_delayed_work(phba->wq, &phba->recover_port,
phba             5268 drivers/scsi/be2iscsi/be_main.c 	struct beiscsi_hba *phba = from_timer(phba, t, hw_check);
phba             5270 drivers/scsi/be2iscsi/be_main.c 	beiscsi_detect_ue(phba);
phba             5271 drivers/scsi/be2iscsi/be_main.c 	if (beiscsi_detect_ue(phba)) {
phba             5272 drivers/scsi/be2iscsi/be_main.c 		__beiscsi_log(phba, KERN_ERR,
phba             5273 drivers/scsi/be2iscsi/be_main.c 			      "BM_%d : port in error: %lx\n", phba->state);
phba             5275 drivers/scsi/be2iscsi/be_main.c 		queue_work(phba->wq, &phba->sess_work);
phba             5278 drivers/scsi/be2iscsi/be_main.c 		if (!test_bit(BEISCSI_HBA_UER_SUPP, &phba->state))
phba             5281 drivers/scsi/be2iscsi/be_main.c 		phba->hw_check.function = beiscsi_hw_tpe_check;
phba             5284 drivers/scsi/be2iscsi/be_main.c 	mod_timer(&phba->hw_check,
phba             5296 drivers/scsi/be2iscsi/be_main.c static int beiscsi_enable_port(struct beiscsi_hba *phba)
phba             5303 drivers/scsi/be2iscsi/be_main.c 	if (test_bit(BEISCSI_HBA_ONLINE, &phba->state)) {
phba             5304 drivers/scsi/be2iscsi/be_main.c 		__beiscsi_log(phba, KERN_ERR,
phba             5306 drivers/scsi/be2iscsi/be_main.c 			      __func__, phba->state);
phba             5310 drivers/scsi/be2iscsi/be_main.c 	ret = beiscsi_init_sliport(phba);
phba             5314 drivers/scsi/be2iscsi/be_main.c 	be2iscsi_enable_msix(phba);
phba             5316 drivers/scsi/be2iscsi/be_main.c 	beiscsi_get_params(phba);
phba             5317 drivers/scsi/be2iscsi/be_main.c 	beiscsi_set_host_data(phba);
phba             5319 drivers/scsi/be2iscsi/be_main.c 	beiscsi_set_uer_feature(phba);
phba             5321 drivers/scsi/be2iscsi/be_main.c 	phba->shost->max_id = phba->params.cxns_per_ctrl;
phba             5322 drivers/scsi/be2iscsi/be_main.c 	phba->shost->can_queue = phba->params.ios_per_ctrl;
phba             5323 drivers/scsi/be2iscsi/be_main.c 	ret = beiscsi_init_port(phba);
phba             5325 drivers/scsi/be2iscsi/be_main.c 		__beiscsi_log(phba, KERN_ERR,
phba             5331 drivers/scsi/be2iscsi/be_main.c 		init_waitqueue_head(&phba->ctrl.mcc_wait[i + 1]);
phba             5332 drivers/scsi/be2iscsi/be_main.c 		phba->ctrl.mcc_tag[i] = i + 1;
phba             5333 drivers/scsi/be2iscsi/be_main.c 		phba->ctrl.mcc_tag_status[i + 1] = 0;
phba             5334 drivers/scsi/be2iscsi/be_main.c 		phba->ctrl.mcc_tag_available++;
phba             5337 drivers/scsi/be2iscsi/be_main.c 	phwi_ctrlr = phba->phwi_ctrlr;
phba             5339 drivers/scsi/be2iscsi/be_main.c 	for (i = 0; i < phba->num_cpus; i++) {
phba             5344 drivers/scsi/be2iscsi/be_main.c 	i = (phba->pcidev->msix_enabled) ? i : 0;
phba             5349 drivers/scsi/be2iscsi/be_main.c 	ret = beiscsi_init_irqs(phba);
phba             5351 drivers/scsi/be2iscsi/be_main.c 		__beiscsi_log(phba, KERN_ERR,
phba             5355 drivers/scsi/be2iscsi/be_main.c 	hwi_enable_intr(phba);
phba             5357 drivers/scsi/be2iscsi/be_main.c 	set_bit(BEISCSI_HBA_ONLINE, &phba->state);
phba             5358 drivers/scsi/be2iscsi/be_main.c 	__beiscsi_log(phba, KERN_INFO,
phba             5359 drivers/scsi/be2iscsi/be_main.c 		      "BM_%d : port online: 0x%lx\n", phba->state);
phba             5362 drivers/scsi/be2iscsi/be_main.c 	schedule_delayed_work(&phba->eqd_update,
phba             5369 drivers/scsi/be2iscsi/be_main.c 	phba->hw_check.function = beiscsi_hw_health_check;
phba             5370 drivers/scsi/be2iscsi/be_main.c 	mod_timer(&phba->hw_check,
phba             5375 drivers/scsi/be2iscsi/be_main.c 	for (i = 0; i < phba->num_cpus; i++) {
phba             5379 drivers/scsi/be2iscsi/be_main.c 	hwi_cleanup_port(phba);
phba             5382 drivers/scsi/be2iscsi/be_main.c 	pci_free_irq_vectors(phba->pcidev);
phba             5394 drivers/scsi/be2iscsi/be_main.c static void beiscsi_disable_port(struct beiscsi_hba *phba, int unload)
phba             5401 drivers/scsi/be2iscsi/be_main.c 	if (!test_and_clear_bit(BEISCSI_HBA_ONLINE, &phba->state))
phba             5404 drivers/scsi/be2iscsi/be_main.c 	phwi_ctrlr = phba->phwi_ctrlr;
phba             5406 drivers/scsi/be2iscsi/be_main.c 	hwi_disable_intr(phba);
phba             5407 drivers/scsi/be2iscsi/be_main.c 	beiscsi_free_irqs(phba);
phba             5408 drivers/scsi/be2iscsi/be_main.c 	pci_free_irq_vectors(phba->pcidev);
phba             5410 drivers/scsi/be2iscsi/be_main.c 	for (i = 0; i < phba->num_cpus; i++) {
phba             5414 drivers/scsi/be2iscsi/be_main.c 	cancel_delayed_work_sync(&phba->eqd_update);
phba             5415 drivers/scsi/be2iscsi/be_main.c 	cancel_work_sync(&phba->boot_work);
phba             5417 drivers/scsi/be2iscsi/be_main.c 	if (!unload && beiscsi_hba_in_error(phba)) {
phba             5421 drivers/scsi/be2iscsi/be_main.c 	hwi_cleanup_port(phba);
phba             5422 drivers/scsi/be2iscsi/be_main.c 	beiscsi_cleanup_port(phba);
phba             5427 drivers/scsi/be2iscsi/be_main.c 	struct beiscsi_hba *phba;
phba             5429 drivers/scsi/be2iscsi/be_main.c 	phba = container_of(work, struct beiscsi_hba, sess_work);
phba             5435 drivers/scsi/be2iscsi/be_main.c 	iscsi_host_for_each_session(phba->shost, beiscsi_session_fail);
phba             5440 drivers/scsi/be2iscsi/be_main.c 	struct beiscsi_hba *phba;
phba             5442 drivers/scsi/be2iscsi/be_main.c 	phba = container_of(work, struct beiscsi_hba, recover_port.work);
phba             5443 drivers/scsi/be2iscsi/be_main.c 	beiscsi_disable_port(phba, 0);
phba             5444 drivers/scsi/be2iscsi/be_main.c 	beiscsi_enable_port(phba);
phba             5450 drivers/scsi/be2iscsi/be_main.c 	struct beiscsi_hba *phba = NULL;
phba             5452 drivers/scsi/be2iscsi/be_main.c 	phba = (struct beiscsi_hba *)pci_get_drvdata(pdev);
phba             5453 drivers/scsi/be2iscsi/be_main.c 	set_bit(BEISCSI_HBA_PCI_ERR, &phba->state);
phba             5455 drivers/scsi/be2iscsi/be_main.c 	beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             5459 drivers/scsi/be2iscsi/be_main.c 	del_timer_sync(&phba->hw_check);
phba             5460 drivers/scsi/be2iscsi/be_main.c 	cancel_delayed_work_sync(&phba->recover_port);
phba             5463 drivers/scsi/be2iscsi/be_main.c 	iscsi_host_for_each_session(phba->shost, beiscsi_session_fail);
phba             5464 drivers/scsi/be2iscsi/be_main.c 	beiscsi_disable_port(phba, 0);
phba             5467 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             5488 drivers/scsi/be2iscsi/be_main.c 	struct beiscsi_hba *phba = NULL;
phba             5491 drivers/scsi/be2iscsi/be_main.c 	phba = (struct beiscsi_hba *)pci_get_drvdata(pdev);
phba             5493 drivers/scsi/be2iscsi/be_main.c 	beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             5504 drivers/scsi/be2iscsi/be_main.c 	status = beiscsi_check_fw_rdy(phba);
phba             5506 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_WARNING, BEISCSI_LOG_INIT,
phba             5509 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_WARNING, BEISCSI_LOG_INIT,
phba             5519 drivers/scsi/be2iscsi/be_main.c 	struct beiscsi_hba *phba;
phba             5522 drivers/scsi/be2iscsi/be_main.c 	phba = (struct beiscsi_hba *)pci_get_drvdata(pdev);
phba             5525 drivers/scsi/be2iscsi/be_main.c 	ret = beiscsi_enable_port(phba);
phba             5527 drivers/scsi/be2iscsi/be_main.c 		__beiscsi_log(phba, KERN_ERR,
phba             5536 drivers/scsi/be2iscsi/be_main.c 	struct beiscsi_hba *phba = NULL;
phba             5549 drivers/scsi/be2iscsi/be_main.c 	phba = beiscsi_hba_alloc(pcidev);
phba             5550 drivers/scsi/be2iscsi/be_main.c 	if (!phba) {
phba             5560 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_WARNING, BEISCSI_LOG_INIT,
phba             5567 drivers/scsi/be2iscsi/be_main.c 	beiscsi_hba_attrs_init(phba);
phba             5569 drivers/scsi/be2iscsi/be_main.c 	phba->mac_addr_set = false;
phba             5575 drivers/scsi/be2iscsi/be_main.c 		phba->generation = BE_GEN2;
phba             5576 drivers/scsi/be2iscsi/be_main.c 		phba->iotask_fn = beiscsi_iotask;
phba             5582 drivers/scsi/be2iscsi/be_main.c 		phba->generation = BE_GEN3;
phba             5583 drivers/scsi/be2iscsi/be_main.c 		phba->iotask_fn = beiscsi_iotask;
phba             5586 drivers/scsi/be2iscsi/be_main.c 		phba->generation = BE_GEN4;
phba             5587 drivers/scsi/be2iscsi/be_main.c 		phba->iotask_fn = beiscsi_iotask_v2;
phba             5590 drivers/scsi/be2iscsi/be_main.c 		phba->generation = 0;
phba             5593 drivers/scsi/be2iscsi/be_main.c 	ret = be_ctrl_init(phba, pcidev);
phba             5595 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             5600 drivers/scsi/be2iscsi/be_main.c 	ret = beiscsi_init_sliport(phba);
phba             5604 drivers/scsi/be2iscsi/be_main.c 	spin_lock_init(&phba->io_sgl_lock);
phba             5605 drivers/scsi/be2iscsi/be_main.c 	spin_lock_init(&phba->mgmt_sgl_lock);
phba             5606 drivers/scsi/be2iscsi/be_main.c 	spin_lock_init(&phba->async_pdu_lock);
phba             5607 drivers/scsi/be2iscsi/be_main.c 	ret = beiscsi_get_fw_config(&phba->ctrl, phba);
phba             5609 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             5613 drivers/scsi/be2iscsi/be_main.c 	beiscsi_get_port_name(&phba->ctrl, phba);
phba             5614 drivers/scsi/be2iscsi/be_main.c 	beiscsi_get_params(phba);
phba             5615 drivers/scsi/be2iscsi/be_main.c 	beiscsi_set_host_data(phba);
phba             5616 drivers/scsi/be2iscsi/be_main.c 	beiscsi_set_uer_feature(phba);
phba             5618 drivers/scsi/be2iscsi/be_main.c 	be2iscsi_enable_msix(phba);
phba             5620 drivers/scsi/be2iscsi/be_main.c 	beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_INIT,
phba             5622 drivers/scsi/be2iscsi/be_main.c 		    phba->num_cpus);
phba             5624 drivers/scsi/be2iscsi/be_main.c 	phba->shost->max_id = phba->params.cxns_per_ctrl;
phba             5625 drivers/scsi/be2iscsi/be_main.c 	phba->shost->can_queue = phba->params.ios_per_ctrl;
phba             5626 drivers/scsi/be2iscsi/be_main.c 	ret = beiscsi_get_memory(phba);
phba             5628 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             5633 drivers/scsi/be2iscsi/be_main.c 	ret = beiscsi_init_port(phba);
phba             5635 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             5637 drivers/scsi/be2iscsi/be_main.c 		beiscsi_free_mem(phba);
phba             5642 drivers/scsi/be2iscsi/be_main.c 		init_waitqueue_head(&phba->ctrl.mcc_wait[i + 1]);
phba             5643 drivers/scsi/be2iscsi/be_main.c 		phba->ctrl.mcc_tag[i] = i + 1;
phba             5644 drivers/scsi/be2iscsi/be_main.c 		phba->ctrl.mcc_tag_status[i + 1] = 0;
phba             5645 drivers/scsi/be2iscsi/be_main.c 		phba->ctrl.mcc_tag_available++;
phba             5646 drivers/scsi/be2iscsi/be_main.c 		memset(&phba->ctrl.ptag_state[i].tag_mem_state, 0,
phba             5650 drivers/scsi/be2iscsi/be_main.c 	phba->ctrl.mcc_alloc_index = phba->ctrl.mcc_free_index = 0;
phba             5653 drivers/scsi/be2iscsi/be_main.c 		 phba->shost->host_no);
phba             5654 drivers/scsi/be2iscsi/be_main.c 	phba->wq = alloc_workqueue("%s", WQ_MEM_RECLAIM, 1, wq_name);
phba             5655 drivers/scsi/be2iscsi/be_main.c 	if (!phba->wq) {
phba             5656 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             5663 drivers/scsi/be2iscsi/be_main.c 	INIT_DELAYED_WORK(&phba->eqd_update, beiscsi_eqd_update_work);
phba             5665 drivers/scsi/be2iscsi/be_main.c 	phwi_ctrlr = phba->phwi_ctrlr;
phba             5668 drivers/scsi/be2iscsi/be_main.c 	for (i = 0; i < phba->num_cpus; i++) {
phba             5673 drivers/scsi/be2iscsi/be_main.c 	i = (phba->pcidev->msix_enabled) ? i : 0;
phba             5678 drivers/scsi/be2iscsi/be_main.c 	ret = beiscsi_init_irqs(phba);
phba             5680 drivers/scsi/be2iscsi/be_main.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
phba             5685 drivers/scsi/be2iscsi/be_main.c 	hwi_enable_intr(phba);
phba             5687 drivers/scsi/be2iscsi/be_main.c 	ret = iscsi_host_add(phba->shost, &phba->pcidev->dev);
phba             5692 drivers/scsi/be2iscsi/be_main.c 	set_bit(BEISCSI_HBA_ONLINE, &phba->state);
phba             5693 drivers/scsi/be2iscsi/be_main.c 	__beiscsi_log(phba, KERN_INFO,
phba             5694 drivers/scsi/be2iscsi/be_main.c 		      "BM_%d : port online: 0x%lx\n", phba->state);
phba             5696 drivers/scsi/be2iscsi/be_main.c 	INIT_WORK(&phba->boot_work, beiscsi_boot_work);
phba             5697 drivers/scsi/be2iscsi/be_main.c 	ret = beiscsi_boot_get_shandle(phba, &s_handle);
phba             5699 drivers/scsi/be2iscsi/be_main.c 		beiscsi_start_boot_work(phba, s_handle);
phba             5705 drivers/scsi/be2iscsi/be_main.c 		set_bit(BEISCSI_HBA_BOOT_FOUND, &phba->state);
phba             5708 drivers/scsi/be2iscsi/be_main.c 	beiscsi_iface_create_default(phba);
phba             5709 drivers/scsi/be2iscsi/be_main.c 	schedule_delayed_work(&phba->eqd_update,
phba             5712 drivers/scsi/be2iscsi/be_main.c 	INIT_WORK(&phba->sess_work, beiscsi_sess_work);
phba             5713 drivers/scsi/be2iscsi/be_main.c 	INIT_DELAYED_WORK(&phba->recover_port, beiscsi_recover_port);
phba             5718 drivers/scsi/be2iscsi/be_main.c 	timer_setup(&phba->hw_check, beiscsi_hw_health_check, 0);
phba             5719 drivers/scsi/be2iscsi/be_main.c 	mod_timer(&phba->hw_check,
phba             5721 drivers/scsi/be2iscsi/be_main.c 	beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_INIT,
phba             5726 drivers/scsi/be2iscsi/be_main.c 	hwi_disable_intr(phba);
phba             5727 drivers/scsi/be2iscsi/be_main.c 	beiscsi_free_irqs(phba);
phba             5729 drivers/scsi/be2iscsi/be_main.c 	for (i = 0; i < phba->num_cpus; i++) {
phba             5733 drivers/scsi/be2iscsi/be_main.c 	destroy_workqueue(phba->wq);
phba             5735 drivers/scsi/be2iscsi/be_main.c 	hwi_cleanup_port(phba);
phba             5736 drivers/scsi/be2iscsi/be_main.c 	beiscsi_cleanup_port(phba);
phba             5737 drivers/scsi/be2iscsi/be_main.c 	beiscsi_free_mem(phba);
phba             5739 drivers/scsi/be2iscsi/be_main.c 	dma_free_coherent(&phba->pcidev->dev,
phba             5740 drivers/scsi/be2iscsi/be_main.c 			    phba->ctrl.mbox_mem_alloced.size,
phba             5741 drivers/scsi/be2iscsi/be_main.c 			    phba->ctrl.mbox_mem_alloced.va,
phba             5742 drivers/scsi/be2iscsi/be_main.c 			    phba->ctrl.mbox_mem_alloced.dma);
phba             5743 drivers/scsi/be2iscsi/be_main.c 	beiscsi_unmap_pci_function(phba);
phba             5745 drivers/scsi/be2iscsi/be_main.c 	pci_disable_msix(phba->pcidev);
phba             5746 drivers/scsi/be2iscsi/be_main.c 	pci_dev_put(phba->pcidev);
phba             5747 drivers/scsi/be2iscsi/be_main.c 	iscsi_host_free(phba->shost);
phba             5757 drivers/scsi/be2iscsi/be_main.c 	struct beiscsi_hba *phba = NULL;
phba             5759 drivers/scsi/be2iscsi/be_main.c 	phba = pci_get_drvdata(pcidev);
phba             5760 drivers/scsi/be2iscsi/be_main.c 	if (!phba) {
phba             5766 drivers/scsi/be2iscsi/be_main.c 	del_timer_sync(&phba->hw_check);
phba             5767 drivers/scsi/be2iscsi/be_main.c 	cancel_delayed_work_sync(&phba->recover_port);
phba             5768 drivers/scsi/be2iscsi/be_main.c 	cancel_work_sync(&phba->sess_work);
phba             5770 drivers/scsi/be2iscsi/be_main.c 	beiscsi_iface_destroy_default(phba);
phba             5771 drivers/scsi/be2iscsi/be_main.c 	iscsi_host_remove(phba->shost);
phba             5772 drivers/scsi/be2iscsi/be_main.c 	beiscsi_disable_port(phba, 1);
phba             5775 drivers/scsi/be2iscsi/be_main.c 	iscsi_boot_destroy_kset(phba->boot_struct.boot_kset);
phba             5778 drivers/scsi/be2iscsi/be_main.c 	destroy_workqueue(phba->wq);
phba             5779 drivers/scsi/be2iscsi/be_main.c 	beiscsi_free_mem(phba);
phba             5782 drivers/scsi/be2iscsi/be_main.c 	beiscsi_unmap_pci_function(phba);
phba             5783 drivers/scsi/be2iscsi/be_main.c 	dma_free_coherent(&phba->pcidev->dev,
phba             5784 drivers/scsi/be2iscsi/be_main.c 			    phba->ctrl.mbox_mem_alloced.size,
phba             5785 drivers/scsi/be2iscsi/be_main.c 			    phba->ctrl.mbox_mem_alloced.va,
phba             5786 drivers/scsi/be2iscsi/be_main.c 			    phba->ctrl.mbox_mem_alloced.dma);
phba             5788 drivers/scsi/be2iscsi/be_main.c 	pci_dev_put(phba->pcidev);
phba             5789 drivers/scsi/be2iscsi/be_main.c 	iscsi_host_free(phba->shost);
phba              252 drivers/scsi/be2iscsi/be_main.h #define chip_be2(phba)      (phba->generation == BE_GEN2)
phba              253 drivers/scsi/be2iscsi/be_main.h #define chip_be3_r(phba)    (phba->generation == BE_GEN3)
phba              254 drivers/scsi/be2iscsi/be_main.h #define is_chip_be2_be3r(phba) (chip_be3_r(phba) || (chip_be2(phba)))
phba              262 drivers/scsi/be2iscsi/be_main.h #define BEISCSI_ULP_AVLBL_CID(phba, ulp_num) \
phba              263 drivers/scsi/be2iscsi/be_main.h 	(((struct ulp_cid_info *)phba->cid_array_info[ulp_num])->avlbl_cids)
phba              264 drivers/scsi/be2iscsi/be_main.h #define BEISCSI_ULP0_AVLBL_CID(phba) \
phba              265 drivers/scsi/be2iscsi/be_main.h 	BEISCSI_ULP_AVLBL_CID(phba, BEISCSI_ULP0)
phba              266 drivers/scsi/be2iscsi/be_main.h #define BEISCSI_ULP1_AVLBL_CID(phba) \
phba              267 drivers/scsi/be2iscsi/be_main.h 	BEISCSI_ULP_AVLBL_CID(phba, BEISCSI_ULP1)
phba              300 drivers/scsi/be2iscsi/be_main.h 			  (phba->cid_to_cri_map[cid] = cri_index)
phba              301 drivers/scsi/be2iscsi/be_main.h #define BE_GET_CRI_FROM_CID(cid) (phba->cid_to_cri_map[cid])
phba              320 drivers/scsi/be2iscsi/be_main.h #define BEISCSI_GET_CID_COUNT(phba, ulp_num) \
phba              321 drivers/scsi/be2iscsi/be_main.h 		(phba->fw_config.iscsi_cid_count[ulp_num])
phba              395 drivers/scsi/be2iscsi/be_main.h #define beiscsi_hba_in_error(phba) ((phba)->state & BEISCSI_HBA_IN_ERR)
phba              396 drivers/scsi/be2iscsi/be_main.h #define beiscsi_hba_is_online(phba) \
phba              397 drivers/scsi/be2iscsi/be_main.h 	(!beiscsi_hba_in_error((phba)) && \
phba              398 drivers/scsi/be2iscsi/be_main.h 	 test_bit(BEISCSI_HBA_ONLINE, &phba->state))
phba              409 drivers/scsi/be2iscsi/be_main.h 	struct beiscsi_hba *phba;
phba              555 drivers/scsi/be2iscsi/be_main.h #define BEISCSI_ASYNC_HDQ_SIZE(phba, ulp) \
phba              556 drivers/scsi/be2iscsi/be_main.h 	(BEISCSI_GET_CID_COUNT((phba), (ulp)) * 2)
phba              692 drivers/scsi/be2iscsi/be_main.h void beiscsi_process_eq(struct beiscsi_hba *phba);
phba              790 drivers/scsi/be2iscsi/be_main.h struct wrb_handle *alloc_wrb_handle(struct beiscsi_hba *phba, unsigned int cid,
phba              793 drivers/scsi/be2iscsi/be_main.h free_mgmt_sgl_handle(struct beiscsi_hba *phba, struct sgl_handle *psgl_handle);
phba              798 drivers/scsi/be2iscsi/be_main.h void hwi_ring_cq_db(struct beiscsi_hba *phba,
phba              803 drivers/scsi/be2iscsi/be_main.h void beiscsi_process_mcc_cq(struct beiscsi_hba *phba);
phba             1009 drivers/scsi/be2iscsi/be_main.h void beiscsi_start_boot_work(struct beiscsi_hba *phba, unsigned int s_handle);
phba             1020 drivers/scsi/be2iscsi/be_main.h #define __beiscsi_log(phba, level, fmt, arg...) \
phba             1021 drivers/scsi/be2iscsi/be_main.h 	shost_printk(level, phba->shost, fmt, __LINE__, ##arg)
phba             1023 drivers/scsi/be2iscsi/be_main.h #define beiscsi_log(phba, level, mask, fmt, arg...) \
phba             1025 drivers/scsi/be2iscsi/be_main.h 	uint32_t log_value = phba->attr_log_enable; \
phba             1027 drivers/scsi/be2iscsi/be_main.h 			__beiscsi_log(phba, level, fmt, ##arg); \
phba               34 drivers/scsi/be2iscsi/be_mgmt.c 					 struct beiscsi_hba *phba,
phba               71 drivers/scsi/be2iscsi/be_mgmt.c 		beiscsi_log(phba, KERN_WARNING, BEISCSI_LOG_CONFIG,
phba               79 drivers/scsi/be2iscsi/be_mgmt.c 	wrb = alloc_mcc_wrb(phba, &tag);
phba               92 drivers/scsi/be2iscsi/be_mgmt.c 	be_mcc_notify(phba, tag);
phba              108 drivers/scsi/be2iscsi/be_mgmt.c int mgmt_open_connection(struct beiscsi_hba *phba,
phba              117 drivers/scsi/be2iscsi/be_mgmt.c 	struct be_ctrl_info *ctrl = &phba->ctrl;
phba              130 drivers/scsi/be2iscsi/be_mgmt.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_CONFIG,
phba              136 drivers/scsi/be2iscsi/be_mgmt.c 	phwi_ctrlr = phba->phwi_ctrlr;
phba              141 drivers/scsi/be2iscsi/be_mgmt.c 	def_hdr_id = (unsigned short)HWI_GET_DEF_HDRQ_ID(phba, ulp_num);
phba              142 drivers/scsi/be2iscsi/be_mgmt.c 	def_data_id = (unsigned short)HWI_GET_DEF_BUFQ_ID(phba, ulp_num);
phba              145 drivers/scsi/be2iscsi/be_mgmt.c 	ISCSI_GET_PDU_TEMPLATE_ADDRESS(phba, ptemplate_address);
phba              148 drivers/scsi/be2iscsi/be_mgmt.c 	wrb = alloc_mcc_wrb(phba, &tag);
phba              185 drivers/scsi/be2iscsi/be_mgmt.c 	i = phba->nxt_cqid++;
phba              186 drivers/scsi/be2iscsi/be_mgmt.c 	if (phba->nxt_cqid == phba->num_cpus)
phba              187 drivers/scsi/be2iscsi/be_mgmt.c 		phba->nxt_cqid = 0;
phba              189 drivers/scsi/be2iscsi/be_mgmt.c 	beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_CONFIG,
phba              201 drivers/scsi/be2iscsi/be_mgmt.c 	if (!is_chip_be2_be3r(phba)) {
phba              207 drivers/scsi/be2iscsi/be_mgmt.c 	be_mcc_notify(phba, tag);
phba              221 drivers/scsi/be2iscsi/be_mgmt.c static int beiscsi_exec_nemb_cmd(struct beiscsi_hba *phba,
phba              227 drivers/scsi/be2iscsi/be_mgmt.c 	struct be_ctrl_info *ctrl = &phba->ctrl;
phba              234 drivers/scsi/be2iscsi/be_mgmt.c 	wrb = alloc_mcc_wrb(phba, &tag);
phba              252 drivers/scsi/be2iscsi/be_mgmt.c 		tag_mem = &phba->ctrl.ptag_state[tag].tag_mem_state;
phba              259 drivers/scsi/be2iscsi/be_mgmt.c 	be_mcc_notify(phba, tag);
phba              266 drivers/scsi/be2iscsi/be_mgmt.c 	rc = beiscsi_mccq_compl_wait(phba, tag, NULL, nonemb_cmd);
phba              292 drivers/scsi/be2iscsi/be_mgmt.c static int beiscsi_prep_nemb_cmd(struct beiscsi_hba *phba,
phba              296 drivers/scsi/be2iscsi/be_mgmt.c 	cmd->va = dma_alloc_coherent(&phba->ctrl.pdev->dev, size, &cmd->dma,
phba              299 drivers/scsi/be2iscsi/be_mgmt.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_CONFIG,
phba              305 drivers/scsi/be2iscsi/be_mgmt.c 	beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_CONFIG,
phba              311 drivers/scsi/be2iscsi/be_mgmt.c static void __beiscsi_eq_delay_compl(struct beiscsi_hba *phba, unsigned int tag)
phba              316 drivers/scsi/be2iscsi/be_mgmt.c 	__beiscsi_mcc_compl_status(phba, tag, NULL, NULL);
phba              317 drivers/scsi/be2iscsi/be_mgmt.c 	tag_mem = &phba->ctrl.ptag_state[tag].tag_mem_state;
phba              319 drivers/scsi/be2iscsi/be_mgmt.c 		dma_free_coherent(&phba->pcidev->dev, tag_mem->size,
phba              325 drivers/scsi/be2iscsi/be_mgmt.c int beiscsi_modify_eq_delay(struct beiscsi_hba *phba,
phba              332 drivers/scsi/be2iscsi/be_mgmt.c 	rc = beiscsi_prep_nemb_cmd(phba, &nonemb_cmd, CMD_SUBSYSTEM_COMMON,
phba              346 drivers/scsi/be2iscsi/be_mgmt.c 	return beiscsi_exec_nemb_cmd(phba, &nonemb_cmd,
phba              357 drivers/scsi/be2iscsi/be_mgmt.c int beiscsi_get_initiator_name(struct beiscsi_hba *phba, char *name, bool cfg)
phba              364 drivers/scsi/be2iscsi/be_mgmt.c 	rc = beiscsi_prep_nemb_cmd(phba, &nonemb_cmd, CMD_SUBSYSTEM_ISCSI_INI,
phba              372 drivers/scsi/be2iscsi/be_mgmt.c 	rc = beiscsi_exec_nemb_cmd(phba, &nonemb_cmd, NULL,
phba              375 drivers/scsi/be2iscsi/be_mgmt.c 		beiscsi_log(phba, KERN_ERR,
phba              384 drivers/scsi/be2iscsi/be_mgmt.c unsigned int beiscsi_if_get_handle(struct beiscsi_hba *phba)
phba              386 drivers/scsi/be2iscsi/be_mgmt.c 	struct be_ctrl_info *ctrl = &phba->ctrl;
phba              395 drivers/scsi/be2iscsi/be_mgmt.c 	wrb = alloc_mcc_wrb(phba, &tag);
phba              406 drivers/scsi/be2iscsi/be_mgmt.c 	be_mcc_notify(phba, tag);
phba              409 drivers/scsi/be2iscsi/be_mgmt.c 	status = beiscsi_mccq_compl_wait(phba, tag, &wrb, NULL);
phba              411 drivers/scsi/be2iscsi/be_mgmt.c 		beiscsi_log(phba, KERN_WARNING, BEISCSI_LOG_CONFIG,
phba              418 drivers/scsi/be2iscsi/be_mgmt.c 	phba->interface_handle = pbe_allid->if_hndl_list[0];
phba              433 drivers/scsi/be2iscsi/be_mgmt.c static int beiscsi_if_mod_gw(struct beiscsi_hba *phba,
phba              440 drivers/scsi/be2iscsi/be_mgmt.c 	rt_val = beiscsi_prep_nemb_cmd(phba, &nonemb_cmd, CMD_SUBSYSTEM_ISCSI,
phba              451 drivers/scsi/be2iscsi/be_mgmt.c 	return beiscsi_exec_nemb_cmd(phba, &nonemb_cmd, NULL, NULL, 0);
phba              454 drivers/scsi/be2iscsi/be_mgmt.c int beiscsi_if_set_gw(struct beiscsi_hba *phba, u32 ip_type, u8 *gw)
phba              460 drivers/scsi/be2iscsi/be_mgmt.c 	rt_val = beiscsi_if_get_gw(phba, ip_type, &gw_resp);
phba              462 drivers/scsi/be2iscsi/be_mgmt.c 		beiscsi_log(phba, KERN_WARNING, BEISCSI_LOG_CONFIG,
phba              468 drivers/scsi/be2iscsi/be_mgmt.c 		rt_val = beiscsi_if_mod_gw(phba, IP_ACTION_DEL, ip_type,
phba              471 drivers/scsi/be2iscsi/be_mgmt.c 			beiscsi_log(phba, KERN_WARNING, BEISCSI_LOG_CONFIG,
phba              477 drivers/scsi/be2iscsi/be_mgmt.c 	rt_val = beiscsi_if_mod_gw(phba, IP_ACTION_ADD, ip_type, gw);
phba              479 drivers/scsi/be2iscsi/be_mgmt.c 		beiscsi_log(phba, KERN_WARNING, BEISCSI_LOG_CONFIG,
phba              485 drivers/scsi/be2iscsi/be_mgmt.c int beiscsi_if_get_gw(struct beiscsi_hba *phba, u32 ip_type,
phba              492 drivers/scsi/be2iscsi/be_mgmt.c 	rc = beiscsi_prep_nemb_cmd(phba, &nonemb_cmd, CMD_SUBSYSTEM_ISCSI,
phba              501 drivers/scsi/be2iscsi/be_mgmt.c 	return beiscsi_exec_nemb_cmd(phba, &nonemb_cmd, NULL,
phba              506 drivers/scsi/be2iscsi/be_mgmt.c beiscsi_if_clr_ip(struct beiscsi_hba *phba,
phba              513 drivers/scsi/be2iscsi/be_mgmt.c 	rc = beiscsi_prep_nemb_cmd(phba, &nonemb_cmd, CMD_SUBSYSTEM_ISCSI,
phba              523 drivers/scsi/be2iscsi/be_mgmt.c 		phba->interface_handle;
phba              533 drivers/scsi/be2iscsi/be_mgmt.c 	rc = beiscsi_exec_nemb_cmd(phba, &nonemb_cmd, NULL, NULL, 0);
phba              535 drivers/scsi/be2iscsi/be_mgmt.c 		beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_CONFIG,
phba              543 drivers/scsi/be2iscsi/be_mgmt.c beiscsi_if_set_ip(struct beiscsi_hba *phba, u8 *ip,
phba              551 drivers/scsi/be2iscsi/be_mgmt.c 	rc = beiscsi_prep_nemb_cmd(phba, &nonemb_cmd, CMD_SUBSYSTEM_ISCSI,
phba              561 drivers/scsi/be2iscsi/be_mgmt.c 		phba->interface_handle;
phba              571 drivers/scsi/be2iscsi/be_mgmt.c 	rc = beiscsi_exec_nemb_cmd(phba, &nonemb_cmd, NULL, NULL, 0);
phba              577 drivers/scsi/be2iscsi/be_mgmt.c 		__beiscsi_log(phba, KERN_ERR,
phba              586 drivers/scsi/be2iscsi/be_mgmt.c int beiscsi_if_en_static(struct beiscsi_hba *phba, u32 ip_type,
phba              594 drivers/scsi/be2iscsi/be_mgmt.c 	rc = beiscsi_if_get_info(phba, ip_type, &if_info);
phba              599 drivers/scsi/be2iscsi/be_mgmt.c 		rc = beiscsi_prep_nemb_cmd(phba, &nonemb_cmd,
phba              607 drivers/scsi/be2iscsi/be_mgmt.c 		reldhcp->interface_hndl = phba->interface_handle;
phba              609 drivers/scsi/be2iscsi/be_mgmt.c 		rc = beiscsi_exec_nemb_cmd(phba, &nonemb_cmd, NULL, NULL, 0);
phba              611 drivers/scsi/be2iscsi/be_mgmt.c 			beiscsi_log(phba, KERN_WARNING, BEISCSI_LOG_CONFIG,
phba              620 drivers/scsi/be2iscsi/be_mgmt.c 		rc = beiscsi_if_clr_ip(phba, if_info);
phba              627 drivers/scsi/be2iscsi/be_mgmt.c 		rc = beiscsi_if_set_ip(phba, ip, subnet, ip_type);
phba              633 drivers/scsi/be2iscsi/be_mgmt.c int beiscsi_if_en_dhcp(struct beiscsi_hba *phba, u32 ip_type)
phba              642 drivers/scsi/be2iscsi/be_mgmt.c 	rc = beiscsi_if_get_info(phba, ip_type, &if_info);
phba              647 drivers/scsi/be2iscsi/be_mgmt.c 		beiscsi_log(phba, KERN_WARNING, BEISCSI_LOG_CONFIG,
phba              654 drivers/scsi/be2iscsi/be_mgmt.c 		rc = beiscsi_if_clr_ip(phba, if_info);
phba              662 drivers/scsi/be2iscsi/be_mgmt.c 	rc = beiscsi_if_get_gw(phba, if_info->ip_addr.ip_type, &gw_resp);
phba              664 drivers/scsi/be2iscsi/be_mgmt.c 		beiscsi_log(phba, KERN_WARNING, BEISCSI_LOG_CONFIG,
phba              670 drivers/scsi/be2iscsi/be_mgmt.c 		rc = beiscsi_if_mod_gw(phba, IP_ACTION_DEL,
phba              673 drivers/scsi/be2iscsi/be_mgmt.c 			beiscsi_log(phba, KERN_WARNING, BEISCSI_LOG_CONFIG,
phba              679 drivers/scsi/be2iscsi/be_mgmt.c 	rc = beiscsi_prep_nemb_cmd(phba, &nonemb_cmd, CMD_SUBSYSTEM_ISCSI,
phba              688 drivers/scsi/be2iscsi/be_mgmt.c 	dhcpreq->interface_hndl = phba->interface_handle;
phba              690 drivers/scsi/be2iscsi/be_mgmt.c 	rc = beiscsi_exec_nemb_cmd(phba, &nonemb_cmd, NULL, NULL, 0);
phba              709 drivers/scsi/be2iscsi/be_mgmt.c int beiscsi_if_set_vlan(struct beiscsi_hba *phba, uint16_t vlan_tag)
phba              714 drivers/scsi/be2iscsi/be_mgmt.c 	tag = be_cmd_set_vlan(phba, vlan_tag);
phba              716 drivers/scsi/be2iscsi/be_mgmt.c 		beiscsi_log(phba, KERN_ERR,
phba              722 drivers/scsi/be2iscsi/be_mgmt.c 	rc = beiscsi_mccq_compl_wait(phba, tag, NULL, NULL);
phba              724 drivers/scsi/be2iscsi/be_mgmt.c 		beiscsi_log(phba, KERN_ERR,
phba              733 drivers/scsi/be2iscsi/be_mgmt.c int beiscsi_if_get_info(struct beiscsi_hba *phba, int ip_type,
phba              741 drivers/scsi/be2iscsi/be_mgmt.c 	rc = beiscsi_if_get_handle(phba);
phba              746 drivers/scsi/be2iscsi/be_mgmt.c 		rc = beiscsi_prep_nemb_cmd(phba, &nonemb_cmd,
phba              754 drivers/scsi/be2iscsi/be_mgmt.c 		req->interface_hndl = phba->interface_handle;
phba              760 drivers/scsi/be2iscsi/be_mgmt.c 			beiscsi_log(phba, KERN_ERR,
phba              765 drivers/scsi/be2iscsi/be_mgmt.c 				dma_free_coherent(&phba->ctrl.pdev->dev,
phba              772 drivers/scsi/be2iscsi/be_mgmt.c 		rc =  beiscsi_exec_nemb_cmd(phba, &nonemb_cmd, NULL, *if_info,
phba              784 drivers/scsi/be2iscsi/be_mgmt.c 			dma_free_coherent(&phba->ctrl.pdev->dev, nonemb_cmd.size,
phba              796 drivers/scsi/be2iscsi/be_mgmt.c int mgmt_get_nic_conf(struct beiscsi_hba *phba,
phba              802 drivers/scsi/be2iscsi/be_mgmt.c 	rc = beiscsi_prep_nemb_cmd(phba, &nonemb_cmd, CMD_SUBSYSTEM_ISCSI,
phba              808 drivers/scsi/be2iscsi/be_mgmt.c 	return beiscsi_exec_nemb_cmd(phba, &nonemb_cmd, NULL,
phba              812 drivers/scsi/be2iscsi/be_mgmt.c static void beiscsi_boot_process_compl(struct beiscsi_hba *phba,
phba              822 drivers/scsi/be2iscsi/be_mgmt.c 	if (!test_bit(BEISCSI_HBA_BOOT_WORK, &phba->state)) {
phba              823 drivers/scsi/be2iscsi/be_mgmt.c 		__beiscsi_log(phba, KERN_ERR,
phba              825 drivers/scsi/be2iscsi/be_mgmt.c 			      __func__, phba->state);
phba              829 drivers/scsi/be2iscsi/be_mgmt.c 	if (phba->boot_struct.tag != tag) {
phba              830 drivers/scsi/be2iscsi/be_mgmt.c 		__beiscsi_log(phba, KERN_ERR,
phba              832 drivers/scsi/be2iscsi/be_mgmt.c 			      __func__, tag, phba->boot_struct.tag);
phba              835 drivers/scsi/be2iscsi/be_mgmt.c 	bs = &phba->boot_struct;
phba              840 drivers/scsi/be2iscsi/be_mgmt.c 		status = __beiscsi_mcc_compl_status(phba, tag, NULL, NULL);
phba              847 drivers/scsi/be2iscsi/be_mgmt.c 		status = __beiscsi_mcc_compl_status(phba, tag, &wrb, NULL);
phba              860 drivers/scsi/be2iscsi/be_mgmt.c 		status = __beiscsi_mcc_compl_status(phba, tag, NULL,
phba              868 drivers/scsi/be2iscsi/be_mgmt.c 			__beiscsi_log(phba, KERN_ERR,
phba              873 drivers/scsi/be2iscsi/be_mgmt.c 		dma_free_coherent(&phba->ctrl.pdev->dev, bs->nonemb_cmd.size,
phba              878 drivers/scsi/be2iscsi/be_mgmt.c 		status = __beiscsi_mcc_compl_status(phba, tag, &wrb, NULL);
phba              882 drivers/scsi/be2iscsi/be_mgmt.c 				__beiscsi_log(phba, KERN_ERR,
phba              898 drivers/scsi/be2iscsi/be_mgmt.c 		__beiscsi_log(phba, KERN_ERR,
phba              904 drivers/scsi/be2iscsi/be_mgmt.c 		clear_bit(BEISCSI_HBA_BOOT_WORK, &phba->state);
phba              907 drivers/scsi/be2iscsi/be_mgmt.c 	schedule_work(&phba->boot_work);
phba              918 drivers/scsi/be2iscsi/be_mgmt.c unsigned int beiscsi_boot_logout_sess(struct beiscsi_hba *phba)
phba              920 drivers/scsi/be2iscsi/be_mgmt.c 	struct be_ctrl_info *ctrl = &phba->ctrl;
phba              926 drivers/scsi/be2iscsi/be_mgmt.c 	wrb = alloc_mcc_wrb(phba, &tag);
phba              938 drivers/scsi/be2iscsi/be_mgmt.c 	req->session_handle = phba->boot_struct.boot_sess.session_handle;
phba              940 drivers/scsi/be2iscsi/be_mgmt.c 	phba->boot_struct.tag = tag;
phba              944 drivers/scsi/be2iscsi/be_mgmt.c 	be_mcc_notify(phba, tag);
phba              957 drivers/scsi/be2iscsi/be_mgmt.c unsigned int beiscsi_boot_reopen_sess(struct beiscsi_hba *phba)
phba              959 drivers/scsi/be2iscsi/be_mgmt.c 	struct be_ctrl_info *ctrl = &phba->ctrl;
phba              965 drivers/scsi/be2iscsi/be_mgmt.c 	wrb = alloc_mcc_wrb(phba, &tag);
phba              979 drivers/scsi/be2iscsi/be_mgmt.c 	phba->boot_struct.tag = tag;
phba              983 drivers/scsi/be2iscsi/be_mgmt.c 	be_mcc_notify(phba, tag);
phba              998 drivers/scsi/be2iscsi/be_mgmt.c unsigned int beiscsi_boot_get_sinfo(struct beiscsi_hba *phba)
phba             1000 drivers/scsi/be2iscsi/be_mgmt.c 	struct be_ctrl_info *ctrl = &phba->ctrl;
phba             1008 drivers/scsi/be2iscsi/be_mgmt.c 	wrb = alloc_mcc_wrb(phba, &tag);
phba             1014 drivers/scsi/be2iscsi/be_mgmt.c 	nonemb_cmd = &phba->boot_struct.nonemb_cmd;
phba             1016 drivers/scsi/be2iscsi/be_mgmt.c 	nonemb_cmd->va = dma_alloc_coherent(&phba->ctrl.pdev->dev,
phba             1032 drivers/scsi/be2iscsi/be_mgmt.c 	req->session_handle = phba->boot_struct.s_handle;
phba             1037 drivers/scsi/be2iscsi/be_mgmt.c 	phba->boot_struct.tag = tag;
phba             1041 drivers/scsi/be2iscsi/be_mgmt.c 	be_mcc_notify(phba, tag);
phba             1046 drivers/scsi/be2iscsi/be_mgmt.c unsigned int __beiscsi_boot_get_shandle(struct beiscsi_hba *phba, int async)
phba             1048 drivers/scsi/be2iscsi/be_mgmt.c 	struct be_ctrl_info *ctrl = &phba->ctrl;
phba             1054 drivers/scsi/be2iscsi/be_mgmt.c 	wrb = alloc_mcc_wrb(phba, &tag);
phba             1067 drivers/scsi/be2iscsi/be_mgmt.c 		phba->boot_struct.tag = tag;
phba             1072 drivers/scsi/be2iscsi/be_mgmt.c 	be_mcc_notify(phba, tag);
phba             1087 drivers/scsi/be2iscsi/be_mgmt.c int beiscsi_boot_get_shandle(struct beiscsi_hba *phba, unsigned int *s_handle)
phba             1096 drivers/scsi/be2iscsi/be_mgmt.c 	tag = __beiscsi_boot_get_shandle(phba, 0);
phba             1098 drivers/scsi/be2iscsi/be_mgmt.c 		beiscsi_log(phba, KERN_ERR,
phba             1104 drivers/scsi/be2iscsi/be_mgmt.c 	rc = beiscsi_mccq_compl_wait(phba, tag, &wrb, NULL);
phba             1106 drivers/scsi/be2iscsi/be_mgmt.c 		beiscsi_log(phba, KERN_ERR,
phba             1115 drivers/scsi/be2iscsi/be_mgmt.c 		__beiscsi_log(phba, KERN_INFO,
phba             1155 drivers/scsi/be2iscsi/be_mgmt.c 	struct beiscsi_hba *phba = iscsi_host_priv(shost);
phba             1157 drivers/scsi/be2iscsi/be_mgmt.c 	return snprintf(buf, PAGE_SIZE, "%s\n", phba->fw_ver_str);
phba             1174 drivers/scsi/be2iscsi/be_mgmt.c 	struct beiscsi_hba *phba = iscsi_host_priv(shost);
phba             1178 drivers/scsi/be2iscsi/be_mgmt.c 		if (test_bit(ulp_num, (void *)&phba->fw_config.ulp_supported)) {
phba             1179 drivers/scsi/be2iscsi/be_mgmt.c 			avlbl_cids = BEISCSI_ULP_AVLBL_CID(phba, ulp_num);
phba             1180 drivers/scsi/be2iscsi/be_mgmt.c 			total_cids = BEISCSI_GET_CID_COUNT(phba, ulp_num);
phba             1206 drivers/scsi/be2iscsi/be_mgmt.c 	struct beiscsi_hba *phba = iscsi_host_priv(shost);
phba             1210 drivers/scsi/be2iscsi/be_mgmt.c 		if (test_bit(ulp_num, (void *)&phba->fw_config.ulp_supported))
phba             1213 drivers/scsi/be2iscsi/be_mgmt.c 					BEISCSI_ULP_AVLBL_CID(phba, ulp_num));
phba             1237 drivers/scsi/be2iscsi/be_mgmt.c 	struct beiscsi_hba *phba = iscsi_host_priv(shost);
phba             1239 drivers/scsi/be2iscsi/be_mgmt.c 	dev_id = phba->pcidev->device;
phba             1275 drivers/scsi/be2iscsi/be_mgmt.c 	struct beiscsi_hba *phba = iscsi_host_priv(shost);
phba             1278 drivers/scsi/be2iscsi/be_mgmt.c 			phba->fw_config.phys_port);
phba             1431 drivers/scsi/be2iscsi/be_mgmt.c unsigned int beiscsi_invalidate_cxn(struct beiscsi_hba *phba,
phba             1435 drivers/scsi/be2iscsi/be_mgmt.c 	struct be_ctrl_info *ctrl = &phba->ctrl;
phba             1440 drivers/scsi/be2iscsi/be_mgmt.c 	wrb = alloc_mcc_wrb(phba, &tag);
phba             1463 drivers/scsi/be2iscsi/be_mgmt.c 	be_mcc_notify(phba, tag);
phba             1468 drivers/scsi/be2iscsi/be_mgmt.c unsigned int beiscsi_upload_cxn(struct beiscsi_hba *phba,
phba             1471 drivers/scsi/be2iscsi/be_mgmt.c 	struct be_ctrl_info *ctrl = &phba->ctrl;
phba             1477 drivers/scsi/be2iscsi/be_mgmt.c 	wrb = alloc_mcc_wrb(phba, &tag);
phba             1492 drivers/scsi/be2iscsi/be_mgmt.c 	be_mcc_notify(phba, tag);
phba             1497 drivers/scsi/be2iscsi/be_mgmt.c int beiscsi_mgmt_invalidate_icds(struct beiscsi_hba *phba,
phba             1501 drivers/scsi/be2iscsi/be_mgmt.c 	struct be_ctrl_info *ctrl = &phba->ctrl;
phba             1513 drivers/scsi/be2iscsi/be_mgmt.c 	nonemb_cmd.va = dma_alloc_coherent(&phba->ctrl.pdev->dev,
phba             1517 drivers/scsi/be2iscsi/be_mgmt.c 		beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_EH,
phba             1523 drivers/scsi/be2iscsi/be_mgmt.c 	wrb = alloc_mcc_wrb(phba, &tag);
phba             1526 drivers/scsi/be2iscsi/be_mgmt.c 		dma_free_coherent(&phba->ctrl.pdev->dev, nonemb_cmd.size,
phba             1548 drivers/scsi/be2iscsi/be_mgmt.c 	be_mcc_notify(phba, tag);
phba             1551 drivers/scsi/be2iscsi/be_mgmt.c 	rc = beiscsi_mccq_compl_wait(phba, tag, NULL, &nonemb_cmd);
phba             1553 drivers/scsi/be2iscsi/be_mgmt.c 		dma_free_coherent(&phba->ctrl.pdev->dev, nonemb_cmd.size,
phba               29 drivers/scsi/be2iscsi/be_mgmt.h int mgmt_open_connection(struct beiscsi_hba *phba,
phba               35 drivers/scsi/be2iscsi/be_mgmt.h 					 struct beiscsi_hba *phba,
phba              141 drivers/scsi/be2iscsi/be_mgmt.h #define GET_MGMT_CONTROLLER_WS(phba)    (phba->pmgmt_ws)
phba              144 drivers/scsi/be2iscsi/be_mgmt.h 	pa->lo = phba->init_mem[ISCSI_MEM_GLOBAL_HEADER].mem_array[0].\
phba              146 drivers/scsi/be2iscsi/be_mgmt.h 	pa->hi = phba->init_mem[ISCSI_MEM_GLOBAL_HEADER].mem_array[0].\
phba              154 drivers/scsi/be2iscsi/be_mgmt.h 	struct beiscsi_hba *phba;
phba              166 drivers/scsi/be2iscsi/be_mgmt.h int beiscsi_mgmt_invalidate_icds(struct beiscsi_hba *phba,
phba              170 drivers/scsi/be2iscsi/be_mgmt.h int beiscsi_get_initiator_name(struct beiscsi_hba *phba, char *name, bool cfg);
phba              172 drivers/scsi/be2iscsi/be_mgmt.h int beiscsi_if_en_dhcp(struct beiscsi_hba *phba, u32 ip_type);
phba              174 drivers/scsi/be2iscsi/be_mgmt.h int beiscsi_if_en_static(struct beiscsi_hba *phba, u32 ip_type,
phba              177 drivers/scsi/be2iscsi/be_mgmt.h int beiscsi_if_set_gw(struct beiscsi_hba *phba, u32 ip_type, u8 *gw);
phba              179 drivers/scsi/be2iscsi/be_mgmt.h int beiscsi_if_get_gw(struct beiscsi_hba *phba, u32 ip_type,
phba              182 drivers/scsi/be2iscsi/be_mgmt.h int mgmt_get_nic_conf(struct beiscsi_hba *phba,
phba              185 drivers/scsi/be2iscsi/be_mgmt.h int beiscsi_if_get_info(struct beiscsi_hba *phba, int ip_type,
phba              188 drivers/scsi/be2iscsi/be_mgmt.h unsigned int beiscsi_if_get_handle(struct beiscsi_hba *phba);
phba              190 drivers/scsi/be2iscsi/be_mgmt.h int beiscsi_if_set_vlan(struct beiscsi_hba *phba, uint16_t vlan_tag);
phba              192 drivers/scsi/be2iscsi/be_mgmt.h unsigned int beiscsi_boot_logout_sess(struct beiscsi_hba *phba);
phba              194 drivers/scsi/be2iscsi/be_mgmt.h unsigned int beiscsi_boot_reopen_sess(struct beiscsi_hba *phba);
phba              196 drivers/scsi/be2iscsi/be_mgmt.h unsigned int beiscsi_boot_get_sinfo(struct beiscsi_hba *phba);
phba              198 drivers/scsi/be2iscsi/be_mgmt.h unsigned int __beiscsi_boot_get_shandle(struct beiscsi_hba *phba, int async);
phba              200 drivers/scsi/be2iscsi/be_mgmt.h int beiscsi_boot_get_shandle(struct beiscsi_hba *phba, unsigned int *s_handle);
phba              230 drivers/scsi/be2iscsi/be_mgmt.h unsigned int beiscsi_invalidate_cxn(struct beiscsi_hba *phba,
phba              233 drivers/scsi/be2iscsi/be_mgmt.h unsigned int beiscsi_upload_cxn(struct beiscsi_hba *phba,
phba              236 drivers/scsi/be2iscsi/be_mgmt.h int be_cmd_modify_eq_delay(struct beiscsi_hba *phba,
phba              239 drivers/scsi/be2iscsi/be_mgmt.h int beiscsi_logout_fw_sess(struct beiscsi_hba *phba,
phba              351 drivers/scsi/lpfc/lpfc.h 	struct lpfc_hba *phba;
phba              630 drivers/scsi/lpfc/lpfc.h 		(struct lpfc_hba *phba, struct lpfc_nodelist *ndlp,
phba              650 drivers/scsi/lpfc/lpfc.h 	int (*lpfc_hba_down_post)(struct lpfc_hba *phba);
phba              662 drivers/scsi/lpfc/lpfc.h 		(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
phba             1231 drivers/scsi/lpfc/lpfc.h lpfc_set_loopback_flag(struct lpfc_hba *phba)
phba             1233 drivers/scsi/lpfc/lpfc.h 	if (phba->cfg_topology == FLAGS_LOCAL_LB)
phba             1234 drivers/scsi/lpfc/lpfc.h 		phba->link_flag |= LS_LOOPBACK_MODE;
phba             1236 drivers/scsi/lpfc/lpfc.h 		phba->link_flag &= ~LS_LOOPBACK_MODE;
phba             1240 drivers/scsi/lpfc/lpfc.h lpfc_is_link_up(struct lpfc_hba *phba)
phba             1242 drivers/scsi/lpfc/lpfc.h 	return  phba->link_state == LPFC_LINK_UP ||
phba             1243 drivers/scsi/lpfc/lpfc.h 		phba->link_state == LPFC_CLEAR_LA ||
phba             1244 drivers/scsi/lpfc/lpfc.h 		phba->link_state == LPFC_HBA_READY;
phba             1248 drivers/scsi/lpfc/lpfc.h lpfc_worker_wake_up(struct lpfc_hba *phba)
phba             1251 drivers/scsi/lpfc/lpfc.h 	set_bit(LPFC_DATA_READY, &phba->data_flags);
phba             1254 drivers/scsi/lpfc/lpfc.h 	wake_up(&phba->work_waitq);
phba             1270 drivers/scsi/lpfc/lpfc.h lpfc_sli_read_hs(struct lpfc_hba *phba)
phba             1276 drivers/scsi/lpfc/lpfc.h 	phba->sli.slistat.err_attn_event++;
phba             1279 drivers/scsi/lpfc/lpfc.h 	if (lpfc_readl(phba->HSregaddr, &phba->work_hs) ||
phba             1280 drivers/scsi/lpfc/lpfc.h 		lpfc_readl(phba->MBslimaddr + 0xa8, &phba->work_status[0]) ||
phba             1281 drivers/scsi/lpfc/lpfc.h 		lpfc_readl(phba->MBslimaddr + 0xac, &phba->work_status[1])) {
phba             1286 drivers/scsi/lpfc/lpfc.h 	writel(HA_ERATT, phba->HAregaddr);
phba             1287 drivers/scsi/lpfc/lpfc.h 	readl(phba->HAregaddr); /* flush */
phba             1288 drivers/scsi/lpfc/lpfc.h 	phba->pport->stopped = 1;
phba             1294 drivers/scsi/lpfc/lpfc.h lpfc_phba_elsring(struct lpfc_hba *phba)
phba             1297 drivers/scsi/lpfc/lpfc.h 	if (phba->sli_rev != LPFC_SLI_REV4  &&
phba             1298 drivers/scsi/lpfc/lpfc.h 	    phba->sli_rev != LPFC_SLI_REV3  &&
phba             1299 drivers/scsi/lpfc/lpfc.h 	    phba->sli_rev != LPFC_SLI_REV2)
phba             1302 drivers/scsi/lpfc/lpfc.h 	if (phba->sli_rev == LPFC_SLI_REV4) {
phba             1303 drivers/scsi/lpfc/lpfc.h 		if (phba->sli4_hba.els_wq)
phba             1304 drivers/scsi/lpfc/lpfc.h 			return phba->sli4_hba.els_wq->pring;
phba             1308 drivers/scsi/lpfc/lpfc.h 	return &phba->sli.sli3_ring[LPFC_ELS_RING];
phba             1319 drivers/scsi/lpfc/lpfc.h lpfc_sli4_mod_hba_eq_delay(struct lpfc_hba *phba, struct lpfc_queue *eq,
phba             1327 drivers/scsi/lpfc/lpfc.h 	writel(reg_data.word0, phba->sli4_hba.u.if_type2.EQDregaddr);
phba              151 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba              153 drivers/scsi/lpfc/lpfc_attr.c 	if (phba->hba_flag & HBA_FIP_SUPPORT)
phba              165 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba              185 drivers/scsi/lpfc/lpfc_attr.c 	if (phba->nvmet_support) {
phba              186 drivers/scsi/lpfc/lpfc_attr.c 		if (!phba->targetport) {
phba              193 drivers/scsi/lpfc/lpfc_attr.c 		if (phba->targetport->port_id)
phba              206 drivers/scsi/lpfc/lpfc_attr.c 			  phba->brd_no,
phba              209 drivers/scsi/lpfc/lpfc_attr.c 			  phba->targetport->port_id);
phba              217 drivers/scsi/lpfc/lpfc_attr.c 		tgtp = (struct lpfc_nvmet_tgtport *)phba->targetport->private;
phba              331 drivers/scsi/lpfc/lpfc_attr.c 			  phba->sli4_hba.nvmet_xri_cnt,
phba              332 drivers/scsi/lpfc/lpfc_attr.c 			  phba->sli4_hba.nvmet_io_wait_cnt,
phba              333 drivers/scsi/lpfc/lpfc_attr.c 			  phba->sli4_hba.nvmet_io_wait_total,
phba              353 drivers/scsi/lpfc/lpfc_attr.c 		  phba->brd_no,
phba              354 drivers/scsi/lpfc/lpfc_attr.c 		  phba->sli4_hba.max_cfg_param.max_xri,
phba              355 drivers/scsi/lpfc/lpfc_attr.c 		  phba->sli4_hba.io_xri_max,
phba              356 drivers/scsi/lpfc/lpfc_attr.c 		  lpfc_sli4_get_els_iocb_cnt(phba));
phba              369 drivers/scsi/lpfc/lpfc_attr.c 		  phba->brd_no,
phba              378 drivers/scsi/lpfc/lpfc_attr.c 		spin_lock_irqsave(&vport->phba->hbalock, iflags);
phba              382 drivers/scsi/lpfc/lpfc_attr.c 		spin_unlock_irqrestore(&vport->phba->hbalock, iflags);
phba              402 drivers/scsi/lpfc/lpfc_attr.c 		if (phba->brd_no >= 10) {
phba              474 drivers/scsi/lpfc/lpfc_attr.c 	for (i = 0; i < phba->cfg_hdw_queue; i++) {
phba              475 drivers/scsi/lpfc/lpfc_attr.c 		cstat = &phba->sli4_hba.hdwq[i].nvme_cstat;
phba              518 drivers/scsi/lpfc/lpfc_attr.c 		lpfc_printf_log(phba, KERN_INFO, LOG_NVME,
phba              538 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba *phba = vport->phba;
phba              547 drivers/scsi/lpfc/lpfc_attr.c 	    (phba->sli_rev != LPFC_SLI_REV4))
phba              554 drivers/scsi/lpfc/lpfc_attr.c 	for (i = 0; i < phba->cfg_hdw_queue; i++) {
phba              555 drivers/scsi/lpfc/lpfc_attr.c 		cstat = &phba->sli4_hba.hdwq[i].scsi_cstat;
phba              589 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba              591 drivers/scsi/lpfc/lpfc_attr.c 	if (phba->cfg_enable_bg) {
phba              592 drivers/scsi/lpfc/lpfc_attr.c 		if (phba->sli3_options & LPFC_SLI3_BG_ENABLED)
phba              609 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba              612 drivers/scsi/lpfc/lpfc_attr.c 			(unsigned long long)phba->bg_guard_err_cnt);
phba              621 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba              624 drivers/scsi/lpfc/lpfc_attr.c 			(unsigned long long)phba->bg_apptag_err_cnt);
phba              633 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba              636 drivers/scsi/lpfc/lpfc_attr.c 			(unsigned long long)phba->bg_reftag_err_cnt);
phba              670 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba              672 drivers/scsi/lpfc/lpfc_attr.c 	return scnprintf(buf, PAGE_SIZE, "%s\n", phba->SerialNumber);
phba              693 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba              694 drivers/scsi/lpfc/lpfc_attr.c 	return scnprintf(buf, PAGE_SIZE, "%d\n", phba->temp_sensor_support);
phba              711 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba              713 drivers/scsi/lpfc/lpfc_attr.c 	return scnprintf(buf, PAGE_SIZE, "%s\n", phba->ModelDesc);
phba              730 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba              732 drivers/scsi/lpfc/lpfc_attr.c 	return scnprintf(buf, PAGE_SIZE, "%s\n", phba->ModelName);
phba              749 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba              751 drivers/scsi/lpfc/lpfc_attr.c 	return scnprintf(buf, PAGE_SIZE, "%s\n", phba->ProgramType);
phba              767 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba              770 drivers/scsi/lpfc/lpfc_attr.c 		(phba->sli.sli_flag & LPFC_MENLO_MAINT));
phba              787 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba              789 drivers/scsi/lpfc/lpfc_attr.c 	return scnprintf(buf, PAGE_SIZE, "%s\n", phba->Port);
phba              806 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba              812 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_decode_firmware_rev(phba, fwrev, 1);
phba              813 drivers/scsi/lpfc/lpfc_attr.c 	if_type = phba->sli4_hba.pc_sli4_params.if_type;
phba              814 drivers/scsi/lpfc/lpfc_attr.c 	sli_family = phba->sli4_hba.pc_sli4_params.sli_family;
phba              816 drivers/scsi/lpfc/lpfc_attr.c 	if (phba->sli_rev < LPFC_SLI_REV4)
phba              818 drivers/scsi/lpfc/lpfc_attr.c 			       fwrev, phba->sli_rev);
phba              821 drivers/scsi/lpfc/lpfc_attr.c 			       fwrev, phba->sli_rev, if_type, sli_family);
phba              840 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba              841 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_vpd_t *vp = &phba->vpd;
phba              862 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba              865 drivers/scsi/lpfc/lpfc_attr.c 	if (phba->sli_rev < LPFC_SLI_REV4)
phba              867 drivers/scsi/lpfc/lpfc_attr.c 				phba->OptionROMVersion);
phba              869 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_decode_firmware_rev(phba, fwrev, 1);
phba              890 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba              893 drivers/scsi/lpfc/lpfc_attr.c 	switch (phba->link_state) {
phba              900 drivers/scsi/lpfc/lpfc_attr.c 		if (phba->hba_flag & LINK_DISABLED)
phba              942 drivers/scsi/lpfc/lpfc_attr.c 		if (phba->sli.sli_flag & LPFC_MENLO_MAINT)
phba              945 drivers/scsi/lpfc/lpfc_attr.c 		else if (phba->fc_topology == LPFC_TOPOLOGY_LOOP) {
phba              962 drivers/scsi/lpfc/lpfc_attr.c 	if ((phba->sli_rev == LPFC_SLI_REV4) &&
phba              964 drivers/scsi/lpfc/lpfc_attr.c 	     &phba->sli4_hba.sli_intf) ==
phba              966 drivers/scsi/lpfc/lpfc_attr.c 		struct lpfc_trunk_link link = phba->trunk_link;
phba              968 drivers/scsi/lpfc/lpfc_attr.c 		if (bf_get(lpfc_conf_trunk_port0, &phba->sli4_hba))
phba              975 drivers/scsi/lpfc/lpfc_attr.c 		if (bf_get(lpfc_conf_trunk_port1, &phba->sli4_hba))
phba              982 drivers/scsi/lpfc/lpfc_attr.c 		if (bf_get(lpfc_conf_trunk_port2, &phba->sli4_hba))
phba              989 drivers/scsi/lpfc/lpfc_attr.c 		if (bf_get(lpfc_conf_trunk_port3, &phba->sli4_hba))
phba             1015 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba *phba = vport->phba;
phba             1017 drivers/scsi/lpfc/lpfc_attr.c 	if (phba->sli_rev < LPFC_SLI_REV4)
phba             1020 drivers/scsi/lpfc/lpfc_attr.c 	if (phba->sli4_hba.lnk_info.lnk_dv == LPFC_LNK_DAT_VAL) {
phba             1021 drivers/scsi/lpfc/lpfc_attr.c 		if (phba->sli4_hba.lnk_info.lnk_tp == LPFC_LNK_TYPE_GE)
phba             1023 drivers/scsi/lpfc/lpfc_attr.c 		if (phba->sli4_hba.lnk_info.lnk_tp == LPFC_LNK_TYPE_FC)
phba             1044 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba *phba = vport->phba;
phba             1047 drivers/scsi/lpfc/lpfc_attr.c 			phba->sli4_hba.pc_sli4_params.oas_supported);
phba             1068 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba             1073 drivers/scsi/lpfc/lpfc_attr.c 			(phba->link_state == LPFC_LINK_DOWN))
phba             1074 drivers/scsi/lpfc/lpfc_attr.c 		status = phba->lpfc_hba_init_link(phba, MBX_NOWAIT);
phba             1076 drivers/scsi/lpfc/lpfc_attr.c 			(phba->link_state >= LPFC_LINK_UP))
phba             1077 drivers/scsi/lpfc/lpfc_attr.c 		status = phba->lpfc_hba_down_link(phba, MBX_NOWAIT);
phba             1126 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba             1135 drivers/scsi/lpfc/lpfc_attr.c 	    (phba->hba_flag & LINK_DISABLED) ||
phba             1136 drivers/scsi/lpfc/lpfc_attr.c 	    (phba->sli.sli_flag & LPFC_BLOCK_MGMT_IO))
phba             1139 drivers/scsi/lpfc/lpfc_attr.c 	pmboxq = mempool_alloc(phba->mbox_mem_pool,GFP_KERNEL);
phba             1148 drivers/scsi/lpfc/lpfc_attr.c 	mbxstatus = lpfc_sli_issue_mbox_wait(phba, pmboxq, LPFC_MBOX_TMO * 2);
phba             1154 drivers/scsi/lpfc/lpfc_attr.c 		lpfc_init_link(phba, pmboxq, phba->cfg_topology,
phba             1155 drivers/scsi/lpfc/lpfc_attr.c 			       phba->cfg_link_speed);
phba             1156 drivers/scsi/lpfc/lpfc_attr.c 		mbxstatus = lpfc_sli_issue_mbox_wait(phba, pmboxq,
phba             1157 drivers/scsi/lpfc/lpfc_attr.c 						     phba->fc_ratov * 2);
phba             1160 drivers/scsi/lpfc/lpfc_attr.c 			lpfc_printf_log(phba, KERN_ERR, LOG_MBOX | LOG_SLI,
phba             1165 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_set_loopback_flag(phba);
phba             1167 drivers/scsi/lpfc/lpfc_attr.c 		mempool_free(pmboxq, phba->mbox_mem_pool);
phba             1176 drivers/scsi/lpfc/lpfc_attr.c lpfc_emptyq_wait(struct lpfc_hba *phba, struct list_head *q, spinlock_t *lock)
phba             1185 drivers/scsi/lpfc/lpfc_attr.c 			lpfc_printf_log(phba, KERN_WARNING, LOG_INIT,
phba             1213 drivers/scsi/lpfc/lpfc_attr.c lpfc_do_offline(struct lpfc_hba *phba, uint32_t type)
phba             1224 drivers/scsi/lpfc/lpfc_attr.c 	rc = lpfc_workq_post_event(phba, &status, &online_compl,
phba             1234 drivers/scsi/lpfc/lpfc_attr.c 	psli = &phba->sli;
phba             1241 drivers/scsi/lpfc/lpfc_attr.c 	spin_lock_irq(&phba->hbalock);
phba             1245 drivers/scsi/lpfc/lpfc_attr.c 		spin_unlock_irq(&phba->hbalock);
phba             1248 drivers/scsi/lpfc/lpfc_attr.c 	spin_unlock_irq(&phba->hbalock);
phba             1253 drivers/scsi/lpfc/lpfc_attr.c 	if (phba->sli_rev != LPFC_SLI_REV4) {
phba             1256 drivers/scsi/lpfc/lpfc_attr.c 			if (!lpfc_emptyq_wait(phba, &pring->txcmplq,
phba             1257 drivers/scsi/lpfc/lpfc_attr.c 					      &phba->hbalock))
phba             1261 drivers/scsi/lpfc/lpfc_attr.c 		list_for_each_entry(qp, &phba->sli4_hba.lpfc_wq_list, wq_list) {
phba             1265 drivers/scsi/lpfc/lpfc_attr.c 			if (!lpfc_emptyq_wait(phba, &pring->txcmplq,
phba             1271 drivers/scsi/lpfc/lpfc_attr.c 	spin_lock_irq(&phba->hbalock);
phba             1273 drivers/scsi/lpfc/lpfc_attr.c 	spin_unlock_irq(&phba->hbalock);
phba             1277 drivers/scsi/lpfc/lpfc_attr.c 	rc = lpfc_workq_post_event(phba, &status, &online_compl, type);
phba             1310 drivers/scsi/lpfc/lpfc_attr.c lpfc_reset_pci_bus(struct lpfc_hba *phba)
phba             1312 drivers/scsi/lpfc/lpfc_attr.c 	struct pci_dev *pdev = phba->pcidev;
phba             1318 drivers/scsi/lpfc/lpfc_attr.c 	if (phba->cfg_enable_hba_reset != 2)
phba             1322 drivers/scsi/lpfc/lpfc_attr.c 		lpfc_printf_log(phba, KERN_INFO, LOG_INIT, "8345 pdev NULL!\n");
phba             1326 drivers/scsi/lpfc/lpfc_attr.c 	res = lpfc_check_pci_resettable(phba);
phba             1336 drivers/scsi/lpfc/lpfc_attr.c 				((struct lpfc_vport *)shost->hostdata)->phba;
phba             1358 drivers/scsi/lpfc/lpfc_attr.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             1383 drivers/scsi/lpfc/lpfc_attr.c lpfc_selective_reset(struct lpfc_hba *phba)
phba             1389 drivers/scsi/lpfc/lpfc_attr.c 	if (!phba->cfg_enable_hba_reset)
phba             1392 drivers/scsi/lpfc/lpfc_attr.c 	if (!(phba->pport->fc_flag & FC_OFFLINE_MODE)) {
phba             1393 drivers/scsi/lpfc/lpfc_attr.c 		status = lpfc_do_offline(phba, LPFC_EVT_OFFLINE);
phba             1400 drivers/scsi/lpfc/lpfc_attr.c 	rc = lpfc_workq_post_event(phba, &status, &online_compl,
phba             1440 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba             1443 drivers/scsi/lpfc/lpfc_attr.c 	if (!phba->cfg_enable_hba_reset)
phba             1447 drivers/scsi/lpfc/lpfc_attr.c 		status = phba->lpfc_selective_reset(phba);
phba             1472 drivers/scsi/lpfc/lpfc_attr.c lpfc_sli4_pdev_status_reg_wait(struct lpfc_hba *phba)
phba             1478 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_readl(phba->sli4_hba.u.if_type2.STATUSregaddr,
phba             1489 drivers/scsi/lpfc/lpfc_attr.c 		lpfc_readl(phba->sli4_hba.u.if_type2.STATUSregaddr,
phba             1518 drivers/scsi/lpfc/lpfc_attr.c lpfc_sli4_pdev_reg_request(struct lpfc_hba *phba, uint32_t opcode)
phba             1521 drivers/scsi/lpfc/lpfc_attr.c 	struct pci_dev *pdev = phba->pcidev;
phba             1528 drivers/scsi/lpfc/lpfc_attr.c 	if (!phba->cfg_enable_hba_reset)
phba             1531 drivers/scsi/lpfc/lpfc_attr.c 	if ((phba->sli_rev < LPFC_SLI_REV4) ||
phba             1532 drivers/scsi/lpfc/lpfc_attr.c 	    (bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) <
phba             1537 drivers/scsi/lpfc/lpfc_attr.c 	before_fc_flag = phba->pport->fc_flag;
phba             1538 drivers/scsi/lpfc/lpfc_attr.c 	sriov_nr_virtfn = phba->cfg_sriov_nr_virtfn;
phba             1541 drivers/scsi/lpfc/lpfc_attr.c 	if (phba->cfg_sriov_nr_virtfn) {
phba             1543 drivers/scsi/lpfc/lpfc_attr.c 		phba->cfg_sriov_nr_virtfn = 0;
phba             1547 drivers/scsi/lpfc/lpfc_attr.c 		phba->hba_flag |= HBA_FW_DUMP_OP;
phba             1549 drivers/scsi/lpfc/lpfc_attr.c 	status = lpfc_do_offline(phba, LPFC_EVT_OFFLINE);
phba             1552 drivers/scsi/lpfc/lpfc_attr.c 		phba->hba_flag &= ~HBA_FW_DUMP_OP;
phba             1559 drivers/scsi/lpfc/lpfc_attr.c 	reg_val = readl(phba->sli4_hba.conf_regs_memmap_p +
phba             1569 drivers/scsi/lpfc/lpfc_attr.c 	writel(reg_val, phba->sli4_hba.conf_regs_memmap_p +
phba             1572 drivers/scsi/lpfc/lpfc_attr.c 	readl(phba->sli4_hba.conf_regs_memmap_p + LPFC_CTL_PDEV_CTL_OFFSET);
phba             1575 drivers/scsi/lpfc/lpfc_attr.c 	rc = lpfc_sli4_pdev_status_reg_wait(phba);
phba             1579 drivers/scsi/lpfc/lpfc_attr.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             1584 drivers/scsi/lpfc/lpfc_attr.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             1595 drivers/scsi/lpfc/lpfc_attr.c 	job_posted = lpfc_workq_post_event(phba, &status, &online_compl,
phba             1606 drivers/scsi/lpfc/lpfc_attr.c 			lpfc_sli_probe_sriov_nr_virtfn(phba, sriov_nr_virtfn);
phba             1608 drivers/scsi/lpfc/lpfc_attr.c 			phba->cfg_sriov_nr_virtfn = sriov_nr_virtfn;
phba             1635 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba             1637 drivers/scsi/lpfc/lpfc_attr.c 	return scnprintf(buf, PAGE_SIZE, "%d\n", phba->nport_event_cnt);
phba             1641 drivers/scsi/lpfc/lpfc_attr.c lpfc_set_trunking(struct lpfc_hba *phba, char *buff_out)
phba             1675 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_printf_log(phba, KERN_ERR, LOG_MBOX,
phba             1678 drivers/scsi/lpfc/lpfc_attr.c 	mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             1682 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_FCOE,
phba             1689 drivers/scsi/lpfc/lpfc_attr.c 	rc = lpfc_sli_issue_mbox(phba, mbox, MBX_POLL);
phba             1691 drivers/scsi/lpfc/lpfc_attr.c 		lpfc_printf_log(phba, KERN_ERR, LOG_MBOX,
phba             1695 drivers/scsi/lpfc/lpfc_attr.c 		mempool_free(mbox, phba->mbox_mem_pool);
phba             1714 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba             1717 drivers/scsi/lpfc/lpfc_attr.c 	if (phba->link_state == LPFC_HBA_ERROR)
phba             1719 drivers/scsi/lpfc/lpfc_attr.c 	else if (phba->link_state == LPFC_WARM_START)
phba             1721 drivers/scsi/lpfc/lpfc_attr.c 	else if (phba->link_state == LPFC_INIT_START)
phba             1748 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba             1754 drivers/scsi/lpfc/lpfc_attr.c 	if (!phba->cfg_enable_hba_reset) {
phba             1765 drivers/scsi/lpfc/lpfc_attr.c 		rc = lpfc_workq_post_event(phba, &status, &online_compl,
phba             1775 drivers/scsi/lpfc/lpfc_attr.c 		status = lpfc_do_offline(phba, LPFC_EVT_OFFLINE);
phba             1777 drivers/scsi/lpfc/lpfc_attr.c 		if (phba->sli_rev == LPFC_SLI_REV4)
phba             1780 drivers/scsi/lpfc/lpfc_attr.c 			status = lpfc_do_offline(phba, LPFC_EVT_WARM_START);
phba             1782 drivers/scsi/lpfc/lpfc_attr.c 		if (phba->sli_rev == LPFC_SLI_REV4)
phba             1785 drivers/scsi/lpfc/lpfc_attr.c 			status = lpfc_do_offline(phba, LPFC_EVT_KILL);
phba             1787 drivers/scsi/lpfc/lpfc_attr.c 		status = lpfc_sli4_pdev_reg_request(phba, LPFC_FW_DUMP);
phba             1789 drivers/scsi/lpfc/lpfc_attr.c 		status = lpfc_sli4_pdev_reg_request(phba, LPFC_FW_RESET);
phba             1791 drivers/scsi/lpfc/lpfc_attr.c 		status = lpfc_sli4_pdev_reg_request(phba, LPFC_DV_RESET);
phba             1794 drivers/scsi/lpfc/lpfc_attr.c 		status = lpfc_reset_pci_bus(phba);
phba             1796 drivers/scsi/lpfc/lpfc_attr.c 		status = lpfc_set_trunking(phba, (char *)buf + sizeof("trunk"));
phba             1810 drivers/scsi/lpfc/lpfc_attr.c 				 buf, status, phba->pport->fc_flag);
phba             1834 drivers/scsi/lpfc/lpfc_attr.c lpfc_get_hba_info(struct lpfc_hba *phba,
phba             1849 drivers/scsi/lpfc/lpfc_attr.c 	if (phba->link_state < LPFC_LINK_DOWN ||
phba             1850 drivers/scsi/lpfc/lpfc_attr.c 	    !phba->mbox_mem_pool ||
phba             1851 drivers/scsi/lpfc/lpfc_attr.c 	    (phba->sli.sli_flag & LPFC_SLI_ACTIVE) == 0)
phba             1854 drivers/scsi/lpfc/lpfc_attr.c 	if (phba->sli.sli_flag & LPFC_BLOCK_MGMT_IO)
phba             1857 drivers/scsi/lpfc/lpfc_attr.c 	pmboxq = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             1867 drivers/scsi/lpfc/lpfc_attr.c 	if (phba->pport->fc_flag & FC_OFFLINE_MODE)
phba             1870 drivers/scsi/lpfc/lpfc_attr.c 		rc = lpfc_sli_issue_mbox_wait(phba, pmboxq, phba->fc_ratov * 2);
phba             1874 drivers/scsi/lpfc/lpfc_attr.c 			mempool_free(pmboxq, phba->mbox_mem_pool);
phba             1878 drivers/scsi/lpfc/lpfc_attr.c 	if (phba->sli_rev == LPFC_SLI_REV4) {
phba             1884 drivers/scsi/lpfc/lpfc_attr.c 					phba->sli4_hba.max_cfg_param.rpi_used;
phba             1889 drivers/scsi/lpfc/lpfc_attr.c 					phba->sli4_hba.max_cfg_param.xri_used;
phba             1903 drivers/scsi/lpfc/lpfc_attr.c 			*avpi = max_vpi - phba->sli4_hba.max_cfg_param.vpi_used;
phba             1917 drivers/scsi/lpfc/lpfc_attr.c 			if (phba->link_state == LPFC_HBA_READY)
phba             1924 drivers/scsi/lpfc/lpfc_attr.c 	mempool_free(pmboxq, phba->mbox_mem_pool);
phba             1948 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba             1951 drivers/scsi/lpfc/lpfc_attr.c 	if (lpfc_get_hba_info(phba, NULL, NULL, &cnt, NULL, NULL, NULL))
phba             1976 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba             1979 drivers/scsi/lpfc/lpfc_attr.c 	if (lpfc_get_hba_info(phba, NULL, NULL, &cnt, &acnt, NULL, NULL))
phba             2004 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba             2007 drivers/scsi/lpfc/lpfc_attr.c 	if (lpfc_get_hba_info(phba, &cnt, NULL, NULL, NULL, NULL, NULL))
phba             2032 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba             2035 drivers/scsi/lpfc/lpfc_attr.c 	if (lpfc_get_hba_info(phba, &cnt, &acnt, NULL, NULL, NULL, NULL))
phba             2060 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba             2063 drivers/scsi/lpfc/lpfc_attr.c 	if (lpfc_get_hba_info(phba, NULL, NULL, NULL, NULL, &cnt, NULL))
phba             2088 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba             2091 drivers/scsi/lpfc/lpfc_attr.c 	if (lpfc_get_hba_info(phba, NULL, NULL, NULL, NULL, &cnt, &acnt))
phba             2115 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba             2117 drivers/scsi/lpfc/lpfc_attr.c 	if (!(phba->max_vpi))
phba             2141 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba             2143 drivers/scsi/lpfc/lpfc_attr.c 	return scnprintf(buf, PAGE_SIZE, "%#x\n", phba->cfg_poll);
phba             2166 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba             2180 drivers/scsi/lpfc/lpfc_attr.c 	if (phba->sli_rev == LPFC_SLI_REV4)
phba             2185 drivers/scsi/lpfc/lpfc_attr.c 		phba->cfg_poll, val);
phba             2187 drivers/scsi/lpfc/lpfc_attr.c 	spin_lock_irq(&phba->hbalock);
phba             2189 drivers/scsi/lpfc/lpfc_attr.c 	old_val = phba->cfg_poll;
phba             2194 drivers/scsi/lpfc/lpfc_attr.c 			if (lpfc_readl(phba->HCregaddr, &creg_val)) {
phba             2195 drivers/scsi/lpfc/lpfc_attr.c 				spin_unlock_irq(&phba->hbalock);
phba             2199 drivers/scsi/lpfc/lpfc_attr.c 			writel(creg_val, phba->HCregaddr);
phba             2200 drivers/scsi/lpfc/lpfc_attr.c 			readl(phba->HCregaddr); /* flush */
phba             2202 drivers/scsi/lpfc/lpfc_attr.c 			lpfc_poll_start_timer(phba);
phba             2205 drivers/scsi/lpfc/lpfc_attr.c 		spin_unlock_irq(&phba->hbalock);
phba             2212 drivers/scsi/lpfc/lpfc_attr.c 		spin_unlock_irq(&phba->hbalock);
phba             2213 drivers/scsi/lpfc/lpfc_attr.c 		del_timer(&phba->fcp_poll_timer);
phba             2214 drivers/scsi/lpfc/lpfc_attr.c 		spin_lock_irq(&phba->hbalock);
phba             2215 drivers/scsi/lpfc/lpfc_attr.c 		if (lpfc_readl(phba->HCregaddr, &creg_val)) {
phba             2216 drivers/scsi/lpfc/lpfc_attr.c 			spin_unlock_irq(&phba->hbalock);
phba             2220 drivers/scsi/lpfc/lpfc_attr.c 		writel(creg_val, phba->HCregaddr);
phba             2221 drivers/scsi/lpfc/lpfc_attr.c 		readl(phba->HCregaddr); /* flush */
phba             2224 drivers/scsi/lpfc/lpfc_attr.c 	phba->cfg_poll = val;
phba             2226 drivers/scsi/lpfc/lpfc_attr.c 	spin_unlock_irq(&phba->hbalock);
phba             2245 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba             2247 drivers/scsi/lpfc/lpfc_attr.c 	return scnprintf(buf, PAGE_SIZE, "%d\n", phba->fips_level);
phba             2264 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba             2266 drivers/scsi/lpfc/lpfc_attr.c 	return scnprintf(buf, PAGE_SIZE, "%d\n", phba->fips_spec_rev);
phba             2283 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba             2286 drivers/scsi/lpfc/lpfc_attr.c 			(phba->cfg_enable_dss) ? "Enabled" : "Disabled",
phba             2287 drivers/scsi/lpfc/lpfc_attr.c 			(phba->sli3_options & LPFC_SLI3_DSS_ENABLED) ?
phba             2310 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba *phba = vport->phba;
phba             2313 drivers/scsi/lpfc/lpfc_attr.c 	max_nr_virtfn = lpfc_sli_sriov_nr_virtfn_get(phba);
phba             2337 drivers/scsi/lpfc/lpfc_attr.c lpfc_enable_bbcr_set(struct lpfc_hba *phba, uint val)
phba             2339 drivers/scsi/lpfc/lpfc_attr.c 	if (lpfc_rangecheck(val, 0, 1) && phba->sli_rev == LPFC_SLI_REV4) {
phba             2340 drivers/scsi/lpfc/lpfc_attr.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             2342 drivers/scsi/lpfc/lpfc_attr.c 				LPFC_DRIVER_NAME, phba->cfg_enable_bbcr, val);
phba             2343 drivers/scsi/lpfc/lpfc_attr.c 		phba->cfg_enable_bbcr = val;
phba             2346 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             2373 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;\
phba             2375 drivers/scsi/lpfc/lpfc_attr.c 			phba->cfg_##attr);\
phba             2399 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;\
phba             2401 drivers/scsi/lpfc/lpfc_attr.c 	val = phba->cfg_##attr;\
phba             2403 drivers/scsi/lpfc/lpfc_attr.c 			phba->cfg_##attr);\
phba             2427 drivers/scsi/lpfc/lpfc_attr.c lpfc_##attr##_init(struct lpfc_hba *phba, uint val) \
phba             2430 drivers/scsi/lpfc/lpfc_attr.c 		phba->cfg_##attr = val;\
phba             2433 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_printf_log(phba, KERN_ERR, LOG_INIT, \
phba             2436 drivers/scsi/lpfc/lpfc_attr.c 	phba->cfg_##attr = default;\
phba             2462 drivers/scsi/lpfc/lpfc_attr.c lpfc_##attr##_set(struct lpfc_hba *phba, uint val) \
phba             2465 drivers/scsi/lpfc/lpfc_attr.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT, \
phba             2467 drivers/scsi/lpfc/lpfc_attr.c 			phba->cfg_##attr, val); \
phba             2468 drivers/scsi/lpfc/lpfc_attr.c 		phba->cfg_##attr = val;\
phba             2471 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_printf_log(phba, KERN_ERR, LOG_INIT, \
phba             2505 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;\
phba             2511 drivers/scsi/lpfc/lpfc_attr.c 	if (lpfc_##attr##_set(phba, val) == 0) \
phba             2775 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba             2793 drivers/scsi/lpfc/lpfc_attr.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             2807 drivers/scsi/lpfc/lpfc_attr.c 	phba->soft_wwn_enable = 1;
phba             2809 drivers/scsi/lpfc/lpfc_attr.c 	dev_printk(KERN_WARNING, &phba->pcidev->dev,
phba             2811 drivers/scsi/lpfc/lpfc_attr.c 		   phba->brd_no);
phba             2812 drivers/scsi/lpfc/lpfc_attr.c 	dev_printk(KERN_WARNING, &phba->pcidev->dev,
phba             2833 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba             2836 drivers/scsi/lpfc/lpfc_attr.c 			(unsigned long long)phba->cfg_soft_wwpn);
phba             2858 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba             2865 drivers/scsi/lpfc/lpfc_attr.c 	if (!phba->cfg_enable_hba_reset)
phba             2867 drivers/scsi/lpfc/lpfc_attr.c 	spin_lock_irq(&phba->hbalock);
phba             2868 drivers/scsi/lpfc/lpfc_attr.c 	if (phba->over_temp_state == HBA_OVER_TEMP) {
phba             2869 drivers/scsi/lpfc/lpfc_attr.c 		spin_unlock_irq(&phba->hbalock);
phba             2872 drivers/scsi/lpfc/lpfc_attr.c 	spin_unlock_irq(&phba->hbalock);
phba             2877 drivers/scsi/lpfc/lpfc_attr.c 	if (!phba->soft_wwn_enable)
phba             2881 drivers/scsi/lpfc/lpfc_attr.c 	phba->soft_wwn_enable = 0;
phba             2886 drivers/scsi/lpfc/lpfc_attr.c 		phba->soft_wwn_enable = 1;
phba             2890 drivers/scsi/lpfc/lpfc_attr.c 	phba->cfg_soft_wwpn = wwn_to_u64(wwpn);
phba             2891 drivers/scsi/lpfc/lpfc_attr.c 	fc_host_port_name(shost) = phba->cfg_soft_wwpn;
phba             2892 drivers/scsi/lpfc/lpfc_attr.c 	if (phba->cfg_soft_wwnn)
phba             2893 drivers/scsi/lpfc/lpfc_attr.c 		fc_host_node_name(shost) = phba->cfg_soft_wwnn;
phba             2895 drivers/scsi/lpfc/lpfc_attr.c 	dev_printk(KERN_NOTICE, &phba->pcidev->dev,
phba             2896 drivers/scsi/lpfc/lpfc_attr.c 		   "lpfc%d: Reinitializing to use soft_wwpn\n", phba->brd_no);
phba             2898 drivers/scsi/lpfc/lpfc_attr.c 	stat1 = lpfc_do_offline(phba, LPFC_EVT_OFFLINE);
phba             2900 drivers/scsi/lpfc/lpfc_attr.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             2904 drivers/scsi/lpfc/lpfc_attr.c 	rc = lpfc_workq_post_event(phba, &stat2, &online_compl,
phba             2911 drivers/scsi/lpfc/lpfc_attr.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             2931 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba *phba = ((struct lpfc_vport *)shost->hostdata)->phba;
phba             2933 drivers/scsi/lpfc/lpfc_attr.c 			(unsigned long long)phba->cfg_soft_wwnn);
phba             2951 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba *phba = ((struct lpfc_vport *)shost->hostdata)->phba;
phba             2960 drivers/scsi/lpfc/lpfc_attr.c 	if (!phba->soft_wwn_enable)
phba             2971 drivers/scsi/lpfc/lpfc_attr.c 	phba->cfg_soft_wwnn = wwn_to_u64(wwnn);
phba             2973 drivers/scsi/lpfc/lpfc_attr.c 	dev_printk(KERN_NOTICE, &phba->pcidev->dev,
phba             2975 drivers/scsi/lpfc/lpfc_attr.c 		   "setting of the soft_wwpn\n", phba->brd_no);
phba             2996 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba *phba = ((struct lpfc_vport *)shost->hostdata)->phba;
phba             2999 drivers/scsi/lpfc/lpfc_attr.c 			wwn_to_u64(phba->cfg_oas_tgt_wwpn));
phba             3020 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba *phba = ((struct lpfc_vport *)shost->hostdata)->phba;
phba             3025 drivers/scsi/lpfc/lpfc_attr.c 	if (!phba->cfg_fof)
phba             3036 drivers/scsi/lpfc/lpfc_attr.c 	memcpy(phba->cfg_oas_tgt_wwpn, wwpn, (8 * sizeof(uint8_t)));
phba             3037 drivers/scsi/lpfc/lpfc_attr.c 	memcpy(phba->sli4_hba.oas_next_tgt_wwpn, wwpn, (8 * sizeof(uint8_t)));
phba             3039 drivers/scsi/lpfc/lpfc_attr.c 		phba->cfg_oas_flags |= OAS_FIND_ANY_TARGET;
phba             3041 drivers/scsi/lpfc/lpfc_attr.c 		phba->cfg_oas_flags &= ~OAS_FIND_ANY_TARGET;
phba             3042 drivers/scsi/lpfc/lpfc_attr.c 	phba->cfg_oas_flags &= ~OAS_LUN_VALID;
phba             3043 drivers/scsi/lpfc/lpfc_attr.c 	phba->sli4_hba.oas_next_lun = FIND_FIRST_OAS_LUN;
phba             3064 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba *phba = ((struct lpfc_vport *)shost->hostdata)->phba;
phba             3066 drivers/scsi/lpfc/lpfc_attr.c 	return scnprintf(buf, PAGE_SIZE, "%d\n", phba->cfg_oas_priority);
phba             3087 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba *phba = ((struct lpfc_vport *)shost->hostdata)->phba;
phba             3092 drivers/scsi/lpfc/lpfc_attr.c 	if (!phba->cfg_fof)
phba             3104 drivers/scsi/lpfc/lpfc_attr.c 		phba->cfg_oas_priority = (uint8_t)val;
phba             3106 drivers/scsi/lpfc/lpfc_attr.c 		phba->cfg_oas_priority = phba->cfg_XLanePriority;
phba             3127 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba *phba = ((struct lpfc_vport *)shost->hostdata)->phba;
phba             3130 drivers/scsi/lpfc/lpfc_attr.c 			wwn_to_u64(phba->cfg_oas_vpt_wwpn));
phba             3151 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba *phba = ((struct lpfc_vport *)shost->hostdata)->phba;
phba             3156 drivers/scsi/lpfc/lpfc_attr.c 	if (!phba->cfg_fof)
phba             3167 drivers/scsi/lpfc/lpfc_attr.c 	memcpy(phba->cfg_oas_vpt_wwpn, wwpn, (8 * sizeof(uint8_t)));
phba             3168 drivers/scsi/lpfc/lpfc_attr.c 	memcpy(phba->sli4_hba.oas_next_vpt_wwpn, wwpn, (8 * sizeof(uint8_t)));
phba             3170 drivers/scsi/lpfc/lpfc_attr.c 		phba->cfg_oas_flags |= OAS_FIND_ANY_VPORT;
phba             3172 drivers/scsi/lpfc/lpfc_attr.c 		phba->cfg_oas_flags &= ~OAS_FIND_ANY_VPORT;
phba             3173 drivers/scsi/lpfc/lpfc_attr.c 	phba->cfg_oas_flags &= ~OAS_LUN_VALID;
phba             3174 drivers/scsi/lpfc/lpfc_attr.c 	if (phba->cfg_oas_priority == 0)
phba             3175 drivers/scsi/lpfc/lpfc_attr.c 		phba->cfg_oas_priority = phba->cfg_XLanePriority;
phba             3176 drivers/scsi/lpfc/lpfc_attr.c 	phba->sli4_hba.oas_next_lun = FIND_FIRST_OAS_LUN;
phba             3198 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba *phba = ((struct lpfc_vport *)shost->hostdata)->phba;
phba             3200 drivers/scsi/lpfc/lpfc_attr.c 	return scnprintf(buf, PAGE_SIZE, "%d\n", phba->cfg_oas_lun_state);
phba             3222 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba *phba = ((struct lpfc_vport *)shost->hostdata)->phba;
phba             3225 drivers/scsi/lpfc/lpfc_attr.c 	if (!phba->cfg_fof)
phba             3237 drivers/scsi/lpfc/lpfc_attr.c 	phba->cfg_oas_lun_state = val;
phba             3259 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba *phba = ((struct lpfc_vport *)shost->hostdata)->phba;
phba             3261 drivers/scsi/lpfc/lpfc_attr.c 	if (!(phba->cfg_oas_flags & OAS_LUN_VALID))
phba             3264 drivers/scsi/lpfc/lpfc_attr.c 	return scnprintf(buf, PAGE_SIZE, "%d\n", phba->cfg_oas_lun_status);
phba             3284 drivers/scsi/lpfc/lpfc_attr.c lpfc_oas_lun_state_set(struct lpfc_hba *phba, uint8_t vpt_wwpn[],
phba             3291 drivers/scsi/lpfc/lpfc_attr.c 	if (!phba->cfg_fof)
phba             3295 drivers/scsi/lpfc/lpfc_attr.c 		if (!lpfc_enable_oas_lun(phba, (struct lpfc_name *)vpt_wwpn,
phba             3300 drivers/scsi/lpfc/lpfc_attr.c 		lpfc_disable_oas_lun(phba, (struct lpfc_name *)vpt_wwpn,
phba             3324 drivers/scsi/lpfc/lpfc_attr.c lpfc_oas_lun_get_next(struct lpfc_hba *phba, uint8_t vpt_wwpn[],
phba             3330 drivers/scsi/lpfc/lpfc_attr.c 	if (unlikely(!phba) || !vpt_wwpn || !tgt_wwpn)
phba             3332 drivers/scsi/lpfc/lpfc_attr.c 	if (lpfc_find_next_oas_lun(phba, (struct lpfc_name *)
phba             3333 drivers/scsi/lpfc/lpfc_attr.c 				   phba->sli4_hba.oas_next_vpt_wwpn,
phba             3335 drivers/scsi/lpfc/lpfc_attr.c 				   phba->sli4_hba.oas_next_tgt_wwpn,
phba             3336 drivers/scsi/lpfc/lpfc_attr.c 				   &phba->sli4_hba.oas_next_lun,
phba             3362 drivers/scsi/lpfc/lpfc_attr.c lpfc_oas_lun_state_change(struct lpfc_hba *phba, uint8_t vpt_wwpn[],
phba             3369 drivers/scsi/lpfc/lpfc_attr.c 	rc = lpfc_oas_lun_state_set(phba, vpt_wwpn, tgt_wwpn, lun,
phba             3393 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba *phba = ((struct lpfc_vport *)shost->hostdata)->phba;
phba             3398 drivers/scsi/lpfc/lpfc_attr.c 	if (!phba->cfg_fof)
phba             3401 drivers/scsi/lpfc/lpfc_attr.c 	if (wwn_to_u64(phba->cfg_oas_vpt_wwpn) == 0)
phba             3402 drivers/scsi/lpfc/lpfc_attr.c 		if (!(phba->cfg_oas_flags & OAS_FIND_ANY_VPORT))
phba             3405 drivers/scsi/lpfc/lpfc_attr.c 	if (wwn_to_u64(phba->cfg_oas_tgt_wwpn) == 0)
phba             3406 drivers/scsi/lpfc/lpfc_attr.c 		if (!(phba->cfg_oas_flags & OAS_FIND_ANY_TARGET))
phba             3409 drivers/scsi/lpfc/lpfc_attr.c 	oas_lun = lpfc_oas_lun_get_next(phba, phba->cfg_oas_vpt_wwpn,
phba             3410 drivers/scsi/lpfc/lpfc_attr.c 					phba->cfg_oas_tgt_wwpn,
phba             3411 drivers/scsi/lpfc/lpfc_attr.c 					&phba->cfg_oas_lun_status,
phba             3412 drivers/scsi/lpfc/lpfc_attr.c 					&phba->cfg_oas_priority);
phba             3414 drivers/scsi/lpfc/lpfc_attr.c 		phba->cfg_oas_flags |= OAS_LUN_VALID;
phba             3441 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba *phba = ((struct lpfc_vport *)shost->hostdata)->phba;
phba             3446 drivers/scsi/lpfc/lpfc_attr.c 	if (!phba->cfg_fof)
phba             3449 drivers/scsi/lpfc/lpfc_attr.c 	if (wwn_to_u64(phba->cfg_oas_vpt_wwpn) == 0)
phba             3452 drivers/scsi/lpfc/lpfc_attr.c 	if (wwn_to_u64(phba->cfg_oas_tgt_wwpn) == 0)
phba             3461 drivers/scsi/lpfc/lpfc_attr.c 	pri = phba->cfg_oas_priority;
phba             3463 drivers/scsi/lpfc/lpfc_attr.c 		pri = phba->cfg_XLanePriority;
phba             3465 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             3468 drivers/scsi/lpfc/lpfc_attr.c 			wwn_to_u64(phba->cfg_oas_vpt_wwpn),
phba             3469 drivers/scsi/lpfc/lpfc_attr.c 			wwn_to_u64(phba->cfg_oas_tgt_wwpn), scsi_lun,
phba             3470 drivers/scsi/lpfc/lpfc_attr.c 			pri, phba->cfg_oas_lun_state);
phba             3472 drivers/scsi/lpfc/lpfc_attr.c 	rc = lpfc_oas_lun_state_change(phba, phba->cfg_oas_vpt_wwpn,
phba             3473 drivers/scsi/lpfc/lpfc_attr.c 				       phba->cfg_oas_tgt_wwpn, scsi_lun,
phba             3474 drivers/scsi/lpfc/lpfc_attr.c 				       phba->cfg_oas_lun_state, pri);
phba             3548 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = ((struct lpfc_vport *) shost->hostdata)->phba;
phba             3550 drivers/scsi/lpfc/lpfc_attr.c 	return scnprintf(buf, PAGE_SIZE, "%d\n", phba->iocb_max);
phba             3559 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = ((struct lpfc_vport *) shost->hostdata)->phba;
phba             3560 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_sli_ring *pring = lpfc_phba_elsring(phba);
phba             3573 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = ((struct lpfc_vport *) shost->hostdata)->phba;
phba             3574 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_sli_ring *pring = lpfc_phba_elsring(phba);
phba             3681 drivers/scsi/lpfc/lpfc_attr.c 		spin_lock(&vport->phba->hbalock);
phba             3685 drivers/scsi/lpfc/lpfc_attr.c 		spin_unlock(&vport->phba->hbalock);
phba             4073 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba             4091 drivers/scsi/lpfc/lpfc_attr.c 		prev_val = phba->cfg_topology;
phba             4092 drivers/scsi/lpfc/lpfc_attr.c 		if (phba->cfg_link_speed == LPFC_USER_LINK_SPEED_16G &&
phba             4099 drivers/scsi/lpfc/lpfc_attr.c 		if ((phba->pcidev->device == PCI_DEVICE_ID_LANCER_G6_FC ||
phba             4100 drivers/scsi/lpfc/lpfc_attr.c 		     phba->pcidev->device == PCI_DEVICE_ID_LANCER_G7_FC) &&
phba             4106 drivers/scsi/lpfc/lpfc_attr.c 		phba->cfg_topology = val;
phba             4113 drivers/scsi/lpfc/lpfc_attr.c 		if (prev_val != val && phba->sli_rev == LPFC_SLI_REV4)
phba             4114 drivers/scsi/lpfc/lpfc_attr.c 			phba->fc_topology_changed = 1;
phba             4115 drivers/scsi/lpfc/lpfc_attr.c 		err = lpfc_issue_lip(lpfc_shost_from_vport(phba->pport));
phba             4117 drivers/scsi/lpfc/lpfc_attr.c 			phba->cfg_topology = prev_val;
phba             4122 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             4125 drivers/scsi/lpfc/lpfc_attr.c 		phba->brd_no, val);
phba             4187 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba             4232 drivers/scsi/lpfc/lpfc_attr.c 		vports = lpfc_create_vport_work_array(phba);
phba             4236 drivers/scsi/lpfc/lpfc_attr.c 		for (i = 0; i <= phba->max_vports && vports[i] != NULL; i++) {
phba             4247 drivers/scsi/lpfc/lpfc_attr.c 		phba->bucket_type = bucket_type;
phba             4248 drivers/scsi/lpfc/lpfc_attr.c 		phba->bucket_base = base;
phba             4249 drivers/scsi/lpfc/lpfc_attr.c 		phba->bucket_step = step;
phba             4251 drivers/scsi/lpfc/lpfc_attr.c 		for (i = 0; i <= phba->max_vports && vports[i] != NULL; i++) {
phba             4259 drivers/scsi/lpfc/lpfc_attr.c 		lpfc_destroy_vport_work_array(phba, vports);
phba             4264 drivers/scsi/lpfc/lpfc_attr.c 		vports = lpfc_create_vport_work_array(phba);
phba             4268 drivers/scsi/lpfc/lpfc_attr.c 		for (i = 0; i <= phba->max_vports && vports[i] != NULL; i++) {
phba             4277 drivers/scsi/lpfc/lpfc_attr.c 		lpfc_destroy_vport_work_array(phba, vports);
phba             4278 drivers/scsi/lpfc/lpfc_attr.c 		phba->bucket_type = LPFC_NO_BUCKET;
phba             4279 drivers/scsi/lpfc/lpfc_attr.c 		phba->bucket_base = 0;
phba             4280 drivers/scsi/lpfc/lpfc_attr.c 		phba->bucket_step = 0;
phba             4286 drivers/scsi/lpfc/lpfc_attr.c 		if (phba->bucket_type == LPFC_NO_BUCKET)
phba             4312 drivers/scsi/lpfc/lpfc_attr.c 		if ((phba->bucket_type == LPFC_NO_BUCKET)
phba             4341 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba             4347 drivers/scsi/lpfc/lpfc_attr.c 	switch (phba->bucket_type) {
phba             4363 drivers/scsi/lpfc/lpfc_attr.c 		bucket_type, phba->bucket_base, phba->bucket_step);
phba             4365 drivers/scsi/lpfc/lpfc_attr.c 	if (phba->bucket_type != LPFC_NO_BUCKET) {
phba             4367 drivers/scsi/lpfc/lpfc_attr.c 			if (phba->bucket_type == LPFC_LINEAR_BUCKET)
phba             4368 drivers/scsi/lpfc/lpfc_attr.c 				bucket_value = phba->bucket_base +
phba             4369 drivers/scsi/lpfc/lpfc_attr.c 					phba->bucket_step * i;
phba             4371 drivers/scsi/lpfc/lpfc_attr.c 				bucket_value = phba->bucket_base +
phba             4372 drivers/scsi/lpfc/lpfc_attr.c 				(1 << i) * phba->bucket_step;
phba             4424 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba             4432 drivers/scsi/lpfc/lpfc_attr.c 		|| (phba->bucket_type == LPFC_NO_BUCKET))
phba             4515 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba             4522 drivers/scsi/lpfc/lpfc_attr.c 	if_type = bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf);
phba             4524 drivers/scsi/lpfc/lpfc_attr.c 	    phba->hba_flag & HBA_FORCED_LINK_SPEED)
phba             4539 drivers/scsi/lpfc/lpfc_attr.c 		phba->cfg_link_speed, val, nolip ? "(nolip)" : "(lip)");
phba             4541 drivers/scsi/lpfc/lpfc_attr.c 	if (((val == LPFC_USER_LINK_SPEED_1G) && !(phba->lmt & LMT_1Gb)) ||
phba             4542 drivers/scsi/lpfc/lpfc_attr.c 	    ((val == LPFC_USER_LINK_SPEED_2G) && !(phba->lmt & LMT_2Gb)) ||
phba             4543 drivers/scsi/lpfc/lpfc_attr.c 	    ((val == LPFC_USER_LINK_SPEED_4G) && !(phba->lmt & LMT_4Gb)) ||
phba             4544 drivers/scsi/lpfc/lpfc_attr.c 	    ((val == LPFC_USER_LINK_SPEED_8G) && !(phba->lmt & LMT_8Gb)) ||
phba             4545 drivers/scsi/lpfc/lpfc_attr.c 	    ((val == LPFC_USER_LINK_SPEED_10G) && !(phba->lmt & LMT_10Gb)) ||
phba             4546 drivers/scsi/lpfc/lpfc_attr.c 	    ((val == LPFC_USER_LINK_SPEED_16G) && !(phba->lmt & LMT_16Gb)) ||
phba             4547 drivers/scsi/lpfc/lpfc_attr.c 	    ((val == LPFC_USER_LINK_SPEED_32G) && !(phba->lmt & LMT_32Gb)) ||
phba             4548 drivers/scsi/lpfc/lpfc_attr.c 	    ((val == LPFC_USER_LINK_SPEED_64G) && !(phba->lmt & LMT_64Gb))) {
phba             4549 drivers/scsi/lpfc/lpfc_attr.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             4556 drivers/scsi/lpfc/lpfc_attr.c 	    phba->fc_topology == LPFC_TOPOLOGY_LOOP) {
phba             4557 drivers/scsi/lpfc/lpfc_attr.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             4573 drivers/scsi/lpfc/lpfc_attr.c 		prev_val = phba->cfg_link_speed;
phba             4574 drivers/scsi/lpfc/lpfc_attr.c 		phba->cfg_link_speed = val;
phba             4578 drivers/scsi/lpfc/lpfc_attr.c 		err = lpfc_issue_lip(lpfc_shost_from_vport(phba->pport));
phba             4580 drivers/scsi/lpfc/lpfc_attr.c 			phba->cfg_link_speed = prev_val;
phba             4588 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             4618 drivers/scsi/lpfc/lpfc_attr.c lpfc_link_speed_init(struct lpfc_hba *phba, int val)
phba             4620 drivers/scsi/lpfc/lpfc_attr.c 	if (val >= LPFC_USER_LINK_SPEED_16G && phba->cfg_topology == 4) {
phba             4621 drivers/scsi/lpfc/lpfc_attr.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             4625 drivers/scsi/lpfc/lpfc_attr.c 		phba->cfg_topology = 0;
phba             4637 drivers/scsi/lpfc/lpfc_attr.c 		phba->cfg_link_speed = val;
phba             4640 drivers/scsi/lpfc/lpfc_attr.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             4644 drivers/scsi/lpfc/lpfc_attr.c 		phba->cfg_link_speed = LPFC_USER_LINK_SPEED_AUTO;
phba             4694 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba *phba = vport->phba;
phba             4704 drivers/scsi/lpfc/lpfc_attr.c 		if (phba->hba_flag & HBA_AER_ENABLED) {
phba             4705 drivers/scsi/lpfc/lpfc_attr.c 			rc = pci_disable_pcie_error_reporting(phba->pcidev);
phba             4707 drivers/scsi/lpfc/lpfc_attr.c 				spin_lock_irq(&phba->hbalock);
phba             4708 drivers/scsi/lpfc/lpfc_attr.c 				phba->hba_flag &= ~HBA_AER_ENABLED;
phba             4709 drivers/scsi/lpfc/lpfc_attr.c 				spin_unlock_irq(&phba->hbalock);
phba             4710 drivers/scsi/lpfc/lpfc_attr.c 				phba->cfg_aer_support = 0;
phba             4715 drivers/scsi/lpfc/lpfc_attr.c 			phba->cfg_aer_support = 0;
phba             4720 drivers/scsi/lpfc/lpfc_attr.c 		if (!(phba->hba_flag & HBA_AER_ENABLED)) {
phba             4721 drivers/scsi/lpfc/lpfc_attr.c 			rc = pci_enable_pcie_error_reporting(phba->pcidev);
phba             4723 drivers/scsi/lpfc/lpfc_attr.c 				spin_lock_irq(&phba->hbalock);
phba             4724 drivers/scsi/lpfc/lpfc_attr.c 				phba->hba_flag |= HBA_AER_ENABLED;
phba             4725 drivers/scsi/lpfc/lpfc_attr.c 				spin_unlock_irq(&phba->hbalock);
phba             4726 drivers/scsi/lpfc/lpfc_attr.c 				phba->cfg_aer_support = 1;
phba             4731 drivers/scsi/lpfc/lpfc_attr.c 			phba->cfg_aer_support = 1;
phba             4769 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba             4779 drivers/scsi/lpfc/lpfc_attr.c 	if (phba->hba_flag & HBA_AER_ENABLED)
phba             4780 drivers/scsi/lpfc/lpfc_attr.c 		rc = pci_cleanup_aer_uncorrect_error_status(phba->pcidev);
phba             4836 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba *phba = vport->phba;
phba             4837 drivers/scsi/lpfc/lpfc_attr.c 	struct pci_dev *pdev = phba->pcidev;
phba             4850 drivers/scsi/lpfc/lpfc_attr.c 		if (phba->cfg_sriov_nr_virtfn > 0) {
phba             4852 drivers/scsi/lpfc/lpfc_attr.c 			phba->cfg_sriov_nr_virtfn = 0;
phba             4858 drivers/scsi/lpfc/lpfc_attr.c 	if (phba->cfg_sriov_nr_virtfn > 0) {
phba             4859 drivers/scsi/lpfc/lpfc_attr.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             4862 drivers/scsi/lpfc/lpfc_attr.c 				phba->cfg_sriov_nr_virtfn);
phba             4867 drivers/scsi/lpfc/lpfc_attr.c 		phba->cfg_sriov_nr_virtfn = val;
phba             4869 drivers/scsi/lpfc/lpfc_attr.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             4875 drivers/scsi/lpfc/lpfc_attr.c 	rc = lpfc_sli_probe_sriov_nr_virtfn(phba, phba->cfg_sriov_nr_virtfn);
phba             4877 drivers/scsi/lpfc/lpfc_attr.c 		phba->cfg_sriov_nr_virtfn = 0;
phba             4913 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba *phba = vport->phba;
phba             4924 drivers/scsi/lpfc/lpfc_attr.c 	rc = lpfc_sli4_request_firmware_update(phba, RUN_FW_UPGRADE);
phba             4950 drivers/scsi/lpfc/lpfc_attr.c lpfc_request_firmware_upgrade_init(struct lpfc_hba *phba, int val)
phba             4953 drivers/scsi/lpfc/lpfc_attr.c 		phba->cfg_request_firmware_upgrade = val;
phba             5014 drivers/scsi/lpfc/lpfc_attr.c lpfc_force_rscn_init(struct lpfc_hba *phba, int val)
phba             5043 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba *phba = vport->phba;
phba             5049 drivers/scsi/lpfc/lpfc_attr.c 	if (phba->sli_rev != LPFC_SLI_REV4)
phba             5066 drivers/scsi/lpfc/lpfc_attr.c 	phba->cfg_auto_imax = (val) ? 0 : 1;
phba             5067 drivers/scsi/lpfc/lpfc_attr.c 	if (phba->cfg_fcp_imax && !val) {
phba             5068 drivers/scsi/lpfc/lpfc_attr.c 		queue_delayed_work(phba->wq, &phba->eq_delay_work,
phba             5072 drivers/scsi/lpfc/lpfc_attr.c 			eqi = per_cpu_ptr(phba->sli4_hba.eq_info, i);
phba             5077 drivers/scsi/lpfc/lpfc_attr.c 	phba->cfg_fcp_imax = (uint32_t)val;
phba             5079 drivers/scsi/lpfc/lpfc_attr.c 	if (phba->cfg_fcp_imax)
phba             5080 drivers/scsi/lpfc/lpfc_attr.c 		usdelay = LPFC_SEC_TO_USEC / phba->cfg_fcp_imax;
phba             5084 drivers/scsi/lpfc/lpfc_attr.c 	for (i = 0; i < phba->cfg_irq_chann; i += LPFC_MAX_EQ_DELAY_EQID_CNT)
phba             5085 drivers/scsi/lpfc/lpfc_attr.c 		lpfc_modify_hba_eq_delay(phba, i, LPFC_MAX_EQ_DELAY_EQID_CNT,
phba             5117 drivers/scsi/lpfc/lpfc_attr.c lpfc_fcp_imax_init(struct lpfc_hba *phba, int val)
phba             5119 drivers/scsi/lpfc/lpfc_attr.c 	if (phba->sli_rev != LPFC_SLI_REV4) {
phba             5120 drivers/scsi/lpfc/lpfc_attr.c 		phba->cfg_fcp_imax = 0;
phba             5126 drivers/scsi/lpfc/lpfc_attr.c 		phba->cfg_fcp_imax = val;
phba             5130 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             5133 drivers/scsi/lpfc/lpfc_attr.c 	phba->cfg_fcp_imax = LPFC_DEF_IMAX;
phba             5162 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba *phba = vport->phba;
phba             5168 drivers/scsi/lpfc/lpfc_attr.c 	if (phba->sli_rev != LPFC_SLI_REV4)
phba             5180 drivers/scsi/lpfc/lpfc_attr.c 	phba->cfg_cq_max_proc_limit = (uint32_t)val;
phba             5183 drivers/scsi/lpfc/lpfc_attr.c 	for (i = 0; i < phba->cfg_irq_chann; i++) {
phba             5185 drivers/scsi/lpfc/lpfc_attr.c 		eq = phba->sli4_hba.hba_eq_hdl[i].eq;
phba             5190 drivers/scsi/lpfc/lpfc_attr.c 			cq->max_proc_limit = min(phba->cfg_cq_max_proc_limit,
phba             5233 drivers/scsi/lpfc/lpfc_attr.c lpfc_cq_max_proc_limit_init(struct lpfc_hba *phba, int val)
phba             5235 drivers/scsi/lpfc/lpfc_attr.c 	phba->cfg_cq_max_proc_limit = LPFC_CQ_DEF_MAX_PROC_LIMIT;
phba             5237 drivers/scsi/lpfc/lpfc_attr.c 	if (phba->sli_rev != LPFC_SLI_REV4)
phba             5241 drivers/scsi/lpfc/lpfc_attr.c 		phba->cfg_cq_max_proc_limit = val;
phba             5245 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             5248 drivers/scsi/lpfc/lpfc_attr.c 			phba->cfg_cq_max_proc_limit);
phba             5269 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba             5273 drivers/scsi/lpfc/lpfc_attr.c 	if ((phba->sli_rev != LPFC_SLI_REV4) ||
phba             5274 drivers/scsi/lpfc/lpfc_attr.c 	    (phba->intr_type != MSIX))
phba             5277 drivers/scsi/lpfc/lpfc_attr.c 	switch (phba->cfg_fcp_cpu_map) {
phba             5281 drivers/scsi/lpfc/lpfc_attr.c 				phba->cfg_fcp_cpu_map);
phba             5287 drivers/scsi/lpfc/lpfc_attr.c 				phba->cfg_fcp_cpu_map, num_online_cpus(),
phba             5289 drivers/scsi/lpfc/lpfc_attr.c 				phba->sli4_hba.num_possible_cpu);
phba             5293 drivers/scsi/lpfc/lpfc_attr.c 	while (phba->sli4_hba.curr_disp_cpu <
phba             5294 drivers/scsi/lpfc/lpfc_attr.c 	       phba->sli4_hba.num_possible_cpu) {
phba             5295 drivers/scsi/lpfc/lpfc_attr.c 		cpup = &phba->sli4_hba.cpu_map[phba->sli4_hba.curr_disp_cpu];
phba             5297 drivers/scsi/lpfc/lpfc_attr.c 		if (!cpu_present(phba->sli4_hba.curr_disp_cpu))
phba             5300 drivers/scsi/lpfc/lpfc_attr.c 					phba->sli4_hba.curr_disp_cpu);
phba             5307 drivers/scsi/lpfc/lpfc_attr.c 					phba->sli4_hba.curr_disp_cpu,
phba             5316 drivers/scsi/lpfc/lpfc_attr.c 					phba->sli4_hba.curr_disp_cpu,
phba             5327 drivers/scsi/lpfc/lpfc_attr.c 					phba->sli4_hba.curr_disp_cpu,
phba             5338 drivers/scsi/lpfc/lpfc_attr.c 					phba->sli4_hba.curr_disp_cpu,
phba             5346 drivers/scsi/lpfc/lpfc_attr.c 		phba->sli4_hba.curr_disp_cpu++;
phba             5349 drivers/scsi/lpfc/lpfc_attr.c 		if (phba->sli4_hba.curr_disp_cpu <
phba             5350 drivers/scsi/lpfc/lpfc_attr.c 				phba->sli4_hba.num_possible_cpu &&
phba             5358 drivers/scsi/lpfc/lpfc_attr.c 	if (phba->sli4_hba.curr_disp_cpu == phba->sli4_hba.num_possible_cpu)
phba             5359 drivers/scsi/lpfc/lpfc_attr.c 		phba->sli4_hba.curr_disp_cpu = 0;
phba             5411 drivers/scsi/lpfc/lpfc_attr.c lpfc_fcp_cpu_map_init(struct lpfc_hba *phba, int val)
phba             5413 drivers/scsi/lpfc/lpfc_attr.c 	if (phba->sli_rev != LPFC_SLI_REV4) {
phba             5414 drivers/scsi/lpfc/lpfc_attr.c 		phba->cfg_fcp_cpu_map = 0;
phba             5419 drivers/scsi/lpfc/lpfc_attr.c 		phba->cfg_fcp_cpu_map = val;
phba             5423 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             5426 drivers/scsi/lpfc/lpfc_attr.c 	phba->cfg_fcp_cpu_map = LPFC_HBA_CPU_MAP;
phba             5879 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba             5883 drivers/scsi/lpfc/lpfc_attr.c 		       phba->cfg_sg_dma_buf_size, phba->cfg_total_seg_cnt);
phba             5886 drivers/scsi/lpfc/lpfc_attr.c 			phba->cfg_sg_seg_cnt, phba->cfg_scsi_seg_cnt,
phba             5887 drivers/scsi/lpfc/lpfc_attr.c 			phba->cfg_nvme_seg_cnt);
phba             5908 drivers/scsi/lpfc/lpfc_attr.c lpfc_sg_seg_cnt_init(struct lpfc_hba *phba, int val)
phba             5911 drivers/scsi/lpfc/lpfc_attr.c 		phba->cfg_sg_seg_cnt = val;
phba             5914 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             5918 drivers/scsi/lpfc/lpfc_attr.c 	phba->cfg_sg_seg_cnt = LPFC_DEFAULT_SG_SEG_CNT;
phba             6149 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba             6151 drivers/scsi/lpfc/lpfc_attr.c 	if (phba->sli_rev >= LPFC_SLI_REV4)
phba             6170 drivers/scsi/lpfc/lpfc_attr.c 	spin_lock_irq(&phba->hbalock);
phba             6174 drivers/scsi/lpfc/lpfc_attr.c 		       phba->ctrl_regs_memmap_p + off + buf_off);
phba             6176 drivers/scsi/lpfc/lpfc_attr.c 	spin_unlock_irq(&phba->hbalock);
phba             6209 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba             6211 drivers/scsi/lpfc/lpfc_attr.c 	if (phba->sli_rev >= LPFC_SLI_REV4)
phba             6225 drivers/scsi/lpfc/lpfc_attr.c 	spin_lock_irq(&phba->hbalock);
phba             6229 drivers/scsi/lpfc/lpfc_attr.c 		*tmp_ptr = readl(phba->ctrl_regs_memmap_p + off + buf_off);
phba             6232 drivers/scsi/lpfc/lpfc_attr.c 	spin_unlock_irq(&phba->hbalock);
phba             6401 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba             6407 drivers/scsi/lpfc/lpfc_attr.c 	} else if (lpfc_is_link_up(phba)) {
phba             6408 drivers/scsi/lpfc/lpfc_attr.c 		if (phba->fc_topology == LPFC_TOPOLOGY_LOOP) {
phba             6433 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba             6440 drivers/scsi/lpfc/lpfc_attr.c 		switch (phba->link_state) {
phba             6476 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba             6480 drivers/scsi/lpfc/lpfc_attr.c 	if ((lpfc_is_link_up(phba)) && (!(phba->hba_flag & HBA_FCOE_MODE))) {
phba             6481 drivers/scsi/lpfc/lpfc_attr.c 		switch(phba->fc_linkspeed) {
phba             6513 drivers/scsi/lpfc/lpfc_attr.c 	} else if (lpfc_is_link_up(phba) && (phba->hba_flag & HBA_FCOE_MODE)) {
phba             6514 drivers/scsi/lpfc/lpfc_attr.c 		switch (phba->fc_linkspeed) {
phba             6545 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba             6552 drivers/scsi/lpfc/lpfc_attr.c 	     ((phba->fc_topology == LPFC_TOPOLOGY_LOOP) &&
phba             6554 drivers/scsi/lpfc/lpfc_attr.c 		node_name = wwn_to_u64(phba->fc_fabparam.nodeName.u.wwn);
phba             6580 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba             6581 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_sli   *psli = &phba->sli;
phba             6582 drivers/scsi/lpfc/lpfc_attr.c 	struct fc_host_statistics *hs = &phba->link_stats;
phba             6592 drivers/scsi/lpfc/lpfc_attr.c 	if (phba->link_state < LPFC_LINK_DOWN ||
phba             6593 drivers/scsi/lpfc/lpfc_attr.c 	    !phba->mbox_mem_pool ||
phba             6594 drivers/scsi/lpfc/lpfc_attr.c 	    (phba->sli.sli_flag & LPFC_SLI_ACTIVE) == 0)
phba             6597 drivers/scsi/lpfc/lpfc_attr.c 	if (phba->sli.sli_flag & LPFC_BLOCK_MGMT_IO)
phba             6600 drivers/scsi/lpfc/lpfc_attr.c 	pmboxq = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             6612 drivers/scsi/lpfc/lpfc_attr.c 		rc = lpfc_sli_issue_mbox(phba, pmboxq, MBX_POLL);
phba             6614 drivers/scsi/lpfc/lpfc_attr.c 		rc = lpfc_sli_issue_mbox_wait(phba, pmboxq, phba->fc_ratov * 2);
phba             6618 drivers/scsi/lpfc/lpfc_attr.c 			mempool_free(pmboxq, phba->mbox_mem_pool);
phba             6644 drivers/scsi/lpfc/lpfc_attr.c 		rc = lpfc_sli_issue_mbox(phba, pmboxq, MBX_POLL);
phba             6646 drivers/scsi/lpfc/lpfc_attr.c 		rc = lpfc_sli_issue_mbox_wait(phba, pmboxq, phba->fc_ratov * 2);
phba             6650 drivers/scsi/lpfc/lpfc_attr.c 			mempool_free(pmboxq, phba->mbox_mem_pool);
phba             6670 drivers/scsi/lpfc/lpfc_attr.c 	if (phba->hba_flag & HBA_FCOE_MODE) {
phba             6672 drivers/scsi/lpfc/lpfc_attr.c 		hs->nos_count = (phba->link_events >> 1);
phba             6674 drivers/scsi/lpfc/lpfc_attr.c 	} else if (phba->fc_topology == LPFC_TOPOLOGY_LOOP) {
phba             6675 drivers/scsi/lpfc/lpfc_attr.c 		hs->lip_count = (phba->fc_eventTag >> 1);
phba             6680 drivers/scsi/lpfc/lpfc_attr.c 		hs->nos_count = (phba->fc_eventTag >> 1);
phba             6688 drivers/scsi/lpfc/lpfc_attr.c 	mempool_free(pmboxq, phba->mbox_mem_pool);
phba             6701 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_hba   *phba = vport->phba;
phba             6702 drivers/scsi/lpfc/lpfc_attr.c 	struct lpfc_sli   *psli = &phba->sli;
phba             6708 drivers/scsi/lpfc/lpfc_attr.c 	if (phba->sli.sli_flag & LPFC_BLOCK_MGMT_IO)
phba             6711 drivers/scsi/lpfc/lpfc_attr.c 	pmboxq = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             6725 drivers/scsi/lpfc/lpfc_attr.c 		rc = lpfc_sli_issue_mbox(phba, pmboxq, MBX_POLL);
phba             6727 drivers/scsi/lpfc/lpfc_attr.c 		rc = lpfc_sli_issue_mbox_wait(phba, pmboxq, phba->fc_ratov * 2);
phba             6731 drivers/scsi/lpfc/lpfc_attr.c 			mempool_free(pmboxq, phba->mbox_mem_pool);
phba             6743 drivers/scsi/lpfc/lpfc_attr.c 		rc = lpfc_sli_issue_mbox(phba, pmboxq, MBX_POLL);
phba             6745 drivers/scsi/lpfc/lpfc_attr.c 		rc = lpfc_sli_issue_mbox_wait(phba, pmboxq, phba->fc_ratov * 2);
phba             6749 drivers/scsi/lpfc/lpfc_attr.c 			mempool_free( pmboxq, phba->mbox_mem_pool);
phba             6760 drivers/scsi/lpfc/lpfc_attr.c 	if (phba->hba_flag & HBA_FCOE_MODE)
phba             6761 drivers/scsi/lpfc/lpfc_attr.c 		lso->link_events = (phba->link_events >> 1);
phba             6763 drivers/scsi/lpfc/lpfc_attr.c 		lso->link_events = (phba->fc_eventTag >> 1);
phba             6767 drivers/scsi/lpfc/lpfc_attr.c 	mempool_free(pmboxq, phba->mbox_mem_pool);
phba             6943 drivers/scsi/lpfc/lpfc_attr.c lpfc_hba_log_verbose_init(struct lpfc_hba *phba, uint32_t verbose)
phba             6945 drivers/scsi/lpfc/lpfc_attr.c 	phba->cfg_log_verbose = verbose;
phba             7086 drivers/scsi/lpfc/lpfc_attr.c lpfc_get_hba_function_mode(struct lpfc_hba *phba)
phba             7089 drivers/scsi/lpfc/lpfc_attr.c 	if (phba->pcidev->device == PCI_DEVICE_ID_SKYHAWK)
phba             7090 drivers/scsi/lpfc/lpfc_attr.c 		phba->hba_flag |= HBA_FCOE_MODE;
phba             7092 drivers/scsi/lpfc/lpfc_attr.c 		phba->hba_flag &= ~HBA_FCOE_MODE;
phba             7100 drivers/scsi/lpfc/lpfc_attr.c lpfc_get_cfgparam(struct lpfc_hba *phba)
phba             7102 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_fcp_io_sched_init(phba, lpfc_fcp_io_sched);
phba             7103 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_ns_query_init(phba, lpfc_ns_query);
phba             7104 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_fcp2_no_tgt_reset_init(phba, lpfc_fcp2_no_tgt_reset);
phba             7105 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_cr_delay_init(phba, lpfc_cr_delay);
phba             7106 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_cr_count_init(phba, lpfc_cr_count);
phba             7107 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_multi_ring_support_init(phba, lpfc_multi_ring_support);
phba             7108 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_multi_ring_rctl_init(phba, lpfc_multi_ring_rctl);
phba             7109 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_multi_ring_type_init(phba, lpfc_multi_ring_type);
phba             7110 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_ack0_init(phba, lpfc_ack0);
phba             7111 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_xri_rebalancing_init(phba, lpfc_xri_rebalancing);
phba             7112 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_topology_init(phba, lpfc_topology);
phba             7113 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_link_speed_init(phba, lpfc_link_speed);
phba             7114 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_poll_tmo_init(phba, lpfc_poll_tmo);
phba             7115 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_task_mgmt_tmo_init(phba, lpfc_task_mgmt_tmo);
phba             7116 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_enable_npiv_init(phba, lpfc_enable_npiv);
phba             7117 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_fcf_failover_policy_init(phba, lpfc_fcf_failover_policy);
phba             7118 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_enable_rrq_init(phba, lpfc_enable_rrq);
phba             7119 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_fdmi_on_init(phba, lpfc_fdmi_on);
phba             7120 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_enable_SmartSAN_init(phba, lpfc_enable_SmartSAN);
phba             7121 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_use_msi_init(phba, lpfc_use_msi);
phba             7122 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_nvme_oas_init(phba, lpfc_nvme_oas);
phba             7123 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_nvme_embed_cmd_init(phba, lpfc_nvme_embed_cmd);
phba             7124 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_fcp_imax_init(phba, lpfc_fcp_imax);
phba             7125 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_force_rscn_init(phba, lpfc_force_rscn);
phba             7126 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_cq_poll_threshold_init(phba, lpfc_cq_poll_threshold);
phba             7127 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_cq_max_proc_limit_init(phba, lpfc_cq_max_proc_limit);
phba             7128 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_fcp_cpu_map_init(phba, lpfc_fcp_cpu_map);
phba             7129 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_enable_hba_reset_init(phba, lpfc_enable_hba_reset);
phba             7130 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_enable_hba_heartbeat_init(phba, lpfc_enable_hba_heartbeat);
phba             7132 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_EnableXLane_init(phba, lpfc_EnableXLane);
phba             7133 drivers/scsi/lpfc/lpfc_attr.c 	if (phba->sli_rev != LPFC_SLI_REV4)
phba             7134 drivers/scsi/lpfc/lpfc_attr.c 		phba->cfg_EnableXLane = 0;
phba             7135 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_XLanePriority_init(phba, lpfc_XLanePriority);
phba             7137 drivers/scsi/lpfc/lpfc_attr.c 	memset(phba->cfg_oas_tgt_wwpn, 0, (8 * sizeof(uint8_t)));
phba             7138 drivers/scsi/lpfc/lpfc_attr.c 	memset(phba->cfg_oas_vpt_wwpn, 0, (8 * sizeof(uint8_t)));
phba             7139 drivers/scsi/lpfc/lpfc_attr.c 	phba->cfg_oas_lun_state = 0;
phba             7140 drivers/scsi/lpfc/lpfc_attr.c 	phba->cfg_oas_lun_status = 0;
phba             7141 drivers/scsi/lpfc/lpfc_attr.c 	phba->cfg_oas_flags = 0;
phba             7142 drivers/scsi/lpfc/lpfc_attr.c 	phba->cfg_oas_priority = 0;
phba             7143 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_enable_bg_init(phba, lpfc_enable_bg);
phba             7144 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_prot_mask_init(phba, lpfc_prot_mask);
phba             7145 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_prot_guard_init(phba, lpfc_prot_guard);
phba             7146 drivers/scsi/lpfc/lpfc_attr.c 	if (phba->sli_rev == LPFC_SLI_REV4)
phba             7147 drivers/scsi/lpfc/lpfc_attr.c 		phba->cfg_poll = 0;
phba             7149 drivers/scsi/lpfc/lpfc_attr.c 		phba->cfg_poll = lpfc_poll;
phba             7152 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_get_hba_function_mode(phba);
phba             7155 drivers/scsi/lpfc/lpfc_attr.c 	if (phba->cfg_enable_bg && phba->hba_flag & HBA_FCOE_MODE) {
phba             7156 drivers/scsi/lpfc/lpfc_attr.c 		lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             7159 drivers/scsi/lpfc/lpfc_attr.c 		phba->cfg_enable_bg = 0;
phba             7160 drivers/scsi/lpfc/lpfc_attr.c 	} else if (phba->cfg_enable_bg) {
phba             7161 drivers/scsi/lpfc/lpfc_attr.c 		phba->sli3_options |= LPFC_SLI3_BG_ENABLED;
phba             7164 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_suppress_rsp_init(phba, lpfc_suppress_rsp);
phba             7166 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_enable_fc4_type_init(phba, lpfc_enable_fc4_type);
phba             7167 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_nvmet_mrq_init(phba, lpfc_nvmet_mrq);
phba             7168 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_nvmet_mrq_post_init(phba, lpfc_nvmet_mrq_post);
phba             7171 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_nvme_enable_fb_init(phba, lpfc_nvme_enable_fb);
phba             7172 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_nvmet_fb_size_init(phba, lpfc_nvmet_fb_size);
phba             7173 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_fcp_mq_threshold_init(phba, lpfc_fcp_mq_threshold);
phba             7174 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_hdw_queue_init(phba, lpfc_hdw_queue);
phba             7175 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_irq_chann_init(phba, lpfc_irq_chann);
phba             7176 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_enable_bbcr_init(phba, lpfc_enable_bbcr);
phba             7177 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_enable_dpp_init(phba, lpfc_enable_dpp);
phba             7179 drivers/scsi/lpfc/lpfc_attr.c 	if (phba->sli_rev != LPFC_SLI_REV4) {
phba             7181 drivers/scsi/lpfc/lpfc_attr.c 		phba->nvmet_support = 0;
phba             7182 drivers/scsi/lpfc/lpfc_attr.c 		phba->cfg_nvmet_mrq = 0;
phba             7183 drivers/scsi/lpfc/lpfc_attr.c 		phba->cfg_enable_fc4_type = LPFC_ENABLE_FCP;
phba             7184 drivers/scsi/lpfc/lpfc_attr.c 		phba->cfg_enable_bbcr = 0;
phba             7185 drivers/scsi/lpfc/lpfc_attr.c 		phba->cfg_xri_rebalancing = 0;
phba             7188 drivers/scsi/lpfc/lpfc_attr.c 		if (!(phba->cfg_enable_fc4_type & LPFC_ENABLE_FCP))
phba             7189 drivers/scsi/lpfc/lpfc_attr.c 			phba->cfg_enable_fc4_type |= LPFC_ENABLE_FCP;
phba             7192 drivers/scsi/lpfc/lpfc_attr.c 	phba->cfg_auto_imax = (phba->cfg_fcp_imax) ? 0 : 1;
phba             7194 drivers/scsi/lpfc/lpfc_attr.c 	phba->cfg_enable_pbde = 0;
phba             7197 drivers/scsi/lpfc/lpfc_attr.c 	if (phba->cfg_hdw_queue == 0)
phba             7198 drivers/scsi/lpfc/lpfc_attr.c 		phba->cfg_hdw_queue = phba->sli4_hba.num_present_cpu;
phba             7199 drivers/scsi/lpfc/lpfc_attr.c 	if (phba->cfg_irq_chann == 0)
phba             7200 drivers/scsi/lpfc/lpfc_attr.c 		phba->cfg_irq_chann = phba->sli4_hba.num_present_cpu;
phba             7201 drivers/scsi/lpfc/lpfc_attr.c 	if (phba->cfg_irq_chann > phba->cfg_hdw_queue)
phba             7202 drivers/scsi/lpfc/lpfc_attr.c 		phba->cfg_irq_chann = phba->cfg_hdw_queue;
phba             7204 drivers/scsi/lpfc/lpfc_attr.c 	phba->cfg_soft_wwnn = 0L;
phba             7205 drivers/scsi/lpfc/lpfc_attr.c 	phba->cfg_soft_wwpn = 0L;
phba             7206 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_sg_seg_cnt_init(phba, lpfc_sg_seg_cnt);
phba             7207 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_hba_queue_depth_init(phba, lpfc_hba_queue_depth);
phba             7208 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_hba_log_verbose_init(phba, lpfc_log_verbose);
phba             7209 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_aer_support_init(phba, lpfc_aer_support);
phba             7210 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_sriov_nr_virtfn_init(phba, lpfc_sriov_nr_virtfn);
phba             7211 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_request_firmware_upgrade_init(phba, lpfc_req_fw_upgrade);
phba             7212 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_suppress_link_up_init(phba, lpfc_suppress_link_up);
phba             7213 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_iocb_cnt_init(phba, lpfc_iocb_cnt);
phba             7214 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_delay_discovery_init(phba, lpfc_delay_discovery);
phba             7215 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_sli_mode_init(phba, lpfc_sli_mode);
phba             7216 drivers/scsi/lpfc/lpfc_attr.c 	phba->cfg_enable_dss = 1;
phba             7217 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_enable_mds_diags_init(phba, lpfc_enable_mds_diags);
phba             7218 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_ras_fwlog_buffsize_init(phba, lpfc_ras_fwlog_buffsize);
phba             7219 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_ras_fwlog_level_init(phba, lpfc_ras_fwlog_level);
phba             7220 drivers/scsi/lpfc/lpfc_attr.c 	lpfc_ras_fwlog_func_init(phba, lpfc_ras_fwlog_func);
phba             7231 drivers/scsi/lpfc/lpfc_attr.c lpfc_nvme_mod_param_dep(struct lpfc_hba *phba)
phba             7233 drivers/scsi/lpfc/lpfc_attr.c 	if (phba->cfg_hdw_queue > phba->sli4_hba.num_present_cpu)
phba             7234 drivers/scsi/lpfc/lpfc_attr.c 		phba->cfg_hdw_queue = phba->sli4_hba.num_present_cpu;
phba             7235 drivers/scsi/lpfc/lpfc_attr.c 	if (phba->cfg_irq_chann > phba->sli4_hba.num_present_cpu)
phba             7236 drivers/scsi/lpfc/lpfc_attr.c 		phba->cfg_irq_chann = phba->sli4_hba.num_present_cpu;
phba             7237 drivers/scsi/lpfc/lpfc_attr.c 	if (phba->cfg_irq_chann > phba->cfg_hdw_queue)
phba             7238 drivers/scsi/lpfc/lpfc_attr.c 		phba->cfg_irq_chann = phba->cfg_hdw_queue;
phba             7240 drivers/scsi/lpfc/lpfc_attr.c 	if (phba->cfg_enable_fc4_type & LPFC_ENABLE_NVME &&
phba             7241 drivers/scsi/lpfc/lpfc_attr.c 	    phba->nvmet_support) {
phba             7242 drivers/scsi/lpfc/lpfc_attr.c 		phba->cfg_enable_fc4_type &= ~LPFC_ENABLE_FCP;
phba             7244 drivers/scsi/lpfc/lpfc_attr.c 		lpfc_printf_log(phba, KERN_INFO, LOG_NVME_DISC,
phba             7247 drivers/scsi/lpfc/lpfc_attr.c 				phba->cfg_nvme_enable_fb,
phba             7248 drivers/scsi/lpfc/lpfc_attr.c 				phba->cfg_nvmet_fb_size,
phba             7251 drivers/scsi/lpfc/lpfc_attr.c 		if (phba->cfg_nvme_enable_fb == 0)
phba             7252 drivers/scsi/lpfc/lpfc_attr.c 			phba->cfg_nvmet_fb_size = 0;
phba             7254 drivers/scsi/lpfc/lpfc_attr.c 			if (phba->cfg_nvmet_fb_size > LPFC_NVMET_FB_SZ_MAX)
phba             7255 drivers/scsi/lpfc/lpfc_attr.c 				phba->cfg_nvmet_fb_size = LPFC_NVMET_FB_SZ_MAX;
phba             7258 drivers/scsi/lpfc/lpfc_attr.c 		if (!phba->cfg_nvmet_mrq)
phba             7259 drivers/scsi/lpfc/lpfc_attr.c 			phba->cfg_nvmet_mrq = phba->cfg_irq_chann;
phba             7262 drivers/scsi/lpfc/lpfc_attr.c 		if (phba->cfg_nvmet_mrq > phba->cfg_irq_chann) {
phba             7263 drivers/scsi/lpfc/lpfc_attr.c 			phba->cfg_nvmet_mrq = phba->cfg_irq_chann;
phba             7264 drivers/scsi/lpfc/lpfc_attr.c 			lpfc_printf_log(phba, KERN_ERR, LOG_NVME_DISC,
phba             7266 drivers/scsi/lpfc/lpfc_attr.c 					phba->cfg_nvmet_mrq);
phba             7268 drivers/scsi/lpfc/lpfc_attr.c 		if (phba->cfg_nvmet_mrq > LPFC_NVMET_MRQ_MAX)
phba             7269 drivers/scsi/lpfc/lpfc_attr.c 			phba->cfg_nvmet_mrq = LPFC_NVMET_MRQ_MAX;
phba             7273 drivers/scsi/lpfc/lpfc_attr.c 		phba->nvmet_support = 0;
phba             7274 drivers/scsi/lpfc/lpfc_attr.c 		phba->cfg_nvmet_mrq = 0;
phba             7275 drivers/scsi/lpfc/lpfc_attr.c 		phba->cfg_nvmet_fb_size = 0;
phba              139 drivers/scsi/lpfc/lpfc_bsg.c lpfc_free_bsg_buffers(struct lpfc_hba *phba, struct lpfc_dmabuf *mlist)
phba              146 drivers/scsi/lpfc/lpfc_bsg.c 			lpfc_mbuf_free(phba, mlast->virt, mlast->phys);
phba              150 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_mbuf_free(phba, mlist->virt, mlist->phys);
phba              157 drivers/scsi/lpfc/lpfc_bsg.c lpfc_alloc_bsg_buffers(struct lpfc_hba *phba, unsigned int size,
phba              179 drivers/scsi/lpfc/lpfc_bsg.c 				lpfc_free_bsg_buffers(phba, mlist);
phba              184 drivers/scsi/lpfc/lpfc_bsg.c 		mp->virt = lpfc_mbuf_alloc(phba, MEM_PRI, &(mp->phys));
phba              189 drivers/scsi/lpfc/lpfc_bsg.c 				lpfc_free_bsg_buffers(phba, mlist);
phba              299 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_send_mgmt_cmd_cmp(struct lpfc_hba *phba,
phba              317 drivers/scsi/lpfc/lpfc_bsg.c 	spin_lock_irqsave(&phba->ct_ev_lock, flags);
phba              324 drivers/scsi/lpfc/lpfc_bsg.c 	spin_unlock_irqrestore(&phba->ct_ev_lock, flags);
phba              327 drivers/scsi/lpfc/lpfc_bsg.c 	spin_lock_irqsave(&phba->hbalock, flags);
phba              329 drivers/scsi/lpfc/lpfc_bsg.c 	spin_unlock_irqrestore(&phba->hbalock, flags);
phba              365 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_free_bsg_buffers(phba, cmp);
phba              366 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_free_bsg_buffers(phba, rmp);
phba              367 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_mbuf_free(phba, bmp->virt, bmp->phys);
phba              369 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_sli_release_iocbq(phba, cmdiocbq);
phba              391 drivers/scsi/lpfc/lpfc_bsg.c 	struct lpfc_hba *phba = vport->phba;
phba              414 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_LIBDFC,
phba              430 drivers/scsi/lpfc/lpfc_bsg.c 	cmdiocbq = lpfc_sli_get_iocbq(phba);
phba              443 drivers/scsi/lpfc/lpfc_bsg.c 	bmp->virt = lpfc_mbuf_alloc(phba, 0, &bmp->phys);
phba              453 drivers/scsi/lpfc/lpfc_bsg.c 	cmp = lpfc_alloc_bsg_buffers(phba, job->request_payload.payload_len,
phba              464 drivers/scsi/lpfc/lpfc_bsg.c 	rmp = lpfc_alloc_bsg_buffers(phba, job->reply_payload.payload_len, 0,
phba              486 drivers/scsi/lpfc/lpfc_bsg.c 	if (phba->sli_rev == LPFC_SLI_REV4)
phba              487 drivers/scsi/lpfc/lpfc_bsg.c 		cmd->ulpContext = phba->sli4_hba.rpi_ids[ndlp->nlp_rpi];
phba              489 drivers/scsi/lpfc/lpfc_bsg.c 	cmdiocbq->vport = phba->pport;
phba              492 drivers/scsi/lpfc/lpfc_bsg.c 	timeout = phba->fc_ratov * 2;
phba              507 drivers/scsi/lpfc/lpfc_bsg.c 	if (phba->cfg_poll & DISABLE_FCP_RING_INT) {
phba              508 drivers/scsi/lpfc/lpfc_bsg.c 		if (lpfc_readl(phba->HCregaddr, &creg_val)) {
phba              513 drivers/scsi/lpfc/lpfc_bsg.c 		writel(creg_val, phba->HCregaddr);
phba              514 drivers/scsi/lpfc/lpfc_bsg.c 		readl(phba->HCregaddr); /* flush */
phba              517 drivers/scsi/lpfc/lpfc_bsg.c 	iocb_stat = lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, cmdiocbq, 0);
phba              520 drivers/scsi/lpfc/lpfc_bsg.c 		spin_lock_irqsave(&phba->hbalock, flags);
phba              526 drivers/scsi/lpfc/lpfc_bsg.c 		spin_unlock_irqrestore(&phba->hbalock, flags);
phba              538 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_free_bsg_buffers(phba, rmp);
phba              540 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_free_bsg_buffers(phba, cmp);
phba              543 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_mbuf_free(phba, bmp->virt, bmp->phys);
phba              546 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_sli_release_iocbq(phba, cmdiocbq);
phba              576 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_rport_els_cmp(struct lpfc_hba *phba,
phba              597 drivers/scsi/lpfc/lpfc_bsg.c 	spin_lock_irqsave(&phba->ct_ev_lock, flags);
phba              604 drivers/scsi/lpfc/lpfc_bsg.c 	spin_unlock_irqrestore(&phba->ct_ev_lock, flags);
phba              607 drivers/scsi/lpfc/lpfc_bsg.c 	spin_lock_irqsave(&phba->hbalock, flags);
phba              609 drivers/scsi/lpfc/lpfc_bsg.c 	spin_unlock_irqrestore(&phba->hbalock, flags);
phba              644 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_els_free_iocb(phba, cmdiocbq);
phba              665 drivers/scsi/lpfc/lpfc_bsg.c 	struct lpfc_hba *phba = vport->phba;
phba              694 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_LIBDFC,
phba              730 drivers/scsi/lpfc/lpfc_bsg.c 	if (phba->sli_rev == LPFC_SLI_REV4)
phba              731 drivers/scsi/lpfc/lpfc_bsg.c 		cmdiocbq->iocb.ulpContext = phba->sli4_hba.rpi_ids[rpi];
phba              745 drivers/scsi/lpfc/lpfc_bsg.c 	if (phba->cfg_poll & DISABLE_FCP_RING_INT) {
phba              746 drivers/scsi/lpfc/lpfc_bsg.c 		if (lpfc_readl(phba->HCregaddr, &creg_val)) {
phba              751 drivers/scsi/lpfc/lpfc_bsg.c 		writel(creg_val, phba->HCregaddr);
phba              752 drivers/scsi/lpfc/lpfc_bsg.c 		readl(phba->HCregaddr); /* flush */
phba              755 drivers/scsi/lpfc/lpfc_bsg.c 	rc = lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, cmdiocbq, 0);
phba              758 drivers/scsi/lpfc/lpfc_bsg.c 		spin_lock_irqsave(&phba->hbalock, flags);
phba              764 drivers/scsi/lpfc/lpfc_bsg.c 		spin_unlock_irqrestore(&phba->hbalock, flags);
phba              777 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_els_free_iocb(phba, cmdiocbq);
phba              879 drivers/scsi/lpfc/lpfc_bsg.c diag_cmd_data_free(struct lpfc_hba *phba, struct lpfc_dmabufext *mlist)
phba              885 drivers/scsi/lpfc/lpfc_bsg.c 	if ((!mlist) || (!lpfc_is_link_up(phba) &&
phba              886 drivers/scsi/lpfc/lpfc_bsg.c 		(phba->link_flag & LS_LOOPBACK_MODE))) {
phba              890 drivers/scsi/lpfc/lpfc_bsg.c 	pcidev = phba->pcidev;
phba              915 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_ct_unsol_event(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
phba              946 drivers/scsi/lpfc/lpfc_bsg.c 	if (phba->link_state == LPFC_HBA_ERROR ||
phba              947 drivers/scsi/lpfc/lpfc_bsg.c 		(!(phba->sli.sli_flag & LPFC_SLI_ACTIVE)))
phba              950 drivers/scsi/lpfc/lpfc_bsg.c 	if (phba->sli3_options & LPFC_SLI3_HBQ_ENABLED)
phba              955 drivers/scsi/lpfc/lpfc_bsg.c 		dmabuf = lpfc_sli_ringpostbuf_get(phba, pring, dma_addr);
phba              962 drivers/scsi/lpfc/lpfc_bsg.c 	if (!(phba->sli3_options & LPFC_SLI3_HBQ_ENABLED))
phba              963 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_sli_ringpostbuf_put(phba, pring, dmabuf);
phba              965 drivers/scsi/lpfc/lpfc_bsg.c 	spin_lock_irqsave(&phba->ct_ev_lock, flags);
phba              966 drivers/scsi/lpfc/lpfc_bsg.c 	list_for_each_entry(evt, &phba->ct_ev_waiters, node) {
phba              972 drivers/scsi/lpfc/lpfc_bsg.c 		spin_unlock_irqrestore(&phba->ct_ev_lock, flags);
phba              975 drivers/scsi/lpfc/lpfc_bsg.c 			spin_lock_irqsave(&phba->ct_ev_lock, flags);
phba              977 drivers/scsi/lpfc/lpfc_bsg.c 			lpfc_printf_log(phba, KERN_WARNING, LOG_LIBDFC,
phba              983 drivers/scsi/lpfc/lpfc_bsg.c 		if (phba->sli3_options & LPFC_SLI3_HBQ_ENABLED) {
phba              997 drivers/scsi/lpfc/lpfc_bsg.c 			lpfc_printf_log(phba, KERN_WARNING, LOG_LIBDFC,
phba             1002 drivers/scsi/lpfc/lpfc_bsg.c 			spin_lock_irqsave(&phba->ct_ev_lock, flags);
phba             1004 drivers/scsi/lpfc/lpfc_bsg.c 			spin_unlock_irqrestore(&phba->ct_ev_lock, flags);
phba             1010 drivers/scsi/lpfc/lpfc_bsg.c 			if (phba->sli3_options & LPFC_SLI3_HBQ_ENABLED) {
phba             1015 drivers/scsi/lpfc/lpfc_bsg.c 				if (phba->sli3_options &
phba             1037 drivers/scsi/lpfc/lpfc_bsg.c 					dmabuf = lpfc_sli_ringpostbuf_get(phba,
phba             1041 drivers/scsi/lpfc/lpfc_bsg.c 					lpfc_printf_log(phba, KERN_ERR,
phba             1047 drivers/scsi/lpfc/lpfc_bsg.c 					spin_lock_irqsave(&phba->ct_ev_lock,
phba             1051 drivers/scsi/lpfc/lpfc_bsg.c 						&phba->ct_ev_lock, flags);
phba             1058 drivers/scsi/lpfc/lpfc_bsg.c 				    !(phba->sli3_options &
phba             1060 drivers/scsi/lpfc/lpfc_bsg.c 					lpfc_sli_ringpostbuf_put(phba, pring,
phba             1065 drivers/scsi/lpfc/lpfc_bsg.c 						if (phba->sli_rev <
phba             1067 drivers/scsi/lpfc/lpfc_bsg.c 							diag_cmd_data_free(phba,
phba             1072 drivers/scsi/lpfc/lpfc_bsg.c 						if ((phba->sli_rev ==
phba             1074 drivers/scsi/lpfc/lpfc_bsg.c 							(phba->sli3_options &
phba             1077 drivers/scsi/lpfc/lpfc_bsg.c 							lpfc_in_buf_free(phba,
phba             1080 drivers/scsi/lpfc/lpfc_bsg.c 							lpfc_post_buffer(phba,
phba             1086 drivers/scsi/lpfc/lpfc_bsg.c 						if (!(phba->sli3_options &
phba             1088 drivers/scsi/lpfc/lpfc_bsg.c 							lpfc_post_buffer(phba,
phba             1097 drivers/scsi/lpfc/lpfc_bsg.c 		spin_lock_irqsave(&phba->ct_ev_lock, flags);
phba             1098 drivers/scsi/lpfc/lpfc_bsg.c 		if (phba->sli_rev == LPFC_SLI_REV4) {
phba             1099 drivers/scsi/lpfc/lpfc_bsg.c 			evt_dat->immed_dat = phba->ctx_idx;
phba             1100 drivers/scsi/lpfc/lpfc_bsg.c 			phba->ctx_idx = (phba->ctx_idx + 1) % LPFC_CT_CTX_MAX;
phba             1102 drivers/scsi/lpfc/lpfc_bsg.c 			if (phba->ct_ctx[evt_dat->immed_dat].valid ==
phba             1104 drivers/scsi/lpfc/lpfc_bsg.c 				lpfc_printf_log(phba, KERN_WARNING, LOG_ELS,
phba             1107 drivers/scsi/lpfc/lpfc_bsg.c 						"sid:x%x\n", phba->ctx_idx,
phba             1108 drivers/scsi/lpfc/lpfc_bsg.c 						phba->ct_ctx[
phba             1110 drivers/scsi/lpfc/lpfc_bsg.c 						phba->ct_ctx[
phba             1112 drivers/scsi/lpfc/lpfc_bsg.c 			phba->ct_ctx[evt_dat->immed_dat].rxid =
phba             1114 drivers/scsi/lpfc/lpfc_bsg.c 			phba->ct_ctx[evt_dat->immed_dat].oxid =
phba             1116 drivers/scsi/lpfc/lpfc_bsg.c 			phba->ct_ctx[evt_dat->immed_dat].SID =
phba             1118 drivers/scsi/lpfc/lpfc_bsg.c 			phba->ct_ctx[evt_dat->immed_dat].valid = UNSOL_VALID;
phba             1143 drivers/scsi/lpfc/lpfc_bsg.c 			spin_unlock_irqrestore(&phba->ct_ev_lock, flags);
phba             1146 drivers/scsi/lpfc/lpfc_bsg.c 			spin_lock_irqsave(&phba->ct_ev_lock, flags);
phba             1149 drivers/scsi/lpfc/lpfc_bsg.c 	spin_unlock_irqrestore(&phba->ct_ev_lock, flags);
phba             1154 drivers/scsi/lpfc/lpfc_bsg.c 	if ((phba->sli_rev < LPFC_SLI_REV4) &&
phba             1173 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_ct_unsol_abort(struct lpfc_hba *phba, struct hbq_dmabuf *dmabuf)
phba             1187 drivers/scsi/lpfc/lpfc_bsg.c 		if (phba->ct_ctx[ctx_idx].valid != UNSOL_VALID)
phba             1189 drivers/scsi/lpfc/lpfc_bsg.c 		if (phba->ct_ctx[ctx_idx].rxid != rxid)
phba             1191 drivers/scsi/lpfc/lpfc_bsg.c 		if (phba->ct_ctx[ctx_idx].oxid != oxid)
phba             1193 drivers/scsi/lpfc/lpfc_bsg.c 		if (phba->ct_ctx[ctx_idx].SID != sid)
phba             1195 drivers/scsi/lpfc/lpfc_bsg.c 		phba->ct_ctx[ctx_idx].valid = UNSOL_INVALID;
phba             1209 drivers/scsi/lpfc/lpfc_bsg.c 	struct lpfc_hba *phba = vport->phba;
phba             1220 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_LIBDFC,
phba             1231 drivers/scsi/lpfc/lpfc_bsg.c 	spin_lock_irqsave(&phba->ct_ev_lock, flags);
phba             1232 drivers/scsi/lpfc/lpfc_bsg.c 	list_for_each_entry(evt, &phba->ct_ev_waiters, node) {
phba             1240 drivers/scsi/lpfc/lpfc_bsg.c 	spin_unlock_irqrestore(&phba->ct_ev_lock, flags);
phba             1242 drivers/scsi/lpfc/lpfc_bsg.c 	if (&evt->node == &phba->ct_ev_waiters) {
phba             1246 drivers/scsi/lpfc/lpfc_bsg.c 			lpfc_printf_log(phba, KERN_WARNING, LOG_LIBDFC,
phba             1254 drivers/scsi/lpfc/lpfc_bsg.c 			lpfc_printf_log(phba, KERN_WARNING, LOG_LIBDFC,
phba             1264 drivers/scsi/lpfc/lpfc_bsg.c 		spin_lock_irqsave(&phba->ct_ev_lock, flags);
phba             1265 drivers/scsi/lpfc/lpfc_bsg.c 		list_add(&evt->node, &phba->ct_ev_waiters);
phba             1268 drivers/scsi/lpfc/lpfc_bsg.c 		spin_unlock_irqrestore(&phba->ct_ev_lock, flags);
phba             1271 drivers/scsi/lpfc/lpfc_bsg.c 	spin_lock_irqsave(&phba->ct_ev_lock, flags);
phba             1275 drivers/scsi/lpfc/lpfc_bsg.c 	spin_unlock_irqrestore(&phba->ct_ev_lock, flags);
phba             1292 drivers/scsi/lpfc/lpfc_bsg.c 	struct lpfc_hba *phba = vport->phba;
phba             1304 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_LIBDFC,
phba             1316 drivers/scsi/lpfc/lpfc_bsg.c 	spin_lock_irqsave(&phba->ct_ev_lock, flags);
phba             1317 drivers/scsi/lpfc/lpfc_bsg.c 	list_for_each_entry_safe(evt, evt_next, &phba->ct_ev_waiters, node) {
phba             1329 drivers/scsi/lpfc/lpfc_bsg.c 	spin_unlock_irqrestore(&phba->ct_ev_lock, flags);
phba             1342 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_LIBDFC,
phba             1363 drivers/scsi/lpfc/lpfc_bsg.c 	spin_lock_irqsave(&phba->ct_ev_lock, flags);
phba             1365 drivers/scsi/lpfc/lpfc_bsg.c 	spin_unlock_irqrestore(&phba->ct_ev_lock, flags);
phba             1396 drivers/scsi/lpfc/lpfc_bsg.c lpfc_issue_ct_rsp_cmp(struct lpfc_hba *phba,
phba             1412 drivers/scsi/lpfc/lpfc_bsg.c 	spin_lock_irqsave(&phba->ct_ev_lock, flags);
phba             1418 drivers/scsi/lpfc/lpfc_bsg.c 	spin_unlock_irqrestore(&phba->ct_ev_lock, flags);
phba             1421 drivers/scsi/lpfc/lpfc_bsg.c 	spin_lock_irqsave(&phba->hbalock, flags);
phba             1423 drivers/scsi/lpfc/lpfc_bsg.c 	spin_unlock_irqrestore(&phba->hbalock, flags);
phba             1455 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_free_bsg_buffers(phba, cmp);
phba             1456 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_mbuf_free(phba, bmp->virt, bmp->phys);
phba             1458 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_sli_release_iocbq(phba, cmdiocbq);
phba             1481 drivers/scsi/lpfc/lpfc_bsg.c lpfc_issue_ct_rsp(struct lpfc_hba *phba, struct bsg_job *job, uint32_t tag,
phba             1496 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_LIBDFC,
phba             1503 drivers/scsi/lpfc/lpfc_bsg.c 	ctiocb = lpfc_sli_get_iocbq(phba);
phba             1525 drivers/scsi/lpfc/lpfc_bsg.c 	if (phba->sli_rev == LPFC_SLI_REV4) {
phba             1527 drivers/scsi/lpfc/lpfc_bsg.c 		if (phba->ct_ctx[tag].valid != UNSOL_VALID) {
phba             1531 drivers/scsi/lpfc/lpfc_bsg.c 		icmd->ulpContext = phba->ct_ctx[tag].rxid;
phba             1532 drivers/scsi/lpfc/lpfc_bsg.c 		icmd->unsli3.rcvsli3.ox_id = phba->ct_ctx[tag].oxid;
phba             1533 drivers/scsi/lpfc/lpfc_bsg.c 		ndlp = lpfc_findnode_did(phba->pport, phba->ct_ctx[tag].SID);
phba             1535 drivers/scsi/lpfc/lpfc_bsg.c 			lpfc_printf_log(phba, KERN_WARNING, LOG_ELS,
phba             1538 drivers/scsi/lpfc/lpfc_bsg.c 					phba->ct_ctx[tag].SID);
phba             1558 drivers/scsi/lpfc/lpfc_bsg.c 				phba->sli4_hba.rpi_ids[ndlp->nlp_rpi];
phba             1561 drivers/scsi/lpfc/lpfc_bsg.c 		phba->ct_ctx[tag].valid = UNSOL_INVALID;
phba             1565 drivers/scsi/lpfc/lpfc_bsg.c 	icmd->ulpTimeout = phba->fc_ratov * 2;
phba             1568 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_printf_log(phba, KERN_INFO, LOG_ELS,
phba             1570 drivers/scsi/lpfc/lpfc_bsg.c 		icmd->ulpContext, icmd->ulpIoTag, tag, phba->link_state);
phba             1573 drivers/scsi/lpfc/lpfc_bsg.c 	ctiocb->vport = phba->pport;
phba             1587 drivers/scsi/lpfc/lpfc_bsg.c 	if (phba->cfg_poll & DISABLE_FCP_RING_INT) {
phba             1588 drivers/scsi/lpfc/lpfc_bsg.c 		if (lpfc_readl(phba->HCregaddr, &creg_val)) {
phba             1593 drivers/scsi/lpfc/lpfc_bsg.c 		writel(creg_val, phba->HCregaddr);
phba             1594 drivers/scsi/lpfc/lpfc_bsg.c 		readl(phba->HCregaddr); /* flush */
phba             1597 drivers/scsi/lpfc/lpfc_bsg.c 	rc = lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, ctiocb, 0);
phba             1600 drivers/scsi/lpfc/lpfc_bsg.c 		spin_lock_irqsave(&phba->hbalock, flags);
phba             1606 drivers/scsi/lpfc/lpfc_bsg.c 		spin_unlock_irqrestore(&phba->hbalock, flags);
phba             1614 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_sli_release_iocbq(phba, ctiocb);
phba             1629 drivers/scsi/lpfc/lpfc_bsg.c 	struct lpfc_hba *phba = vport->phba;
phba             1656 drivers/scsi/lpfc/lpfc_bsg.c 	bmp->virt = lpfc_mbuf_alloc(phba, 0, &bmp->phys);
phba             1665 drivers/scsi/lpfc/lpfc_bsg.c 	cmp = lpfc_alloc_bsg_buffers(phba, job->request_payload.payload_len,
phba             1674 drivers/scsi/lpfc/lpfc_bsg.c 	rc = lpfc_issue_ct_rsp(phba, job, tag, cmp, bmp, bpl_entries);
phba             1681 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_free_bsg_buffers(phba, cmp);
phba             1685 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_mbuf_free(phba, bmp->virt, bmp->phys);
phba             1702 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_diag_mode_enter(struct lpfc_hba *phba)
phba             1711 drivers/scsi/lpfc/lpfc_bsg.c 	psli = &phba->sli;
phba             1716 drivers/scsi/lpfc/lpfc_bsg.c 	if ((phba->link_state == LPFC_HBA_ERROR) ||
phba             1721 drivers/scsi/lpfc/lpfc_bsg.c 	vports = lpfc_create_vport_work_array(phba);
phba             1723 drivers/scsi/lpfc/lpfc_bsg.c 		for (i = 0; i <= phba->max_vpi && vports[i] != NULL; i++) {
phba             1727 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_destroy_vport_work_array(phba, vports);
phba             1729 drivers/scsi/lpfc/lpfc_bsg.c 		shost = lpfc_shost_from_vport(phba->pport);
phba             1733 drivers/scsi/lpfc/lpfc_bsg.c 	if (phba->sli_rev != LPFC_SLI_REV4) {
phba             1735 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_emptyq_wait(phba, &pring->txcmplq, &phba->hbalock);
phba             1738 drivers/scsi/lpfc/lpfc_bsg.c 	list_for_each_entry(qp, &phba->sli4_hba.lpfc_wq_list, wq_list) {
phba             1742 drivers/scsi/lpfc/lpfc_bsg.c 		if (!lpfc_emptyq_wait(phba, &pring->txcmplq,
phba             1757 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_diag_mode_exit(struct lpfc_hba *phba)
phba             1763 drivers/scsi/lpfc/lpfc_bsg.c 	vports = lpfc_create_vport_work_array(phba);
phba             1765 drivers/scsi/lpfc/lpfc_bsg.c 		for (i = 0; i <= phba->max_vpi && vports[i] != NULL; i++) {
phba             1769 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_destroy_vport_work_array(phba, vports);
phba             1771 drivers/scsi/lpfc/lpfc_bsg.c 		shost = lpfc_shost_from_vport(phba->pport);
phba             1791 drivers/scsi/lpfc/lpfc_bsg.c lpfc_sli3_bsg_diag_loopback_mode(struct lpfc_hba *phba, struct bsg_job *job)
phba             1808 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_LIBDFC,
phba             1818 drivers/scsi/lpfc/lpfc_bsg.c 	rc = lpfc_bsg_diag_mode_enter(phba);
phba             1828 drivers/scsi/lpfc/lpfc_bsg.c 	pmboxq = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             1837 drivers/scsi/lpfc/lpfc_bsg.c 	mbxstatus = lpfc_sli_issue_mbox_wait(phba, pmboxq, LPFC_MBOX_TMO);
phba             1842 drivers/scsi/lpfc/lpfc_bsg.c 		while (phba->link_state != LPFC_LINK_DOWN) {
phba             1860 drivers/scsi/lpfc/lpfc_bsg.c 		mbxstatus = lpfc_sli_issue_mbox_wait(phba, pmboxq,
phba             1866 drivers/scsi/lpfc/lpfc_bsg.c 			spin_lock_irq(&phba->hbalock);
phba             1867 drivers/scsi/lpfc/lpfc_bsg.c 			phba->link_flag |= LS_LOOPBACK_MODE;
phba             1868 drivers/scsi/lpfc/lpfc_bsg.c 			spin_unlock_irq(&phba->hbalock);
phba             1873 drivers/scsi/lpfc/lpfc_bsg.c 			while (phba->link_state != LPFC_HBA_READY) {
phba             1887 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_bsg_diag_mode_exit(phba);
phba             1893 drivers/scsi/lpfc/lpfc_bsg.c 		mempool_free(pmboxq, phba->mbox_mem_pool);
phba             1914 drivers/scsi/lpfc/lpfc_bsg.c lpfc_sli4_bsg_set_link_diag_state(struct lpfc_hba *phba, uint32_t diag)
phba             1921 drivers/scsi/lpfc/lpfc_bsg.c 	pmboxq = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             1927 drivers/scsi/lpfc/lpfc_bsg.c 	alloc_len = lpfc_sli4_config(phba, pmboxq, LPFC_MBOX_SUBSYSTEM_FCOE,
phba             1934 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_printf_log(phba, KERN_INFO, LOG_LIBDFC,
phba             1936 drivers/scsi/lpfc/lpfc_bsg.c 			diag, phba->sli4_hba.lnk_info.lnk_tp,
phba             1937 drivers/scsi/lpfc/lpfc_bsg.c 			phba->sli4_hba.lnk_info.lnk_no);
phba             1943 drivers/scsi/lpfc/lpfc_bsg.c 	       phba->sli4_hba.lnk_info.lnk_no);
phba             1945 drivers/scsi/lpfc/lpfc_bsg.c 	       phba->sli4_hba.lnk_info.lnk_tp);
phba             1953 drivers/scsi/lpfc/lpfc_bsg.c 	mbxstatus = lpfc_sli_issue_mbox_wait(phba, pmboxq, LPFC_MBOX_TMO);
phba             1962 drivers/scsi/lpfc/lpfc_bsg.c 		mempool_free(pmboxq, phba->mbox_mem_pool);
phba             1977 drivers/scsi/lpfc/lpfc_bsg.c lpfc_sli4_bsg_set_loopback_mode(struct lpfc_hba *phba, int mode,
phba             1985 drivers/scsi/lpfc/lpfc_bsg.c 	pmboxq = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             1990 drivers/scsi/lpfc/lpfc_bsg.c 	alloc_len = lpfc_sli4_config(phba, pmboxq, LPFC_MBOX_SUBSYSTEM_FCOE,
phba             1994 drivers/scsi/lpfc/lpfc_bsg.c 		mempool_free(pmboxq, phba->mbox_mem_pool);
phba             2001 drivers/scsi/lpfc/lpfc_bsg.c 	if (phba->sli4_hba.conf_trunk & (1 << link_no)) {
phba             2007 drivers/scsi/lpfc/lpfc_bsg.c 		       phba->sli4_hba.lnk_info.lnk_tp);
phba             2013 drivers/scsi/lpfc/lpfc_bsg.c 	mbxstatus = lpfc_sli_issue_mbox_wait(phba, pmboxq, LPFC_MBOX_TMO);
phba             2015 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_LIBDFC,
phba             2022 drivers/scsi/lpfc/lpfc_bsg.c 		mempool_free(pmboxq, phba->mbox_mem_pool);
phba             2034 drivers/scsi/lpfc/lpfc_bsg.c lpfc_sli4_diag_fcport_reg_setup(struct lpfc_hba *phba)
phba             2038 drivers/scsi/lpfc/lpfc_bsg.c 	if (phba->pport->fc_flag & FC_VFI_REGISTERED) {
phba             2039 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_LIBDFC,
phba             2042 drivers/scsi/lpfc/lpfc_bsg.c 				phba->pport->fc_myDID, phba->fcf.fcfi,
phba             2043 drivers/scsi/lpfc/lpfc_bsg.c 				phba->sli4_hba.vfi_ids[phba->pport->vfi],
phba             2044 drivers/scsi/lpfc/lpfc_bsg.c 				phba->vpi_ids[phba->pport->vpi]);
phba             2047 drivers/scsi/lpfc/lpfc_bsg.c 	rc = lpfc_issue_reg_vfi(phba->pport);
phba             2060 drivers/scsi/lpfc/lpfc_bsg.c lpfc_sli4_bsg_diag_loopback_mode(struct lpfc_hba *phba, struct bsg_job *job)
phba             2073 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_LIBDFC,
phba             2089 drivers/scsi/lpfc/lpfc_bsg.c 		link_no = phba->sli4_hba.lnk_info.lnk_no;
phba             2094 drivers/scsi/lpfc/lpfc_bsg.c 		rc = lpfc_sli4_bsg_set_loopback_mode(phba,
phba             2099 drivers/scsi/lpfc/lpfc_bsg.c 			phba->sli4_hba.conf_trunk &= ~((1 << link_no) << 4);
phba             2104 drivers/scsi/lpfc/lpfc_bsg.c 		if (phba->sli4_hba.conf_trunk & ((1 << link_no) << 4)) {
phba             2110 drivers/scsi/lpfc/lpfc_bsg.c 	rc = lpfc_bsg_diag_mode_enter(phba);
phba             2115 drivers/scsi/lpfc/lpfc_bsg.c 	spin_lock_irq(&phba->hbalock);
phba             2116 drivers/scsi/lpfc/lpfc_bsg.c 	phba->link_flag |= LS_LOOPBACK_MODE;
phba             2117 drivers/scsi/lpfc/lpfc_bsg.c 	spin_unlock_irq(&phba->hbalock);
phba             2120 drivers/scsi/lpfc/lpfc_bsg.c 	rc = lpfc_selective_reset(phba);
phba             2125 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_printf_log(phba, KERN_INFO, LOG_LIBDFC,
phba             2128 drivers/scsi/lpfc/lpfc_bsg.c 	rc = lpfc_sli4_bsg_set_link_diag_state(phba, 1);
phba             2130 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_LIBDFC,
phba             2138 drivers/scsi/lpfc/lpfc_bsg.c 	while (phba->link_state != LPFC_LINK_DOWN) {
phba             2141 drivers/scsi/lpfc/lpfc_bsg.c 			lpfc_printf_log(phba, KERN_INFO, LOG_LIBDFC,
phba             2151 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_printf_log(phba, KERN_INFO, LOG_LIBDFC,
phba             2156 drivers/scsi/lpfc/lpfc_bsg.c 		if (phba->sli4_hba.conf_trunk & (1 << link_no)) {
phba             2157 drivers/scsi/lpfc/lpfc_bsg.c 			rc = lpfc_sli4_bsg_set_loopback_mode(phba,
phba             2162 drivers/scsi/lpfc/lpfc_bsg.c 			if (phba->sli4_hba.conf_trunk) {
phba             2167 drivers/scsi/lpfc/lpfc_bsg.c 			rc = lpfc_sli4_bsg_set_loopback_mode(phba,
phba             2174 drivers/scsi/lpfc/lpfc_bsg.c 			phba->sli4_hba.conf_trunk |= (1 << link_no) << 4;
phba             2179 drivers/scsi/lpfc/lpfc_bsg.c 		if (phba->sli4_hba.conf_trunk & (1 << link_no)) {
phba             2180 drivers/scsi/lpfc/lpfc_bsg.c 			rc = lpfc_sli4_bsg_set_loopback_mode(phba,
phba             2185 drivers/scsi/lpfc/lpfc_bsg.c 			if (phba->sli4_hba.conf_trunk) {
phba             2190 drivers/scsi/lpfc/lpfc_bsg.c 			rc = lpfc_sli4_bsg_set_loopback_mode(phba,
phba             2197 drivers/scsi/lpfc/lpfc_bsg.c 			phba->sli4_hba.conf_trunk |= (1 << link_no) << 4;
phba             2203 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_ERR, LOG_LIBDFC,
phba             2213 drivers/scsi/lpfc/lpfc_bsg.c 		while (phba->link_state < LPFC_LINK_UP) {
phba             2216 drivers/scsi/lpfc/lpfc_bsg.c 				lpfc_printf_log(phba, KERN_INFO, LOG_LIBDFC,
phba             2229 drivers/scsi/lpfc/lpfc_bsg.c 		phba->pport->fc_myDID = 1;
phba             2230 drivers/scsi/lpfc/lpfc_bsg.c 		rc = lpfc_sli4_diag_fcport_reg_setup(phba);
phba             2238 drivers/scsi/lpfc/lpfc_bsg.c 		while (phba->link_state != LPFC_HBA_READY) {
phba             2241 drivers/scsi/lpfc/lpfc_bsg.c 				lpfc_printf_log(phba, KERN_INFO, LOG_LIBDFC,
phba             2254 drivers/scsi/lpfc/lpfc_bsg.c 		spin_lock_irq(&phba->hbalock);
phba             2255 drivers/scsi/lpfc/lpfc_bsg.c 		phba->link_flag &= ~LS_LOOPBACK_MODE;
phba             2256 drivers/scsi/lpfc/lpfc_bsg.c 		spin_unlock_irq(&phba->hbalock);
phba             2258 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_bsg_diag_mode_exit(phba);
phba             2282 drivers/scsi/lpfc/lpfc_bsg.c 	struct lpfc_hba *phba;
phba             2291 drivers/scsi/lpfc/lpfc_bsg.c 	phba = vport->phba;
phba             2292 drivers/scsi/lpfc/lpfc_bsg.c 	if (!phba)
phba             2295 drivers/scsi/lpfc/lpfc_bsg.c 	if (phba->sli_rev < LPFC_SLI_REV4)
phba             2296 drivers/scsi/lpfc/lpfc_bsg.c 		rc = lpfc_sli3_bsg_diag_loopback_mode(phba, job);
phba             2297 drivers/scsi/lpfc/lpfc_bsg.c 	else if (bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) >=
phba             2299 drivers/scsi/lpfc/lpfc_bsg.c 		rc = lpfc_sli4_bsg_diag_loopback_mode(phba, job);
phba             2320 drivers/scsi/lpfc/lpfc_bsg.c 	struct lpfc_hba *phba;
phba             2331 drivers/scsi/lpfc/lpfc_bsg.c 	phba = vport->phba;
phba             2332 drivers/scsi/lpfc/lpfc_bsg.c 	if (!phba)
phba             2335 drivers/scsi/lpfc/lpfc_bsg.c 	if (phba->sli_rev < LPFC_SLI_REV4)
phba             2337 drivers/scsi/lpfc/lpfc_bsg.c 	if (bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) <
phba             2342 drivers/scsi/lpfc/lpfc_bsg.c 	spin_lock_irq(&phba->hbalock);
phba             2343 drivers/scsi/lpfc/lpfc_bsg.c 	phba->link_flag &= ~LS_LOOPBACK_MODE;
phba             2344 drivers/scsi/lpfc/lpfc_bsg.c 	spin_unlock_irq(&phba->hbalock);
phba             2349 drivers/scsi/lpfc/lpfc_bsg.c 	rc = lpfc_sli4_bsg_set_link_diag_state(phba, 0);
phba             2351 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_LIBDFC,
phba             2359 drivers/scsi/lpfc/lpfc_bsg.c 	while (phba->link_state != LPFC_LINK_DOWN) {
phba             2361 drivers/scsi/lpfc/lpfc_bsg.c 			lpfc_printf_log(phba, KERN_INFO, LOG_LIBDFC,
phba             2372 drivers/scsi/lpfc/lpfc_bsg.c 	rc = lpfc_selective_reset(phba);
phba             2373 drivers/scsi/lpfc/lpfc_bsg.c 	phba->pport->fc_myDID = 0;
phba             2399 drivers/scsi/lpfc/lpfc_bsg.c 	struct lpfc_hba *phba;
phba             2419 drivers/scsi/lpfc/lpfc_bsg.c 	phba = vport->phba;
phba             2420 drivers/scsi/lpfc/lpfc_bsg.c 	if (!phba) {
phba             2425 drivers/scsi/lpfc/lpfc_bsg.c 	if (phba->sli_rev < LPFC_SLI_REV4) {
phba             2429 drivers/scsi/lpfc/lpfc_bsg.c 	if (bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) <
phba             2437 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_LIBDFC,
phba             2447 drivers/scsi/lpfc/lpfc_bsg.c 	rc = lpfc_bsg_diag_mode_enter(phba);
phba             2454 drivers/scsi/lpfc/lpfc_bsg.c 	rc = lpfc_sli4_bsg_set_link_diag_state(phba, 1);
phba             2459 drivers/scsi/lpfc/lpfc_bsg.c 	pmboxq = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             2465 drivers/scsi/lpfc/lpfc_bsg.c 	alloc_len = lpfc_sli4_config(phba, pmboxq, LPFC_MBOX_SUBSYSTEM_FCOE,
phba             2473 drivers/scsi/lpfc/lpfc_bsg.c 	       phba->sli4_hba.lnk_info.lnk_no);
phba             2475 drivers/scsi/lpfc/lpfc_bsg.c 	       phba->sli4_hba.lnk_info.lnk_tp);
phba             2485 drivers/scsi/lpfc/lpfc_bsg.c 	mbxstatus = lpfc_sli_issue_mbox(phba, pmboxq, MBX_POLL);
phba             2492 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_ERR, LOG_LIBDFC,
phba             2503 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_LIBDFC,
phba             2518 drivers/scsi/lpfc/lpfc_bsg.c 	rc = lpfc_sli4_bsg_set_link_diag_state(phba, 0);
phba             2521 drivers/scsi/lpfc/lpfc_bsg.c 		mempool_free(pmboxq, phba->mbox_mem_pool);
phba             2523 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_bsg_diag_mode_exit(phba);
phba             2543 drivers/scsi/lpfc/lpfc_bsg.c static int lpfcdiag_loop_self_reg(struct lpfc_hba *phba, uint16_t *rpi)
phba             2549 drivers/scsi/lpfc/lpfc_bsg.c 	mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             2553 drivers/scsi/lpfc/lpfc_bsg.c 	if (phba->sli_rev < LPFC_SLI_REV4)
phba             2554 drivers/scsi/lpfc/lpfc_bsg.c 		status = lpfc_reg_rpi(phba, 0, phba->pport->fc_myDID,
phba             2555 drivers/scsi/lpfc/lpfc_bsg.c 				(uint8_t *)&phba->pport->fc_sparam,
phba             2558 drivers/scsi/lpfc/lpfc_bsg.c 		*rpi = lpfc_sli4_alloc_rpi(phba);
phba             2560 drivers/scsi/lpfc/lpfc_bsg.c 			mempool_free(mbox, phba->mbox_mem_pool);
phba             2563 drivers/scsi/lpfc/lpfc_bsg.c 		status = lpfc_reg_rpi(phba, phba->pport->vpi,
phba             2564 drivers/scsi/lpfc/lpfc_bsg.c 				phba->pport->fc_myDID,
phba             2565 drivers/scsi/lpfc/lpfc_bsg.c 				(uint8_t *)&phba->pport->fc_sparam,
phba             2570 drivers/scsi/lpfc/lpfc_bsg.c 		mempool_free(mbox, phba->mbox_mem_pool);
phba             2571 drivers/scsi/lpfc/lpfc_bsg.c 		if (phba->sli_rev == LPFC_SLI_REV4)
phba             2572 drivers/scsi/lpfc/lpfc_bsg.c 			lpfc_sli4_free_rpi(phba, *rpi);
phba             2579 drivers/scsi/lpfc/lpfc_bsg.c 	status = lpfc_sli_issue_mbox_wait(phba, mbox, LPFC_MBOX_TMO);
phba             2582 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_mbuf_free(phba, dmabuff->virt, dmabuff->phys);
phba             2585 drivers/scsi/lpfc/lpfc_bsg.c 			mempool_free(mbox, phba->mbox_mem_pool);
phba             2586 drivers/scsi/lpfc/lpfc_bsg.c 		if (phba->sli_rev == LPFC_SLI_REV4)
phba             2587 drivers/scsi/lpfc/lpfc_bsg.c 			lpfc_sli4_free_rpi(phba, *rpi);
phba             2591 drivers/scsi/lpfc/lpfc_bsg.c 	if (phba->sli_rev < LPFC_SLI_REV4)
phba             2594 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_mbuf_free(phba, dmabuff->virt, dmabuff->phys);
phba             2596 drivers/scsi/lpfc/lpfc_bsg.c 	mempool_free(mbox, phba->mbox_mem_pool);
phba             2607 drivers/scsi/lpfc/lpfc_bsg.c static int lpfcdiag_loop_self_unreg(struct lpfc_hba *phba, uint16_t rpi)
phba             2613 drivers/scsi/lpfc/lpfc_bsg.c 	mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             2617 drivers/scsi/lpfc/lpfc_bsg.c 	if (phba->sli_rev < LPFC_SLI_REV4)
phba             2618 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_unreg_login(phba, 0, rpi, mbox);
phba             2620 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_unreg_login(phba, phba->pport->vpi,
phba             2621 drivers/scsi/lpfc/lpfc_bsg.c 				 phba->sli4_hba.rpi_ids[rpi], mbox);
phba             2623 drivers/scsi/lpfc/lpfc_bsg.c 	status = lpfc_sli_issue_mbox_wait(phba, mbox, LPFC_MBOX_TMO);
phba             2627 drivers/scsi/lpfc/lpfc_bsg.c 			mempool_free(mbox, phba->mbox_mem_pool);
phba             2630 drivers/scsi/lpfc/lpfc_bsg.c 	mempool_free(mbox, phba->mbox_mem_pool);
phba             2631 drivers/scsi/lpfc/lpfc_bsg.c 	if (phba->sli_rev == LPFC_SLI_REV4)
phba             2632 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_sli4_free_rpi(phba, rpi);
phba             2648 drivers/scsi/lpfc/lpfc_bsg.c static int lpfcdiag_loop_get_xri(struct lpfc_hba *phba, uint16_t rpi,
phba             2669 drivers/scsi/lpfc/lpfc_bsg.c 	spin_lock_irqsave(&phba->ct_ev_lock, flags);
phba             2670 drivers/scsi/lpfc/lpfc_bsg.c 	list_add(&evt->node, &phba->ct_ev_waiters);
phba             2672 drivers/scsi/lpfc/lpfc_bsg.c 	spin_unlock_irqrestore(&phba->ct_ev_lock, flags);
phba             2674 drivers/scsi/lpfc/lpfc_bsg.c 	cmdiocbq = lpfc_sli_get_iocbq(phba);
phba             2675 drivers/scsi/lpfc/lpfc_bsg.c 	rspiocbq = lpfc_sli_get_iocbq(phba);
phba             2679 drivers/scsi/lpfc/lpfc_bsg.c 		dmabuf->virt = lpfc_mbuf_alloc(phba, 0, &dmabuf->phys);
phba             2734 drivers/scsi/lpfc/lpfc_bsg.c 	cmdiocbq->vport = phba->pport;
phba             2737 drivers/scsi/lpfc/lpfc_bsg.c 	iocb_stat = lpfc_sli_issue_iocb_wait(phba, LPFC_ELS_RING, cmdiocbq,
phba             2739 drivers/scsi/lpfc/lpfc_bsg.c 				(phba->fc_ratov * 2)
phba             2752 drivers/scsi/lpfc/lpfc_bsg.c 			((phba->fc_ratov * 2) + LPFC_DRVR_TIMEOUT)));
phba             2756 drivers/scsi/lpfc/lpfc_bsg.c 		spin_lock_irqsave(&phba->ct_ev_lock, flags);
phba             2758 drivers/scsi/lpfc/lpfc_bsg.c 		spin_unlock_irqrestore(&phba->ct_ev_lock, flags);
phba             2766 drivers/scsi/lpfc/lpfc_bsg.c 	spin_lock_irqsave(&phba->ct_ev_lock, flags);
phba             2769 drivers/scsi/lpfc/lpfc_bsg.c 	spin_unlock_irqrestore(&phba->ct_ev_lock, flags);
phba             2773 drivers/scsi/lpfc/lpfc_bsg.c 			lpfc_mbuf_free(phba, dmabuf->virt, dmabuf->phys);
phba             2778 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_sli_release_iocbq(phba, cmdiocbq);
phba             2780 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_sli_release_iocbq(phba, rspiocbq);
phba             2792 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_dma_page_alloc(struct lpfc_hba *phba)
phba             2795 drivers/scsi/lpfc/lpfc_bsg.c 	struct pci_dev *pcidev = phba->pcidev;
phba             2825 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_dma_page_free(struct lpfc_hba *phba, struct lpfc_dmabuf *dmabuf)
phba             2827 drivers/scsi/lpfc/lpfc_bsg.c 	struct pci_dev *pcidev = phba->pcidev;
phba             2848 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_dma_page_list_free(struct lpfc_hba *phba,
phba             2858 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_bsg_dma_page_free(phba, dmabuf);
phba             2875 drivers/scsi/lpfc/lpfc_bsg.c diag_cmd_data_alloc(struct lpfc_hba *phba,
phba             2884 drivers/scsi/lpfc/lpfc_bsg.c 	pcidev = phba->pcidev;
phba             2941 drivers/scsi/lpfc/lpfc_bsg.c 	diag_cmd_data_free(phba, mlist);
phba             2954 drivers/scsi/lpfc/lpfc_bsg.c static int lpfcdiag_loop_post_rxbufs(struct lpfc_hba *phba, uint16_t rxxri,
phba             2971 drivers/scsi/lpfc/lpfc_bsg.c 	pring = lpfc_phba_elsring(phba);
phba             2973 drivers/scsi/lpfc/lpfc_bsg.c 	cmdiocbq = lpfc_sli_get_iocbq(phba);
phba             2976 drivers/scsi/lpfc/lpfc_bsg.c 		rxbmp->virt = lpfc_mbuf_alloc(phba, 0, &rxbmp->phys);
phba             2980 drivers/scsi/lpfc/lpfc_bsg.c 			rxbuffer = diag_cmd_data_alloc(phba, rxbpl, len, 0);
phba             3002 drivers/scsi/lpfc/lpfc_bsg.c 		if (phba->sli3_options & LPFC_SLI3_HBQ_ENABLED) {
phba             3003 drivers/scsi/lpfc/lpfc_bsg.c 			mp[i]->buffer_tag = lpfc_sli_get_buffer_tag(phba);
phba             3034 drivers/scsi/lpfc/lpfc_bsg.c 		iocb_stat = lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, cmdiocbq,
phba             3037 drivers/scsi/lpfc/lpfc_bsg.c 			diag_cmd_data_free(phba,
phba             3040 drivers/scsi/lpfc/lpfc_bsg.c 				diag_cmd_data_free(phba,
phba             3047 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_sli_ringpostbuf_put(phba, pring, mp[0]);
phba             3049 drivers/scsi/lpfc/lpfc_bsg.c 			lpfc_sli_ringpostbuf_put(phba, pring, mp[1]);
phba             3054 drivers/scsi/lpfc/lpfc_bsg.c 		cmdiocbq = lpfc_sli_get_iocbq(phba);
phba             3070 drivers/scsi/lpfc/lpfc_bsg.c 			lpfc_mbuf_free(phba, rxbmp->virt, rxbmp->phys);
phba             3075 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_sli_release_iocbq(phba, cmdiocbq);
phba             3103 drivers/scsi/lpfc/lpfc_bsg.c 	struct lpfc_hba *phba = vport->phba;
phba             3106 drivers/scsi/lpfc/lpfc_bsg.c 	struct lpfc_sli *psli = &phba->sli;
phba             3134 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_LIBDFC,
phba             3147 drivers/scsi/lpfc/lpfc_bsg.c 	if ((phba->link_state == LPFC_HBA_ERROR) ||
phba             3154 drivers/scsi/lpfc/lpfc_bsg.c 	if (!lpfc_is_link_up(phba) || !(phba->link_flag & LS_LOOPBACK_MODE)) {
phba             3194 drivers/scsi/lpfc/lpfc_bsg.c 	rc = lpfcdiag_loop_self_reg(phba, &rpi);
phba             3198 drivers/scsi/lpfc/lpfc_bsg.c 	if (phba->sli_rev < LPFC_SLI_REV4) {
phba             3199 drivers/scsi/lpfc/lpfc_bsg.c 		rc = lpfcdiag_loop_get_xri(phba, rpi, &txxri, &rxxri);
phba             3201 drivers/scsi/lpfc/lpfc_bsg.c 			lpfcdiag_loop_self_unreg(phba, rpi);
phba             3205 drivers/scsi/lpfc/lpfc_bsg.c 		rc = lpfcdiag_loop_post_rxbufs(phba, rxxri, full_size);
phba             3207 drivers/scsi/lpfc/lpfc_bsg.c 			lpfcdiag_loop_self_unreg(phba, rpi);
phba             3214 drivers/scsi/lpfc/lpfc_bsg.c 		lpfcdiag_loop_self_unreg(phba, rpi);
phba             3219 drivers/scsi/lpfc/lpfc_bsg.c 	spin_lock_irqsave(&phba->ct_ev_lock, flags);
phba             3220 drivers/scsi/lpfc/lpfc_bsg.c 	list_add(&evt->node, &phba->ct_ev_waiters);
phba             3222 drivers/scsi/lpfc/lpfc_bsg.c 	spin_unlock_irqrestore(&phba->ct_ev_lock, flags);
phba             3224 drivers/scsi/lpfc/lpfc_bsg.c 	cmdiocbq = lpfc_sli_get_iocbq(phba);
phba             3225 drivers/scsi/lpfc/lpfc_bsg.c 	if (phba->sli_rev < LPFC_SLI_REV4)
phba             3226 drivers/scsi/lpfc/lpfc_bsg.c 		rspiocbq = lpfc_sli_get_iocbq(phba);
phba             3230 drivers/scsi/lpfc/lpfc_bsg.c 		txbmp->virt = lpfc_mbuf_alloc(phba, 0, &txbmp->phys);
phba             3234 drivers/scsi/lpfc/lpfc_bsg.c 			txbuffer = diag_cmd_data_alloc(phba,
phba             3243 drivers/scsi/lpfc/lpfc_bsg.c 	if ((phba->sli_rev < LPFC_SLI_REV4) && !rspiocbq) {
phba             3249 drivers/scsi/lpfc/lpfc_bsg.c 	if (phba->sli_rev < LPFC_SLI_REV4)
phba             3297 drivers/scsi/lpfc/lpfc_bsg.c 	if (phba->sli_rev < LPFC_SLI_REV4) {
phba             3301 drivers/scsi/lpfc/lpfc_bsg.c 		cmd->un.ulpWord[3] = phba->sli4_hba.rpi_ids[rpi];
phba             3308 drivers/scsi/lpfc/lpfc_bsg.c 	cmdiocbq->vport = phba->pport;
phba             3310 drivers/scsi/lpfc/lpfc_bsg.c 	iocb_stat = lpfc_sli_issue_iocb_wait(phba, LPFC_ELS_RING, cmdiocbq,
phba             3311 drivers/scsi/lpfc/lpfc_bsg.c 					     rspiocbq, (phba->fc_ratov * 2) +
phba             3315 drivers/scsi/lpfc/lpfc_bsg.c 	    ((phba->sli_rev < LPFC_SLI_REV4) &&
phba             3317 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_ERR, LOG_LIBDFC,
phba             3328 drivers/scsi/lpfc/lpfc_bsg.c 			((phba->fc_ratov * 2) + LPFC_DRVR_TIMEOUT)));
phba             3332 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_ERR, LOG_LIBDFC,
phba             3336 drivers/scsi/lpfc/lpfc_bsg.c 		spin_lock_irqsave(&phba->ct_ev_lock, flags);
phba             3340 drivers/scsi/lpfc/lpfc_bsg.c 		spin_unlock_irqrestore(&phba->ct_ev_lock, flags);
phba             3343 drivers/scsi/lpfc/lpfc_bsg.c 			lpfc_printf_log(phba, KERN_ERR, LOG_LIBDFC,
phba             3364 drivers/scsi/lpfc/lpfc_bsg.c 	lpfcdiag_loop_self_unreg(phba, rpi);
phba             3366 drivers/scsi/lpfc/lpfc_bsg.c 	spin_lock_irqsave(&phba->ct_ev_lock, flags);
phba             3369 drivers/scsi/lpfc/lpfc_bsg.c 	spin_unlock_irqrestore(&phba->ct_ev_lock, flags);
phba             3372 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_sli_release_iocbq(phba, cmdiocbq);
phba             3375 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_sli_release_iocbq(phba, rspiocbq);
phba             3380 drivers/scsi/lpfc/lpfc_bsg.c 				diag_cmd_data_free(phba, txbuffer);
phba             3381 drivers/scsi/lpfc/lpfc_bsg.c 			lpfc_mbuf_free(phba, txbmp->virt, txbmp->phys);
phba             3407 drivers/scsi/lpfc/lpfc_bsg.c 	struct lpfc_hba *phba = vport->phba;
phba             3413 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_LIBDFC,
phba             3425 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_LIBDFC,
phba             3454 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_issue_mbox_cmpl(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmboxq)
phba             3475 drivers/scsi/lpfc/lpfc_bsg.c 	spin_lock_irqsave(&phba->ct_ev_lock, flags);
phba             3481 drivers/scsi/lpfc/lpfc_bsg.c 	spin_unlock_irqrestore(&phba->ct_ev_lock, flags);
phba             3495 drivers/scsi/lpfc/lpfc_bsg.c 	mempool_free(dd_data->context_un.mbox.pmboxq, phba->mbox_mem_pool);
phba             3496 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_bsg_dma_page_free(phba, dd_data->context_un.mbox.dmabuffers);
phba             3518 drivers/scsi/lpfc/lpfc_bsg.c static int lpfc_bsg_check_cmd_access(struct lpfc_hba *phba,
phba             3536 drivers/scsi/lpfc/lpfc_bsg.c 			lpfc_printf_log(phba, KERN_WARNING, LOG_LIBDFC,
phba             3572 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             3578 drivers/scsi/lpfc/lpfc_bsg.c 			phba->wait_4_mlo_maint_flg = 1;
phba             3580 drivers/scsi/lpfc/lpfc_bsg.c 			spin_lock_irq(&phba->hbalock);
phba             3581 drivers/scsi/lpfc/lpfc_bsg.c 			phba->link_flag &= ~LS_LOOPBACK_MODE;
phba             3582 drivers/scsi/lpfc/lpfc_bsg.c 			spin_unlock_irq(&phba->hbalock);
phba             3583 drivers/scsi/lpfc/lpfc_bsg.c 			phba->fc_topology = LPFC_TOPOLOGY_PT_PT;
phba             3592 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_LIBDFC,
phba             3609 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_mbox_ext_session_reset(struct lpfc_hba *phba)
phba             3611 drivers/scsi/lpfc/lpfc_bsg.c 	if (phba->mbox_ext_buf_ctx.state == LPFC_BSG_MBOX_IDLE)
phba             3615 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_bsg_dma_page_list_free(phba,
phba             3616 drivers/scsi/lpfc/lpfc_bsg.c 				    &phba->mbox_ext_buf_ctx.ext_dmabuf_list);
phba             3617 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_bsg_dma_page_free(phba, phba->mbox_ext_buf_ctx.mbx_dmabuf);
phba             3619 drivers/scsi/lpfc/lpfc_bsg.c 	memset((char *)&phba->mbox_ext_buf_ctx, 0,
phba             3621 drivers/scsi/lpfc/lpfc_bsg.c 	INIT_LIST_HEAD(&phba->mbox_ext_buf_ctx.ext_dmabuf_list);
phba             3635 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_issue_mbox_ext_handle_job(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmboxq)
phba             3651 drivers/scsi/lpfc/lpfc_bsg.c 	spin_lock_irqsave(&phba->ct_ev_lock, flags);
phba             3658 drivers/scsi/lpfc/lpfc_bsg.c 	spin_unlock_irqrestore(&phba->ct_ev_lock, flags);
phba             3670 drivers/scsi/lpfc/lpfc_bsg.c 	dmabuf = phba->mbox_ext_buf_ctx.mbx_dmabuf;
phba             3693 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_INFO, LOG_LIBDFC,
phba             3696 drivers/scsi/lpfc/lpfc_bsg.c 				phba->mbox_ext_buf_ctx.nembType,
phba             3697 drivers/scsi/lpfc/lpfc_bsg.c 				phba->mbox_ext_buf_ctx.mboxType, size);
phba             3698 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_idiag_mbxacc_dump_bsg_mbox(phba,
phba             3699 drivers/scsi/lpfc/lpfc_bsg.c 					phba->mbox_ext_buf_ctx.nembType,
phba             3700 drivers/scsi/lpfc/lpfc_bsg.c 					phba->mbox_ext_buf_ctx.mboxType,
phba             3702 drivers/scsi/lpfc/lpfc_bsg.c 					phba->mbox_ext_buf_ctx.mbx_dmabuf, 0);
phba             3704 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_ERR, LOG_LIBDFC,
phba             3707 drivers/scsi/lpfc/lpfc_bsg.c 				phba->mbox_ext_buf_ctx.nembType,
phba             3708 drivers/scsi/lpfc/lpfc_bsg.c 				phba->mbox_ext_buf_ctx.mboxType, rc);
phba             3713 drivers/scsi/lpfc/lpfc_bsg.c 	phba->mbox_ext_buf_ctx.state = LPFC_BSG_MBOX_DONE;
phba             3727 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_issue_read_mbox_ext_cmpl(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmboxq)
phba             3732 drivers/scsi/lpfc/lpfc_bsg.c 	job = lpfc_bsg_issue_mbox_ext_handle_job(phba, pmboxq);
phba             3738 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_printf_log(phba, KERN_INFO, LOG_LIBDFC,
phba             3741 drivers/scsi/lpfc/lpfc_bsg.c 			phba->mbox_ext_buf_ctx.state, pmboxq->u.mb.mbxStatus);
phba             3743 drivers/scsi/lpfc/lpfc_bsg.c 	if (pmboxq->u.mb.mbxStatus || phba->mbox_ext_buf_ctx.numBuf == 1)
phba             3744 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_bsg_mbox_ext_session_reset(phba);
phba             3747 drivers/scsi/lpfc/lpfc_bsg.c 	mempool_free(pmboxq, phba->mbox_mem_pool);
phba             3767 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_issue_write_mbox_ext_cmpl(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmboxq)
phba             3772 drivers/scsi/lpfc/lpfc_bsg.c 	job = lpfc_bsg_issue_mbox_ext_handle_job(phba, pmboxq);
phba             3778 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_printf_log(phba, KERN_INFO, LOG_LIBDFC,
phba             3781 drivers/scsi/lpfc/lpfc_bsg.c 			phba->mbox_ext_buf_ctx.state, pmboxq->u.mb.mbxStatus);
phba             3784 drivers/scsi/lpfc/lpfc_bsg.c 	mempool_free(pmboxq, phba->mbox_mem_pool);
phba             3785 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_bsg_mbox_ext_session_reset(phba);
phba             3798 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_sli_cfg_dma_desc_setup(struct lpfc_hba *phba, enum nemb_type nemb_tp,
phba             3817 drivers/scsi/lpfc/lpfc_bsg.c 			lpfc_printf_log(phba, KERN_INFO, LOG_LIBDFC,
phba             3834 drivers/scsi/lpfc/lpfc_bsg.c 			lpfc_printf_log(phba, KERN_INFO, LOG_LIBDFC,
phba             3855 drivers/scsi/lpfc/lpfc_bsg.c 			lpfc_printf_log(phba, KERN_INFO, LOG_LIBDFC,
phba             3874 drivers/scsi/lpfc/lpfc_bsg.c 			lpfc_printf_log(phba, KERN_INFO, LOG_LIBDFC,
phba             3901 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_sli_cfg_read_cmd_ext(struct lpfc_hba *phba, struct bsg_job *job,
phba             3927 drivers/scsi/lpfc/lpfc_bsg.c 			lpfc_printf_log(phba, KERN_ERR, LOG_LIBDFC,
phba             3935 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_INFO, LOG_LIBDFC,
phba             3940 drivers/scsi/lpfc/lpfc_bsg.c 		if (bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) <
phba             3948 drivers/scsi/lpfc/lpfc_bsg.c 			lpfc_printf_log(phba, KERN_ERR, LOG_LIBDFC,
phba             3956 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_INFO, LOG_LIBDFC,
phba             3962 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_idiag_mbxacc_dump_bsg_mbox(phba, nemb_tp, mbox_rd, dma_mbox,
phba             3972 drivers/scsi/lpfc/lpfc_bsg.c 			ext_dmabuf = lpfc_bsg_dma_page_alloc(phba);
phba             3978 drivers/scsi/lpfc/lpfc_bsg.c 				      &phba->mbox_ext_buf_ctx.ext_dmabuf_list);
phba             3990 drivers/scsi/lpfc/lpfc_bsg.c 	pmboxq = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             3998 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_bsg_sli_cfg_dma_desc_setup(phba, nemb_tp, 0, dmabuf, dmabuf);
phba             4004 drivers/scsi/lpfc/lpfc_bsg.c 				&phba->mbox_ext_buf_ctx.ext_dmabuf_list, list) {
phba             4005 drivers/scsi/lpfc/lpfc_bsg.c 			lpfc_bsg_sli_cfg_dma_desc_setup(phba, nemb_tp,
phba             4013 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_idiag_mbxacc_dump_bsg_mbox(phba, nemb_tp, mbox_rd, dma_mbox,
phba             4021 drivers/scsi/lpfc/lpfc_bsg.c 	pmboxq->vport = phba->pport;
phba             4024 drivers/scsi/lpfc/lpfc_bsg.c 	phba->mbox_ext_buf_ctx.nembType = nemb_tp;
phba             4025 drivers/scsi/lpfc/lpfc_bsg.c 	phba->mbox_ext_buf_ctx.mboxType = mbox_rd;
phba             4026 drivers/scsi/lpfc/lpfc_bsg.c 	phba->mbox_ext_buf_ctx.numBuf = ext_buf_cnt;
phba             4027 drivers/scsi/lpfc/lpfc_bsg.c 	phba->mbox_ext_buf_ctx.mbxTag = mbox_req->extMboxTag;
phba             4028 drivers/scsi/lpfc/lpfc_bsg.c 	phba->mbox_ext_buf_ctx.seqNum = mbox_req->extSeqNum;
phba             4029 drivers/scsi/lpfc/lpfc_bsg.c 	phba->mbox_ext_buf_ctx.mbx_dmabuf = dmabuf;
phba             4043 drivers/scsi/lpfc/lpfc_bsg.c 	phba->mbox_ext_buf_ctx.state = LPFC_BSG_MBOX_PORT;
phba             4057 drivers/scsi/lpfc/lpfc_bsg.c 	rc = lpfc_sli_issue_mbox(phba, pmboxq, MBX_NOWAIT);
phba             4059 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_INFO, LOG_LIBDFC,
phba             4064 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_printf_log(phba, KERN_ERR, LOG_LIBDFC,
phba             4071 drivers/scsi/lpfc/lpfc_bsg.c 		mempool_free(pmboxq, phba->mbox_mem_pool);
phba             4072 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_bsg_dma_page_list_free(phba,
phba             4073 drivers/scsi/lpfc/lpfc_bsg.c 				    &phba->mbox_ext_buf_ctx.ext_dmabuf_list);
phba             4075 drivers/scsi/lpfc/lpfc_bsg.c 	phba->mbox_ext_buf_ctx.state = LPFC_BSG_MBOX_IDLE;
phba             4089 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_sli_cfg_write_cmd_ext(struct lpfc_hba *phba, struct bsg_job *job,
phba             4114 drivers/scsi/lpfc/lpfc_bsg.c 			lpfc_printf_log(phba, KERN_ERR, LOG_LIBDFC,
phba             4121 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_INFO, LOG_LIBDFC,
phba             4126 drivers/scsi/lpfc/lpfc_bsg.c 		if (bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) <
phba             4132 drivers/scsi/lpfc/lpfc_bsg.c 			lpfc_printf_log(phba, KERN_ERR, LOG_LIBDFC,
phba             4139 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_INFO, LOG_LIBDFC,
phba             4145 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_idiag_mbxacc_dump_bsg_mbox(phba, nemb_tp, mbox_wr, dma_mbox,
phba             4152 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_bsg_sli_cfg_dma_desc_setup(phba, nemb_tp, 0, dmabuf, dmabuf);
phba             4155 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_idiag_mbxacc_dump_bsg_mbox(phba, nemb_tp, mbox_wr, dma_mbox,
phba             4161 drivers/scsi/lpfc/lpfc_bsg.c 			lpfc_printf_log(phba, KERN_INFO, LOG_LIBDFC,
phba             4166 drivers/scsi/lpfc/lpfc_bsg.c 			lpfc_printf_log(phba, KERN_INFO, LOG_LIBDFC,
phba             4174 drivers/scsi/lpfc/lpfc_bsg.c 	phba->mbox_ext_buf_ctx.nembType = nemb_tp;
phba             4175 drivers/scsi/lpfc/lpfc_bsg.c 	phba->mbox_ext_buf_ctx.mboxType = mbox_wr;
phba             4176 drivers/scsi/lpfc/lpfc_bsg.c 	phba->mbox_ext_buf_ctx.numBuf = ext_buf_cnt;
phba             4177 drivers/scsi/lpfc/lpfc_bsg.c 	phba->mbox_ext_buf_ctx.mbxTag = mbox_req->extMboxTag;
phba             4178 drivers/scsi/lpfc/lpfc_bsg.c 	phba->mbox_ext_buf_ctx.seqNum = mbox_req->extSeqNum;
phba             4179 drivers/scsi/lpfc/lpfc_bsg.c 	phba->mbox_ext_buf_ctx.mbx_dmabuf = dmabuf;
phba             4190 drivers/scsi/lpfc/lpfc_bsg.c 		pmboxq = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             4200 drivers/scsi/lpfc/lpfc_bsg.c 		pmboxq->vport = phba->pport;
phba             4215 drivers/scsi/lpfc/lpfc_bsg.c 		phba->mbox_ext_buf_ctx.state = LPFC_BSG_MBOX_PORT;
phba             4216 drivers/scsi/lpfc/lpfc_bsg.c 		rc = lpfc_sli_issue_mbox(phba, pmboxq, MBX_NOWAIT);
phba             4218 drivers/scsi/lpfc/lpfc_bsg.c 			lpfc_printf_log(phba, KERN_INFO, LOG_LIBDFC,
phba             4223 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_ERR, LOG_LIBDFC,
phba             4239 drivers/scsi/lpfc/lpfc_bsg.c 		mempool_free(pmboxq, phba->mbox_mem_pool);
phba             4256 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_handle_sli_cfg_mbox(struct lpfc_hba *phba, struct bsg_job *job,
phba             4265 drivers/scsi/lpfc/lpfc_bsg.c 	phba->mbox_ext_buf_ctx.state = LPFC_BSG_MBOX_HOST;
phba             4279 drivers/scsi/lpfc/lpfc_bsg.c 				lpfc_printf_log(phba, KERN_INFO, LOG_LIBDFC,
phba             4283 drivers/scsi/lpfc/lpfc_bsg.c 				rc = lpfc_bsg_sli_cfg_read_cmd_ext(phba, job,
phba             4289 drivers/scsi/lpfc/lpfc_bsg.c 				lpfc_printf_log(phba, KERN_INFO, LOG_LIBDFC,
phba             4293 drivers/scsi/lpfc/lpfc_bsg.c 				rc = lpfc_bsg_sli_cfg_write_cmd_ext(phba, job,
phba             4297 drivers/scsi/lpfc/lpfc_bsg.c 				lpfc_printf_log(phba, KERN_INFO, LOG_LIBDFC,
phba             4309 drivers/scsi/lpfc/lpfc_bsg.c 				lpfc_printf_log(phba, KERN_INFO, LOG_LIBDFC,
phba             4313 drivers/scsi/lpfc/lpfc_bsg.c 				rc = lpfc_bsg_sli_cfg_read_cmd_ext(phba, job,
phba             4317 drivers/scsi/lpfc/lpfc_bsg.c 				lpfc_printf_log(phba, KERN_INFO, LOG_LIBDFC,
phba             4325 drivers/scsi/lpfc/lpfc_bsg.c 			lpfc_printf_log(phba, KERN_INFO, LOG_LIBDFC,
phba             4340 drivers/scsi/lpfc/lpfc_bsg.c 				lpfc_printf_log(phba, KERN_INFO, LOG_LIBDFC,
phba             4344 drivers/scsi/lpfc/lpfc_bsg.c 				rc = lpfc_bsg_sli_cfg_read_cmd_ext(phba, job,
phba             4348 drivers/scsi/lpfc/lpfc_bsg.c 				lpfc_printf_log(phba, KERN_INFO, LOG_LIBDFC,
phba             4352 drivers/scsi/lpfc/lpfc_bsg.c 				rc = lpfc_bsg_sli_cfg_write_cmd_ext(phba, job,
phba             4356 drivers/scsi/lpfc/lpfc_bsg.c 				lpfc_printf_log(phba, KERN_INFO, LOG_LIBDFC,
phba             4364 drivers/scsi/lpfc/lpfc_bsg.c 			lpfc_printf_log(phba, KERN_INFO, LOG_LIBDFC,
phba             4374 drivers/scsi/lpfc/lpfc_bsg.c 		phba->mbox_ext_buf_ctx.state = LPFC_BSG_MBOX_IDLE;
phba             4387 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_mbox_ext_abort(struct lpfc_hba *phba)
phba             4389 drivers/scsi/lpfc/lpfc_bsg.c 	if (phba->mbox_ext_buf_ctx.state == LPFC_BSG_MBOX_PORT)
phba             4390 drivers/scsi/lpfc/lpfc_bsg.c 		phba->mbox_ext_buf_ctx.state = LPFC_BSG_MBOX_ABTS;
phba             4392 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_bsg_mbox_ext_session_reset(phba);
phba             4405 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_read_ebuf_get(struct lpfc_hba *phba, struct bsg_job *job)
phba             4414 drivers/scsi/lpfc/lpfc_bsg.c 	index = phba->mbox_ext_buf_ctx.seqNum;
phba             4415 drivers/scsi/lpfc/lpfc_bsg.c 	phba->mbox_ext_buf_ctx.seqNum++;
phba             4418 drivers/scsi/lpfc/lpfc_bsg.c 			phba->mbox_ext_buf_ctx.mbx_dmabuf->virt;
phba             4420 drivers/scsi/lpfc/lpfc_bsg.c 	if (phba->mbox_ext_buf_ctx.nembType == nemb_mse) {
phba             4423 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_INFO, LOG_LIBDFC,
phba             4429 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_INFO, LOG_LIBDFC,
phba             4433 drivers/scsi/lpfc/lpfc_bsg.c 	if (list_empty(&phba->mbox_ext_buf_ctx.ext_dmabuf_list))
phba             4435 drivers/scsi/lpfc/lpfc_bsg.c 	dmabuf = list_first_entry(&phba->mbox_ext_buf_ctx.ext_dmabuf_list,
phba             4440 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_idiag_mbxacc_dump_bsg_mbox(phba, phba->mbox_ext_buf_ctx.nembType,
phba             4450 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_bsg_dma_page_free(phba, dmabuf);
phba             4452 drivers/scsi/lpfc/lpfc_bsg.c 	if (phba->mbox_ext_buf_ctx.seqNum == phba->mbox_ext_buf_ctx.numBuf) {
phba             4453 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_INFO, LOG_LIBDFC,
phba             4456 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_bsg_mbox_ext_session_reset(phba);
phba             4475 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_write_ebuf_set(struct lpfc_hba *phba, struct bsg_job *job,
phba             4488 drivers/scsi/lpfc/lpfc_bsg.c 	index = phba->mbox_ext_buf_ctx.seqNum;
phba             4489 drivers/scsi/lpfc/lpfc_bsg.c 	phba->mbox_ext_buf_ctx.seqNum++;
phba             4490 drivers/scsi/lpfc/lpfc_bsg.c 	nemb_tp = phba->mbox_ext_buf_ctx.nembType;
phba             4498 drivers/scsi/lpfc/lpfc_bsg.c 	if (phba->mbox_ext_buf_ctx.nembType == nemb_mse) {
phba             4499 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_INFO, LOG_LIBDFC,
phba             4502 drivers/scsi/lpfc/lpfc_bsg.c 				phba->mbox_ext_buf_ctx.seqNum, size);
phba             4505 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_INFO, LOG_LIBDFC,
phba             4508 drivers/scsi/lpfc/lpfc_bsg.c 				phba->mbox_ext_buf_ctx.seqNum, size);
phba             4513 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_bsg_sli_cfg_dma_desc_setup(phba, nemb_tp, index,
phba             4514 drivers/scsi/lpfc/lpfc_bsg.c 					phba->mbox_ext_buf_ctx.mbx_dmabuf,
phba             4516 drivers/scsi/lpfc/lpfc_bsg.c 	list_add_tail(&dmabuf->list, &phba->mbox_ext_buf_ctx.ext_dmabuf_list);
phba             4519 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_idiag_mbxacc_dump_bsg_mbox(phba, phba->mbox_ext_buf_ctx.nembType,
phba             4523 drivers/scsi/lpfc/lpfc_bsg.c 	if (phba->mbox_ext_buf_ctx.seqNum == phba->mbox_ext_buf_ctx.numBuf) {
phba             4524 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_INFO, LOG_LIBDFC,
phba             4527 drivers/scsi/lpfc/lpfc_bsg.c 				phba->mbox_ext_buf_ctx.numBuf);
phba             4536 drivers/scsi/lpfc/lpfc_bsg.c 		pmboxq = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             4542 drivers/scsi/lpfc/lpfc_bsg.c 		pbuf = (uint8_t *)phba->mbox_ext_buf_ctx.mbx_dmabuf->virt;
phba             4546 drivers/scsi/lpfc/lpfc_bsg.c 		pmboxq->vport = phba->pport;
phba             4560 drivers/scsi/lpfc/lpfc_bsg.c 		phba->mbox_ext_buf_ctx.state = LPFC_BSG_MBOX_PORT;
phba             4562 drivers/scsi/lpfc/lpfc_bsg.c 		rc = lpfc_sli_issue_mbox(phba, pmboxq, MBX_NOWAIT);
phba             4564 drivers/scsi/lpfc/lpfc_bsg.c 			lpfc_printf_log(phba, KERN_INFO, LOG_LIBDFC,
phba             4569 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_ERR, LOG_LIBDFC,
phba             4584 drivers/scsi/lpfc/lpfc_bsg.c 		mempool_free(pmboxq, phba->mbox_mem_pool);
phba             4585 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_bsg_dma_page_free(phba, dmabuf);
phba             4601 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_handle_sli_cfg_ebuf(struct lpfc_hba *phba, struct bsg_job *job,
phba             4606 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_printf_log(phba, KERN_INFO, LOG_LIBDFC,
phba             4608 drivers/scsi/lpfc/lpfc_bsg.c 			phba->mbox_ext_buf_ctx.mboxType);
phba             4610 drivers/scsi/lpfc/lpfc_bsg.c 	if (phba->mbox_ext_buf_ctx.mboxType == mbox_rd) {
phba             4611 drivers/scsi/lpfc/lpfc_bsg.c 		if (phba->mbox_ext_buf_ctx.state != LPFC_BSG_MBOX_DONE) {
phba             4612 drivers/scsi/lpfc/lpfc_bsg.c 			lpfc_printf_log(phba, KERN_ERR, LOG_LIBDFC,
phba             4615 drivers/scsi/lpfc/lpfc_bsg.c 					phba->mbox_ext_buf_ctx.state);
phba             4616 drivers/scsi/lpfc/lpfc_bsg.c 			lpfc_bsg_mbox_ext_abort(phba);
phba             4619 drivers/scsi/lpfc/lpfc_bsg.c 		rc = lpfc_bsg_read_ebuf_get(phba, job);
phba             4621 drivers/scsi/lpfc/lpfc_bsg.c 			lpfc_bsg_dma_page_free(phba, dmabuf);
phba             4623 drivers/scsi/lpfc/lpfc_bsg.c 		if (phba->mbox_ext_buf_ctx.state != LPFC_BSG_MBOX_HOST) {
phba             4624 drivers/scsi/lpfc/lpfc_bsg.c 			lpfc_printf_log(phba, KERN_ERR, LOG_LIBDFC,
phba             4627 drivers/scsi/lpfc/lpfc_bsg.c 					phba->mbox_ext_buf_ctx.state);
phba             4628 drivers/scsi/lpfc/lpfc_bsg.c 			lpfc_bsg_mbox_ext_abort(phba);
phba             4631 drivers/scsi/lpfc/lpfc_bsg.c 		rc = lpfc_bsg_write_ebuf_set(phba, job, dmabuf);
phba             4646 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_handle_sli_cfg_ext(struct lpfc_hba *phba, struct bsg_job *job,
phba             4661 drivers/scsi/lpfc/lpfc_bsg.c 	if (phba->mbox_ext_buf_ctx.state == LPFC_BSG_MBOX_IDLE) {
phba             4663 drivers/scsi/lpfc/lpfc_bsg.c 			lpfc_printf_log(phba, KERN_INFO, LOG_LIBDFC,
phba             4667 drivers/scsi/lpfc/lpfc_bsg.c 			rc = lpfc_bsg_handle_sli_cfg_mbox(phba, job, dmabuf);
phba             4678 drivers/scsi/lpfc/lpfc_bsg.c 	if (mbox_req->extMboxTag != phba->mbox_ext_buf_ctx.mbxTag)
phba             4680 drivers/scsi/lpfc/lpfc_bsg.c 	if (mbox_req->extSeqNum > phba->mbox_ext_buf_ctx.numBuf)
phba             4682 drivers/scsi/lpfc/lpfc_bsg.c 	if (mbox_req->extSeqNum != phba->mbox_ext_buf_ctx.seqNum + 1)
phba             4685 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_printf_log(phba, KERN_INFO, LOG_LIBDFC,
phba             4688 drivers/scsi/lpfc/lpfc_bsg.c 			phba->mbox_ext_buf_ctx.state, mbox_req->extMboxTag,
phba             4690 drivers/scsi/lpfc/lpfc_bsg.c 	rc = lpfc_bsg_handle_sli_cfg_ebuf(phba, job, dmabuf);
phba             4695 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_printf_log(phba, KERN_ERR, LOG_LIBDFC,
phba             4699 drivers/scsi/lpfc/lpfc_bsg.c 			phba->mbox_ext_buf_ctx.state,
phba             4700 drivers/scsi/lpfc/lpfc_bsg.c 			phba->mbox_ext_buf_ctx.numBuf,
phba             4701 drivers/scsi/lpfc/lpfc_bsg.c 			phba->mbox_ext_buf_ctx.mbxTag,
phba             4702 drivers/scsi/lpfc/lpfc_bsg.c 			phba->mbox_ext_buf_ctx.seqNum,
phba             4705 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_bsg_mbox_ext_session_reset(phba);
phba             4724 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_issue_mbox(struct lpfc_hba *phba, struct bsg_job *job,
phba             4760 drivers/scsi/lpfc/lpfc_bsg.c 	if (phba->sli.sli_flag & LPFC_BLOCK_MGMT_IO) {
phba             4775 drivers/scsi/lpfc/lpfc_bsg.c 	dmabuf = lpfc_bsg_dma_page_alloc(phba);
phba             4788 drivers/scsi/lpfc/lpfc_bsg.c 	if (phba->sli_rev == LPFC_SLI_REV4) {
phba             4789 drivers/scsi/lpfc/lpfc_bsg.c 		rc = lpfc_bsg_handle_sli_cfg_ext(phba, job, dmabuf);
phba             4797 drivers/scsi/lpfc/lpfc_bsg.c 	rc = lpfc_bsg_check_cmd_access(phba, (MAILBOX_t *)pmbx, vport);
phba             4804 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_LIBDFC,
phba             4810 drivers/scsi/lpfc/lpfc_bsg.c 	pmboxq = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             4825 drivers/scsi/lpfc/lpfc_bsg.c 	if (phba->pport->stopped &&
phba             4830 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_MBOX,
phba             4893 drivers/scsi/lpfc/lpfc_bsg.c 	} else if (phba->sli_rev == LPFC_SLI_REV4) {
phba             4979 drivers/scsi/lpfc/lpfc_bsg.c 	    (!(phba->sli.sli_flag & LPFC_SLI_ACTIVE))) {
phba             4980 drivers/scsi/lpfc/lpfc_bsg.c 		rc = lpfc_sli_issue_mbox(phba, pmboxq, MBX_POLL);
phba             4997 drivers/scsi/lpfc/lpfc_bsg.c 	rc = lpfc_sli_issue_mbox(phba, pmboxq, MBX_NOWAIT);
phba             5004 drivers/scsi/lpfc/lpfc_bsg.c 		mempool_free(pmboxq, phba->mbox_mem_pool);
phba             5005 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_bsg_dma_page_free(phba, dmabuf);
phba             5022 drivers/scsi/lpfc/lpfc_bsg.c 	struct lpfc_hba *phba = vport->phba;
phba             5030 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_INFO, LOG_LIBDFC,
phba             5043 drivers/scsi/lpfc/lpfc_bsg.c 	rc = lpfc_bsg_issue_mbox(phba, job, vport);
phba             5081 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_menlo_cmd_cmp(struct lpfc_hba *phba,
phba             5104 drivers/scsi/lpfc/lpfc_bsg.c 	spin_lock_irqsave(&phba->ct_ev_lock, flags);
phba             5111 drivers/scsi/lpfc/lpfc_bsg.c 	spin_unlock_irqrestore(&phba->ct_ev_lock, flags);
phba             5149 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_sli_release_iocbq(phba, cmdiocbq);
phba             5150 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_free_bsg_buffers(phba, cmp);
phba             5151 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_free_bsg_buffers(phba, rmp);
phba             5152 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_mbuf_free(phba, bmp->virt, bmp->phys);
phba             5182 drivers/scsi/lpfc/lpfc_bsg.c 	struct lpfc_hba *phba = vport->phba;
phba             5199 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_LIBDFC,
phba             5208 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_LIBDFC,
phba             5215 drivers/scsi/lpfc/lpfc_bsg.c 	if (!(phba->menlo_flag & HBA_MENLO_SUPPORT)) {
phba             5216 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_LIBDFC,
phba             5229 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_LIBDFC,
phba             5241 drivers/scsi/lpfc/lpfc_bsg.c 	bmp->virt = lpfc_mbuf_alloc(phba, 0, &bmp->phys);
phba             5251 drivers/scsi/lpfc/lpfc_bsg.c 	cmp = lpfc_alloc_bsg_buffers(phba, job->request_payload.payload_len,
phba             5262 drivers/scsi/lpfc/lpfc_bsg.c 	rmp = lpfc_alloc_bsg_buffers(phba, job->reply_payload.payload_len, 0,
phba             5269 drivers/scsi/lpfc/lpfc_bsg.c 	cmdiocbq = lpfc_sli_get_iocbq(phba);
phba             5291 drivers/scsi/lpfc/lpfc_bsg.c 	cmdiocbq->vport = phba->pport;
phba             5316 drivers/scsi/lpfc/lpfc_bsg.c 	rc = lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, cmdiocbq,
phba             5321 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_sli_release_iocbq(phba, cmdiocbq);
phba             5324 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_free_bsg_buffers(phba, rmp);
phba             5326 drivers/scsi/lpfc/lpfc_bsg.c 	lpfc_free_bsg_buffers(phba, cmp);
phba             5329 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_mbuf_free(phba, bmp->virt, bmp->phys);
phba             5345 drivers/scsi/lpfc/lpfc_bsg.c 	struct lpfc_hba *phba = vport->phba;
phba             5353 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_LIBDFC,
phba             5366 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_LIBDFC,
phba             5373 drivers/scsi/lpfc/lpfc_bsg.c 	forced_reply->supported = (phba->hba_flag & HBA_FORCED_LINK_SPEED)
phba             5391 drivers/scsi/lpfc/lpfc_bsg.c lpfc_check_fwlog_support(struct lpfc_hba *phba)
phba             5395 drivers/scsi/lpfc/lpfc_bsg.c 	ras_fwlog = &phba->ras_fwlog;
phba             5417 drivers/scsi/lpfc/lpfc_bsg.c 	struct lpfc_hba *phba = vport->phba;
phba             5419 drivers/scsi/lpfc/lpfc_bsg.c 	struct lpfc_ras_fwlog *ras_fwlog = &phba->ras_fwlog;
phba             5425 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_ERR, LOG_LIBDFC,
phba             5433 drivers/scsi/lpfc/lpfc_bsg.c 	rc = lpfc_check_fwlog_support(phba);
phba             5446 drivers/scsi/lpfc/lpfc_bsg.c 	ras_reply->log_level = phba->ras_fwlog.fw_loglevel;
phba             5447 drivers/scsi/lpfc/lpfc_bsg.c 	ras_reply->log_buff_sz = phba->cfg_ras_fwlog_buffsize;
phba             5471 drivers/scsi/lpfc/lpfc_bsg.c 	struct lpfc_hba *phba = vport->phba;
phba             5474 drivers/scsi/lpfc/lpfc_bsg.c 	struct lpfc_ras_fwlog *ras_fwlog = &phba->ras_fwlog;
phba             5482 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_ERR, LOG_LIBDFC,
phba             5490 drivers/scsi/lpfc/lpfc_bsg.c 	rc = lpfc_check_fwlog_support(phba);
phba             5507 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_ras_stop_fwlog(phba);
phba             5519 drivers/scsi/lpfc/lpfc_bsg.c 		rc = lpfc_sli4_ras_fwlog_init(phba, log_level,
phba             5555 drivers/scsi/lpfc/lpfc_bsg.c 	struct lpfc_hba *phba = vport->phba;
phba             5556 drivers/scsi/lpfc/lpfc_bsg.c 	struct lpfc_ras_fwlog *ras_fwlog = &phba->ras_fwlog;
phba             5561 drivers/scsi/lpfc/lpfc_bsg.c 	rc = lpfc_check_fwlog_support(phba);
phba             5568 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_ERR, LOG_LIBDFC,
phba             5579 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_ERR, LOG_LIBDFC,
phba             5615 drivers/scsi/lpfc/lpfc_bsg.c 	struct lpfc_hba *phba = vport->phba;
phba             5625 drivers/scsi/lpfc/lpfc_bsg.c 	ras_fwlog = &phba->ras_fwlog;
phba             5627 drivers/scsi/lpfc/lpfc_bsg.c 	rc = lpfc_check_fwlog_support(phba);
phba             5640 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_ERR, LOG_LIBDFC,
phba             5692 drivers/scsi/lpfc/lpfc_bsg.c 	struct lpfc_hba *phba = vport->phba;
phba             5699 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_ERR, LOG_LIBDFC,
phba             5711 drivers/scsi/lpfc/lpfc_bsg.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_LIBDFC,
phba             5723 drivers/scsi/lpfc/lpfc_bsg.c 		   (phba->link_state >= LPFC_LINK_UP) ? 1 : 0);
phba             5726 drivers/scsi/lpfc/lpfc_bsg.c 		   (phba->trunk_link.link0.state == LPFC_LINK_UP) ? 1 : 0);
phba             5729 drivers/scsi/lpfc/lpfc_bsg.c 		   (phba->trunk_link.link1.state == LPFC_LINK_UP) ? 1 : 0);
phba             5732 drivers/scsi/lpfc/lpfc_bsg.c 		   (phba->trunk_link.link2.state == LPFC_LINK_UP) ? 1 : 0);
phba             5735 drivers/scsi/lpfc/lpfc_bsg.c 		   (phba->trunk_link.link3.state == LPFC_LINK_UP) ? 1 : 0);
phba             5738 drivers/scsi/lpfc/lpfc_bsg.c 		   bf_get(lpfc_conf_trunk_port0, &phba->sli4_hba));
phba             5741 drivers/scsi/lpfc/lpfc_bsg.c 		   bf_get(lpfc_conf_trunk_port1, &phba->sli4_hba));
phba             5744 drivers/scsi/lpfc/lpfc_bsg.c 		   bf_get(lpfc_conf_trunk_port2, &phba->sli4_hba));
phba             5747 drivers/scsi/lpfc/lpfc_bsg.c 		   bf_get(lpfc_conf_trunk_port3, &phba->sli4_hba));
phba             5749 drivers/scsi/lpfc/lpfc_bsg.c 	event_reply->port_speed = phba->sli4_hba.link_state.speed / 1000;
phba             5751 drivers/scsi/lpfc/lpfc_bsg.c 				phba->sli4_hba.link_state.logical_speed / 1000;
phba             5879 drivers/scsi/lpfc/lpfc_bsg.c 	struct lpfc_hba *phba = vport->phba;
phba             5888 drivers/scsi/lpfc/lpfc_bsg.c 	pring = lpfc_phba_elsring(phba);
phba             5901 drivers/scsi/lpfc/lpfc_bsg.c 	spin_lock_irqsave(&phba->ct_ev_lock, flags);
phba             5907 drivers/scsi/lpfc/lpfc_bsg.c 		spin_unlock_irqrestore(&phba->ct_ev_lock, flags);
phba             5918 drivers/scsi/lpfc/lpfc_bsg.c 		spin_unlock_irqrestore(&phba->ct_ev_lock, flags);
phba             5920 drivers/scsi/lpfc/lpfc_bsg.c 		spin_lock_irqsave(&phba->hbalock, flags);
phba             5923 drivers/scsi/lpfc/lpfc_bsg.c 			spin_unlock_irqrestore(&phba->hbalock, flags);
phba             5934 drivers/scsi/lpfc/lpfc_bsg.c 			lpfc_sli_issue_abort_iotag(phba, pring, cmdiocb);
phba             5935 drivers/scsi/lpfc/lpfc_bsg.c 		spin_unlock_irqrestore(&phba->hbalock, flags);
phba             5937 drivers/scsi/lpfc/lpfc_bsg.c 			lpfc_sli_cancel_iocbs(phba, &completions,
phba             5944 drivers/scsi/lpfc/lpfc_bsg.c 		spin_unlock_irqrestore(&phba->ct_ev_lock, flags);
phba             5950 drivers/scsi/lpfc/lpfc_bsg.c 		if (phba->mbox_ext_buf_ctx.state == LPFC_BSG_MBOX_PORT)
phba             5951 drivers/scsi/lpfc/lpfc_bsg.c 			phba->mbox_ext_buf_ctx.state = LPFC_BSG_MBOX_ABTS;
phba             5952 drivers/scsi/lpfc/lpfc_bsg.c 		spin_unlock_irqrestore(&phba->ct_ev_lock, flags);
phba             5960 drivers/scsi/lpfc/lpfc_bsg.c 		spin_unlock_irqrestore(&phba->ct_ev_lock, flags);
phba             5962 drivers/scsi/lpfc/lpfc_bsg.c 		spin_lock_irqsave(&phba->hbalock, flags);
phba             5971 drivers/scsi/lpfc/lpfc_bsg.c 			lpfc_sli_issue_abort_iotag(phba, pring, cmdiocb);
phba             5972 drivers/scsi/lpfc/lpfc_bsg.c 		spin_unlock_irqrestore(&phba->hbalock, flags);
phba             5974 drivers/scsi/lpfc/lpfc_bsg.c 			lpfc_sli_cancel_iocbs(phba, &completions,
phba             5980 drivers/scsi/lpfc/lpfc_bsg.c 		spin_unlock_irqrestore(&phba->ct_ev_lock, flags);
phba               77 drivers/scsi/lpfc/lpfc_crtn.h int lpfc_init_iocb_list(struct lpfc_hba *phba, int cnt);
phba               78 drivers/scsi/lpfc/lpfc_crtn.h void lpfc_free_iocb_list(struct lpfc_hba *phba);
phba               79 drivers/scsi/lpfc/lpfc_crtn.h int lpfc_post_rq_buffer(struct lpfc_hba *phba, struct lpfc_queue *hrq,
phba              200 drivers/scsi/lpfc/lpfc_crtn.h int lpfc_emptyq_wait(struct lpfc_hba *phba, struct list_head *hd,
phba              204 drivers/scsi/lpfc/lpfc_crtn.h int lpfc_sli4_setup(struct lpfc_hba *phba);
phba              205 drivers/scsi/lpfc/lpfc_crtn.h void lpfc_sli_queue_init(struct lpfc_hba *phba);
phba              206 drivers/scsi/lpfc/lpfc_crtn.h void lpfc_sli4_queue_init(struct lpfc_hba *phba);
phba              207 drivers/scsi/lpfc/lpfc_crtn.h struct lpfc_sli_ring *lpfc_sli4_calc_ring(struct lpfc_hba *phba,
phba              218 drivers/scsi/lpfc/lpfc_crtn.h void lpfc_sli4_cleanup_poll_list(struct lpfc_hba *phba);
phba              241 drivers/scsi/lpfc/lpfc_crtn.h void lpfc_reg_fcfi_mrq(struct lpfc_hba *phba, struct lpfcMboxq *mbox, int mode);
phba              253 drivers/scsi/lpfc/lpfc_crtn.h struct rqb_dmabuf *lpfc_sli4_nvmet_alloc(struct lpfc_hba *phba);
phba              254 drivers/scsi/lpfc/lpfc_crtn.h void lpfc_sli4_nvmet_free(struct lpfc_hba *phba, struct rqb_dmabuf *dmab);
phba              255 drivers/scsi/lpfc/lpfc_crtn.h void lpfc_nvmet_ctxbuf_post(struct lpfc_hba *phba,
phba              259 drivers/scsi/lpfc/lpfc_crtn.h void lpfc_nvmet_wqfull_process(struct lpfc_hba *phba, struct lpfc_queue *wq);
phba              260 drivers/scsi/lpfc/lpfc_crtn.h void lpfc_sli_flush_nvme_rings(struct lpfc_hba *phba);
phba              261 drivers/scsi/lpfc/lpfc_crtn.h void lpfc_nvme_wait_for_io_drain(struct lpfc_hba *phba);
phba              266 drivers/scsi/lpfc/lpfc_crtn.h int lpfc_free_rq_buffer(struct lpfc_hba *phba, struct lpfc_queue *hq);
phba              281 drivers/scsi/lpfc/lpfc_crtn.h int lpfc_nvmet_mem_alloc(struct lpfc_hba *phba);
phba              305 drivers/scsi/lpfc/lpfc_crtn.h int lpfc_sli_chipset_init(struct lpfc_hba *phba);
phba              325 drivers/scsi/lpfc/lpfc_crtn.h int lpfc_sli4_issue_wqe(struct lpfc_hba *phba, struct lpfc_sli4_hdw_queue *qp,
phba              327 drivers/scsi/lpfc/lpfc_crtn.h struct lpfc_sglq *__lpfc_clear_active_sglq(struct lpfc_hba *phba, uint16_t xri);
phba              328 drivers/scsi/lpfc/lpfc_crtn.h struct lpfc_sglq *__lpfc_sli_get_nvmet_sglq(struct lpfc_hba *phba,
phba              333 drivers/scsi/lpfc/lpfc_crtn.h void lpfc_sli_abort_fcp_rings(struct lpfc_hba *phba);
phba              335 drivers/scsi/lpfc/lpfc_crtn.h void lpfc_sli_flush_io_rings(struct lpfc_hba *phba);
phba              380 drivers/scsi/lpfc/lpfc_crtn.h void *lpfc_nvmet_buf_alloc(struct lpfc_hba *phba, int flags,
phba              382 drivers/scsi/lpfc/lpfc_crtn.h void lpfc_nvmet_buf_free(struct lpfc_hba *phba, void *virtp, dma_addr_t dma);
phba              385 drivers/scsi/lpfc/lpfc_crtn.h void lpfc_rq_buf_free(struct lpfc_hba *phba, struct lpfc_dmabuf *mp);
phba              389 drivers/scsi/lpfc/lpfc_crtn.h int lpfc_check_pci_resettable(const struct lpfc_hba *phba);
phba              430 drivers/scsi/lpfc/lpfc_crtn.h extern void lpfc_debugfs_nvme_trc(struct lpfc_hba *phba, char *fmt,
phba              463 drivers/scsi/lpfc/lpfc_crtn.h void lpfc_start_fdiscs(struct lpfc_hba *phba);
phba              513 drivers/scsi/lpfc/lpfc_crtn.h int lpfc_sli4_els_sgl_update(struct lpfc_hba *phba);
phba              514 drivers/scsi/lpfc/lpfc_crtn.h int lpfc_sli4_nvmet_sgl_update(struct lpfc_hba *phba);
phba              515 drivers/scsi/lpfc/lpfc_crtn.h int lpfc_io_buf_flush(struct lpfc_hba *phba, struct list_head *sglist);
phba              516 drivers/scsi/lpfc/lpfc_crtn.h int lpfc_io_buf_replenish(struct lpfc_hba *phba, struct list_head *cbuf);
phba              517 drivers/scsi/lpfc/lpfc_crtn.h int lpfc_sli4_io_sgl_update(struct lpfc_hba *phba);
phba              518 drivers/scsi/lpfc/lpfc_crtn.h int lpfc_sli4_post_io_sgl_list(struct lpfc_hba *phba,
phba              520 drivers/scsi/lpfc/lpfc_crtn.h int lpfc_new_io_buf(struct lpfc_hba *phba, int num_to_alloc);
phba              521 drivers/scsi/lpfc/lpfc_crtn.h void lpfc_io_free(struct lpfc_hba *phba);
phba              544 drivers/scsi/lpfc/lpfc_crtn.h int lpfc_sli4_dump_page_a0(struct lpfc_hba *phba, struct lpfcMboxq *mbox);
phba              545 drivers/scsi/lpfc/lpfc_crtn.h void lpfc_mbx_cmpl_rdp_page_a0(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb);
phba              548 drivers/scsi/lpfc/lpfc_crtn.h void lpfc_sli4_ras_init(struct lpfc_hba *phba);
phba              549 drivers/scsi/lpfc/lpfc_crtn.h void lpfc_sli4_ras_setup(struct lpfc_hba *phba);
phba              550 drivers/scsi/lpfc/lpfc_crtn.h int  lpfc_sli4_ras_fwlog_init(struct lpfc_hba *phba, uint32_t fwlog_level,
phba              552 drivers/scsi/lpfc/lpfc_crtn.h void lpfc_ras_stop_fwlog(struct lpfc_hba *phba);
phba              553 drivers/scsi/lpfc/lpfc_crtn.h int lpfc_check_fwlog_support(struct lpfc_hba *phba);
phba              565 drivers/scsi/lpfc/lpfc_crtn.h int lpfc_nvmet_create_targetport(struct lpfc_hba *phba);
phba              566 drivers/scsi/lpfc/lpfc_crtn.h int lpfc_nvmet_update_targetport(struct lpfc_hba *phba);
phba              567 drivers/scsi/lpfc/lpfc_crtn.h void lpfc_nvmet_destroy_targetport(struct lpfc_hba *phba);
phba              568 drivers/scsi/lpfc/lpfc_crtn.h void lpfc_nvmet_unsol_ls_event(struct lpfc_hba *phba,
phba              570 drivers/scsi/lpfc/lpfc_crtn.h void lpfc_nvmet_unsol_fcp_event(struct lpfc_hba *phba, uint32_t idx,
phba              573 drivers/scsi/lpfc/lpfc_crtn.h void lpfc_nvme_mod_param_dep(struct lpfc_hba *phba);
phba              574 drivers/scsi/lpfc/lpfc_crtn.h void lpfc_nvme_abort_fcreq_cmpl(struct lpfc_hba *phba,
phba              577 drivers/scsi/lpfc/lpfc_crtn.h void lpfc_create_multixri_pools(struct lpfc_hba *phba);
phba              578 drivers/scsi/lpfc/lpfc_crtn.h void lpfc_create_destroy_pools(struct lpfc_hba *phba);
phba              579 drivers/scsi/lpfc/lpfc_crtn.h void lpfc_move_xri_pvt_to_pbl(struct lpfc_hba *phba, u32 hwqid);
phba              580 drivers/scsi/lpfc/lpfc_crtn.h void lpfc_move_xri_pbl_to_pvt(struct lpfc_hba *phba, u32 hwqid, u32 cnt);
phba              581 drivers/scsi/lpfc/lpfc_crtn.h void lpfc_adjust_high_watermark(struct lpfc_hba *phba, u32 hwqid);
phba              582 drivers/scsi/lpfc/lpfc_crtn.h void lpfc_keep_pvt_pool_above_lowwm(struct lpfc_hba *phba, u32 hwqid);
phba              583 drivers/scsi/lpfc/lpfc_crtn.h void lpfc_adjust_pvt_pool_count(struct lpfc_hba *phba, u32 hwqid);
phba              587 drivers/scsi/lpfc/lpfc_crtn.h struct lpfc_io_buf *lpfc_get_io_buf(struct lpfc_hba *phba,
phba              590 drivers/scsi/lpfc/lpfc_crtn.h void lpfc_release_io_buf(struct lpfc_hba *phba, struct lpfc_io_buf *ncmd,
phba              594 drivers/scsi/lpfc/lpfc_crtn.h void lpfc_nvme_cancel_iocb(struct lpfc_hba *phba, struct lpfc_iocbq *pwqeIn);
phba               81 drivers/scsi/lpfc/lpfc_ct.c lpfc_ct_ignore_hbq_buffer(struct lpfc_hba *phba, struct lpfc_iocbq *piocbq,
phba               85 drivers/scsi/lpfc/lpfc_ct.c 		lpfc_printf_log(phba, KERN_INFO, LOG_ELS,
phba               90 drivers/scsi/lpfc/lpfc_ct.c 	lpfc_printf_log(phba, KERN_INFO, LOG_ELS,
phba               97 drivers/scsi/lpfc/lpfc_ct.c lpfc_ct_unsol_buffer(struct lpfc_hba *phba, struct lpfc_iocbq *piocbq,
phba              100 drivers/scsi/lpfc/lpfc_ct.c 	lpfc_ct_ignore_hbq_buffer(phba, piocbq, mp, size);
phba              104 drivers/scsi/lpfc/lpfc_ct.c lpfc_ct_unsol_event(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
phba              116 drivers/scsi/lpfc/lpfc_ct.c 	if (lpfc_bsg_ct_unsol_event(phba, pring, piocbq) == 0)
phba              120 drivers/scsi/lpfc/lpfc_ct.c 		lpfc_sli_hbqbuf_add_hbqs(phba, LPFC_ELS_HBQ);
phba              125 drivers/scsi/lpfc/lpfc_ct.c 		phba->fc_stat.NoRcvBuf++;
phba              126 drivers/scsi/lpfc/lpfc_ct.c 		if (!(phba->sli3_options & LPFC_SLI3_HBQ_ENABLED))
phba              127 drivers/scsi/lpfc/lpfc_ct.c 			lpfc_post_buffer(phba, pring, 2);
phba              137 drivers/scsi/lpfc/lpfc_ct.c 	if (phba->sli3_options & LPFC_SLI3_HBQ_ENABLED) {
phba              147 drivers/scsi/lpfc/lpfc_ct.c 			lpfc_ct_unsol_buffer(phba, piocbq, bdeBuf, size);
phba              148 drivers/scsi/lpfc/lpfc_ct.c 			lpfc_in_buf_free(phba, bdeBuf);
phba              153 drivers/scsi/lpfc/lpfc_ct.c 				lpfc_ct_unsol_buffer(phba, piocbq, bdeBuf,
phba              155 drivers/scsi/lpfc/lpfc_ct.c 				lpfc_in_buf_free(phba, bdeBuf);
phba              165 drivers/scsi/lpfc/lpfc_ct.c 				lpfc_ct_unsol_buffer(phba, iocbq, NULL, 0);
phba              169 drivers/scsi/lpfc/lpfc_ct.c 				mp = lpfc_sli_ringpostbuf_get(phba, pring,
phba              172 drivers/scsi/lpfc/lpfc_ct.c 				lpfc_ct_unsol_buffer(phba, iocbq, mp, size);
phba              173 drivers/scsi/lpfc/lpfc_ct.c 				lpfc_in_buf_free(phba, mp);
phba              175 drivers/scsi/lpfc/lpfc_ct.c 			lpfc_post_buffer(phba, pring, i);
phba              192 drivers/scsi/lpfc/lpfc_ct.c lpfc_ct_handle_unsol_abort(struct lpfc_hba *phba, struct hbq_dmabuf *dmabuf)
phba              197 drivers/scsi/lpfc/lpfc_ct.c 	handled = lpfc_bsg_ct_unsol_abort(phba, dmabuf);
phba              203 drivers/scsi/lpfc/lpfc_ct.c lpfc_free_ct_rsp(struct lpfc_hba *phba, struct lpfc_dmabuf *mlist)
phba              208 drivers/scsi/lpfc/lpfc_ct.c 		lpfc_mbuf_free(phba, mlast->virt, mlast->phys);
phba              212 drivers/scsi/lpfc/lpfc_ct.c 	lpfc_mbuf_free(phba, mlist->virt, mlist->phys);
phba              218 drivers/scsi/lpfc/lpfc_ct.c lpfc_alloc_ct_rsp(struct lpfc_hba *phba, int cmdcode, struct ulp_bde64 *bpl,
phba              233 drivers/scsi/lpfc/lpfc_ct.c 				lpfc_free_ct_rsp(phba, mlist);
phba              241 drivers/scsi/lpfc/lpfc_ct.c 			mp->virt = lpfc_mbuf_alloc(phba, MEM_PRI, &(mp->phys));
phba              243 drivers/scsi/lpfc/lpfc_ct.c 			mp->virt = lpfc_mbuf_alloc(phba, 0, &(mp->phys));
phba              248 drivers/scsi/lpfc/lpfc_ct.c 				lpfc_free_ct_rsp(phba, mlist);
phba              275 drivers/scsi/lpfc/lpfc_ct.c lpfc_ct_free_iocb(struct lpfc_hba *phba, struct lpfc_iocbq *ctiocb)
phba              285 drivers/scsi/lpfc/lpfc_ct.c 		lpfc_mbuf_free(phba, buf_ptr->virt, buf_ptr->phys);
phba              290 drivers/scsi/lpfc/lpfc_ct.c 		lpfc_free_ct_rsp(phba, (struct lpfc_dmabuf *) ctiocb->context2);
phba              296 drivers/scsi/lpfc/lpfc_ct.c 		lpfc_mbuf_free(phba, buf_ptr->virt, buf_ptr->phys);
phba              300 drivers/scsi/lpfc/lpfc_ct.c 	lpfc_sli_release_iocbq(phba, ctiocb);
phba              323 drivers/scsi/lpfc/lpfc_ct.c 	struct lpfc_hba  *phba = vport->phba;
phba              329 drivers/scsi/lpfc/lpfc_ct.c 	geniocb = lpfc_sli_get_iocbq(phba);
phba              362 drivers/scsi/lpfc/lpfc_ct.c 		tmo = (3 * phba->fc_ratov);
phba              369 drivers/scsi/lpfc/lpfc_ct.c 	if (phba->sli_rev == LPFC_SLI_REV4)
phba              370 drivers/scsi/lpfc/lpfc_ct.c 		icmd->ulpContext = phba->sli4_hba.rpi_ids[ndlp->nlp_rpi];
phba              372 drivers/scsi/lpfc/lpfc_ct.c 	if (phba->sli3_options & LPFC_SLI3_NPIV_ENABLED) {
phba              388 drivers/scsi/lpfc/lpfc_ct.c 	rc = lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, geniocb, 0);
phba              391 drivers/scsi/lpfc/lpfc_ct.c 		lpfc_sli_release_iocbq(phba, geniocb);
phba              415 drivers/scsi/lpfc/lpfc_ct.c 	struct lpfc_hba  *phba = vport->phba;
phba              425 drivers/scsi/lpfc/lpfc_ct.c 	outmp = lpfc_alloc_ct_rsp(phba, cmdcode, bpl, rsp_size, &cnt);
phba              437 drivers/scsi/lpfc/lpfc_ct.c 		lpfc_free_ct_rsp(phba, outmp);
phba              444 drivers/scsi/lpfc/lpfc_ct.c lpfc_find_vport_by_did(struct lpfc_hba *phba, uint32_t did) {
phba              448 drivers/scsi/lpfc/lpfc_ct.c 	spin_lock_irqsave(&phba->port_list_lock, flags);
phba              449 drivers/scsi/lpfc/lpfc_ct.c 	list_for_each_entry(vport_curr, &phba->port_list, listentry) {
phba              451 drivers/scsi/lpfc/lpfc_ct.c 			spin_unlock_irqrestore(&phba->port_list_lock, flags);
phba              455 drivers/scsi/lpfc/lpfc_ct.c 	spin_unlock_irqrestore(&phba->port_list_lock, flags);
phba              550 drivers/scsi/lpfc/lpfc_ct.c 	struct lpfc_hba *phba = vport->phba;
phba              555 drivers/scsi/lpfc/lpfc_ct.c 	if (phba->cfg_ns_query == LPFC_NS_QUERY_GID_FT)
phba              569 drivers/scsi/lpfc/lpfc_ct.c 	    (!lpfc_find_vport_by_did(phba, Did) ||
phba              571 drivers/scsi/lpfc/lpfc_ct.c 		if (!phba->nvmet_support) {
phba              642 drivers/scsi/lpfc/lpfc_ct.c 	if (vport->phba->nvmet_support) {
phba              660 drivers/scsi/lpfc/lpfc_ct.c lpfc_cmpl_ct_cmd_gid_ft(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
phba              857 drivers/scsi/lpfc/lpfc_ct.c 	lpfc_ct_free_iocb(phba, cmdiocb);
phba              862 drivers/scsi/lpfc/lpfc_ct.c lpfc_cmpl_ct_cmd_gid_pt(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
phba             1050 drivers/scsi/lpfc/lpfc_ct.c 	lpfc_ct_free_iocb(phba, cmdiocb);
phba             1054 drivers/scsi/lpfc/lpfc_ct.c lpfc_cmpl_ct_cmd_gff_id(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
phba             1131 drivers/scsi/lpfc/lpfc_ct.c 					lpfc_ct_free_iocb(phba, cmdiocb);
phba             1179 drivers/scsi/lpfc/lpfc_ct.c 	lpfc_ct_free_iocb(phba, cmdiocb);
phba             1184 drivers/scsi/lpfc/lpfc_ct.c lpfc_cmpl_ct_cmd_gft_id(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
phba             1262 drivers/scsi/lpfc/lpfc_ct.c 	lpfc_ct_free_iocb(phba, cmdiocb);
phba             1266 drivers/scsi/lpfc/lpfc_ct.c lpfc_cmpl_ct(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
phba             1333 drivers/scsi/lpfc/lpfc_ct.c 	lpfc_ct_free_iocb(phba, cmdiocb);
phba             1338 drivers/scsi/lpfc/lpfc_ct.c lpfc_cmpl_ct_cmd_rft_id(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
phba             1354 drivers/scsi/lpfc/lpfc_ct.c 	lpfc_cmpl_ct(phba, cmdiocb, rspiocb);
phba             1359 drivers/scsi/lpfc/lpfc_ct.c lpfc_cmpl_ct_cmd_rnn_id(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
phba             1375 drivers/scsi/lpfc/lpfc_ct.c 	lpfc_cmpl_ct(phba, cmdiocb, rspiocb);
phba             1380 drivers/scsi/lpfc/lpfc_ct.c lpfc_cmpl_ct_cmd_rspn_id(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
phba             1396 drivers/scsi/lpfc/lpfc_ct.c 	lpfc_cmpl_ct(phba, cmdiocb, rspiocb);
phba             1401 drivers/scsi/lpfc/lpfc_ct.c lpfc_cmpl_ct_cmd_rsnn_nn(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
phba             1417 drivers/scsi/lpfc/lpfc_ct.c 	lpfc_cmpl_ct(phba, cmdiocb, rspiocb);
phba             1422 drivers/scsi/lpfc/lpfc_ct.c lpfc_cmpl_ct_cmd_da_id(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
phba             1429 drivers/scsi/lpfc/lpfc_ct.c 	lpfc_cmpl_ct(phba, cmdiocb, rspiocb);
phba             1434 drivers/scsi/lpfc/lpfc_ct.c lpfc_cmpl_ct_cmd_rff_id(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
phba             1450 drivers/scsi/lpfc/lpfc_ct.c 	lpfc_cmpl_ct(phba, cmdiocb, rspiocb);
phba             1470 drivers/scsi/lpfc/lpfc_ct.c 	n = scnprintf(symbol, size, "%d", vport->phba->brd_no);
phba             1484 drivers/scsi/lpfc/lpfc_ct.c 	scnprintf(tmp, sizeof(tmp), "Emulex %s", vport->phba->ModelName);
phba             1488 drivers/scsi/lpfc/lpfc_ct.c 	lpfc_decode_firmware_rev(vport->phba, fwrev, 0);
phba             1497 drivers/scsi/lpfc/lpfc_ct.c 	scnprintf(tmp, sizeof(tmp), " HN:%s", vport->phba->os_host_name);
phba             1563 drivers/scsi/lpfc/lpfc_ct.c 	struct lpfc_hba *phba = vport->phba;
phba             1590 drivers/scsi/lpfc/lpfc_ct.c 	mp->virt = lpfc_mbuf_alloc(phba, MEM_PRI, &(mp->phys));
phba             1604 drivers/scsi/lpfc/lpfc_ct.c 	bmp->virt = lpfc_mbuf_alloc(phba, MEM_PRI, &(bmp->phys));
phba             1777 drivers/scsi/lpfc/lpfc_ct.c 			if ((vport == phba->pport) && phba->nvmet_support) {
phba             1780 drivers/scsi/lpfc/lpfc_ct.c 				lpfc_nvmet_update_targetport(phba);
phba             1823 drivers/scsi/lpfc/lpfc_ct.c 	lpfc_mbuf_free(phba, bmp->virt, bmp->phys);
phba             1827 drivers/scsi/lpfc/lpfc_ct.c 	lpfc_mbuf_free(phba, mp->virt, mp->phys);
phba             1847 drivers/scsi/lpfc/lpfc_ct.c lpfc_cmpl_ct_disc_fdmi(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
phba             1888 drivers/scsi/lpfc/lpfc_ct.c 				err = lpfc_sli_issue_iocb(phba, LPFC_ELS_RING,
phba             1904 drivers/scsi/lpfc/lpfc_ct.c 	lpfc_ct_free_iocb(phba, cmdiocb);
phba             1997 drivers/scsi/lpfc/lpfc_ct.c 	struct lpfc_hba *phba = vport->phba;
phba             2001 drivers/scsi/lpfc/lpfc_ct.c 	if (!lpfc_is_link_up(phba))
phba             2013 drivers/scsi/lpfc/lpfc_ct.c 	if (strcmp(phba->os_host_name, init_utsname()->nodename)) {
phba             2014 drivers/scsi/lpfc/lpfc_ct.c 		memset(phba->os_host_name, 0, sizeof(phba->os_host_name));
phba             2015 drivers/scsi/lpfc/lpfc_ct.c 		scnprintf(phba->os_host_name, sizeof(phba->os_host_name), "%s",
phba             2097 drivers/scsi/lpfc/lpfc_ct.c 	struct lpfc_hba *phba = vport->phba;
phba             2104 drivers/scsi/lpfc/lpfc_ct.c 	strncpy(ae->un.AttrString, phba->SerialNumber,
phba             2119 drivers/scsi/lpfc/lpfc_ct.c 	struct lpfc_hba *phba = vport->phba;
phba             2126 drivers/scsi/lpfc/lpfc_ct.c 	strncpy(ae->un.AttrString, phba->ModelName,
phba             2140 drivers/scsi/lpfc/lpfc_ct.c 	struct lpfc_hba *phba = vport->phba;
phba             2147 drivers/scsi/lpfc/lpfc_ct.c 	strncpy(ae->un.AttrString, phba->ModelDesc,
phba             2162 drivers/scsi/lpfc/lpfc_ct.c 	struct lpfc_hba *phba = vport->phba;
phba             2163 drivers/scsi/lpfc/lpfc_ct.c 	lpfc_vpd_t *vp = &phba->vpd;
phba             2215 drivers/scsi/lpfc/lpfc_ct.c 	struct lpfc_hba *phba = vport->phba;
phba             2222 drivers/scsi/lpfc/lpfc_ct.c 	if (phba->sli_rev == LPFC_SLI_REV4)
phba             2223 drivers/scsi/lpfc/lpfc_ct.c 		lpfc_decode_firmware_rev(phba, ae->un.AttrString, 1);
phba             2225 drivers/scsi/lpfc/lpfc_ct.c 		strncpy(ae->un.AttrString, phba->OptionROMVersion,
phba             2240 drivers/scsi/lpfc/lpfc_ct.c 	struct lpfc_hba *phba = vport->phba;
phba             2247 drivers/scsi/lpfc/lpfc_ct.c 	lpfc_decode_firmware_rev(phba, ae->un.AttrString, 1);
phba             2371 drivers/scsi/lpfc/lpfc_ct.c 	struct lpfc_hba *phba = vport->phba;
phba             2378 drivers/scsi/lpfc/lpfc_ct.c 	strlcat(ae->un.AttrString, phba->BIOSVersion,
phba             2432 drivers/scsi/lpfc/lpfc_ct.c 	struct lpfc_hba   *phba = vport->phba;
phba             2444 drivers/scsi/lpfc/lpfc_ct.c 	if ((phba->sli_rev == LPFC_SLI_REV4) && (vport == phba->pport) &&
phba             2445 drivers/scsi/lpfc/lpfc_ct.c 	    phba->sli4_hba.pc_sli4_params.nvme)
phba             2458 drivers/scsi/lpfc/lpfc_ct.c 	struct lpfc_hba   *phba = vport->phba;
phba             2465 drivers/scsi/lpfc/lpfc_ct.c 	if (!(phba->hba_flag & HBA_FCOE_MODE)) {
phba             2466 drivers/scsi/lpfc/lpfc_ct.c 		if (phba->lmt & LMT_128Gb)
phba             2468 drivers/scsi/lpfc/lpfc_ct.c 		if (phba->lmt & LMT_64Gb)
phba             2470 drivers/scsi/lpfc/lpfc_ct.c 		if (phba->lmt & LMT_32Gb)
phba             2472 drivers/scsi/lpfc/lpfc_ct.c 		if (phba->lmt & LMT_16Gb)
phba             2474 drivers/scsi/lpfc/lpfc_ct.c 		if (phba->lmt & LMT_10Gb)
phba             2476 drivers/scsi/lpfc/lpfc_ct.c 		if (phba->lmt & LMT_8Gb)
phba             2478 drivers/scsi/lpfc/lpfc_ct.c 		if (phba->lmt & LMT_4Gb)
phba             2480 drivers/scsi/lpfc/lpfc_ct.c 		if (phba->lmt & LMT_2Gb)
phba             2482 drivers/scsi/lpfc/lpfc_ct.c 		if (phba->lmt & LMT_1Gb)
phba             2486 drivers/scsi/lpfc/lpfc_ct.c 		switch (phba->fc_linkspeed) {
phba             2512 drivers/scsi/lpfc/lpfc_ct.c 	struct lpfc_hba   *phba = vport->phba;
phba             2518 drivers/scsi/lpfc/lpfc_ct.c 	if (!(phba->hba_flag & HBA_FCOE_MODE)) {
phba             2519 drivers/scsi/lpfc/lpfc_ct.c 		switch (phba->fc_linkspeed) {
phba             2552 drivers/scsi/lpfc/lpfc_ct.c 		switch (phba->fc_linkspeed) {
phba             2631 drivers/scsi/lpfc/lpfc_ct.c 		  vport->phba->os_host_name);
phba             2699 drivers/scsi/lpfc/lpfc_ct.c 	struct lpfc_hba *phba = vport->phba;
phba             2704 drivers/scsi/lpfc/lpfc_ct.c 	if (phba->fc_topology == LPFC_TOPOLOGY_LOOP)
phba             2762 drivers/scsi/lpfc/lpfc_ct.c 	if (vport->phba->cfg_enable_fc4_type & LPFC_ENABLE_NVME)
phba             2885 drivers/scsi/lpfc/lpfc_ct.c 	struct lpfc_hba *phba = vport->phba;
phba             2892 drivers/scsi/lpfc/lpfc_ct.c 	strncpy(ae->un.AttrString, phba->ModelName,
phba             3018 drivers/scsi/lpfc/lpfc_ct.c 	struct lpfc_hba *phba = vport->phba;
phba             3045 drivers/scsi/lpfc/lpfc_ct.c 	mp->virt = lpfc_mbuf_alloc(phba, 0, &(mp->phys));
phba             3054 drivers/scsi/lpfc/lpfc_ct.c 	bmp->virt = lpfc_mbuf_alloc(phba, 0, &(bmp->phys));
phba             3085 drivers/scsi/lpfc/lpfc_ct.c 		memcpy(&rh->hi.PortName, &phba->pport->fc_sparam.portName,
phba             3092 drivers/scsi/lpfc/lpfc_ct.c 			memcpy(&rh->rpl.pe, &phba->pport->fc_sparam.portName,
phba             3138 drivers/scsi/lpfc/lpfc_ct.c 			       &phba->pport->fc_sparam.portName,
phba             3234 drivers/scsi/lpfc/lpfc_ct.c 	lpfc_mbuf_free(phba, bmp->virt, bmp->phys);
phba             3238 drivers/scsi/lpfc/lpfc_ct.c 	lpfc_mbuf_free(phba, mp->virt, mp->phys);
phba             3260 drivers/scsi/lpfc/lpfc_ct.c 	struct lpfc_hba   *phba = vport->phba;
phba             3271 drivers/scsi/lpfc/lpfc_ct.c 		lpfc_worker_wake_up(phba);
phba             3295 drivers/scsi/lpfc/lpfc_ct.c 	lpfc_do_scr_ns_plogi(vport->phba, vport);
phba             3299 drivers/scsi/lpfc/lpfc_ct.c lpfc_decode_firmware_rev(struct lpfc_hba *phba, char *fwrevision, int flag)
phba             3301 drivers/scsi/lpfc/lpfc_ct.c 	struct lpfc_sli *psli = &phba->sli;
phba             3302 drivers/scsi/lpfc/lpfc_ct.c 	lpfc_vpd_t *vp = &phba->vpd;
phba             3308 drivers/scsi/lpfc/lpfc_ct.c 	if (phba->sli_rev == LPFC_SLI_REV4)
phba              214 drivers/scsi/lpfc/lpfc_debugfs.c lpfc_debugfs_slow_ring_trc_data(struct lpfc_hba *phba, char *buf, int size)
phba              229 drivers/scsi/lpfc/lpfc_debugfs.c 	index = (atomic_read(&phba->slow_ring_trc_cnt) + 1) &
phba              232 drivers/scsi/lpfc/lpfc_debugfs.c 		dtp = phba->slow_ring_trc + i;
phba              243 drivers/scsi/lpfc/lpfc_debugfs.c 		dtp = phba->slow_ring_trc + i;
phba              282 drivers/scsi/lpfc/lpfc_debugfs.c lpfc_debugfs_hbqinfo_data(struct lpfc_hba *phba, char *buf, int size)
phba              293 drivers/scsi/lpfc/lpfc_debugfs.c 	if (phba->sli_rev != 3)
phba              296 drivers/scsi/lpfc/lpfc_debugfs.c 	spin_lock_irq(&phba->hbalock);
phba              312 drivers/scsi/lpfc/lpfc_debugfs.c 	hbqs =  &phba->hbqs[i];
phba              323 drivers/scsi/lpfc/lpfc_debugfs.c 	raw_index = phba->hbq_get[i];
phba              330 drivers/scsi/lpfc/lpfc_debugfs.c 	hbqe = (struct lpfc_hbq_entry *) phba->hbqs[i].hbq_virt;
phba              379 drivers/scsi/lpfc/lpfc_debugfs.c 	spin_unlock_irq(&phba->hbalock);
phba              406 drivers/scsi/lpfc/lpfc_debugfs.c lpfc_debugfs_commonxripools_data(struct lpfc_hba *phba, char *buf, int size)
phba              413 drivers/scsi/lpfc/lpfc_debugfs.c 	for (i = 0; i < phba->cfg_hdw_queue; i++) {
phba              416 drivers/scsi/lpfc/lpfc_debugfs.c 		qp = &phba->sli4_hba.hdwq[lpfc_debugfs_last_xripool];
phba              435 drivers/scsi/lpfc/lpfc_debugfs.c 		if (lpfc_debugfs_last_xripool >= phba->cfg_hdw_queue)
phba              458 drivers/scsi/lpfc/lpfc_debugfs.c lpfc_debugfs_multixripools_data(struct lpfc_hba *phba, char *buf, int size)
phba              469 drivers/scsi/lpfc/lpfc_debugfs.c 	if (phba->sli_rev != LPFC_SLI_REV4)
phba              472 drivers/scsi/lpfc/lpfc_debugfs.c 	if (!phba->sli4_hba.hdwq)
phba              475 drivers/scsi/lpfc/lpfc_debugfs.c 	if (!phba->cfg_xri_rebalancing) {
phba              476 drivers/scsi/lpfc/lpfc_debugfs.c 		i = lpfc_debugfs_commonxripools_data(phba, buf, size);
phba              526 drivers/scsi/lpfc/lpfc_debugfs.c 	hwq_count = phba->cfg_hdw_queue;
phba              528 drivers/scsi/lpfc/lpfc_debugfs.c 		qp = &phba->sli4_hba.hdwq[i];
phba              596 drivers/scsi/lpfc/lpfc_debugfs.c lpfc_debugfs_lockstat_data(struct lpfc_hba *phba, char *buf, int size)
phba              602 drivers/scsi/lpfc/lpfc_debugfs.c 	if (phba->sli_rev != LPFC_SLI_REV4)
phba              605 drivers/scsi/lpfc/lpfc_debugfs.c 	if (!phba->sli4_hba.hdwq)
phba              608 drivers/scsi/lpfc/lpfc_debugfs.c 	for (i = 0; i < phba->cfg_hdw_queue; i++) {
phba              611 drivers/scsi/lpfc/lpfc_debugfs.c 		qp = &phba->sli4_hba.hdwq[lpfc_debugfs_last_lock];
phba              614 drivers/scsi/lpfc/lpfc_debugfs.c 		if (phba->cfg_xri_rebalancing) {
phba              636 drivers/scsi/lpfc/lpfc_debugfs.c 		if (lpfc_debugfs_last_lock >= phba->cfg_hdw_queue)
phba              665 drivers/scsi/lpfc/lpfc_debugfs.c lpfc_debugfs_dumpHBASlim_data(struct lpfc_hba *phba, char *buf, int size)
phba              677 drivers/scsi/lpfc/lpfc_debugfs.c 	spin_lock_irq(&phba->hbalock);
phba              681 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->MBslimaddr + lpfc_debugfs_last_hba_slim_off, 1024);
phba              702 drivers/scsi/lpfc/lpfc_debugfs.c 	spin_unlock_irq(&phba->hbalock);
phba              724 drivers/scsi/lpfc/lpfc_debugfs.c lpfc_debugfs_dumpHostSlim_data(struct lpfc_hba *phba, char *buf, int size)
phba              731 drivers/scsi/lpfc/lpfc_debugfs.c 	struct lpfc_sli *psli = &phba->sli;
phba              735 drivers/scsi/lpfc/lpfc_debugfs.c 	spin_lock_irq(&phba->hbalock);
phba              738 drivers/scsi/lpfc/lpfc_debugfs.c 	ptr = (uint32_t *)phba->slim2p.virt;
phba              751 drivers/scsi/lpfc/lpfc_debugfs.c 	ptr = (uint32_t *)phba->pcb;
phba              763 drivers/scsi/lpfc/lpfc_debugfs.c 	if (phba->sli_rev <= LPFC_SLI_REV3) {
phba              765 drivers/scsi/lpfc/lpfc_debugfs.c 			pgpp = &phba->port_gp[i];
phba              780 drivers/scsi/lpfc/lpfc_debugfs.c 		word0 = readl(phba->HAregaddr);
phba              781 drivers/scsi/lpfc/lpfc_debugfs.c 		word1 = readl(phba->CAregaddr);
phba              782 drivers/scsi/lpfc/lpfc_debugfs.c 		word2 = readl(phba->HSregaddr);
phba              783 drivers/scsi/lpfc/lpfc_debugfs.c 		word3 = readl(phba->HCregaddr);
phba              787 drivers/scsi/lpfc/lpfc_debugfs.c 	spin_unlock_irq(&phba->hbalock);
phba              812 drivers/scsi/lpfc/lpfc_debugfs.c 	struct lpfc_hba  *phba = vport->phba;
phba              920 drivers/scsi/lpfc/lpfc_debugfs.c 	if (phba->nvmet_support && phba->targetport && (vport == phba->pport)) {
phba              925 drivers/scsi/lpfc/lpfc_debugfs.c 		if (phba->targetport->port_id)
phba              936 drivers/scsi/lpfc/lpfc_debugfs.c 				phba->targetport->port_id);
phba              962 drivers/scsi/lpfc/lpfc_debugfs.c 		spin_lock(&phba->hbalock);
phba              968 drivers/scsi/lpfc/lpfc_debugfs.c 		spin_unlock(&phba->hbalock);
phba             1035 drivers/scsi/lpfc/lpfc_debugfs.c 	struct lpfc_hba   *phba = vport->phba;
phba             1046 drivers/scsi/lpfc/lpfc_debugfs.c 	if (phba->nvmet_support) {
phba             1047 drivers/scsi/lpfc/lpfc_debugfs.c 		if (!phba->targetport)
phba             1049 drivers/scsi/lpfc/lpfc_debugfs.c 		tgtp = (struct lpfc_nvmet_tgtport *)phba->targetport->private;
phba             1129 drivers/scsi/lpfc/lpfc_debugfs.c 		spin_lock(&phba->sli4_hba.abts_nvmet_buf_list_lock);
phba             1131 drivers/scsi/lpfc/lpfc_debugfs.c 				&phba->sli4_hba.lpfc_abts_nvmet_ctx_list,
phba             1135 drivers/scsi/lpfc/lpfc_debugfs.c 		spin_unlock(&phba->sli4_hba.abts_nvmet_buf_list_lock);
phba             1139 drivers/scsi/lpfc/lpfc_debugfs.c 			spin_lock(&phba->sli4_hba.abts_nvmet_buf_list_lock);
phba             1141 drivers/scsi/lpfc/lpfc_debugfs.c 				    &phba->sli4_hba.lpfc_abts_nvmet_ctx_list,
phba             1151 drivers/scsi/lpfc/lpfc_debugfs.c 			spin_unlock(&phba->sli4_hba.abts_nvmet_buf_list_lock);
phba             1162 drivers/scsi/lpfc/lpfc_debugfs.c 				phba->sli4_hba.nvmet_xri_cnt,
phba             1163 drivers/scsi/lpfc/lpfc_debugfs.c 				phba->sli4_hba.nvmet_io_wait_cnt,
phba             1164 drivers/scsi/lpfc/lpfc_debugfs.c 				phba->sli4_hba.nvmet_io_wait_total,
phba             1187 drivers/scsi/lpfc/lpfc_debugfs.c 		for (i = 0; i < phba->cfg_hdw_queue; i++) {
phba             1188 drivers/scsi/lpfc/lpfc_debugfs.c 			cstat = &phba->sli4_hba.hdwq[i].nvme_cstat;
phba             1258 drivers/scsi/lpfc/lpfc_debugfs.c 	struct lpfc_hba *phba = vport->phba;
phba             1266 drivers/scsi/lpfc/lpfc_debugfs.c 	    (phba->sli_rev != LPFC_SLI_REV4))
phba             1273 drivers/scsi/lpfc/lpfc_debugfs.c 	for (i = 0; i < phba->cfg_hdw_queue; i++) {
phba             1274 drivers/scsi/lpfc/lpfc_debugfs.c 		cstat = &phba->sli4_hba.hdwq[i].scsi_cstat;
phba             1318 drivers/scsi/lpfc/lpfc_debugfs.c 	struct lpfc_hba   *phba = vport->phba;
phba             1321 drivers/scsi/lpfc/lpfc_debugfs.c 	if (phba->nvmet_support == 0) {
phba             1325 drivers/scsi/lpfc/lpfc_debugfs.c 				(phba->ktime_on ?  "Enabled" : "Disabled"),
phba             1326 drivers/scsi/lpfc/lpfc_debugfs.c 				phba->ktime_data_samples);
phba             1327 drivers/scsi/lpfc/lpfc_debugfs.c 		if (phba->ktime_data_samples == 0)
phba             1337 drivers/scsi/lpfc/lpfc_debugfs.c 			div_u64(phba->ktime_seg1_total,
phba             1338 drivers/scsi/lpfc/lpfc_debugfs.c 				phba->ktime_data_samples),
phba             1339 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->ktime_seg1_min,
phba             1340 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->ktime_seg1_max);
phba             1348 drivers/scsi/lpfc/lpfc_debugfs.c 			div_u64(phba->ktime_seg2_total,
phba             1349 drivers/scsi/lpfc/lpfc_debugfs.c 				phba->ktime_data_samples),
phba             1350 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->ktime_seg2_min,
phba             1351 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->ktime_seg2_max);
phba             1359 drivers/scsi/lpfc/lpfc_debugfs.c 			div_u64(phba->ktime_seg3_total,
phba             1360 drivers/scsi/lpfc/lpfc_debugfs.c 				phba->ktime_data_samples),
phba             1361 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->ktime_seg3_min,
phba             1362 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->ktime_seg3_max);
phba             1370 drivers/scsi/lpfc/lpfc_debugfs.c 			div_u64(phba->ktime_seg4_total,
phba             1371 drivers/scsi/lpfc/lpfc_debugfs.c 				phba->ktime_data_samples),
phba             1372 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->ktime_seg4_min,
phba             1373 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->ktime_seg4_max);
phba             1377 drivers/scsi/lpfc/lpfc_debugfs.c 			div_u64(phba->ktime_seg1_total +
phba             1378 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->ktime_seg2_total  +
phba             1379 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->ktime_seg3_total +
phba             1380 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->ktime_seg4_total,
phba             1381 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->ktime_data_samples));
phba             1388 drivers/scsi/lpfc/lpfc_debugfs.c 			(phba->ktime_on ? "Enabled" : "Disabled"),
phba             1389 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->ktime_data_samples,
phba             1390 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->ktime_status_samples);
phba             1391 drivers/scsi/lpfc/lpfc_debugfs.c 	if (phba->ktime_data_samples == 0)
phba             1399 drivers/scsi/lpfc/lpfc_debugfs.c 			div_u64(phba->ktime_seg1_total,
phba             1400 drivers/scsi/lpfc/lpfc_debugfs.c 				phba->ktime_data_samples),
phba             1401 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->ktime_seg1_min,
phba             1402 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->ktime_seg1_max);
phba             1408 drivers/scsi/lpfc/lpfc_debugfs.c 			div_u64(phba->ktime_seg2_total,
phba             1409 drivers/scsi/lpfc/lpfc_debugfs.c 				phba->ktime_data_samples),
phba             1410 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->ktime_seg2_min,
phba             1411 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->ktime_seg2_max);
phba             1417 drivers/scsi/lpfc/lpfc_debugfs.c 			div_u64(phba->ktime_seg3_total,
phba             1418 drivers/scsi/lpfc/lpfc_debugfs.c 				phba->ktime_data_samples),
phba             1419 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->ktime_seg3_min,
phba             1420 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->ktime_seg3_max);
phba             1426 drivers/scsi/lpfc/lpfc_debugfs.c 			div_u64(phba->ktime_seg4_total,
phba             1427 drivers/scsi/lpfc/lpfc_debugfs.c 				phba->ktime_data_samples),
phba             1428 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->ktime_seg4_min,
phba             1429 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->ktime_seg4_max);
phba             1435 drivers/scsi/lpfc/lpfc_debugfs.c 			div_u64(phba->ktime_seg5_total,
phba             1436 drivers/scsi/lpfc/lpfc_debugfs.c 				phba->ktime_data_samples),
phba             1437 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->ktime_seg5_min,
phba             1438 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->ktime_seg5_max);
phba             1440 drivers/scsi/lpfc/lpfc_debugfs.c 	if (phba->ktime_status_samples == 0) {
phba             1447 drivers/scsi/lpfc/lpfc_debugfs.c 				div_u64(phba->ktime_seg10_total,
phba             1448 drivers/scsi/lpfc/lpfc_debugfs.c 					phba->ktime_data_samples),
phba             1449 drivers/scsi/lpfc/lpfc_debugfs.c 				phba->ktime_seg10_min,
phba             1450 drivers/scsi/lpfc/lpfc_debugfs.c 				phba->ktime_seg10_max);
phba             1459 drivers/scsi/lpfc/lpfc_debugfs.c 			div_u64(phba->ktime_seg6_total,
phba             1460 drivers/scsi/lpfc/lpfc_debugfs.c 				phba->ktime_status_samples),
phba             1461 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->ktime_seg6_min,
phba             1462 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->ktime_seg6_max);
phba             1468 drivers/scsi/lpfc/lpfc_debugfs.c 			div_u64(phba->ktime_seg7_total,
phba             1469 drivers/scsi/lpfc/lpfc_debugfs.c 				phba->ktime_status_samples),
phba             1470 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->ktime_seg7_min,
phba             1471 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->ktime_seg7_max);
phba             1477 drivers/scsi/lpfc/lpfc_debugfs.c 			div_u64(phba->ktime_seg8_total,
phba             1478 drivers/scsi/lpfc/lpfc_debugfs.c 				phba->ktime_status_samples),
phba             1479 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->ktime_seg8_min,
phba             1480 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->ktime_seg8_max);
phba             1486 drivers/scsi/lpfc/lpfc_debugfs.c 			div_u64(phba->ktime_seg9_total,
phba             1487 drivers/scsi/lpfc/lpfc_debugfs.c 				phba->ktime_status_samples),
phba             1488 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->ktime_seg9_min,
phba             1489 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->ktime_seg9_max);
phba             1495 drivers/scsi/lpfc/lpfc_debugfs.c 			div_u64(phba->ktime_seg10_total,
phba             1496 drivers/scsi/lpfc/lpfc_debugfs.c 				phba->ktime_status_samples),
phba             1497 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->ktime_seg10_min,
phba             1498 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->ktime_seg10_max);
phba             1516 drivers/scsi/lpfc/lpfc_debugfs.c lpfc_debugfs_nvmeio_trc_data(struct lpfc_hba *phba, char *buf, int size)
phba             1522 drivers/scsi/lpfc/lpfc_debugfs.c 	state = phba->nvmeio_trc_on;
phba             1524 drivers/scsi/lpfc/lpfc_debugfs.c 	index = (atomic_read(&phba->nvmeio_trc_cnt) + 1) &
phba             1525 drivers/scsi/lpfc/lpfc_debugfs.c 		(phba->nvmeio_trc_size - 1);
phba             1526 drivers/scsi/lpfc/lpfc_debugfs.c 	skip = phba->nvmeio_trc_output_idx;
phba             1530 drivers/scsi/lpfc/lpfc_debugfs.c 			(phba->nvmet_support ? "NVME" : "NVMET"),
phba             1532 drivers/scsi/lpfc/lpfc_debugfs.c 			index, skip, phba->nvmeio_trc_size);
phba             1534 drivers/scsi/lpfc/lpfc_debugfs.c 	if (!phba->nvmeio_trc || state)
phba             1539 drivers/scsi/lpfc/lpfc_debugfs.c 	for (i = index; i < phba->nvmeio_trc_size; i++) {
phba             1544 drivers/scsi/lpfc/lpfc_debugfs.c 		dtp = phba->nvmeio_trc + i;
phba             1545 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->nvmeio_trc_output_idx++;
phba             1553 drivers/scsi/lpfc/lpfc_debugfs.c 		if (phba->nvmeio_trc_output_idx >= phba->nvmeio_trc_size) {
phba             1554 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->nvmeio_trc_output_idx = 0;
phba             1563 drivers/scsi/lpfc/lpfc_debugfs.c 					phba->nvmeio_trc_output_idx,
phba             1564 drivers/scsi/lpfc/lpfc_debugfs.c 					phba->nvmeio_trc_size);
phba             1573 drivers/scsi/lpfc/lpfc_debugfs.c 		dtp = phba->nvmeio_trc + i;
phba             1574 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->nvmeio_trc_output_idx++;
phba             1582 drivers/scsi/lpfc/lpfc_debugfs.c 		if (phba->nvmeio_trc_output_idx >= phba->nvmeio_trc_size) {
phba             1583 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->nvmeio_trc_output_idx = 0;
phba             1592 drivers/scsi/lpfc/lpfc_debugfs.c 					phba->nvmeio_trc_output_idx,
phba             1593 drivers/scsi/lpfc/lpfc_debugfs.c 					phba->nvmeio_trc_size);
phba             1620 drivers/scsi/lpfc/lpfc_debugfs.c 	struct lpfc_hba   *phba = vport->phba;
phba             1630 drivers/scsi/lpfc/lpfc_debugfs.c 			(phba->cpucheck_on & LPFC_CHECK_NVME_IO ?
phba             1632 drivers/scsi/lpfc/lpfc_debugfs.c 	if (phba->nvmet_support) {
phba             1635 drivers/scsi/lpfc/lpfc_debugfs.c 				(phba->cpucheck_on & LPFC_CHECK_NVMET_RCV ?
phba             1642 drivers/scsi/lpfc/lpfc_debugfs.c 	for (i = 0; i < phba->cfg_hdw_queue; i++) {
phba             1643 drivers/scsi/lpfc/lpfc_debugfs.c 		qp = &phba->sli4_hba.hdwq[i];
phba             1651 drivers/scsi/lpfc/lpfc_debugfs.c 			if (phba->nvmet_support)
phba             1667 drivers/scsi/lpfc/lpfc_debugfs.c 			if (phba->nvmet_support) {
phba             1751 drivers/scsi/lpfc/lpfc_debugfs.c lpfc_debugfs_slow_ring_trc(struct lpfc_hba *phba, char *fmt,
phba             1759 drivers/scsi/lpfc/lpfc_debugfs.c 		!phba || !phba->slow_ring_trc)
phba             1762 drivers/scsi/lpfc/lpfc_debugfs.c 	index = atomic_inc_return(&phba->slow_ring_trc_cnt) &
phba             1764 drivers/scsi/lpfc/lpfc_debugfs.c 	dtp = phba->slow_ring_trc + index;
phba             1789 drivers/scsi/lpfc/lpfc_debugfs.c lpfc_debugfs_nvme_trc(struct lpfc_hba *phba, char *fmt,
phba             1796 drivers/scsi/lpfc/lpfc_debugfs.c 	if (!phba->nvmeio_trc_on || !phba->nvmeio_trc)
phba             1799 drivers/scsi/lpfc/lpfc_debugfs.c 	index = atomic_inc_return(&phba->nvmeio_trc_cnt) &
phba             1800 drivers/scsi/lpfc/lpfc_debugfs.c 		(phba->nvmeio_trc_size - 1);
phba             1801 drivers/scsi/lpfc/lpfc_debugfs.c 	dtp = phba->nvmeio_trc + index;
phba             1878 drivers/scsi/lpfc/lpfc_debugfs.c 	struct lpfc_hba *phba = inode->i_private;
phba             1902 drivers/scsi/lpfc/lpfc_debugfs.c 	debug->len = lpfc_debugfs_slow_ring_trc_data(phba, debug->buffer, size);
phba             1928 drivers/scsi/lpfc/lpfc_debugfs.c 	struct lpfc_hba *phba = inode->i_private;
phba             1943 drivers/scsi/lpfc/lpfc_debugfs.c 	debug->len = lpfc_debugfs_hbqinfo_data(phba, debug->buffer,
phba             1970 drivers/scsi/lpfc/lpfc_debugfs.c 	struct lpfc_hba *phba = inode->i_private;
phba             1986 drivers/scsi/lpfc/lpfc_debugfs.c 		phba, debug->buffer, LPFC_DUMP_MULTIXRIPOOL_SIZE);
phba             2015 drivers/scsi/lpfc/lpfc_debugfs.c 	struct lpfc_hba *phba = inode->i_private;
phba             2030 drivers/scsi/lpfc/lpfc_debugfs.c 	debug->len = lpfc_debugfs_lockstat_data(phba, debug->buffer,
phba             2044 drivers/scsi/lpfc/lpfc_debugfs.c 	struct lpfc_hba *phba = (struct lpfc_hba *)debug->i_private;
phba             2062 drivers/scsi/lpfc/lpfc_debugfs.c 		for (i = 0; i < phba->cfg_hdw_queue; i++) {
phba             2063 drivers/scsi/lpfc/lpfc_debugfs.c 			qp = &phba->sli4_hba.hdwq[i];
phba             2099 drivers/scsi/lpfc/lpfc_debugfs.c 	struct lpfc_hba *phba = inode->i_private;
phba             2114 drivers/scsi/lpfc/lpfc_debugfs.c 	debug->len = lpfc_debugfs_dumpHBASlim_data(phba, debug->buffer,
phba             2141 drivers/scsi/lpfc/lpfc_debugfs.c 	struct lpfc_hba *phba = inode->i_private;
phba             2156 drivers/scsi/lpfc/lpfc_debugfs.c 	debug->len = lpfc_debugfs_dumpHostSlim_data(phba, debug->buffer,
phba             2170 drivers/scsi/lpfc/lpfc_debugfs.c 	struct lpfc_hba *phba = file->private_data;
phba             2175 drivers/scsi/lpfc/lpfc_debugfs.c 	if (dent == phba->debug_writeGuard)
phba             2176 drivers/scsi/lpfc/lpfc_debugfs.c 		cnt = scnprintf(cbuf, 32, "%u\n", phba->lpfc_injerr_wgrd_cnt);
phba             2177 drivers/scsi/lpfc/lpfc_debugfs.c 	else if (dent == phba->debug_writeApp)
phba             2178 drivers/scsi/lpfc/lpfc_debugfs.c 		cnt = scnprintf(cbuf, 32, "%u\n", phba->lpfc_injerr_wapp_cnt);
phba             2179 drivers/scsi/lpfc/lpfc_debugfs.c 	else if (dent == phba->debug_writeRef)
phba             2180 drivers/scsi/lpfc/lpfc_debugfs.c 		cnt = scnprintf(cbuf, 32, "%u\n", phba->lpfc_injerr_wref_cnt);
phba             2181 drivers/scsi/lpfc/lpfc_debugfs.c 	else if (dent == phba->debug_readGuard)
phba             2182 drivers/scsi/lpfc/lpfc_debugfs.c 		cnt = scnprintf(cbuf, 32, "%u\n", phba->lpfc_injerr_rgrd_cnt);
phba             2183 drivers/scsi/lpfc/lpfc_debugfs.c 	else if (dent == phba->debug_readApp)
phba             2184 drivers/scsi/lpfc/lpfc_debugfs.c 		cnt = scnprintf(cbuf, 32, "%u\n", phba->lpfc_injerr_rapp_cnt);
phba             2185 drivers/scsi/lpfc/lpfc_debugfs.c 	else if (dent == phba->debug_readRef)
phba             2186 drivers/scsi/lpfc/lpfc_debugfs.c 		cnt = scnprintf(cbuf, 32, "%u\n", phba->lpfc_injerr_rref_cnt);
phba             2187 drivers/scsi/lpfc/lpfc_debugfs.c 	else if (dent == phba->debug_InjErrNPortID)
phba             2189 drivers/scsi/lpfc/lpfc_debugfs.c 				phba->lpfc_injerr_nportid);
phba             2190 drivers/scsi/lpfc/lpfc_debugfs.c 	else if (dent == phba->debug_InjErrWWPN) {
phba             2191 drivers/scsi/lpfc/lpfc_debugfs.c 		memcpy(&tmp, &phba->lpfc_injerr_wwpn, sizeof(struct lpfc_name));
phba             2194 drivers/scsi/lpfc/lpfc_debugfs.c 	} else if (dent == phba->debug_InjErrLBA) {
phba             2195 drivers/scsi/lpfc/lpfc_debugfs.c 		if (phba->lpfc_injerr_lba == (sector_t)(-1))
phba             2199 drivers/scsi/lpfc/lpfc_debugfs.c 				 (uint64_t) phba->lpfc_injerr_lba);
phba             2201 drivers/scsi/lpfc/lpfc_debugfs.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             2212 drivers/scsi/lpfc/lpfc_debugfs.c 	struct lpfc_hba *phba = file->private_data;
phba             2222 drivers/scsi/lpfc/lpfc_debugfs.c 	if (dent == phba->debug_InjErrLBA) {
phba             2230 drivers/scsi/lpfc/lpfc_debugfs.c 	if (dent == phba->debug_writeGuard)
phba             2231 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->lpfc_injerr_wgrd_cnt = (uint32_t)tmp;
phba             2232 drivers/scsi/lpfc/lpfc_debugfs.c 	else if (dent == phba->debug_writeApp)
phba             2233 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->lpfc_injerr_wapp_cnt = (uint32_t)tmp;
phba             2234 drivers/scsi/lpfc/lpfc_debugfs.c 	else if (dent == phba->debug_writeRef)
phba             2235 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->lpfc_injerr_wref_cnt = (uint32_t)tmp;
phba             2236 drivers/scsi/lpfc/lpfc_debugfs.c 	else if (dent == phba->debug_readGuard)
phba             2237 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->lpfc_injerr_rgrd_cnt = (uint32_t)tmp;
phba             2238 drivers/scsi/lpfc/lpfc_debugfs.c 	else if (dent == phba->debug_readApp)
phba             2239 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->lpfc_injerr_rapp_cnt = (uint32_t)tmp;
phba             2240 drivers/scsi/lpfc/lpfc_debugfs.c 	else if (dent == phba->debug_readRef)
phba             2241 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->lpfc_injerr_rref_cnt = (uint32_t)tmp;
phba             2242 drivers/scsi/lpfc/lpfc_debugfs.c 	else if (dent == phba->debug_InjErrLBA)
phba             2243 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->lpfc_injerr_lba = (sector_t)tmp;
phba             2244 drivers/scsi/lpfc/lpfc_debugfs.c 	else if (dent == phba->debug_InjErrNPortID)
phba             2245 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->lpfc_injerr_nportid = (uint32_t)(tmp & Mask_DID);
phba             2246 drivers/scsi/lpfc/lpfc_debugfs.c 	else if (dent == phba->debug_InjErrWWPN) {
phba             2248 drivers/scsi/lpfc/lpfc_debugfs.c 		memcpy(&phba->lpfc_injerr_wwpn, &tmp, sizeof(struct lpfc_name));
phba             2250 drivers/scsi/lpfc/lpfc_debugfs.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             2397 drivers/scsi/lpfc/lpfc_debugfs.c 	struct lpfc_hba *phba = (struct lpfc_hba *)debug->i_private;
phba             2419 drivers/scsi/lpfc/lpfc_debugfs.c 		hwq_count = phba->cfg_hdw_queue;
phba             2421 drivers/scsi/lpfc/lpfc_debugfs.c 			qp = &phba->sli4_hba.hdwq[i];
phba             2482 drivers/scsi/lpfc/lpfc_debugfs.c 	struct lpfc_hba   *phba = vport->phba;
phba             2487 drivers/scsi/lpfc/lpfc_debugfs.c 	if (!phba->targetport)
phba             2499 drivers/scsi/lpfc/lpfc_debugfs.c 	tgtp = (struct lpfc_nvmet_tgtport *)phba->targetport->private;
phba             2570 drivers/scsi/lpfc/lpfc_debugfs.c 	struct lpfc_hba *phba = vport->phba;
phba             2584 drivers/scsi/lpfc/lpfc_debugfs.c 		for (i = 0; i < phba->cfg_hdw_queue; i++) {
phba             2585 drivers/scsi/lpfc/lpfc_debugfs.c 			memset(&phba->sli4_hba.hdwq[i].scsi_cstat, 0,
phba             2586 drivers/scsi/lpfc/lpfc_debugfs.c 			       sizeof(phba->sli4_hba.hdwq[i].scsi_cstat));
phba             2628 drivers/scsi/lpfc/lpfc_debugfs.c 	struct lpfc_hba   *phba = vport->phba;
phba             2642 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_data_samples = 0;
phba             2643 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_status_samples = 0;
phba             2644 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg1_total = 0;
phba             2645 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg1_max = 0;
phba             2646 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg1_min = 0xffffffff;
phba             2647 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg2_total = 0;
phba             2648 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg2_max = 0;
phba             2649 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg2_min = 0xffffffff;
phba             2650 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg3_total = 0;
phba             2651 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg3_max = 0;
phba             2652 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg3_min = 0xffffffff;
phba             2653 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg4_total = 0;
phba             2654 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg4_max = 0;
phba             2655 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg4_min = 0xffffffff;
phba             2656 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg5_total = 0;
phba             2657 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg5_max = 0;
phba             2658 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg5_min = 0xffffffff;
phba             2659 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg6_total = 0;
phba             2660 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg6_max = 0;
phba             2661 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg6_min = 0xffffffff;
phba             2662 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg7_total = 0;
phba             2663 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg7_max = 0;
phba             2664 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg7_min = 0xffffffff;
phba             2665 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg8_total = 0;
phba             2666 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg8_max = 0;
phba             2667 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg8_min = 0xffffffff;
phba             2668 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg9_total = 0;
phba             2669 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg9_max = 0;
phba             2670 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg9_min = 0xffffffff;
phba             2671 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg10_total = 0;
phba             2672 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg10_max = 0;
phba             2673 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg10_min = 0xffffffff;
phba             2675 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_on = 1;
phba             2679 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_on = 0;
phba             2683 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_data_samples = 0;
phba             2684 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_status_samples = 0;
phba             2685 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg1_total = 0;
phba             2686 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg1_max = 0;
phba             2687 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg1_min = 0xffffffff;
phba             2688 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg2_total = 0;
phba             2689 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg2_max = 0;
phba             2690 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg2_min = 0xffffffff;
phba             2691 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg3_total = 0;
phba             2692 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg3_max = 0;
phba             2693 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg3_min = 0xffffffff;
phba             2694 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg4_total = 0;
phba             2695 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg4_max = 0;
phba             2696 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg4_min = 0xffffffff;
phba             2697 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg5_total = 0;
phba             2698 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg5_max = 0;
phba             2699 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg5_min = 0xffffffff;
phba             2700 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg6_total = 0;
phba             2701 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg6_max = 0;
phba             2702 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg6_min = 0xffffffff;
phba             2703 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg7_total = 0;
phba             2704 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg7_max = 0;
phba             2705 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg7_min = 0xffffffff;
phba             2706 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg8_total = 0;
phba             2707 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg8_max = 0;
phba             2708 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg8_min = 0xffffffff;
phba             2709 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg9_total = 0;
phba             2710 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg9_max = 0;
phba             2711 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg9_min = 0xffffffff;
phba             2712 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg10_total = 0;
phba             2713 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg10_max = 0;
phba             2714 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->ktime_seg10_min = 0xffffffff;
phba             2723 drivers/scsi/lpfc/lpfc_debugfs.c 	struct lpfc_hba *phba = inode->i_private;
phba             2738 drivers/scsi/lpfc/lpfc_debugfs.c 	debug->len = lpfc_debugfs_nvmeio_trc_data(phba, debug->buffer,
phba             2754 drivers/scsi/lpfc/lpfc_debugfs.c 	struct lpfc_hba *phba = (struct lpfc_hba *)debug->i_private;
phba             2770 drivers/scsi/lpfc/lpfc_debugfs.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             2772 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->nvmeio_trc_output_idx = 0;
phba             2773 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->nvmeio_trc_on = 0;
phba             2776 drivers/scsi/lpfc/lpfc_debugfs.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             2778 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->nvmeio_trc_output_idx = 0;
phba             2779 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->nvmeio_trc_on = 1;
phba             2784 drivers/scsi/lpfc/lpfc_debugfs.c 	if (phba->nvmeio_trc_on != 0)
phba             2791 drivers/scsi/lpfc/lpfc_debugfs.c 	phba->nvmeio_trc_size = (uint32_t)sz;
phba             2800 drivers/scsi/lpfc/lpfc_debugfs.c 	if (phba->nvmeio_trc_size != sz)
phba             2801 drivers/scsi/lpfc/lpfc_debugfs.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             2804 drivers/scsi/lpfc/lpfc_debugfs.c 	phba->nvmeio_trc_size = (uint32_t)sz;
phba             2807 drivers/scsi/lpfc/lpfc_debugfs.c 	kfree(phba->nvmeio_trc);
phba             2810 drivers/scsi/lpfc/lpfc_debugfs.c 	phba->nvmeio_trc = kzalloc((sizeof(struct lpfc_debugfs_nvmeio_trc) *
phba             2812 drivers/scsi/lpfc/lpfc_debugfs.c 	if (!phba->nvmeio_trc) {
phba             2813 drivers/scsi/lpfc/lpfc_debugfs.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             2818 drivers/scsi/lpfc/lpfc_debugfs.c 	atomic_set(&phba->nvmeio_trc_cnt, 0);
phba             2819 drivers/scsi/lpfc/lpfc_debugfs.c 	phba->nvmeio_trc_on = 0;
phba             2820 drivers/scsi/lpfc/lpfc_debugfs.c 	phba->nvmeio_trc_output_idx = 0;
phba             2860 drivers/scsi/lpfc/lpfc_debugfs.c 	struct lpfc_hba   *phba = vport->phba;
phba             2876 drivers/scsi/lpfc/lpfc_debugfs.c 		if (phba->nvmet_support)
phba             2877 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->cpucheck_on |= LPFC_CHECK_NVMET_IO;
phba             2879 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->cpucheck_on |= (LPFC_CHECK_NVME_IO |
phba             2883 drivers/scsi/lpfc/lpfc_debugfs.c 		if (phba->nvmet_support)
phba             2884 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->cpucheck_on |= LPFC_CHECK_NVMET_IO;
phba             2886 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->cpucheck_on |= LPFC_CHECK_NVME_IO;
phba             2889 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->cpucheck_on |= LPFC_CHECK_SCSI_IO;
phba             2893 drivers/scsi/lpfc/lpfc_debugfs.c 		if (phba->nvmet_support)
phba             2894 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->cpucheck_on |= LPFC_CHECK_NVMET_RCV;
phba             2900 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->cpucheck_on = LPFC_CHECK_OFF;
phba             2904 drivers/scsi/lpfc/lpfc_debugfs.c 		for (i = 0; i < phba->cfg_hdw_queue; i++) {
phba             2905 drivers/scsi/lpfc/lpfc_debugfs.c 			qp = &phba->sli4_hba.hdwq[i];
phba             3097 drivers/scsi/lpfc/lpfc_debugfs.c 	struct lpfc_hba *phba = (struct lpfc_hba *)debug->i_private;
phba             3106 drivers/scsi/lpfc/lpfc_debugfs.c 	pdev = phba->pcidev;
phba             3219 drivers/scsi/lpfc/lpfc_debugfs.c 	struct lpfc_hba *phba = (struct lpfc_hba *)debug->i_private;
phba             3227 drivers/scsi/lpfc/lpfc_debugfs.c 	pdev = phba->pcidev;
phba             3393 drivers/scsi/lpfc/lpfc_debugfs.c 	struct lpfc_hba *phba = (struct lpfc_hba *)debug->i_private;
phba             3402 drivers/scsi/lpfc/lpfc_debugfs.c 	pdev = phba->pcidev;
phba             3429 drivers/scsi/lpfc/lpfc_debugfs.c 	if_type = bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf);
phba             3432 drivers/scsi/lpfc/lpfc_debugfs.c 			mem_mapped_bar = phba->sli4_hba.conf_regs_memmap_p;
phba             3434 drivers/scsi/lpfc/lpfc_debugfs.c 			mem_mapped_bar = phba->sli4_hba.ctrl_regs_memmap_p;
phba             3436 drivers/scsi/lpfc/lpfc_debugfs.c 			mem_mapped_bar = phba->sli4_hba.drbl_regs_memmap_p;
phba             3441 drivers/scsi/lpfc/lpfc_debugfs.c 			mem_mapped_bar = phba->sli4_hba.conf_regs_memmap_p;
phba             3544 drivers/scsi/lpfc/lpfc_debugfs.c 	struct lpfc_hba *phba = (struct lpfc_hba *)debug->i_private;
phba             3552 drivers/scsi/lpfc/lpfc_debugfs.c 	pdev = phba->pcidev;
phba             3563 drivers/scsi/lpfc/lpfc_debugfs.c 	if_type = bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf);
phba             3581 drivers/scsi/lpfc/lpfc_debugfs.c 			mem_mapped_bar = phba->sli4_hba.conf_regs_memmap_p;
phba             3585 drivers/scsi/lpfc/lpfc_debugfs.c 			mem_mapped_bar = phba->sli4_hba.ctrl_regs_memmap_p;
phba             3589 drivers/scsi/lpfc/lpfc_debugfs.c 			mem_mapped_bar = phba->sli4_hba.drbl_regs_memmap_p;
phba             3596 drivers/scsi/lpfc/lpfc_debugfs.c 			mem_mapped_bar = phba->sli4_hba.conf_regs_memmap_p;
phba             3684 drivers/scsi/lpfc/lpfc_debugfs.c lpfc_idiag_wqs_for_cq(struct lpfc_hba *phba, char *wqtype, char *pbuffer,
phba             3690 drivers/scsi/lpfc/lpfc_debugfs.c 	for (qidx = 0; qidx < phba->cfg_hdw_queue; qidx++) {
phba             3691 drivers/scsi/lpfc/lpfc_debugfs.c 		qp = phba->sli4_hba.hdwq[qidx].io_wq;
phba             3757 drivers/scsi/lpfc/lpfc_debugfs.c lpfc_idiag_cqs_for_eq(struct lpfc_hba *phba, char *pbuffer,
phba             3763 drivers/scsi/lpfc/lpfc_debugfs.c 	qp = phba->sli4_hba.hdwq[eqidx].io_cq;
phba             3773 drivers/scsi/lpfc/lpfc_debugfs.c 	rc = lpfc_idiag_wqs_for_cq(phba, "IO", pbuffer, len,
phba             3778 drivers/scsi/lpfc/lpfc_debugfs.c 	if ((eqidx < phba->cfg_nvmet_mrq) && phba->nvmet_support) {
phba             3780 drivers/scsi/lpfc/lpfc_debugfs.c 		qp = phba->sli4_hba.nvmet_cqset[eqidx];
phba             3790 drivers/scsi/lpfc/lpfc_debugfs.c 		qp = phba->sli4_hba.nvmet_mrq_hdr[eqidx];
phba             3792 drivers/scsi/lpfc/lpfc_debugfs.c 				phba->sli4_hba.nvmet_mrq_data[eqidx],
phba             3849 drivers/scsi/lpfc/lpfc_debugfs.c 	struct lpfc_hba *phba = (struct lpfc_hba *)debug->i_private;
phba             3864 drivers/scsi/lpfc/lpfc_debugfs.c 	spin_lock_irq(&phba->hbalock);
phba             3867 drivers/scsi/lpfc/lpfc_debugfs.c 	if (phba->sli4_hba.hdwq && phba->cfg_hdw_queue) {
phba             3869 drivers/scsi/lpfc/lpfc_debugfs.c 		x = phba->lpfc_idiag_last_eq;
phba             3870 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->lpfc_idiag_last_eq++;
phba             3871 drivers/scsi/lpfc/lpfc_debugfs.c 		if (phba->lpfc_idiag_last_eq >= phba->cfg_hdw_queue)
phba             3872 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->lpfc_idiag_last_eq = 0;
phba             3877 drivers/scsi/lpfc/lpfc_debugfs.c 				 x, phba->cfg_hdw_queue);
phba             3880 drivers/scsi/lpfc/lpfc_debugfs.c 		qp = phba->sli4_hba.hdwq[x].hba_eq;
phba             3893 drivers/scsi/lpfc/lpfc_debugfs.c 		rc = lpfc_idiag_cqs_for_eq(phba, pbuffer, &len,
phba             3903 drivers/scsi/lpfc/lpfc_debugfs.c 		qp = phba->sli4_hba.mbx_cq;
phba             3909 drivers/scsi/lpfc/lpfc_debugfs.c 		qp = phba->sli4_hba.mbx_wq;
phba             3915 drivers/scsi/lpfc/lpfc_debugfs.c 		qp = phba->sli4_hba.els_cq;
phba             3924 drivers/scsi/lpfc/lpfc_debugfs.c 		qp = phba->sli4_hba.els_wq;
phba             3929 drivers/scsi/lpfc/lpfc_debugfs.c 		qp = phba->sli4_hba.hdr_rq;
phba             3930 drivers/scsi/lpfc/lpfc_debugfs.c 		len = __lpfc_idiag_print_rqpair(qp, phba->sli4_hba.dat_rq,
phba             3936 drivers/scsi/lpfc/lpfc_debugfs.c 		qp = phba->sli4_hba.nvmels_cq;
phba             3946 drivers/scsi/lpfc/lpfc_debugfs.c 		qp = phba->sli4_hba.nvmels_wq;
phba             3955 drivers/scsi/lpfc/lpfc_debugfs.c 	spin_unlock_irq(&phba->hbalock);
phba             3962 drivers/scsi/lpfc/lpfc_debugfs.c 	spin_unlock_irq(&phba->hbalock);
phba             4134 drivers/scsi/lpfc/lpfc_debugfs.c 	struct lpfc_hba *phba = (struct lpfc_hba *)debug->i_private;
phba             4172 drivers/scsi/lpfc/lpfc_debugfs.c 		if (phba->sli4_hba.hdwq) {
phba             4173 drivers/scsi/lpfc/lpfc_debugfs.c 			for (qidx = 0; qidx < phba->cfg_hdw_queue; qidx++) {
phba             4174 drivers/scsi/lpfc/lpfc_debugfs.c 				qp = phba->sli4_hba.hdwq[qidx].hba_eq;
phba             4190 drivers/scsi/lpfc/lpfc_debugfs.c 		if (phba->sli4_hba.mbx_cq &&
phba             4191 drivers/scsi/lpfc/lpfc_debugfs.c 		    phba->sli4_hba.mbx_cq->queue_id == queid) {
phba             4194 drivers/scsi/lpfc/lpfc_debugfs.c 					phba->sli4_hba.mbx_cq, index, count);
phba             4197 drivers/scsi/lpfc/lpfc_debugfs.c 			idiag.ptr_private = phba->sli4_hba.mbx_cq;
phba             4201 drivers/scsi/lpfc/lpfc_debugfs.c 		if (phba->sli4_hba.els_cq &&
phba             4202 drivers/scsi/lpfc/lpfc_debugfs.c 		    phba->sli4_hba.els_cq->queue_id == queid) {
phba             4205 drivers/scsi/lpfc/lpfc_debugfs.c 					phba->sli4_hba.els_cq, index, count);
phba             4208 drivers/scsi/lpfc/lpfc_debugfs.c 			idiag.ptr_private = phba->sli4_hba.els_cq;
phba             4212 drivers/scsi/lpfc/lpfc_debugfs.c 		if (phba->sli4_hba.nvmels_cq &&
phba             4213 drivers/scsi/lpfc/lpfc_debugfs.c 		    phba->sli4_hba.nvmels_cq->queue_id == queid) {
phba             4216 drivers/scsi/lpfc/lpfc_debugfs.c 					phba->sli4_hba.nvmels_cq, index, count);
phba             4219 drivers/scsi/lpfc/lpfc_debugfs.c 			idiag.ptr_private = phba->sli4_hba.nvmels_cq;
phba             4223 drivers/scsi/lpfc/lpfc_debugfs.c 		if (phba->sli4_hba.hdwq) {
phba             4224 drivers/scsi/lpfc/lpfc_debugfs.c 			for (qidx = 0; qidx < phba->cfg_hdw_queue;
phba             4226 drivers/scsi/lpfc/lpfc_debugfs.c 				qp = phba->sli4_hba.hdwq[qidx].io_cq;
phba             4242 drivers/scsi/lpfc/lpfc_debugfs.c 		if (phba->sli4_hba.mbx_wq &&
phba             4243 drivers/scsi/lpfc/lpfc_debugfs.c 		    phba->sli4_hba.mbx_wq->queue_id == queid) {
phba             4246 drivers/scsi/lpfc/lpfc_debugfs.c 					phba->sli4_hba.mbx_wq, index, count);
phba             4249 drivers/scsi/lpfc/lpfc_debugfs.c 			idiag.ptr_private = phba->sli4_hba.mbx_wq;
phba             4256 drivers/scsi/lpfc/lpfc_debugfs.c 		if (phba->sli4_hba.els_wq &&
phba             4257 drivers/scsi/lpfc/lpfc_debugfs.c 		    phba->sli4_hba.els_wq->queue_id == queid) {
phba             4260 drivers/scsi/lpfc/lpfc_debugfs.c 					phba->sli4_hba.els_wq, index, count);
phba             4263 drivers/scsi/lpfc/lpfc_debugfs.c 			idiag.ptr_private = phba->sli4_hba.els_wq;
phba             4267 drivers/scsi/lpfc/lpfc_debugfs.c 		if (phba->sli4_hba.nvmels_wq &&
phba             4268 drivers/scsi/lpfc/lpfc_debugfs.c 		    phba->sli4_hba.nvmels_wq->queue_id == queid) {
phba             4271 drivers/scsi/lpfc/lpfc_debugfs.c 					phba->sli4_hba.nvmels_wq, index, count);
phba             4274 drivers/scsi/lpfc/lpfc_debugfs.c 			idiag.ptr_private = phba->sli4_hba.nvmels_wq;
phba             4278 drivers/scsi/lpfc/lpfc_debugfs.c 		if (phba->sli4_hba.hdwq) {
phba             4280 drivers/scsi/lpfc/lpfc_debugfs.c 			for (qidx = 0; qidx < phba->cfg_hdw_queue; qidx++) {
phba             4281 drivers/scsi/lpfc/lpfc_debugfs.c 				qp = phba->sli4_hba.hdwq[qidx].io_wq;
phba             4298 drivers/scsi/lpfc/lpfc_debugfs.c 		if (phba->sli4_hba.hdr_rq &&
phba             4299 drivers/scsi/lpfc/lpfc_debugfs.c 		    phba->sli4_hba.hdr_rq->queue_id == queid) {
phba             4302 drivers/scsi/lpfc/lpfc_debugfs.c 					phba->sli4_hba.hdr_rq, index, count);
phba             4305 drivers/scsi/lpfc/lpfc_debugfs.c 			idiag.ptr_private = phba->sli4_hba.hdr_rq;
phba             4309 drivers/scsi/lpfc/lpfc_debugfs.c 		if (phba->sli4_hba.dat_rq &&
phba             4310 drivers/scsi/lpfc/lpfc_debugfs.c 		    phba->sli4_hba.dat_rq->queue_id == queid) {
phba             4313 drivers/scsi/lpfc/lpfc_debugfs.c 					phba->sli4_hba.dat_rq, index, count);
phba             4316 drivers/scsi/lpfc/lpfc_debugfs.c 			idiag.ptr_private = phba->sli4_hba.dat_rq;
phba             4372 drivers/scsi/lpfc/lpfc_debugfs.c lpfc_idiag_drbacc_read_reg(struct lpfc_hba *phba, char *pbuffer,
phba             4383 drivers/scsi/lpfc/lpfc_debugfs.c 				readl(phba->sli4_hba.EQDBregaddr));
phba             4388 drivers/scsi/lpfc/lpfc_debugfs.c 				readl(phba->sli4_hba.CQDBregaddr));
phba             4393 drivers/scsi/lpfc/lpfc_debugfs.c 				readl(phba->sli4_hba.MQDBregaddr));
phba             4398 drivers/scsi/lpfc/lpfc_debugfs.c 				readl(phba->sli4_hba.WQDBregaddr));
phba             4403 drivers/scsi/lpfc/lpfc_debugfs.c 				readl(phba->sli4_hba.RQDBregaddr));
phba             4434 drivers/scsi/lpfc/lpfc_debugfs.c 	struct lpfc_hba *phba = (struct lpfc_hba *)debug->i_private;
phba             4458 drivers/scsi/lpfc/lpfc_debugfs.c 			len = lpfc_idiag_drbacc_read_reg(phba,
phba             4461 drivers/scsi/lpfc/lpfc_debugfs.c 		len = lpfc_idiag_drbacc_read_reg(phba,
phba             4490 drivers/scsi/lpfc/lpfc_debugfs.c 	struct lpfc_hba *phba = (struct lpfc_hba *)debug->i_private;
phba             4528 drivers/scsi/lpfc/lpfc_debugfs.c 			drb_reg = phba->sli4_hba.EQDBregaddr;
phba             4531 drivers/scsi/lpfc/lpfc_debugfs.c 			drb_reg = phba->sli4_hba.CQDBregaddr;
phba             4534 drivers/scsi/lpfc/lpfc_debugfs.c 			drb_reg = phba->sli4_hba.MQDBregaddr;
phba             4537 drivers/scsi/lpfc/lpfc_debugfs.c 			drb_reg = phba->sli4_hba.WQDBregaddr;
phba             4540 drivers/scsi/lpfc/lpfc_debugfs.c 			drb_reg = phba->sli4_hba.RQDBregaddr;
phba             4582 drivers/scsi/lpfc/lpfc_debugfs.c lpfc_idiag_ctlacc_read_reg(struct lpfc_hba *phba, char *pbuffer,
phba             4593 drivers/scsi/lpfc/lpfc_debugfs.c 				readl(phba->sli4_hba.conf_regs_memmap_p +
phba             4599 drivers/scsi/lpfc/lpfc_debugfs.c 				readl(phba->sli4_hba.conf_regs_memmap_p +
phba             4605 drivers/scsi/lpfc/lpfc_debugfs.c 				readl(phba->sli4_hba.conf_regs_memmap_p +
phba             4611 drivers/scsi/lpfc/lpfc_debugfs.c 				readl(phba->sli4_hba.conf_regs_memmap_p +
phba             4617 drivers/scsi/lpfc/lpfc_debugfs.c 				readl(phba->sli4_hba.conf_regs_memmap_p +
phba             4623 drivers/scsi/lpfc/lpfc_debugfs.c 				readl(phba->sli4_hba.conf_regs_memmap_p +
phba             4652 drivers/scsi/lpfc/lpfc_debugfs.c 	struct lpfc_hba *phba = (struct lpfc_hba *)debug->i_private;
phba             4676 drivers/scsi/lpfc/lpfc_debugfs.c 			len = lpfc_idiag_ctlacc_read_reg(phba,
phba             4679 drivers/scsi/lpfc/lpfc_debugfs.c 		len = lpfc_idiag_ctlacc_read_reg(phba,
phba             4705 drivers/scsi/lpfc/lpfc_debugfs.c 	struct lpfc_hba *phba = (struct lpfc_hba *)debug->i_private;
phba             4743 drivers/scsi/lpfc/lpfc_debugfs.c 			ctl_reg = phba->sli4_hba.conf_regs_memmap_p +
phba             4747 drivers/scsi/lpfc/lpfc_debugfs.c 			ctl_reg = phba->sli4_hba.conf_regs_memmap_p +
phba             4751 drivers/scsi/lpfc/lpfc_debugfs.c 			ctl_reg = phba->sli4_hba.conf_regs_memmap_p +
phba             4755 drivers/scsi/lpfc/lpfc_debugfs.c 			ctl_reg = phba->sli4_hba.conf_regs_memmap_p +
phba             4759 drivers/scsi/lpfc/lpfc_debugfs.c 			ctl_reg = phba->sli4_hba.conf_regs_memmap_p +
phba             4763 drivers/scsi/lpfc/lpfc_debugfs.c 			ctl_reg = phba->sli4_hba.conf_regs_memmap_p +
phba             4804 drivers/scsi/lpfc/lpfc_debugfs.c lpfc_idiag_mbxacc_get_setup(struct lpfc_hba *phba, char *pbuffer)
phba             4846 drivers/scsi/lpfc/lpfc_debugfs.c 	struct lpfc_hba *phba = (struct lpfc_hba *)debug->i_private;
phba             4866 drivers/scsi/lpfc/lpfc_debugfs.c 	len = lpfc_idiag_mbxacc_get_setup(phba, pbuffer);
phba             4965 drivers/scsi/lpfc/lpfc_debugfs.c lpfc_idiag_extacc_avail_get(struct lpfc_hba *phba, char *pbuffer, int len)
phba             4974 drivers/scsi/lpfc/lpfc_debugfs.c 	lpfc_sli4_get_avail_extnt_rsrc(phba, LPFC_RSC_TYPE_FCOE_VPI,
phba             4981 drivers/scsi/lpfc/lpfc_debugfs.c 	lpfc_sli4_get_avail_extnt_rsrc(phba, LPFC_RSC_TYPE_FCOE_VFI,
phba             4988 drivers/scsi/lpfc/lpfc_debugfs.c 	lpfc_sli4_get_avail_extnt_rsrc(phba, LPFC_RSC_TYPE_FCOE_RPI,
phba             4995 drivers/scsi/lpfc/lpfc_debugfs.c 	lpfc_sli4_get_avail_extnt_rsrc(phba, LPFC_RSC_TYPE_FCOE_XRI,
phba             5016 drivers/scsi/lpfc/lpfc_debugfs.c lpfc_idiag_extacc_alloc_get(struct lpfc_hba *phba, char *pbuffer, int len)
phba             5026 drivers/scsi/lpfc/lpfc_debugfs.c 	rc = lpfc_sli4_get_allocated_extnts(phba, LPFC_RSC_TYPE_FCOE_VPI,
phba             5031 drivers/scsi/lpfc/lpfc_debugfs.c 				phba->brd_no, ext_cnt, ext_size);
phba             5038 drivers/scsi/lpfc/lpfc_debugfs.c 	rc = lpfc_sli4_get_allocated_extnts(phba, LPFC_RSC_TYPE_FCOE_VFI,
phba             5043 drivers/scsi/lpfc/lpfc_debugfs.c 				phba->brd_no, ext_cnt, ext_size);
phba             5050 drivers/scsi/lpfc/lpfc_debugfs.c 	rc = lpfc_sli4_get_allocated_extnts(phba, LPFC_RSC_TYPE_FCOE_RPI,
phba             5055 drivers/scsi/lpfc/lpfc_debugfs.c 				phba->brd_no, ext_cnt, ext_size);
phba             5062 drivers/scsi/lpfc/lpfc_debugfs.c 	rc = lpfc_sli4_get_allocated_extnts(phba, LPFC_RSC_TYPE_FCOE_XRI,
phba             5067 drivers/scsi/lpfc/lpfc_debugfs.c 				phba->brd_no, ext_cnt, ext_size);
phba             5088 drivers/scsi/lpfc/lpfc_debugfs.c lpfc_idiag_extacc_drivr_get(struct lpfc_hba *phba, char *pbuffer, int len)
phba             5099 drivers/scsi/lpfc/lpfc_debugfs.c 	list_for_each_entry(rsrc_blks, &phba->lpfc_vpi_blk_list, list) {
phba             5109 drivers/scsi/lpfc/lpfc_debugfs.c 	list_for_each_entry(rsrc_blks, &phba->sli4_hba.lpfc_vfi_blk_list,
phba             5121 drivers/scsi/lpfc/lpfc_debugfs.c 	list_for_each_entry(rsrc_blks, &phba->sli4_hba.lpfc_rpi_blk_list,
phba             5133 drivers/scsi/lpfc/lpfc_debugfs.c 	list_for_each_entry(rsrc_blks, &phba->sli4_hba.lpfc_xri_blk_list,
phba             5211 drivers/scsi/lpfc/lpfc_debugfs.c 	struct lpfc_hba *phba = (struct lpfc_hba *)debug->i_private;
phba             5231 drivers/scsi/lpfc/lpfc_debugfs.c 		len = lpfc_idiag_extacc_avail_get(phba, pbuffer, len);
phba             5233 drivers/scsi/lpfc/lpfc_debugfs.c 		len = lpfc_idiag_extacc_alloc_get(phba, pbuffer, len);
phba             5235 drivers/scsi/lpfc/lpfc_debugfs.c 		len = lpfc_idiag_extacc_drivr_get(phba, pbuffer, len);
phba             5471 drivers/scsi/lpfc/lpfc_debugfs.c lpfc_idiag_mbxacc_dump_bsg_mbox(struct lpfc_hba *phba, enum nemb_type nemb_tp,
phba             5570 drivers/scsi/lpfc/lpfc_debugfs.c lpfc_idiag_mbxacc_dump_issue_mbox(struct lpfc_hba *phba, MAILBOX_t *pmbox)
phba             5672 drivers/scsi/lpfc/lpfc_debugfs.c 	struct lpfc_hba   *phba = vport->phba;
phba             5689 drivers/scsi/lpfc/lpfc_debugfs.c 	snprintf(name, sizeof(name), "fn%d", phba->brd_no);
phba             5690 drivers/scsi/lpfc/lpfc_debugfs.c 	if (!phba->hba_debugfs_root) {
phba             5692 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->hba_debugfs_root =
phba             5695 drivers/scsi/lpfc/lpfc_debugfs.c 		atomic_set(&phba->debugfs_vport_count, 0);
phba             5699 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->debug_multixri_pools =
phba             5701 drivers/scsi/lpfc/lpfc_debugfs.c 					    phba->hba_debugfs_root,
phba             5702 drivers/scsi/lpfc/lpfc_debugfs.c 					    phba,
phba             5704 drivers/scsi/lpfc/lpfc_debugfs.c 		if (!phba->debug_multixri_pools) {
phba             5712 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->debug_hbqinfo =
phba             5714 drivers/scsi/lpfc/lpfc_debugfs.c 					    phba->hba_debugfs_root,
phba             5715 drivers/scsi/lpfc/lpfc_debugfs.c 					    phba, &lpfc_debugfs_op_hbqinfo);
phba             5720 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->debug_lockstat =
phba             5722 drivers/scsi/lpfc/lpfc_debugfs.c 					    phba->hba_debugfs_root,
phba             5723 drivers/scsi/lpfc/lpfc_debugfs.c 					    phba, &lpfc_debugfs_op_lockstat);
phba             5724 drivers/scsi/lpfc/lpfc_debugfs.c 		if (!phba->debug_lockstat) {
phba             5732 drivers/scsi/lpfc/lpfc_debugfs.c 		if (phba->sli_rev < LPFC_SLI_REV4) {
phba             5734 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->debug_dumpHBASlim =
phba             5737 drivers/scsi/lpfc/lpfc_debugfs.c 					phba->hba_debugfs_root,
phba             5738 drivers/scsi/lpfc/lpfc_debugfs.c 					phba, &lpfc_debugfs_op_dumpHBASlim);
phba             5740 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->debug_dumpHBASlim = NULL;
phba             5743 drivers/scsi/lpfc/lpfc_debugfs.c 		if (phba->sli_rev < LPFC_SLI_REV4) {
phba             5745 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->debug_dumpHostSlim =
phba             5748 drivers/scsi/lpfc/lpfc_debugfs.c 					phba->hba_debugfs_root,
phba             5749 drivers/scsi/lpfc/lpfc_debugfs.c 					phba, &lpfc_debugfs_op_dumpHostSlim);
phba             5751 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->debug_dumpHostSlim = NULL;
phba             5755 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->debug_InjErrLBA =
phba             5757 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->hba_debugfs_root,
phba             5758 drivers/scsi/lpfc/lpfc_debugfs.c 			phba, &lpfc_debugfs_op_dif_err);
phba             5759 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->lpfc_injerr_lba = LPFC_INJERR_LBA_OFF;
phba             5762 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->debug_InjErrNPortID =
phba             5764 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->hba_debugfs_root,
phba             5765 drivers/scsi/lpfc/lpfc_debugfs.c 			phba, &lpfc_debugfs_op_dif_err);
phba             5768 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->debug_InjErrWWPN =
phba             5770 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->hba_debugfs_root,
phba             5771 drivers/scsi/lpfc/lpfc_debugfs.c 			phba, &lpfc_debugfs_op_dif_err);
phba             5774 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->debug_writeGuard =
phba             5776 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->hba_debugfs_root,
phba             5777 drivers/scsi/lpfc/lpfc_debugfs.c 			phba, &lpfc_debugfs_op_dif_err);
phba             5780 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->debug_writeApp =
phba             5782 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->hba_debugfs_root,
phba             5783 drivers/scsi/lpfc/lpfc_debugfs.c 			phba, &lpfc_debugfs_op_dif_err);
phba             5786 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->debug_writeRef =
phba             5788 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->hba_debugfs_root,
phba             5789 drivers/scsi/lpfc/lpfc_debugfs.c 			phba, &lpfc_debugfs_op_dif_err);
phba             5792 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->debug_readGuard =
phba             5794 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->hba_debugfs_root,
phba             5795 drivers/scsi/lpfc/lpfc_debugfs.c 			phba, &lpfc_debugfs_op_dif_err);
phba             5798 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->debug_readApp =
phba             5800 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->hba_debugfs_root,
phba             5801 drivers/scsi/lpfc/lpfc_debugfs.c 			phba, &lpfc_debugfs_op_dif_err);
phba             5804 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->debug_readRef =
phba             5806 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->hba_debugfs_root,
phba             5807 drivers/scsi/lpfc/lpfc_debugfs.c 			phba, &lpfc_debugfs_op_dif_err);
phba             5827 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->debug_slow_ring_trc =
phba             5829 drivers/scsi/lpfc/lpfc_debugfs.c 				 phba->hba_debugfs_root,
phba             5830 drivers/scsi/lpfc/lpfc_debugfs.c 				 phba, &lpfc_debugfs_op_slow_ring_trc);
phba             5831 drivers/scsi/lpfc/lpfc_debugfs.c 		if (!phba->slow_ring_trc) {
phba             5832 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->slow_ring_trc = kmalloc(
phba             5836 drivers/scsi/lpfc/lpfc_debugfs.c 			if (!phba->slow_ring_trc) {
phba             5842 drivers/scsi/lpfc/lpfc_debugfs.c 			atomic_set(&phba->slow_ring_trc_cnt, 0);
phba             5843 drivers/scsi/lpfc/lpfc_debugfs.c 			memset(phba->slow_ring_trc, 0,
phba             5849 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->debug_nvmeio_trc =
phba             5851 drivers/scsi/lpfc/lpfc_debugfs.c 					    phba->hba_debugfs_root,
phba             5852 drivers/scsi/lpfc/lpfc_debugfs.c 					    phba, &lpfc_debugfs_op_nvmeio_trc);
phba             5854 drivers/scsi/lpfc/lpfc_debugfs.c 		atomic_set(&phba->nvmeio_trc_cnt, 0);
phba             5866 drivers/scsi/lpfc/lpfc_debugfs.c 				lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             5871 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->nvmeio_trc_size = lpfc_debugfs_max_nvmeio_trc;
phba             5874 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->nvmeio_trc = kzalloc(
phba             5876 drivers/scsi/lpfc/lpfc_debugfs.c 				phba->nvmeio_trc_size), GFP_KERNEL);
phba             5878 drivers/scsi/lpfc/lpfc_debugfs.c 			if (!phba->nvmeio_trc) {
phba             5879 drivers/scsi/lpfc/lpfc_debugfs.c 				lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             5884 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->nvmeio_trc_on = 1;
phba             5885 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->nvmeio_trc_output_idx = 0;
phba             5886 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->nvmeio_trc = NULL;
phba             5889 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->nvmeio_trc_size = 0;
phba             5890 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->nvmeio_trc_on = 0;
phba             5891 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->nvmeio_trc_output_idx = 0;
phba             5892 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->nvmeio_trc = NULL;
phba             5899 drivers/scsi/lpfc/lpfc_debugfs.c 			debugfs_create_dir(name, phba->hba_debugfs_root);
phba             5900 drivers/scsi/lpfc/lpfc_debugfs.c 		atomic_inc(&phba->debugfs_vport_count);
phba             5982 drivers/scsi/lpfc/lpfc_debugfs.c 	if (phba->sli_rev < LPFC_SLI_REV4)
phba             5986 drivers/scsi/lpfc/lpfc_debugfs.c 	if (!phba->idiag_root) {
phba             5987 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->idiag_root =
phba             5988 drivers/scsi/lpfc/lpfc_debugfs.c 			debugfs_create_dir(name, phba->hba_debugfs_root);
phba             5995 drivers/scsi/lpfc/lpfc_debugfs.c 	if (!phba->idiag_pci_cfg) {
phba             5996 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->idiag_pci_cfg =
phba             5998 drivers/scsi/lpfc/lpfc_debugfs.c 				phba->idiag_root, phba, &lpfc_idiag_op_pciCfg);
phba             6004 drivers/scsi/lpfc/lpfc_debugfs.c 	if (!phba->idiag_bar_acc) {
phba             6005 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->idiag_bar_acc =
phba             6007 drivers/scsi/lpfc/lpfc_debugfs.c 				phba->idiag_root, phba, &lpfc_idiag_op_barAcc);
phba             6013 drivers/scsi/lpfc/lpfc_debugfs.c 	if (!phba->idiag_que_info) {
phba             6014 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->idiag_que_info =
phba             6016 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->idiag_root, phba, &lpfc_idiag_op_queInfo);
phba             6021 drivers/scsi/lpfc/lpfc_debugfs.c 	if (!phba->idiag_que_acc) {
phba             6022 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->idiag_que_acc =
phba             6024 drivers/scsi/lpfc/lpfc_debugfs.c 				phba->idiag_root, phba, &lpfc_idiag_op_queAcc);
phba             6029 drivers/scsi/lpfc/lpfc_debugfs.c 	if (!phba->idiag_drb_acc) {
phba             6030 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->idiag_drb_acc =
phba             6032 drivers/scsi/lpfc/lpfc_debugfs.c 				phba->idiag_root, phba, &lpfc_idiag_op_drbAcc);
phba             6037 drivers/scsi/lpfc/lpfc_debugfs.c 	if (!phba->idiag_ctl_acc) {
phba             6038 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->idiag_ctl_acc =
phba             6040 drivers/scsi/lpfc/lpfc_debugfs.c 				phba->idiag_root, phba, &lpfc_idiag_op_ctlAcc);
phba             6045 drivers/scsi/lpfc/lpfc_debugfs.c 	if (!phba->idiag_mbx_acc) {
phba             6046 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->idiag_mbx_acc =
phba             6048 drivers/scsi/lpfc/lpfc_debugfs.c 				phba->idiag_root, phba, &lpfc_idiag_op_mbxAcc);
phba             6052 drivers/scsi/lpfc/lpfc_debugfs.c 	if (phba->sli4_hba.extents_in_use) {
phba             6054 drivers/scsi/lpfc/lpfc_debugfs.c 		if (!phba->idiag_ext_acc) {
phba             6055 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->idiag_ext_acc =
phba             6058 drivers/scsi/lpfc/lpfc_debugfs.c 						    phba->idiag_root, phba,
phba             6083 drivers/scsi/lpfc/lpfc_debugfs.c 	struct lpfc_hba   *phba = vport->phba;
phba             6109 drivers/scsi/lpfc/lpfc_debugfs.c 		atomic_dec(&phba->debugfs_vport_count);
phba             6112 drivers/scsi/lpfc/lpfc_debugfs.c 	if (atomic_read(&phba->debugfs_vport_count) == 0) {
phba             6114 drivers/scsi/lpfc/lpfc_debugfs.c 		debugfs_remove(phba->debug_multixri_pools); /* multixripools*/
phba             6115 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->debug_multixri_pools = NULL;
phba             6117 drivers/scsi/lpfc/lpfc_debugfs.c 		debugfs_remove(phba->debug_hbqinfo); /* hbqinfo */
phba             6118 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->debug_hbqinfo = NULL;
phba             6121 drivers/scsi/lpfc/lpfc_debugfs.c 		debugfs_remove(phba->debug_lockstat); /* lockstat */
phba             6122 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->debug_lockstat = NULL;
phba             6124 drivers/scsi/lpfc/lpfc_debugfs.c 		debugfs_remove(phba->debug_dumpHBASlim); /* HBASlim */
phba             6125 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->debug_dumpHBASlim = NULL;
phba             6127 drivers/scsi/lpfc/lpfc_debugfs.c 		debugfs_remove(phba->debug_dumpHostSlim); /* HostSlim */
phba             6128 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->debug_dumpHostSlim = NULL;
phba             6130 drivers/scsi/lpfc/lpfc_debugfs.c 		debugfs_remove(phba->debug_InjErrLBA); /* InjErrLBA */
phba             6131 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->debug_InjErrLBA = NULL;
phba             6133 drivers/scsi/lpfc/lpfc_debugfs.c 		debugfs_remove(phba->debug_InjErrNPortID);
phba             6134 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->debug_InjErrNPortID = NULL;
phba             6136 drivers/scsi/lpfc/lpfc_debugfs.c 		debugfs_remove(phba->debug_InjErrWWPN); /* InjErrWWPN */
phba             6137 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->debug_InjErrWWPN = NULL;
phba             6139 drivers/scsi/lpfc/lpfc_debugfs.c 		debugfs_remove(phba->debug_writeGuard); /* writeGuard */
phba             6140 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->debug_writeGuard = NULL;
phba             6142 drivers/scsi/lpfc/lpfc_debugfs.c 		debugfs_remove(phba->debug_writeApp); /* writeApp */
phba             6143 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->debug_writeApp = NULL;
phba             6145 drivers/scsi/lpfc/lpfc_debugfs.c 		debugfs_remove(phba->debug_writeRef); /* writeRef */
phba             6146 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->debug_writeRef = NULL;
phba             6148 drivers/scsi/lpfc/lpfc_debugfs.c 		debugfs_remove(phba->debug_readGuard); /* readGuard */
phba             6149 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->debug_readGuard = NULL;
phba             6151 drivers/scsi/lpfc/lpfc_debugfs.c 		debugfs_remove(phba->debug_readApp); /* readApp */
phba             6152 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->debug_readApp = NULL;
phba             6154 drivers/scsi/lpfc/lpfc_debugfs.c 		debugfs_remove(phba->debug_readRef); /* readRef */
phba             6155 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->debug_readRef = NULL;
phba             6157 drivers/scsi/lpfc/lpfc_debugfs.c 		kfree(phba->slow_ring_trc);
phba             6158 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->slow_ring_trc = NULL;
phba             6161 drivers/scsi/lpfc/lpfc_debugfs.c 		debugfs_remove(phba->debug_slow_ring_trc);
phba             6162 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->debug_slow_ring_trc = NULL;
phba             6164 drivers/scsi/lpfc/lpfc_debugfs.c 		debugfs_remove(phba->debug_nvmeio_trc);
phba             6165 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->debug_nvmeio_trc = NULL;
phba             6167 drivers/scsi/lpfc/lpfc_debugfs.c 		kfree(phba->nvmeio_trc);
phba             6168 drivers/scsi/lpfc/lpfc_debugfs.c 		phba->nvmeio_trc = NULL;
phba             6173 drivers/scsi/lpfc/lpfc_debugfs.c 		if (phba->sli_rev == LPFC_SLI_REV4) {
phba             6175 drivers/scsi/lpfc/lpfc_debugfs.c 			debugfs_remove(phba->idiag_ext_acc);
phba             6176 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->idiag_ext_acc = NULL;
phba             6179 drivers/scsi/lpfc/lpfc_debugfs.c 			debugfs_remove(phba->idiag_mbx_acc);
phba             6180 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->idiag_mbx_acc = NULL;
phba             6183 drivers/scsi/lpfc/lpfc_debugfs.c 			debugfs_remove(phba->idiag_ctl_acc);
phba             6184 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->idiag_ctl_acc = NULL;
phba             6187 drivers/scsi/lpfc/lpfc_debugfs.c 			debugfs_remove(phba->idiag_drb_acc);
phba             6188 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->idiag_drb_acc = NULL;
phba             6191 drivers/scsi/lpfc/lpfc_debugfs.c 			debugfs_remove(phba->idiag_que_acc);
phba             6192 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->idiag_que_acc = NULL;
phba             6195 drivers/scsi/lpfc/lpfc_debugfs.c 			debugfs_remove(phba->idiag_que_info);
phba             6196 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->idiag_que_info = NULL;
phba             6199 drivers/scsi/lpfc/lpfc_debugfs.c 			debugfs_remove(phba->idiag_bar_acc);
phba             6200 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->idiag_bar_acc = NULL;
phba             6203 drivers/scsi/lpfc/lpfc_debugfs.c 			debugfs_remove(phba->idiag_pci_cfg);
phba             6204 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->idiag_pci_cfg = NULL;
phba             6207 drivers/scsi/lpfc/lpfc_debugfs.c 			debugfs_remove(phba->idiag_root);
phba             6208 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->idiag_root = NULL;
phba             6211 drivers/scsi/lpfc/lpfc_debugfs.c 		if (phba->hba_debugfs_root) {
phba             6212 drivers/scsi/lpfc/lpfc_debugfs.c 			debugfs_remove(phba->hba_debugfs_root); /* fnX */
phba             6213 drivers/scsi/lpfc/lpfc_debugfs.c 			phba->hba_debugfs_root = NULL;
phba             6239 drivers/scsi/lpfc/lpfc_debugfs.c lpfc_debug_dump_all_queues(struct lpfc_hba *phba)
phba             6246 drivers/scsi/lpfc/lpfc_debugfs.c 	lpfc_debug_dump_wq(phba, DUMP_MBX, 0);
phba             6247 drivers/scsi/lpfc/lpfc_debugfs.c 	lpfc_debug_dump_wq(phba, DUMP_ELS, 0);
phba             6248 drivers/scsi/lpfc/lpfc_debugfs.c 	lpfc_debug_dump_wq(phba, DUMP_NVMELS, 0);
phba             6250 drivers/scsi/lpfc/lpfc_debugfs.c 	for (idx = 0; idx < phba->cfg_hdw_queue; idx++)
phba             6251 drivers/scsi/lpfc/lpfc_debugfs.c 		lpfc_debug_dump_wq(phba, DUMP_IO, idx);
phba             6253 drivers/scsi/lpfc/lpfc_debugfs.c 	lpfc_debug_dump_hdr_rq(phba);
phba             6254 drivers/scsi/lpfc/lpfc_debugfs.c 	lpfc_debug_dump_dat_rq(phba);
phba             6258 drivers/scsi/lpfc/lpfc_debugfs.c 	lpfc_debug_dump_cq(phba, DUMP_MBX, 0);
phba             6259 drivers/scsi/lpfc/lpfc_debugfs.c 	lpfc_debug_dump_cq(phba, DUMP_ELS, 0);
phba             6260 drivers/scsi/lpfc/lpfc_debugfs.c 	lpfc_debug_dump_cq(phba, DUMP_NVMELS, 0);
phba             6262 drivers/scsi/lpfc/lpfc_debugfs.c 	for (idx = 0; idx < phba->cfg_hdw_queue; idx++)
phba             6263 drivers/scsi/lpfc/lpfc_debugfs.c 		lpfc_debug_dump_cq(phba, DUMP_IO, idx);
phba             6268 drivers/scsi/lpfc/lpfc_debugfs.c 	for (idx = 0; idx < phba->cfg_hdw_queue; idx++)
phba             6269 drivers/scsi/lpfc/lpfc_debugfs.c 		lpfc_debug_dump_hba_eq(phba, idx);
phba              205 drivers/scsi/lpfc/lpfc_debugfs.h #define lpfc_nvmeio_data(phba, fmt, arg...) \
phba              207 drivers/scsi/lpfc/lpfc_debugfs.h 	if (phba->nvmeio_trc_on) \
phba              208 drivers/scsi/lpfc/lpfc_debugfs.h 		lpfc_debugfs_nvme_trc(phba, fmt, ##arg); \
phba              285 drivers/scsi/lpfc/lpfc_debugfs.h #define lpfc_nvmeio_data(phba, fmt, arg...) \
phba              389 drivers/scsi/lpfc/lpfc_debugfs.h 	dev_printk(KERN_ERR, &(((q->phba))->pcidev)->dev,
phba              393 drivers/scsi/lpfc/lpfc_debugfs.h 		(q->phba)->brd_no,
phba              412 drivers/scsi/lpfc/lpfc_debugfs.h lpfc_debug_dump_wq(struct lpfc_hba *phba, int qtype, int wqidx)
phba              418 drivers/scsi/lpfc/lpfc_debugfs.h 		wq = phba->sli4_hba.hdwq[wqidx].io_wq;
phba              421 drivers/scsi/lpfc/lpfc_debugfs.h 		wq = phba->sli4_hba.mbx_wq;
phba              424 drivers/scsi/lpfc/lpfc_debugfs.h 		wq = phba->sli4_hba.els_wq;
phba              427 drivers/scsi/lpfc/lpfc_debugfs.h 		wq = phba->sli4_hba.nvmels_wq;
phba              452 drivers/scsi/lpfc/lpfc_debugfs.h lpfc_debug_dump_cq(struct lpfc_hba *phba, int qtype, int wqidx)
phba              462 drivers/scsi/lpfc/lpfc_debugfs.h 		wq = phba->sli4_hba.hdwq[wqidx].io_wq;
phba              463 drivers/scsi/lpfc/lpfc_debugfs.h 		cq = phba->sli4_hba.hdwq[wqidx].io_cq;
phba              466 drivers/scsi/lpfc/lpfc_debugfs.h 		wq = phba->sli4_hba.mbx_wq;
phba              467 drivers/scsi/lpfc/lpfc_debugfs.h 		cq = phba->sli4_hba.mbx_cq;
phba              470 drivers/scsi/lpfc/lpfc_debugfs.h 		wq = phba->sli4_hba.els_wq;
phba              471 drivers/scsi/lpfc/lpfc_debugfs.h 		cq = phba->sli4_hba.els_cq;
phba              474 drivers/scsi/lpfc/lpfc_debugfs.h 		wq = phba->sli4_hba.nvmels_wq;
phba              475 drivers/scsi/lpfc/lpfc_debugfs.h 		cq = phba->sli4_hba.nvmels_cq;
phba              480 drivers/scsi/lpfc/lpfc_debugfs.h 	for (eqidx = 0; eqidx < phba->cfg_hdw_queue; eqidx++) {
phba              481 drivers/scsi/lpfc/lpfc_debugfs.h 		eq = phba->sli4_hba.hdwq[eqidx].hba_eq;
phba              485 drivers/scsi/lpfc/lpfc_debugfs.h 	if (eqidx == phba->cfg_hdw_queue) {
phba              488 drivers/scsi/lpfc/lpfc_debugfs.h 		eq = phba->sli4_hba.hdwq[0].hba_eq;
phba              514 drivers/scsi/lpfc/lpfc_debugfs.h lpfc_debug_dump_hba_eq(struct lpfc_hba *phba, int qidx)
phba              518 drivers/scsi/lpfc/lpfc_debugfs.h 	qp = phba->sli4_hba.hdwq[qidx].hba_eq;
phba              532 drivers/scsi/lpfc/lpfc_debugfs.h lpfc_debug_dump_dat_rq(struct lpfc_hba *phba)
phba              535 drivers/scsi/lpfc/lpfc_debugfs.h 		phba->sli4_hba.dat_rq->queue_id);
phba              536 drivers/scsi/lpfc/lpfc_debugfs.h 	lpfc_debug_dump_q(phba->sli4_hba.dat_rq);
phba              546 drivers/scsi/lpfc/lpfc_debugfs.h lpfc_debug_dump_hdr_rq(struct lpfc_hba *phba)
phba              549 drivers/scsi/lpfc/lpfc_debugfs.h 		phba->sli4_hba.hdr_rq->queue_id);
phba              550 drivers/scsi/lpfc/lpfc_debugfs.h 	lpfc_debug_dump_q(phba->sli4_hba.hdr_rq);
phba              562 drivers/scsi/lpfc/lpfc_debugfs.h lpfc_debug_dump_wq_by_id(struct lpfc_hba *phba, int qid)
phba              566 drivers/scsi/lpfc/lpfc_debugfs.h 	for (wq_idx = 0; wq_idx < phba->cfg_hdw_queue; wq_idx++)
phba              567 drivers/scsi/lpfc/lpfc_debugfs.h 		if (phba->sli4_hba.hdwq[wq_idx].io_wq->queue_id == qid)
phba              569 drivers/scsi/lpfc/lpfc_debugfs.h 	if (wq_idx < phba->cfg_hdw_queue) {
phba              571 drivers/scsi/lpfc/lpfc_debugfs.h 		lpfc_debug_dump_q(phba->sli4_hba.hdwq[wq_idx].io_wq);
phba              575 drivers/scsi/lpfc/lpfc_debugfs.h 	if (phba->sli4_hba.els_wq->queue_id == qid) {
phba              577 drivers/scsi/lpfc/lpfc_debugfs.h 		lpfc_debug_dump_q(phba->sli4_hba.els_wq);
phba              581 drivers/scsi/lpfc/lpfc_debugfs.h 	if (phba->sli4_hba.nvmels_wq->queue_id == qid) {
phba              583 drivers/scsi/lpfc/lpfc_debugfs.h 		lpfc_debug_dump_q(phba->sli4_hba.nvmels_wq);
phba              596 drivers/scsi/lpfc/lpfc_debugfs.h lpfc_debug_dump_mq_by_id(struct lpfc_hba *phba, int qid)
phba              598 drivers/scsi/lpfc/lpfc_debugfs.h 	if (phba->sli4_hba.mbx_wq->queue_id == qid) {
phba              600 drivers/scsi/lpfc/lpfc_debugfs.h 		lpfc_debug_dump_q(phba->sli4_hba.mbx_wq);
phba              613 drivers/scsi/lpfc/lpfc_debugfs.h lpfc_debug_dump_rq_by_id(struct lpfc_hba *phba, int qid)
phba              615 drivers/scsi/lpfc/lpfc_debugfs.h 	if (phba->sli4_hba.hdr_rq->queue_id == qid) {
phba              617 drivers/scsi/lpfc/lpfc_debugfs.h 		lpfc_debug_dump_q(phba->sli4_hba.hdr_rq);
phba              620 drivers/scsi/lpfc/lpfc_debugfs.h 	if (phba->sli4_hba.dat_rq->queue_id == qid) {
phba              622 drivers/scsi/lpfc/lpfc_debugfs.h 		lpfc_debug_dump_q(phba->sli4_hba.dat_rq);
phba              635 drivers/scsi/lpfc/lpfc_debugfs.h lpfc_debug_dump_cq_by_id(struct lpfc_hba *phba, int qid)
phba              639 drivers/scsi/lpfc/lpfc_debugfs.h 	for (cq_idx = 0; cq_idx < phba->cfg_hdw_queue; cq_idx++)
phba              640 drivers/scsi/lpfc/lpfc_debugfs.h 		if (phba->sli4_hba.hdwq[cq_idx].io_cq->queue_id == qid)
phba              643 drivers/scsi/lpfc/lpfc_debugfs.h 	if (cq_idx < phba->cfg_hdw_queue) {
phba              645 drivers/scsi/lpfc/lpfc_debugfs.h 		lpfc_debug_dump_q(phba->sli4_hba.hdwq[cq_idx].io_cq);
phba              649 drivers/scsi/lpfc/lpfc_debugfs.h 	if (phba->sli4_hba.els_cq->queue_id == qid) {
phba              651 drivers/scsi/lpfc/lpfc_debugfs.h 		lpfc_debug_dump_q(phba->sli4_hba.els_cq);
phba              655 drivers/scsi/lpfc/lpfc_debugfs.h 	if (phba->sli4_hba.nvmels_cq->queue_id == qid) {
phba              657 drivers/scsi/lpfc/lpfc_debugfs.h 		lpfc_debug_dump_q(phba->sli4_hba.nvmels_cq);
phba              661 drivers/scsi/lpfc/lpfc_debugfs.h 	if (phba->sli4_hba.mbx_cq->queue_id == qid) {
phba              663 drivers/scsi/lpfc/lpfc_debugfs.h 		lpfc_debug_dump_q(phba->sli4_hba.mbx_cq);
phba              676 drivers/scsi/lpfc/lpfc_debugfs.h lpfc_debug_dump_eq_by_id(struct lpfc_hba *phba, int qid)
phba              680 drivers/scsi/lpfc/lpfc_debugfs.h 	for (eq_idx = 0; eq_idx < phba->cfg_hdw_queue; eq_idx++)
phba              681 drivers/scsi/lpfc/lpfc_debugfs.h 		if (phba->sli4_hba.hdwq[eq_idx].hba_eq->queue_id == qid)
phba              684 drivers/scsi/lpfc/lpfc_debugfs.h 	if (eq_idx < phba->cfg_hdw_queue) {
phba              686 drivers/scsi/lpfc/lpfc_debugfs.h 		lpfc_debug_dump_q(phba->sli4_hba.hdwq[eq_idx].hba_eq);
phba              125 drivers/scsi/lpfc/lpfc_disc.h 	struct lpfc_hba *phba;
phba              156 drivers/scsi/lpfc/lpfc_disc.h #define lpfc_ndlp_check_qdepth(phba, ndlp) \
phba              157 drivers/scsi/lpfc/lpfc_disc.h 	(ndlp->cmd_qdepth < phba->sli4_hba.max_cfg_param.max_xri)
phba               56 drivers/scsi/lpfc/lpfc_els.c static int lpfc_issue_fabric_iocb(struct lpfc_hba *phba,
phba               87 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_hba  *phba = vport->phba;
phba               91 drivers/scsi/lpfc/lpfc_els.c 	    phba->link_state == LPFC_LINK_DOWN ||
phba               92 drivers/scsi/lpfc/lpfc_els.c 	    phba->sli_rev > LPFC_SLI_REV3)
phba               96 drivers/scsi/lpfc/lpfc_els.c 	if (lpfc_readl(phba->HAregaddr, &ha_copy))
phba              106 drivers/scsi/lpfc/lpfc_els.c 			 phba->pport->port_state);
phba              118 drivers/scsi/lpfc/lpfc_els.c 	if (phba->link_state != LPFC_CLEAR_LA)
phba              119 drivers/scsi/lpfc/lpfc_els.c 		lpfc_issue_clear_la(phba, vport);
phba              158 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_hba  *phba = vport->phba;
phba              165 drivers/scsi/lpfc/lpfc_els.c 	if (!lpfc_is_link_up(phba))
phba              169 drivers/scsi/lpfc/lpfc_els.c 	elsiocb = lpfc_sli_get_iocbq(phba);
phba              179 drivers/scsi/lpfc/lpfc_els.c 		(phba->hba_flag & HBA_FIP_SUPPORT) &&
phba              209 drivers/scsi/lpfc/lpfc_els.c 		pcmd->virt = lpfc_mbuf_alloc(phba, MEM_PRI, &pcmd->phys);
phba              219 drivers/scsi/lpfc/lpfc_els.c 			prsp->virt = lpfc_mbuf_alloc(phba, MEM_PRI,
phba              230 drivers/scsi/lpfc/lpfc_els.c 		pbuflist->virt = lpfc_mbuf_alloc(phba, MEM_PRI,
phba              248 drivers/scsi/lpfc/lpfc_els.c 			icmd->ulpTimeout = phba->fc_ratov;
phba              250 drivers/scsi/lpfc/lpfc_els.c 			icmd->ulpTimeout = phba->fc_ratov * 2;
phba              268 drivers/scsi/lpfc/lpfc_els.c 	if ((phba->sli3_options & LPFC_SLI3_NPIV_ENABLED) ||
phba              269 drivers/scsi/lpfc/lpfc_els.c 		((phba->sli_rev == LPFC_SLI_REV4) &&
phba              276 drivers/scsi/lpfc/lpfc_els.c 			icmd->ulpContext = phba->vpi_ids[vport->vpi];
phba              311 drivers/scsi/lpfc/lpfc_els.c 	elsiocb->drvrTimeout = (phba->fc_ratov << 1) + LPFC_DRVR_TIMEOUT;
phba              339 drivers/scsi/lpfc/lpfc_els.c 		lpfc_mbuf_free(phba, prsp->virt, prsp->phys);
phba              343 drivers/scsi/lpfc/lpfc_els.c 	lpfc_mbuf_free(phba, pcmd->virt, pcmd->phys);
phba              348 drivers/scsi/lpfc/lpfc_els.c 	lpfc_sli_release_iocbq(phba, elsiocb);
phba              371 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_hba  *phba = vport->phba;
phba              379 drivers/scsi/lpfc/lpfc_els.c 	sp = &phba->fc_fabparam;
phba              386 drivers/scsi/lpfc/lpfc_els.c 	mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba              393 drivers/scsi/lpfc/lpfc_els.c 	lpfc_config_link(phba, mbox);
phba              397 drivers/scsi/lpfc/lpfc_els.c 	rc = lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT);
phba              403 drivers/scsi/lpfc/lpfc_els.c 	mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba              408 drivers/scsi/lpfc/lpfc_els.c 	rc = lpfc_reg_rpi(phba, vport->vpi, Fabric_DID, (uint8_t *)sp, mbox,
phba              422 drivers/scsi/lpfc/lpfc_els.c 	rc = lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT);
phba              436 drivers/scsi/lpfc/lpfc_els.c 	lpfc_mbuf_free(phba, mp->virt, mp->phys);
phba              439 drivers/scsi/lpfc/lpfc_els.c 	mempool_free(mbox, phba->mbox_mem_pool);
phba              462 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_hba  *phba = vport->phba;
phba              469 drivers/scsi/lpfc/lpfc_els.c 	if ((phba->sli_rev == LPFC_SLI_REV4) &&
phba              470 drivers/scsi/lpfc/lpfc_els.c 	    !(phba->link_flag & LS_LOOPBACK_MODE) &&
phba              479 drivers/scsi/lpfc/lpfc_els.c 	mboxq = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba              492 drivers/scsi/lpfc/lpfc_els.c 		dmabuf->virt = lpfc_mbuf_alloc(phba, MEM_PRI, &dmabuf->phys);
phba              497 drivers/scsi/lpfc/lpfc_els.c 		memcpy(dmabuf->virt, &phba->fc_fabparam,
phba              510 drivers/scsi/lpfc/lpfc_els.c 	rc = lpfc_sli_issue_mbox(phba, mboxq, MBX_NOWAIT);
phba              519 drivers/scsi/lpfc/lpfc_els.c 		mempool_free(mboxq, phba->mbox_mem_pool);
phba              522 drivers/scsi/lpfc/lpfc_els.c 			lpfc_mbuf_free(phba, dmabuf->virt, dmabuf->phys);
phba              546 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_hba *phba = vport->phba;
phba              551 drivers/scsi/lpfc/lpfc_els.c 	mboxq = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba              553 drivers/scsi/lpfc/lpfc_els.c 		lpfc_printf_log(phba, KERN_ERR, LOG_DISCOVERY|LOG_MBOX,
phba              555 drivers/scsi/lpfc/lpfc_els.c 				"HBA state x%x\n", phba->pport->port_state);
phba              563 drivers/scsi/lpfc/lpfc_els.c 	rc = lpfc_sli_issue_mbox(phba, mboxq, MBX_NOWAIT);
phba              565 drivers/scsi/lpfc/lpfc_els.c 		lpfc_printf_log(phba, KERN_ERR, LOG_DISCOVERY|LOG_MBOX,
phba              568 drivers/scsi/lpfc/lpfc_els.c 				rc, phba->pport->port_state);
phba              569 drivers/scsi/lpfc/lpfc_els.c 		mempool_free(mboxq, phba->mbox_mem_pool);
phba              602 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_hba *phba = vport->phba;
phba              626 drivers/scsi/lpfc/lpfc_els.c 	    (vport->fc_prevDID || phba->cfg_delay_discovery)) {
phba              661 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_hba  *phba = vport->phba;
phba              670 drivers/scsi/lpfc/lpfc_els.c 	phba->fc_edtov = be32_to_cpu(sp->cmn.e_d_tov);
phba              672 drivers/scsi/lpfc/lpfc_els.c 		phba->fc_edtov = (phba->fc_edtov + 999999) / 1000000;
phba              674 drivers/scsi/lpfc/lpfc_els.c 	phba->fc_edtovResol = sp->cmn.edtovResolution;
phba              675 drivers/scsi/lpfc/lpfc_els.c 	phba->fc_ratov = (be32_to_cpu(sp->cmn.w2.r_a_tov) + 999) / 1000;
phba              677 drivers/scsi/lpfc/lpfc_els.c 	if (phba->fc_topology == LPFC_TOPOLOGY_LOOP) {
phba              701 drivers/scsi/lpfc/lpfc_els.c 		if (phba->cfg_enable_SmartSAN ||
phba              702 drivers/scsi/lpfc/lpfc_els.c 		    (phba->cfg_fdmi_on == LPFC_FDMI_SUPPORT)) {
phba              705 drivers/scsi/lpfc/lpfc_els.c 			if (phba->cfg_enable_SmartSAN)
phba              719 drivers/scsi/lpfc/lpfc_els.c 	memcpy(&phba->fc_fabparam, sp, sizeof(struct serv_parm));
phba              721 drivers/scsi/lpfc/lpfc_els.c 	if (phba->sli3_options & LPFC_SLI3_NPIV_ENABLED) {
phba              728 drivers/scsi/lpfc/lpfc_els.c 			spin_lock_irq(&phba->hbalock);
phba              729 drivers/scsi/lpfc/lpfc_els.c 			phba->link_flag |= LS_NPIV_FAB_SUPPORTED;
phba              730 drivers/scsi/lpfc/lpfc_els.c 			spin_unlock_irq(&phba->hbalock);
phba              738 drivers/scsi/lpfc/lpfc_els.c 			spin_lock_irq(&phba->hbalock);
phba              739 drivers/scsi/lpfc/lpfc_els.c 			phba->link_flag &= ~LS_NPIV_FAB_SUPPORTED;
phba              740 drivers/scsi/lpfc/lpfc_els.c 			spin_unlock_irq(&phba->hbalock);
phba              748 drivers/scsi/lpfc/lpfc_els.c 	if ((phba->sli_rev == LPFC_SLI_REV4) &&
phba              749 drivers/scsi/lpfc/lpfc_els.c 	    (phba->sli4_hba.lnk_info.lnk_tp == LPFC_LNK_TYPE_FC)) {
phba              752 drivers/scsi/lpfc/lpfc_els.c 			lpfc_unregister_fcf_prep(phba);
phba              779 drivers/scsi/lpfc/lpfc_els.c 		if (phba->sli_rev == LPFC_SLI_REV4) {
phba              794 drivers/scsi/lpfc/lpfc_els.c 	} else if ((phba->sli_rev == LPFC_SLI_REV4) &&
phba              801 drivers/scsi/lpfc/lpfc_els.c 			lpfc_register_new_vport(phba, vport, ndlp);
phba              805 drivers/scsi/lpfc/lpfc_els.c 	if (phba->sli_rev < LPFC_SLI_REV4) {
phba              807 drivers/scsi/lpfc/lpfc_els.c 		if (phba->sli3_options & LPFC_SLI3_NPIV_ENABLED &&
phba              809 drivers/scsi/lpfc/lpfc_els.c 			lpfc_register_new_vport(phba, vport, ndlp);
phba              817 drivers/scsi/lpfc/lpfc_els.c 			lpfc_start_fdiscs(phba);
phba              818 drivers/scsi/lpfc/lpfc_els.c 			lpfc_do_scr_ns_plogi(phba, vport);
phba              856 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_hba  *phba = vport->phba;
phba              866 drivers/scsi/lpfc/lpfc_els.c 	phba->sli3_options &= ~LPFC_SLI3_NPIV_ENABLED;
phba              869 drivers/scsi/lpfc/lpfc_els.c 	if ((phba->sli_rev == LPFC_SLI_REV4) && phba->fc_topology_changed) {
phba              870 drivers/scsi/lpfc/lpfc_els.c 		lpfc_unregister_fcf_prep(phba);
phba              875 drivers/scsi/lpfc/lpfc_els.c 		phba->fc_topology_changed = 0;
phba              927 drivers/scsi/lpfc/lpfc_els.c 		mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba              931 drivers/scsi/lpfc/lpfc_els.c 		lpfc_config_link(phba, mbox);
phba              935 drivers/scsi/lpfc/lpfc_els.c 		rc = lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT);
phba              937 drivers/scsi/lpfc/lpfc_els.c 			mempool_free(mbox, phba->mbox_mem_pool);
phba              980 drivers/scsi/lpfc/lpfc_els.c lpfc_cmpl_els_flogi(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
phba             1011 drivers/scsi/lpfc/lpfc_els.c 		if ((phba->hba_flag & HBA_FIP_SUPPORT) &&
phba             1012 drivers/scsi/lpfc/lpfc_els.c 		    (phba->fcf.fcf_flag & FCF_DISCOVERY)) {
phba             1013 drivers/scsi/lpfc/lpfc_els.c 			if (phba->link_state < LPFC_LINK_UP)
phba             1015 drivers/scsi/lpfc/lpfc_els.c 			if ((phba->fcoe_cvl_eventtag_attn ==
phba             1016 drivers/scsi/lpfc/lpfc_els.c 			     phba->fcoe_cvl_eventtag) &&
phba             1022 drivers/scsi/lpfc/lpfc_els.c 				phba->fcoe_cvl_eventtag_attn =
phba             1023 drivers/scsi/lpfc/lpfc_els.c 					phba->fcoe_cvl_eventtag;
phba             1024 drivers/scsi/lpfc/lpfc_els.c 			lpfc_printf_log(phba, KERN_WARNING, LOG_FIP | LOG_ELS,
phba             1028 drivers/scsi/lpfc/lpfc_els.c 					phba->fcf.current_rec.fcf_indx,
phba             1031 drivers/scsi/lpfc/lpfc_els.c 			lpfc_sli4_set_fcf_flogi_fail(phba,
phba             1032 drivers/scsi/lpfc/lpfc_els.c 					phba->fcf.current_rec.fcf_indx);
phba             1033 drivers/scsi/lpfc/lpfc_els.c 			fcf_index = lpfc_sli4_fcf_rr_next_index_get(phba);
phba             1048 drivers/scsi/lpfc/lpfc_els.c 					irsp->ulpTimeout, phba->hba_flag,
phba             1049 drivers/scsi/lpfc/lpfc_els.c 					phba->fcf.fcf_flag);
phba             1052 drivers/scsi/lpfc/lpfc_els.c 		if (lpfc_els_retry(phba, cmdiocb, rspiocb))
phba             1076 drivers/scsi/lpfc/lpfc_els.c 		if (phba->alpa_map[0] == 0)
phba             1078 drivers/scsi/lpfc/lpfc_els.c 		if ((phba->sli_rev == LPFC_SLI_REV4) &&
phba             1081 drivers/scsi/lpfc/lpfc_els.c 			phba->fc_topology_changed)) {
phba             1083 drivers/scsi/lpfc/lpfc_els.c 				if (phba->fc_topology_changed) {
phba             1084 drivers/scsi/lpfc/lpfc_els.c 					lpfc_unregister_fcf_prep(phba);
phba             1088 drivers/scsi/lpfc/lpfc_els.c 					phba->fc_topology_changed = 0;
phba             1132 drivers/scsi/lpfc/lpfc_els.c 		else if (!(phba->hba_flag & HBA_FCOE_MODE))
phba             1142 drivers/scsi/lpfc/lpfc_els.c 				phba->fcf.current_rec.fcf_indx,
phba             1143 drivers/scsi/lpfc/lpfc_els.c 				phba->fcf.current_rec.switch_name[0],
phba             1144 drivers/scsi/lpfc/lpfc_els.c 				phba->fcf.current_rec.switch_name[1],
phba             1145 drivers/scsi/lpfc/lpfc_els.c 				phba->fcf.current_rec.switch_name[2],
phba             1146 drivers/scsi/lpfc/lpfc_els.c 				phba->fcf.current_rec.switch_name[3],
phba             1147 drivers/scsi/lpfc/lpfc_els.c 				phba->fcf.current_rec.switch_name[4],
phba             1148 drivers/scsi/lpfc/lpfc_els.c 				phba->fcf.current_rec.switch_name[5],
phba             1149 drivers/scsi/lpfc/lpfc_els.c 				phba->fcf.current_rec.switch_name[6],
phba             1150 drivers/scsi/lpfc/lpfc_els.c 				phba->fcf.current_rec.switch_name[7],
phba             1151 drivers/scsi/lpfc/lpfc_els.c 				phba->fcf.current_rec.fabric_name[0],
phba             1152 drivers/scsi/lpfc/lpfc_els.c 				phba->fcf.current_rec.fabric_name[1],
phba             1153 drivers/scsi/lpfc/lpfc_els.c 				phba->fcf.current_rec.fabric_name[2],
phba             1154 drivers/scsi/lpfc/lpfc_els.c 				phba->fcf.current_rec.fabric_name[3],
phba             1155 drivers/scsi/lpfc/lpfc_els.c 				phba->fcf.current_rec.fabric_name[4],
phba             1156 drivers/scsi/lpfc/lpfc_els.c 				phba->fcf.current_rec.fabric_name[5],
phba             1157 drivers/scsi/lpfc/lpfc_els.c 				phba->fcf.current_rec.fabric_name[6],
phba             1158 drivers/scsi/lpfc/lpfc_els.c 				phba->fcf.current_rec.fabric_name[7]);
phba             1160 drivers/scsi/lpfc/lpfc_els.c 			spin_lock_irq(&phba->hbalock);
phba             1161 drivers/scsi/lpfc/lpfc_els.c 			phba->fcf.fcf_flag &= ~FCF_DISCOVERY;
phba             1162 drivers/scsi/lpfc/lpfc_els.c 			phba->hba_flag &= ~(FCF_RR_INPROG | HBA_DEVLOSS_TMO);
phba             1163 drivers/scsi/lpfc/lpfc_els.c 			spin_unlock_irq(&phba->hbalock);
phba             1164 drivers/scsi/lpfc/lpfc_els.c 			phba->fcf.fcf_redisc_attempted = 0; /* reset */
phba             1169 drivers/scsi/lpfc/lpfc_els.c 			if (phba->hba_flag & HBA_FIP_SUPPORT)
phba             1174 drivers/scsi/lpfc/lpfc_els.c 						phba->fcf.current_rec.fcf_indx);
phba             1175 drivers/scsi/lpfc/lpfc_els.c 			spin_lock_irq(&phba->hbalock);
phba             1176 drivers/scsi/lpfc/lpfc_els.c 			phba->fcf.fcf_flag &= ~FCF_DISCOVERY;
phba             1177 drivers/scsi/lpfc/lpfc_els.c 			phba->hba_flag &= ~(FCF_RR_INPROG | HBA_DEVLOSS_TMO);
phba             1178 drivers/scsi/lpfc/lpfc_els.c 			spin_unlock_irq(&phba->hbalock);
phba             1179 drivers/scsi/lpfc/lpfc_els.c 			phba->fcf.fcf_redisc_attempted = 0; /* reset */
phba             1185 drivers/scsi/lpfc/lpfc_els.c 	spin_lock_irq(&phba->hbalock);
phba             1186 drivers/scsi/lpfc/lpfc_els.c 	phba->fcf.fcf_flag &= ~FCF_DISCOVERY;
phba             1187 drivers/scsi/lpfc/lpfc_els.c 	spin_unlock_irq(&phba->hbalock);
phba             1202 drivers/scsi/lpfc/lpfc_els.c 			(phba->link_state != LPFC_CLEAR_LA)) {
phba             1204 drivers/scsi/lpfc/lpfc_els.c 		lpfc_issue_clear_la(phba, vport);
phba             1207 drivers/scsi/lpfc/lpfc_els.c 	lpfc_els_free_iocb(phba, cmdiocb);
phba             1219 drivers/scsi/lpfc/lpfc_els.c lpfc_cmpl_els_link_down(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
phba             1230 drivers/scsi/lpfc/lpfc_els.c 	lpfc_printf_log(phba, KERN_INFO, LOG_ELS,
phba             1238 drivers/scsi/lpfc/lpfc_els.c 		atomic_dec(&phba->fabric_iocb_count);
phba             1240 drivers/scsi/lpfc/lpfc_els.c 	lpfc_els_free_iocb(phba, cmdiocb);
phba             1269 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_hba  *phba = vport->phba;
phba             1305 drivers/scsi/lpfc/lpfc_els.c 	if  (phba->sli_rev == LPFC_SLI_REV4) {
phba             1306 drivers/scsi/lpfc/lpfc_els.c 		if (bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) ==
phba             1312 drivers/scsi/lpfc/lpfc_els.c 			elsiocb->iocb.ulpContext = phba->fcf.fcfi;
phba             1321 drivers/scsi/lpfc/lpfc_els.c 		if (phba->sli3_options & LPFC_SLI3_NPIV_ENABLED) {
phba             1330 drivers/scsi/lpfc/lpfc_els.c 	if (phba->fc_topology != LPFC_TOPOLOGY_LOOP) {
phba             1335 drivers/scsi/lpfc/lpfc_els.c 	tmo = phba->fc_ratov;
phba             1336 drivers/scsi/lpfc/lpfc_els.c 	phba->fc_ratov = LPFC_DISC_FLOGI_TMO;
phba             1338 drivers/scsi/lpfc/lpfc_els.c 	phba->fc_ratov = tmo;
phba             1340 drivers/scsi/lpfc/lpfc_els.c 	phba->fc_stat.elsXmitFLOGI++;
phba             1345 drivers/scsi/lpfc/lpfc_els.c 		phba->sli3_options, 0, 0);
phba             1347 drivers/scsi/lpfc/lpfc_els.c 	rc = lpfc_issue_fabric_iocb(phba, elsiocb);
phba             1349 drivers/scsi/lpfc/lpfc_els.c 	phba->hba_flag |= HBA_FLOGI_ISSUED;
phba             1352 drivers/scsi/lpfc/lpfc_els.c 	if (phba->defer_flogi_acc_flag) {
phba             1358 drivers/scsi/lpfc/lpfc_els.c 		defer_flogi_acc.iocb.ulpContext = phba->defer_flogi_acc_rx_id;
phba             1360 drivers/scsi/lpfc/lpfc_els.c 						phba->defer_flogi_acc_ox_id;
phba             1365 drivers/scsi/lpfc/lpfc_els.c 				 phba->defer_flogi_acc_rx_id,
phba             1366 drivers/scsi/lpfc/lpfc_els.c 				 phba->defer_flogi_acc_ox_id, phba->hba_flag);
phba             1372 drivers/scsi/lpfc/lpfc_els.c 		phba->defer_flogi_acc_flag = false;
phba             1378 drivers/scsi/lpfc/lpfc_els.c 		lpfc_els_free_iocb(phba, elsiocb);
phba             1399 drivers/scsi/lpfc/lpfc_els.c lpfc_els_abort_flogi(struct lpfc_hba *phba)
phba             1407 drivers/scsi/lpfc/lpfc_els.c 	lpfc_printf_log(phba, KERN_INFO, LOG_DISCOVERY,
phba             1411 drivers/scsi/lpfc/lpfc_els.c 	pring = lpfc_phba_elsring(phba);
phba             1419 drivers/scsi/lpfc/lpfc_els.c 	spin_lock_irq(&phba->hbalock);
phba             1426 drivers/scsi/lpfc/lpfc_els.c 				lpfc_sli_issue_abort_iotag(phba, pring, iocb);
phba             1429 drivers/scsi/lpfc/lpfc_els.c 	spin_unlock_irq(&phba->hbalock);
phba             1596 drivers/scsi/lpfc/lpfc_els.c lpfc_plogi_confirm_nport(struct lpfc_hba *phba, uint32_t *prsp,
phba             1633 drivers/scsi/lpfc/lpfc_els.c 	if (phba->sli_rev == LPFC_SLI_REV4) {
phba             1634 drivers/scsi/lpfc/lpfc_els.c 		active_rrqs_xri_bitmap = mempool_alloc(phba->active_rrq_pool,
phba             1638 drivers/scsi/lpfc/lpfc_els.c 			       phba->cfg_rrq_xri_bitmap_sz);
phba             1655 drivers/scsi/lpfc/lpfc_els.c 					     phba->active_rrq_pool);
phba             1662 drivers/scsi/lpfc/lpfc_els.c 					     phba->active_rrq_pool);
phba             1671 drivers/scsi/lpfc/lpfc_els.c 					     phba->active_rrq_pool);
phba             1679 drivers/scsi/lpfc/lpfc_els.c 					     phba->active_rrq_pool);
phba             1683 drivers/scsi/lpfc/lpfc_els.c 		if ((phba->sli_rev == LPFC_SLI_REV4) && active_rrqs_xri_bitmap)
phba             1686 drivers/scsi/lpfc/lpfc_els.c 			       phba->cfg_rrq_xri_bitmap_sz);
phba             1689 drivers/scsi/lpfc/lpfc_els.c 		if (phba->sli_rev == LPFC_SLI_REV4 &&
phba             1693 drivers/scsi/lpfc/lpfc_els.c 			       phba->cfg_rrq_xri_bitmap_sz);
phba             1709 drivers/scsi/lpfc/lpfc_els.c 	if (phba->sli_rev == LPFC_SLI_REV4)
phba             1712 drivers/scsi/lpfc/lpfc_els.c 		       phba->cfg_rrq_xri_bitmap_sz);
phba             1789 drivers/scsi/lpfc/lpfc_els.c 			spin_lock_irq(&phba->ndlp_lock);
phba             1791 drivers/scsi/lpfc/lpfc_els.c 			spin_unlock_irq(&phba->ndlp_lock);
phba             1800 drivers/scsi/lpfc/lpfc_els.c 		if (phba->sli_rev == LPFC_SLI_REV4 &&
phba             1804 drivers/scsi/lpfc/lpfc_els.c 			       phba->cfg_rrq_xri_bitmap_sz);
phba             1823 drivers/scsi/lpfc/lpfc_els.c 		if (phba->sli_rev == LPFC_SLI_REV4 &&
phba             1827 drivers/scsi/lpfc/lpfc_els.c 			       phba->cfg_rrq_xri_bitmap_sz);
phba             1859 drivers/scsi/lpfc/lpfc_els.c 	if (phba->sli_rev == LPFC_SLI_REV4 &&
phba             1862 drivers/scsi/lpfc/lpfc_els.c 			     phba->active_rrq_pool);
phba             1917 drivers/scsi/lpfc/lpfc_els.c lpfc_cmpl_els_rrq(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
phba             1959 drivers/scsi/lpfc/lpfc_els.c 			(phba)->pport->cfg_log_verbose & LOG_ELS)
phba             1967 drivers/scsi/lpfc/lpfc_els.c 		lpfc_clr_rrq_active(phba, rrq->xritag, rrq);
phba             1968 drivers/scsi/lpfc/lpfc_els.c 	lpfc_els_free_iocb(phba, cmdiocb);
phba             1992 drivers/scsi/lpfc/lpfc_els.c lpfc_cmpl_els_plogi(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
phba             2048 drivers/scsi/lpfc/lpfc_els.c 		if (lpfc_els_retry(phba, cmdiocb, rspiocb)) {
phba             2061 drivers/scsi/lpfc/lpfc_els.c 			(phba)->pport->cfg_log_verbose & LOG_ELS)
phba             2075 drivers/scsi/lpfc/lpfc_els.c 		ndlp = lpfc_plogi_confirm_nport(phba, prsp->virt, ndlp);
phba             2095 drivers/scsi/lpfc/lpfc_els.c 	lpfc_els_free_iocb(phba, cmdiocb);
phba             2123 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_hba  *phba = vport->phba;
phba             2201 drivers/scsi/lpfc/lpfc_els.c 	if (phba->sli.sli_flag & LPFC_SLI_SUPPRESS_RSP) {
phba             2207 drivers/scsi/lpfc/lpfc_els.c 	phba->fc_stat.elsXmitPLOGI++;
phba             2209 drivers/scsi/lpfc/lpfc_els.c 	ret = lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, elsiocb, 0);
phba             2212 drivers/scsi/lpfc/lpfc_els.c 		lpfc_els_free_iocb(phba, elsiocb);
phba             2232 drivers/scsi/lpfc/lpfc_els.c lpfc_cmpl_els_prli(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
phba             2272 drivers/scsi/lpfc/lpfc_els.c 		if (lpfc_els_retry(phba, cmdiocb, rspiocb)) {
phba             2310 drivers/scsi/lpfc/lpfc_els.c 	lpfc_els_free_iocb(phba, cmdiocb);
phba             2340 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_hba *phba = vport->phba;
phba             2354 drivers/scsi/lpfc/lpfc_els.c 	if (phba->sli_rev == LPFC_SLI_REV4 &&
phba             2388 drivers/scsi/lpfc/lpfc_els.c 	if (phba->sli_rev == LPFC_SLI_REV3 &&
phba             2421 drivers/scsi/lpfc/lpfc_els.c 		if (phba->vpd.rev.feaLevelHigh >= 0x02) {
phba             2448 drivers/scsi/lpfc/lpfc_els.c 		if (phba->nsler) {
phba             2454 drivers/scsi/lpfc/lpfc_els.c 		if ((phba->cfg_nvme_enable_fb) &&
phba             2455 drivers/scsi/lpfc/lpfc_els.c 		    !phba->nvmet_support)
phba             2458 drivers/scsi/lpfc/lpfc_els.c 		if (phba->nvmet_support) {
phba             2478 drivers/scsi/lpfc/lpfc_els.c 	phba->fc_stat.elsXmitPRLI++;
phba             2490 drivers/scsi/lpfc/lpfc_els.c 	if (lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, elsiocb, 0) ==
phba             2495 drivers/scsi/lpfc/lpfc_els.c 		lpfc_els_free_iocb(phba, elsiocb);
phba             2503 drivers/scsi/lpfc/lpfc_els.c 	if (phba->sli_rev == LPFC_SLI_REV4 &&
phba             2550 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_hba   *phba = vport->phba;
phba             2556 drivers/scsi/lpfc/lpfc_els.c 	if ((phba->sli3_options & LPFC_SLI3_NPIV_ENABLED) &&
phba             2558 drivers/scsi/lpfc/lpfc_els.c 	    (phba->sli_rev < LPFC_SLI_REV4)) {
phba             2567 drivers/scsi/lpfc/lpfc_els.c 		lpfc_issue_clear_la(phba, vport);
phba             2568 drivers/scsi/lpfc/lpfc_els.c 		lpfc_issue_reg_vpi(phba, vport);
phba             2577 drivers/scsi/lpfc/lpfc_els.c 		lpfc_issue_clear_la(phba, vport);
phba             2644 drivers/scsi/lpfc/lpfc_els.c lpfc_cmpl_els_adisc(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
phba             2687 drivers/scsi/lpfc/lpfc_els.c 		if (lpfc_els_retry(phba, cmdiocb, rspiocb)) {
phba             2715 drivers/scsi/lpfc/lpfc_els.c 	lpfc_els_free_iocb(phba, cmdiocb);
phba             2744 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_hba  *phba = vport->phba;
phba             2764 drivers/scsi/lpfc/lpfc_els.c 	ap->hardAL_PA = phba->fc_pref_ALPA;
phba             2773 drivers/scsi/lpfc/lpfc_els.c 	phba->fc_stat.elsXmitADISC++;
phba             2778 drivers/scsi/lpfc/lpfc_els.c 	if (lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, elsiocb, 0) ==
phba             2783 drivers/scsi/lpfc/lpfc_els.c 		lpfc_els_free_iocb(phba, elsiocb);
phba             2802 drivers/scsi/lpfc/lpfc_els.c lpfc_cmpl_els_logo(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
phba             2871 drivers/scsi/lpfc/lpfc_els.c 	lpfc_els_free_iocb(phba, cmdiocb);
phba             2875 drivers/scsi/lpfc/lpfc_els.c 		phba->pport->fc_myDID = 0;
phba             2879 drivers/scsi/lpfc/lpfc_els.c 			if (phba->nvmet_support)
phba             2880 drivers/scsi/lpfc/lpfc_els.c 				lpfc_nvmet_update_targetport(phba);
phba             2882 drivers/scsi/lpfc/lpfc_els.c 				lpfc_nvme_update_localport(phba->pport);
phba             2885 drivers/scsi/lpfc/lpfc_els.c 		mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             2887 drivers/scsi/lpfc/lpfc_els.c 			lpfc_config_link(phba, mbox);
phba             2890 drivers/scsi/lpfc/lpfc_els.c 			if (lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT) ==
phba             2892 drivers/scsi/lpfc/lpfc_els.c 				mempool_free(mbox, phba->mbox_mem_pool);
phba             2948 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_hba  *phba = vport->phba;
phba             2980 drivers/scsi/lpfc/lpfc_els.c 	phba->fc_stat.elsXmitLOGO++;
phba             2986 drivers/scsi/lpfc/lpfc_els.c 	rc = lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, elsiocb, 0);
phba             2991 drivers/scsi/lpfc/lpfc_els.c 		lpfc_els_free_iocb(phba, elsiocb);
phba             3019 drivers/scsi/lpfc/lpfc_els.c lpfc_cmpl_els_cmd(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
phba             3038 drivers/scsi/lpfc/lpfc_els.c 	lpfc_els_free_iocb(phba, cmdiocb);
phba             3067 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_hba  *phba = vport->phba;
phba             3111 drivers/scsi/lpfc/lpfc_els.c 	phba->fc_stat.elsXmitSCR++;
phba             3113 drivers/scsi/lpfc/lpfc_els.c 	if (lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, elsiocb, 0) ==
phba             3120 drivers/scsi/lpfc/lpfc_els.c 		lpfc_els_free_iocb(phba, elsiocb);
phba             3154 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_hba *phba = vport->phba;
phba             3165 drivers/scsi/lpfc/lpfc_els.c 	if (phba->fc_topology == LPFC_TOPOLOGY_LOOP &&
phba             3220 drivers/scsi/lpfc/lpfc_els.c 	phba->fc_stat.elsXmitRSCN++;
phba             3222 drivers/scsi/lpfc/lpfc_els.c 	if (lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, elsiocb, 0) ==
phba             3229 drivers/scsi/lpfc/lpfc_els.c 		lpfc_els_free_iocb(phba, elsiocb);
phba             3266 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_hba  *phba = vport->phba;
phba             3327 drivers/scsi/lpfc/lpfc_els.c 	phba->fc_stat.elsXmitFARPR++;
phba             3329 drivers/scsi/lpfc/lpfc_els.c 	if (lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, elsiocb, 0) ==
phba             3336 drivers/scsi/lpfc/lpfc_els.c 		lpfc_els_free_iocb(phba, elsiocb);
phba             3420 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_hba   *phba = vport->phba;
phba             3424 drivers/scsi/lpfc/lpfc_els.c 	spin_lock_irqsave(&phba->hbalock, flags);
phba             3426 drivers/scsi/lpfc/lpfc_els.c 		spin_unlock_irqrestore(&phba->hbalock, flags);
phba             3436 drivers/scsi/lpfc/lpfc_els.c 		list_add_tail(&evtp->evt_listp, &phba->work_list);
phba             3437 drivers/scsi/lpfc/lpfc_els.c 		lpfc_worker_wake_up(phba);
phba             3439 drivers/scsi/lpfc/lpfc_els.c 	spin_unlock_irqrestore(&phba->hbalock, flags);
phba             3531 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_hba *phba = vport->phba;
phba             3538 drivers/scsi/lpfc/lpfc_els.c 	mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             3540 drivers/scsi/lpfc/lpfc_els.c 		lpfc_printf_log(phba, KERN_ERR, LOG_MBOX,
phba             3546 drivers/scsi/lpfc/lpfc_els.c 	if (phba->sli_rev <= LPFC_SLI_REV3) {
phba             3547 drivers/scsi/lpfc/lpfc_els.c 		spin_lock_irq(&phba->hbalock);
phba             3548 drivers/scsi/lpfc/lpfc_els.c 		phba->sli.sli_flag |= LPFC_PROCESS_LA;
phba             3549 drivers/scsi/lpfc/lpfc_els.c 		control = readl(phba->HCregaddr);
phba             3551 drivers/scsi/lpfc/lpfc_els.c 		writel(control, phba->HCregaddr);
phba             3552 drivers/scsi/lpfc/lpfc_els.c 		readl(phba->HCregaddr); /* flush */
phba             3553 drivers/scsi/lpfc/lpfc_els.c 		spin_unlock_irq(&phba->hbalock);
phba             3556 drivers/scsi/lpfc/lpfc_els.c 	lpfc_init_link(phba, mbox, phba->cfg_topology,
phba             3557 drivers/scsi/lpfc/lpfc_els.c 		       phba->cfg_link_speed);
phba             3560 drivers/scsi/lpfc/lpfc_els.c 	rc = lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT);
phba             3562 drivers/scsi/lpfc/lpfc_els.c 		lpfc_printf_log(phba, KERN_ERR, LOG_MBOX,
phba             3565 drivers/scsi/lpfc/lpfc_els.c 		mempool_free(mbox, phba->mbox_mem_pool);
phba             3594 drivers/scsi/lpfc/lpfc_els.c lpfc_els_retry(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
phba             3639 drivers/scsi/lpfc/lpfc_els.c 		if (phba->sli_rev == LPFC_SLI_REV4) {
phba             3644 drivers/scsi/lpfc/lpfc_els.c 			lpfc_set_rrq_active(phba, ndlp,
phba             3653 drivers/scsi/lpfc/lpfc_els.c 					phba->pcidev->device) {
phba             3654 drivers/scsi/lpfc/lpfc_els.c 					phba->fc_topology = LPFC_TOPOLOGY_LOOP;
phba             3655 drivers/scsi/lpfc/lpfc_els.c 					phba->pport->fc_myDID = 0;
phba             3656 drivers/scsi/lpfc/lpfc_els.c 					phba->alpa_map[0] = 0;
phba             3657 drivers/scsi/lpfc/lpfc_els.c 					phba->alpa_map[1] = 0;
phba             3773 drivers/scsi/lpfc/lpfc_els.c 			if ((phba->sli3_options & LPFC_SLI3_NPIV_ENABLED) &&
phba             3823 drivers/scsi/lpfc/lpfc_els.c 			if ((phba->sli3_options & LPFC_SLI3_NPIV_ENABLED) &&
phba             3885 drivers/scsi/lpfc/lpfc_els.c 	    (phba->fc_topology != LPFC_TOPOLOGY_LOOP) &&
phba             3890 drivers/scsi/lpfc/lpfc_els.c 		if (phba->link_flag != LS_LOOPBACK_MODE)
phba             3908 drivers/scsi/lpfc/lpfc_els.c 		phba->fc_stat.elsRetryExceeded++;
phba             3919 drivers/scsi/lpfc/lpfc_els.c 			if (phba->fcf.fcf_flag & FCF_DISCOVERY) {
phba             3947 drivers/scsi/lpfc/lpfc_els.c 		phba->fc_stat.elsXmitRetry++;
phba             3949 drivers/scsi/lpfc/lpfc_els.c 			phba->fc_stat.elsDelayRetry++;
phba             4037 drivers/scsi/lpfc/lpfc_els.c lpfc_els_free_data(struct lpfc_hba *phba, struct lpfc_dmabuf *buf_ptr1)
phba             4046 drivers/scsi/lpfc/lpfc_els.c 		lpfc_mbuf_free(phba, buf_ptr->virt, buf_ptr->phys);
phba             4049 drivers/scsi/lpfc/lpfc_els.c 	lpfc_mbuf_free(phba, buf_ptr1->virt, buf_ptr1->phys);
phba             4067 drivers/scsi/lpfc/lpfc_els.c lpfc_els_free_bpl(struct lpfc_hba *phba, struct lpfc_dmabuf *buf_ptr)
phba             4069 drivers/scsi/lpfc/lpfc_els.c 	lpfc_mbuf_free(phba, buf_ptr->virt, buf_ptr->phys);
phba             4102 drivers/scsi/lpfc/lpfc_els.c lpfc_els_free_iocb(struct lpfc_hba *phba, struct lpfc_iocbq *elsiocb)
phba             4138 drivers/scsi/lpfc/lpfc_els.c 				spin_lock_irq(&phba->hbalock);
phba             4145 drivers/scsi/lpfc/lpfc_els.c 						&phba->elsbuf);
phba             4146 drivers/scsi/lpfc/lpfc_els.c 					phba->elsbuf_cnt++;
phba             4149 drivers/scsi/lpfc/lpfc_els.c 				list_add_tail(&buf_ptr->list, &phba->elsbuf);
phba             4150 drivers/scsi/lpfc/lpfc_els.c 				phba->elsbuf_cnt++;
phba             4151 drivers/scsi/lpfc/lpfc_els.c 				spin_unlock_irq(&phba->hbalock);
phba             4155 drivers/scsi/lpfc/lpfc_els.c 			lpfc_els_free_data(phba, buf_ptr1);
phba             4162 drivers/scsi/lpfc/lpfc_els.c 		lpfc_els_free_bpl(phba, buf_ptr);
phba             4165 drivers/scsi/lpfc/lpfc_els.c 	lpfc_sli_release_iocbq(phba, elsiocb);
phba             4187 drivers/scsi/lpfc/lpfc_els.c lpfc_cmpl_els_logo_acc(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
phba             4224 drivers/scsi/lpfc/lpfc_els.c 	lpfc_els_free_iocb(phba, cmdiocb);
phba             4241 drivers/scsi/lpfc/lpfc_els.c lpfc_mbx_cmpl_dflt_rpi(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb)
phba             4249 drivers/scsi/lpfc/lpfc_els.c 	lpfc_mbuf_free(phba, mp->virt, mp->phys);
phba             4251 drivers/scsi/lpfc/lpfc_els.c 	mempool_free(pmb, phba->mbox_mem_pool);
phba             4290 drivers/scsi/lpfc/lpfc_els.c lpfc_cmpl_els_rsp(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
phba             4325 drivers/scsi/lpfc/lpfc_els.c 				lpfc_mbuf_free(phba, mp->virt, mp->phys);
phba             4328 drivers/scsi/lpfc/lpfc_els.c 			mempool_free(mbox, phba->mbox_mem_pool);
phba             4370 drivers/scsi/lpfc/lpfc_els.c 					lpfc_mbuf_free(phba, mp->virt,
phba             4374 drivers/scsi/lpfc/lpfc_els.c 				mempool_free(mbox, phba->mbox_mem_pool);
phba             4395 drivers/scsi/lpfc/lpfc_els.c 			if (lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT)
phba             4437 drivers/scsi/lpfc/lpfc_els.c 			lpfc_mbuf_free(phba, mp->virt, mp->phys);
phba             4440 drivers/scsi/lpfc/lpfc_els.c 		mempool_free(mbox, phba->mbox_mem_pool);
phba             4463 drivers/scsi/lpfc/lpfc_els.c 	lpfc_els_free_iocb(phba, cmdiocb);
phba             4498 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_hba  *phba = vport->phba;
phba             4555 drivers/scsi/lpfc/lpfc_els.c 			memcpy(sp, &phba->fc_fabparam,
phba             4584 drivers/scsi/lpfc/lpfc_els.c 			if (phba->sli.sli_flag & LPFC_SLI_SUPPRESS_RSP) {
phba             4632 drivers/scsi/lpfc/lpfc_els.c 	phba->fc_stat.elsXmitACC++;
phba             4633 drivers/scsi/lpfc/lpfc_els.c 	rc = lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, elsiocb, 0);
phba             4635 drivers/scsi/lpfc/lpfc_els.c 		lpfc_els_free_iocb(phba, elsiocb);
phba             4668 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_hba  *phba = vport->phba;
phba             4707 drivers/scsi/lpfc/lpfc_els.c 	phba->fc_stat.elsXmitLSRJT++;
phba             4709 drivers/scsi/lpfc/lpfc_els.c 	rc = lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, elsiocb, 0);
phba             4712 drivers/scsi/lpfc/lpfc_els.c 		lpfc_els_free_iocb(phba, elsiocb);
phba             4741 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_hba  *phba = vport->phba;
phba             4773 drivers/scsi/lpfc/lpfc_els.c 	ap->hardAL_PA = phba->fc_pref_ALPA;
phba             4782 drivers/scsi/lpfc/lpfc_els.c 	phba->fc_stat.elsXmitACC++;
phba             4784 drivers/scsi/lpfc/lpfc_els.c 	rc = lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, elsiocb, 0);
phba             4786 drivers/scsi/lpfc/lpfc_els.c 		lpfc_els_free_iocb(phba, elsiocb);
phba             4824 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_hba  *phba = vport->phba;
phba             4885 drivers/scsi/lpfc/lpfc_els.c 	vpd = &phba->vpd;
phba             4912 drivers/scsi/lpfc/lpfc_els.c 		if (phba->nvmet_support) {
phba             4915 drivers/scsi/lpfc/lpfc_els.c 			if (phba->cfg_nvme_enable_fb) {
phba             4923 drivers/scsi/lpfc/lpfc_els.c 				       phba->cfg_nvmet_fb_size);
phba             4949 drivers/scsi/lpfc/lpfc_els.c 	phba->fc_stat.elsXmitACC++;
phba             4952 drivers/scsi/lpfc/lpfc_els.c 	rc = lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, elsiocb, 0);
phba             4954 drivers/scsi/lpfc/lpfc_els.c 		lpfc_els_free_iocb(phba, elsiocb);
phba             4990 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_hba  *phba = vport->phba;
phba             5049 drivers/scsi/lpfc/lpfc_els.c 	phba->fc_stat.elsXmitACC++;
phba             5052 drivers/scsi/lpfc/lpfc_els.c 	rc = lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, elsiocb, 0);
phba             5054 drivers/scsi/lpfc/lpfc_els.c 		lpfc_els_free_iocb(phba, elsiocb);
phba             5072 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_hba  *phba = vport->phba;
phba             5103 drivers/scsi/lpfc/lpfc_els.c 		lpfc_clr_rrq_active(phba, xri, prrq);
phba             5122 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_hba  *phba = vport->phba;
phba             5156 drivers/scsi/lpfc/lpfc_els.c 	phba->fc_stat.elsXmitACC++;
phba             5159 drivers/scsi/lpfc/lpfc_els.c 	rc = lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, elsiocb, 0);
phba             5161 drivers/scsi/lpfc/lpfc_els.c 		lpfc_els_free_iocb(phba, elsiocb);
phba             5401 drivers/scsi/lpfc/lpfc_els.c 	if (vport->phba->fc_topology != LPFC_TOPOLOGY_LOOP) {
phba             5402 drivers/scsi/lpfc/lpfc_els.c 		bbCredit = vport->phba->fc_fabparam.cmn.bbCreditLsb |
phba             5403 drivers/scsi/lpfc/lpfc_els.c 			(vport->phba->fc_fabparam.cmn.bbCreditMsb << 8);
phba             5416 drivers/scsi/lpfc/lpfc_els.c lpfc_rdp_res_oed_temp_desc(struct lpfc_hba *phba,
phba             5428 drivers/scsi/lpfc/lpfc_els.c 	if (phba->sfp_alarm & LPFC_TRANSGRESSION_HIGH_TEMPERATURE)
phba             5430 drivers/scsi/lpfc/lpfc_els.c 	if (phba->sfp_alarm & LPFC_TRANSGRESSION_LOW_TEMPERATURE)
phba             5432 drivers/scsi/lpfc/lpfc_els.c 	if (phba->sfp_warning & LPFC_TRANSGRESSION_HIGH_TEMPERATURE)
phba             5434 drivers/scsi/lpfc/lpfc_els.c 	if (phba->sfp_warning & LPFC_TRANSGRESSION_LOW_TEMPERATURE)
phba             5444 drivers/scsi/lpfc/lpfc_els.c lpfc_rdp_res_oed_voltage_desc(struct lpfc_hba *phba,
phba             5457 drivers/scsi/lpfc/lpfc_els.c 	if (phba->sfp_alarm & LPFC_TRANSGRESSION_HIGH_VOLTAGE)
phba             5459 drivers/scsi/lpfc/lpfc_els.c 	if (phba->sfp_alarm & LPFC_TRANSGRESSION_LOW_VOLTAGE)
phba             5461 drivers/scsi/lpfc/lpfc_els.c 	if (phba->sfp_warning & LPFC_TRANSGRESSION_HIGH_VOLTAGE)
phba             5463 drivers/scsi/lpfc/lpfc_els.c 	if (phba->sfp_warning & LPFC_TRANSGRESSION_LOW_VOLTAGE)
phba             5473 drivers/scsi/lpfc/lpfc_els.c lpfc_rdp_res_oed_txbias_desc(struct lpfc_hba *phba,
phba             5486 drivers/scsi/lpfc/lpfc_els.c 	if (phba->sfp_alarm & LPFC_TRANSGRESSION_HIGH_TXBIAS)
phba             5488 drivers/scsi/lpfc/lpfc_els.c 	if (phba->sfp_alarm & LPFC_TRANSGRESSION_LOW_TXBIAS)
phba             5490 drivers/scsi/lpfc/lpfc_els.c 	if (phba->sfp_warning & LPFC_TRANSGRESSION_HIGH_TXBIAS)
phba             5492 drivers/scsi/lpfc/lpfc_els.c 	if (phba->sfp_warning & LPFC_TRANSGRESSION_LOW_TXBIAS)
phba             5502 drivers/scsi/lpfc/lpfc_els.c lpfc_rdp_res_oed_txpower_desc(struct lpfc_hba *phba,
phba             5515 drivers/scsi/lpfc/lpfc_els.c 	if (phba->sfp_alarm & LPFC_TRANSGRESSION_HIGH_TXPOWER)
phba             5517 drivers/scsi/lpfc/lpfc_els.c 	if (phba->sfp_alarm & LPFC_TRANSGRESSION_LOW_TXPOWER)
phba             5519 drivers/scsi/lpfc/lpfc_els.c 	if (phba->sfp_warning & LPFC_TRANSGRESSION_HIGH_TXPOWER)
phba             5521 drivers/scsi/lpfc/lpfc_els.c 	if (phba->sfp_warning & LPFC_TRANSGRESSION_LOW_TXPOWER)
phba             5532 drivers/scsi/lpfc/lpfc_els.c lpfc_rdp_res_oed_rxpower_desc(struct lpfc_hba *phba,
phba             5545 drivers/scsi/lpfc/lpfc_els.c 	if (phba->sfp_alarm & LPFC_TRANSGRESSION_HIGH_RXPOWER)
phba             5547 drivers/scsi/lpfc/lpfc_els.c 	if (phba->sfp_alarm & LPFC_TRANSGRESSION_LOW_RXPOWER)
phba             5549 drivers/scsi/lpfc/lpfc_els.c 	if (phba->sfp_warning & LPFC_TRANSGRESSION_HIGH_RXPOWER)
phba             5551 drivers/scsi/lpfc/lpfc_els.c 	if (phba->sfp_warning & LPFC_TRANSGRESSION_LOW_RXPOWER)
phba             5592 drivers/scsi/lpfc/lpfc_els.c lpfc_rdp_res_speed(struct fc_rdp_port_speed_desc *desc, struct lpfc_hba *phba)
phba             5599 drivers/scsi/lpfc/lpfc_els.c 	switch (phba->fc_linkspeed) {
phba             5631 drivers/scsi/lpfc/lpfc_els.c 	if (phba->lmt & LMT_128Gb)
phba             5633 drivers/scsi/lpfc/lpfc_els.c 	if (phba->lmt & LMT_64Gb)
phba             5635 drivers/scsi/lpfc/lpfc_els.c 	if (phba->lmt & LMT_32Gb)
phba             5637 drivers/scsi/lpfc/lpfc_els.c 	if (phba->lmt & LMT_16Gb)
phba             5639 drivers/scsi/lpfc/lpfc_els.c 	if (phba->lmt & LMT_10Gb)
phba             5641 drivers/scsi/lpfc/lpfc_els.c 	if (phba->lmt & LMT_8Gb)
phba             5643 drivers/scsi/lpfc/lpfc_els.c 	if (phba->lmt & LMT_4Gb)
phba             5645 drivers/scsi/lpfc/lpfc_els.c 	if (phba->lmt & LMT_2Gb)
phba             5647 drivers/scsi/lpfc/lpfc_els.c 	if (phba->lmt & LMT_1Gb)
phba             5652 drivers/scsi/lpfc/lpfc_els.c 	if (phba->cfg_link_speed != LPFC_USER_LINK_SPEED_AUTO)
phba             5702 drivers/scsi/lpfc/lpfc_els.c lpfc_els_rdp_cmpl(struct lpfc_hba *phba, struct lpfc_rdp_context *rdp_context,
phba             5748 drivers/scsi/lpfc/lpfc_els.c 	phba->sfp_alarm |= *flag_ptr;
phba             5750 drivers/scsi/lpfc/lpfc_els.c 	phba->sfp_warning |= *flag_ptr;
phba             5760 drivers/scsi/lpfc/lpfc_els.c 				  phba);
phba             5771 drivers/scsi/lpfc/lpfc_els.c 	len += lpfc_rdp_res_oed_temp_desc(phba,
phba             5774 drivers/scsi/lpfc/lpfc_els.c 	len += lpfc_rdp_res_oed_voltage_desc(phba,
phba             5777 drivers/scsi/lpfc/lpfc_els.c 	len += lpfc_rdp_res_oed_txbias_desc(phba,
phba             5780 drivers/scsi/lpfc/lpfc_els.c 	len += lpfc_rdp_res_oed_txpower_desc(phba,
phba             5783 drivers/scsi/lpfc/lpfc_els.c 	len += lpfc_rdp_res_oed_rxpower_desc(phba,
phba             5799 drivers/scsi/lpfc/lpfc_els.c 	phba->fc_stat.elsXmitACC++;
phba             5800 drivers/scsi/lpfc/lpfc_els.c 	rc = lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, elsiocb, 0);
phba             5802 drivers/scsi/lpfc/lpfc_els.c 		lpfc_els_free_iocb(phba, elsiocb);
phba             5824 drivers/scsi/lpfc/lpfc_els.c 	phba->fc_stat.elsXmitLSRJT++;
phba             5826 drivers/scsi/lpfc/lpfc_els.c 	rc = lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, elsiocb, 0);
phba             5829 drivers/scsi/lpfc/lpfc_els.c 		lpfc_els_free_iocb(phba, elsiocb);
phba             5835 drivers/scsi/lpfc/lpfc_els.c lpfc_get_rdp_info(struct lpfc_hba *phba, struct lpfc_rdp_context *rdp_context)
phba             5840 drivers/scsi/lpfc/lpfc_els.c 	mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             5842 drivers/scsi/lpfc/lpfc_els.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_MBOX | LOG_ELS,
phba             5847 drivers/scsi/lpfc/lpfc_els.c 	if (lpfc_sli4_dump_page_a0(phba, mbox))
phba             5852 drivers/scsi/lpfc/lpfc_els.c 	rc = lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT);
phba             5860 drivers/scsi/lpfc/lpfc_els.c 	mempool_free(mbox, phba->mbox_mem_pool);
phba             5885 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_hba *phba = vport->phba;
phba             5893 drivers/scsi/lpfc/lpfc_els.c 	if (phba->sli_rev < LPFC_SLI_REV4 ||
phba             5894 drivers/scsi/lpfc/lpfc_els.c 	    bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) <
phba             5901 drivers/scsi/lpfc/lpfc_els.c 	if (phba->sli_rev < LPFC_SLI_REV4 || (phba->hba_flag & HBA_FCOE_MODE)) {
phba             5937 drivers/scsi/lpfc/lpfc_els.c 	if (lpfc_get_rdp_info(phba, rdp_context)) {
phba             5961 drivers/scsi/lpfc/lpfc_els.c lpfc_els_lcb_rsp(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb)
phba             5986 drivers/scsi/lpfc/lpfc_els.c 	lpfc_printf_log(phba, KERN_INFO, LOG_MBOX,
phba             5995 drivers/scsi/lpfc/lpfc_els.c 		mempool_free(pmb, phba->mbox_mem_pool);
phba             5999 drivers/scsi/lpfc/lpfc_els.c 	mempool_free(pmb, phba->mbox_mem_pool);
phba             6001 drivers/scsi/lpfc/lpfc_els.c 	elsiocb = lpfc_prep_els_iocb(phba->pport, 0, cmdsize,
phba             6027 drivers/scsi/lpfc/lpfc_els.c 	phba->fc_stat.elsXmitACC++;
phba             6028 drivers/scsi/lpfc/lpfc_els.c 	rc = lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, elsiocb, 0);
phba             6030 drivers/scsi/lpfc/lpfc_els.c 		lpfc_els_free_iocb(phba, elsiocb);
phba             6037 drivers/scsi/lpfc/lpfc_els.c 	elsiocb = lpfc_prep_els_iocb(phba->pport, 0, cmdsize,
phba             6057 drivers/scsi/lpfc/lpfc_els.c 	phba->fc_stat.elsXmitLSRJT++;
phba             6058 drivers/scsi/lpfc/lpfc_els.c 	rc = lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, elsiocb, 0);
phba             6060 drivers/scsi/lpfc/lpfc_els.c 		lpfc_els_free_iocb(phba, elsiocb);
phba             6070 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_hba *phba = vport->phba;
phba             6076 drivers/scsi/lpfc/lpfc_els.c 	mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             6083 drivers/scsi/lpfc/lpfc_els.c 	lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_COMMON,
phba             6087 drivers/scsi/lpfc/lpfc_els.c 	mbox->vport = phba->pport;
phba             6090 drivers/scsi/lpfc/lpfc_els.c 	       phba->sli4_hba.physical_port);
phba             6101 drivers/scsi/lpfc/lpfc_els.c 	if (phba->sli4_hba.pc_sli4_params.bv1s) {
phba             6113 drivers/scsi/lpfc/lpfc_els.c 			mempool_free(mbox, phba->mbox_mem_pool);
phba             6127 drivers/scsi/lpfc/lpfc_els.c 	rc = lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT);
phba             6129 drivers/scsi/lpfc/lpfc_els.c 		mempool_free(mbox, phba->mbox_mem_pool);
phba             6155 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_hba *phba = vport->phba;
phba             6183 drivers/scsi/lpfc/lpfc_els.c 	if (phba->sli_rev < LPFC_SLI_REV4  ||
phba             6184 drivers/scsi/lpfc/lpfc_els.c 	    phba->hba_flag & HBA_FCOE_MODE ||
phba             6185 drivers/scsi/lpfc/lpfc_els.c 	    (bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) <
phba             6236 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_hba  *phba = vport->phba;
phba             6250 drivers/scsi/lpfc/lpfc_els.c 		lpfc_in_buf_free(phba, vport->fc_rscn_id_list[i]);
phba             6363 drivers/scsi/lpfc/lpfc_els.c 		if (vport->phba->nvmet_support)
phba             6462 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_hba  *phba = vport->phba;
phba             6520 drivers/scsi/lpfc/lpfc_els.c 	if ((phba->sli3_options & LPFC_SLI3_NPIV_ENABLED) &&
phba             6529 drivers/scsi/lpfc/lpfc_els.c 			if (lpfc_find_vport_by_did(phba, nportid))
phba             6577 drivers/scsi/lpfc/lpfc_els.c 			tmo = ((phba->fc_ratov * 3) + 3);
phba             6670 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_hba  *phba = vport->phba;
phba             6699 drivers/scsi/lpfc/lpfc_els.c 		if (phba->cfg_ns_query == LPFC_NS_QUERY_GID_FT) {
phba             6702 drivers/scsi/lpfc/lpfc_els.c 		} else if (phba->cfg_ns_query == LPFC_NS_QUERY_GID_PT) {
phba             6769 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_hba  *phba = vport->phba;
phba             6787 drivers/scsi/lpfc/lpfc_els.c 	if (phba->fc_topology == LPFC_TOPOLOGY_LOOP) {
phba             6811 drivers/scsi/lpfc/lpfc_els.c 		if (phba->sli_rev < LPFC_SLI_REV4) {
phba             6812 drivers/scsi/lpfc/lpfc_els.c 			mbox = mempool_alloc(phba->mbox_mem_pool,
phba             6816 drivers/scsi/lpfc/lpfc_els.c 			lpfc_linkdown(phba);
phba             6817 drivers/scsi/lpfc/lpfc_els.c 			lpfc_init_link(phba, mbox,
phba             6818 drivers/scsi/lpfc/lpfc_els.c 				       phba->cfg_topology,
phba             6819 drivers/scsi/lpfc/lpfc_els.c 				       phba->cfg_link_speed);
phba             6823 drivers/scsi/lpfc/lpfc_els.c 			rc = lpfc_sli_issue_mbox(phba, mbox,
phba             6825 drivers/scsi/lpfc/lpfc_els.c 			lpfc_set_loopback_flag(phba);
phba             6827 drivers/scsi/lpfc/lpfc_els.c 				mempool_free(mbox, phba->mbox_mem_pool);
phba             6834 drivers/scsi/lpfc/lpfc_els.c 		lpfc_els_abort_flogi(phba);
phba             6881 drivers/scsi/lpfc/lpfc_els.c 	memcpy(&phba->fc_fabparam, sp, sizeof(struct serv_parm));
phba             6884 drivers/scsi/lpfc/lpfc_els.c 	if (!(phba->hba_flag & HBA_FLOGI_ISSUED)) {
phba             6885 drivers/scsi/lpfc/lpfc_els.c 		phba->defer_flogi_acc_rx_id = cmdiocb->iocb.ulpContext;
phba             6886 drivers/scsi/lpfc/lpfc_els.c 		phba->defer_flogi_acc_ox_id =
phba             6894 drivers/scsi/lpfc/lpfc_els.c 				 phba->defer_flogi_acc_rx_id,
phba             6895 drivers/scsi/lpfc/lpfc_els.c 				 phba->defer_flogi_acc_ox_id, phba->hba_flag);
phba             6897 drivers/scsi/lpfc/lpfc_els.c 		phba->defer_flogi_acc_flag = true;
phba             7035 drivers/scsi/lpfc/lpfc_els.c 	if (vport->phba->sli_rev == LPFC_SLI_REV4)
phba             7059 drivers/scsi/lpfc/lpfc_els.c lpfc_els_rsp_rls_acc(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb)
phba             7080 drivers/scsi/lpfc/lpfc_els.c 		mempool_free(pmb, phba->mbox_mem_pool);
phba             7085 drivers/scsi/lpfc/lpfc_els.c 	elsiocb = lpfc_prep_els_iocb(phba->pport, 0, cmdsize,
phba             7093 drivers/scsi/lpfc/lpfc_els.c 		mempool_free(pmb, phba->mbox_mem_pool);
phba             7112 drivers/scsi/lpfc/lpfc_els.c 	mempool_free(pmb, phba->mbox_mem_pool);
phba             7121 drivers/scsi/lpfc/lpfc_els.c 	phba->fc_stat.elsXmitACC++;
phba             7122 drivers/scsi/lpfc/lpfc_els.c 	if (lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, elsiocb, 0) == IOCB_ERROR)
phba             7123 drivers/scsi/lpfc/lpfc_els.c 		lpfc_els_free_iocb(phba, elsiocb);
phba             7146 drivers/scsi/lpfc/lpfc_els.c lpfc_els_rsp_rps_acc(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb)
phba             7168 drivers/scsi/lpfc/lpfc_els.c 		mempool_free(pmb, phba->mbox_mem_pool);
phba             7173 drivers/scsi/lpfc/lpfc_els.c 	mempool_free(pmb, phba->mbox_mem_pool);
phba             7174 drivers/scsi/lpfc/lpfc_els.c 	elsiocb = lpfc_prep_els_iocb(phba->pport, 0, cmdsize,
phba             7193 drivers/scsi/lpfc/lpfc_els.c 	if (phba->fc_topology != LPFC_TOPOLOGY_LOOP)
phba             7197 drivers/scsi/lpfc/lpfc_els.c 	if (phba->pport->fc_flag & FC_FABRIC)
phba             7216 drivers/scsi/lpfc/lpfc_els.c 	phba->fc_stat.elsXmitACC++;
phba             7217 drivers/scsi/lpfc/lpfc_els.c 	if (lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, elsiocb, 0) == IOCB_ERROR)
phba             7218 drivers/scsi/lpfc/lpfc_els.c 		lpfc_els_free_iocb(phba, elsiocb);
phba             7244 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_hba *phba = vport->phba;
phba             7253 drivers/scsi/lpfc/lpfc_els.c 	mbox = mempool_alloc(phba->mbox_mem_pool, GFP_ATOMIC);
phba             7255 drivers/scsi/lpfc/lpfc_els.c 		lpfc_read_lnk_stat(phba, mbox);
phba             7262 drivers/scsi/lpfc/lpfc_els.c 		if (lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT)
phba             7270 drivers/scsi/lpfc/lpfc_els.c 		mempool_free(mbox, phba->mbox_mem_pool);
phba             7307 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_hba *phba = vport->phba;
phba             7321 drivers/scsi/lpfc/lpfc_els.c 	elsiocb = lpfc_prep_els_iocb(phba->pport, 0, cmdsize,
phba             7339 drivers/scsi/lpfc/lpfc_els.c 	rtv_rsp->ratov = cpu_to_be32(phba->fc_ratov * 1000); /* report msecs */
phba             7340 drivers/scsi/lpfc/lpfc_els.c 	rtv_rsp->edtov = cpu_to_be32(phba->fc_edtov);
phba             7341 drivers/scsi/lpfc/lpfc_els.c 	bf_set(qtov_edtovres, rtv_rsp, phba->fc_edtovResol ? 1 : 0);
phba             7355 drivers/scsi/lpfc/lpfc_els.c 	phba->fc_stat.elsXmitACC++;
phba             7356 drivers/scsi/lpfc/lpfc_els.c 	if (lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, elsiocb, 0) == IOCB_ERROR)
phba             7357 drivers/scsi/lpfc/lpfc_els.c 		lpfc_els_free_iocb(phba, elsiocb);
phba             7391 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_hba *phba = vport->phba;
phba             7416 drivers/scsi/lpfc/lpfc_els.c 		mbox = mempool_alloc(phba->mbox_mem_pool, GFP_ATOMIC);
phba             7418 drivers/scsi/lpfc/lpfc_els.c 			lpfc_read_lnk_stat(phba, mbox);
phba             7425 drivers/scsi/lpfc/lpfc_els.c 			if (lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT)
phba             7433 drivers/scsi/lpfc/lpfc_els.c 			mempool_free(mbox, phba->mbox_mem_pool);
phba             7464 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_hba  *phba = vport->phba;
phba             7491 drivers/scsi/lpfc/lpfc_els.c 	bf_set(rrq_oxid, els_rrq, phba->sli4_hba.xri_ids[rrq->xritag]);
phba             7503 drivers/scsi/lpfc/lpfc_els.c 	ret = lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, elsiocb, 0);
phba             7506 drivers/scsi/lpfc/lpfc_els.c 		lpfc_els_free_iocb(phba, elsiocb);
phba             7525 drivers/scsi/lpfc/lpfc_els.c lpfc_send_rrq(struct lpfc_hba *phba, struct lpfc_node_rrq *rrq)
phba             7532 drivers/scsi/lpfc/lpfc_els.c 	if (lpfc_test_rrq_active(phba, ndlp, rrq->xritag))
phba             7562 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_hba *phba = vport->phba;
phba             7602 drivers/scsi/lpfc/lpfc_els.c 	phba->fc_stat.elsXmitACC++;
phba             7603 drivers/scsi/lpfc/lpfc_els.c 	if (lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, elsiocb, 0) ==
phba             7605 drivers/scsi/lpfc/lpfc_els.c 		lpfc_els_free_iocb(phba, elsiocb);
phba             7813 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_hba *phba = vport->phba;
phba             7821 drivers/scsi/lpfc/lpfc_els.c 	if ((vport == phba->pport) &&
phba             7823 drivers/scsi/lpfc/lpfc_els.c 		if ((memcmp(&phba->fc_fabparam.nodeName, &fp->FnodeName,
phba             7825 drivers/scsi/lpfc/lpfc_els.c 		    (memcmp(&phba->fc_fabparam.portName, &fp->FportName,
phba             7832 drivers/scsi/lpfc/lpfc_els.c 			if (phba->sli_rev < LPFC_SLI_REV4)
phba             7859 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_hba   *phba = vport->phba;
phba             7870 drivers/scsi/lpfc/lpfc_els.c 		lpfc_worker_wake_up(phba);
phba             7887 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_hba  *phba = vport->phba;
phba             7898 drivers/scsi/lpfc/lpfc_els.c 	timeout = (uint32_t)(phba->fc_ratov << 1);
phba             7900 drivers/scsi/lpfc/lpfc_els.c 	pring = lpfc_phba_elsring(phba);
phba             7904 drivers/scsi/lpfc/lpfc_els.c 	if ((phba->pport->load_flag & FC_UNLOADING))
phba             7906 drivers/scsi/lpfc/lpfc_els.c 	spin_lock_irq(&phba->hbalock);
phba             7907 drivers/scsi/lpfc/lpfc_els.c 	if (phba->sli_rev == LPFC_SLI_REV4)
phba             7910 drivers/scsi/lpfc/lpfc_els.c 	if ((phba->pport->load_flag & FC_UNLOADING)) {
phba             7911 drivers/scsi/lpfc/lpfc_els.c 		if (phba->sli_rev == LPFC_SLI_REV4)
phba             7913 drivers/scsi/lpfc/lpfc_els.c 		spin_unlock_irq(&phba->hbalock);
phba             7956 drivers/scsi/lpfc/lpfc_els.c 	if (phba->sli_rev == LPFC_SLI_REV4)
phba             7958 drivers/scsi/lpfc/lpfc_els.c 	spin_unlock_irq(&phba->hbalock);
phba             7966 drivers/scsi/lpfc/lpfc_els.c 		spin_lock_irq(&phba->hbalock);
phba             7968 drivers/scsi/lpfc/lpfc_els.c 		lpfc_sli_issue_abort_iotag(phba, pring, piocb);
phba             7969 drivers/scsi/lpfc/lpfc_els.c 		spin_unlock_irq(&phba->hbalock);
phba             7973 drivers/scsi/lpfc/lpfc_els.c 		if (!(phba->pport->load_flag & FC_UNLOADING))
phba             8002 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_hba  *phba = vport->phba;
phba             8016 drivers/scsi/lpfc/lpfc_els.c 	spin_lock_irqsave(&phba->hbalock, iflags);
phba             8017 drivers/scsi/lpfc/lpfc_els.c 	pring = lpfc_phba_elsring(phba);
phba             8021 drivers/scsi/lpfc/lpfc_els.c 		spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             8025 drivers/scsi/lpfc/lpfc_els.c 	if (phba->sli_rev == LPFC_SLI_REV4)
phba             8053 drivers/scsi/lpfc/lpfc_els.c 			if (phba->link_state == LPFC_LINK_DOWN)
phba             8060 drivers/scsi/lpfc/lpfc_els.c 	if (phba->sli_rev == LPFC_SLI_REV4)
phba             8062 drivers/scsi/lpfc/lpfc_els.c 	spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             8066 drivers/scsi/lpfc/lpfc_els.c 		spin_lock_irqsave(&phba->hbalock, iflags);
phba             8068 drivers/scsi/lpfc/lpfc_els.c 		lpfc_sli_issue_abort_iotag(phba, pring, piocb);
phba             8069 drivers/scsi/lpfc/lpfc_els.c 		spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             8076 drivers/scsi/lpfc/lpfc_els.c 	spin_lock_irqsave(&phba->hbalock, iflags);
phba             8077 drivers/scsi/lpfc/lpfc_els.c 	if (phba->sli_rev == LPFC_SLI_REV4)
phba             8105 drivers/scsi/lpfc/lpfc_els.c 	if (vport == phba->pport) {
phba             8107 drivers/scsi/lpfc/lpfc_els.c 					 &phba->fabric_iocb_list, list) {
phba             8114 drivers/scsi/lpfc/lpfc_els.c 	if (phba->sli_rev == LPFC_SLI_REV4)
phba             8116 drivers/scsi/lpfc/lpfc_els.c 	spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             8119 drivers/scsi/lpfc/lpfc_els.c 	lpfc_sli_cancel_iocbs(phba, &abort_list,
phba             8143 drivers/scsi/lpfc/lpfc_els.c lpfc_els_flush_all_cmd(struct lpfc_hba  *phba)
phba             8147 drivers/scsi/lpfc/lpfc_els.c 	spin_lock_irq(&phba->port_list_lock);
phba             8148 drivers/scsi/lpfc/lpfc_els.c 	list_for_each_entry(vport, &phba->port_list, listentry)
phba             8150 drivers/scsi/lpfc/lpfc_els.c 	spin_unlock_irq(&phba->port_list_lock);
phba             8165 drivers/scsi/lpfc/lpfc_els.c lpfc_send_els_failure_event(struct lpfc_hba *phba,
phba             8317 drivers/scsi/lpfc/lpfc_els.c lpfc_els_unsol_buffer(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
phba             8335 drivers/scsi/lpfc/lpfc_els.c 	if ((phba->sli3_options & LPFC_SLI3_HBQ_ENABLED) == 0)
phba             8336 drivers/scsi/lpfc/lpfc_els.c 		lpfc_post_buffer(phba, pring, 1);
phba             8387 drivers/scsi/lpfc/lpfc_els.c 	phba->fc_stat.elsRcvFrame++;
phba             8429 drivers/scsi/lpfc/lpfc_els.c 		phba->fc_stat.elsRcvPLOGI++;
phba             8430 drivers/scsi/lpfc/lpfc_els.c 		ndlp = lpfc_plogi_confirm_nport(phba, payload, ndlp);
phba             8431 drivers/scsi/lpfc/lpfc_els.c 		if (phba->sli_rev == LPFC_SLI_REV4 &&
phba             8432 drivers/scsi/lpfc/lpfc_els.c 		    (phba->pport->fc_flag & FC_PT2PT)) {
phba             8455 drivers/scsi/lpfc/lpfc_els.c 			if (!(phba->pport->fc_flag & FC_PT2PT) ||
phba             8456 drivers/scsi/lpfc/lpfc_els.c 				(phba->pport->fc_flag & FC_PT2PT_PLOGI)) {
phba             8476 drivers/scsi/lpfc/lpfc_els.c 		phba->fc_stat.elsRcvFLOGI++;
phba             8499 drivers/scsi/lpfc/lpfc_els.c 		phba->fc_stat.elsRcvLOGO++;
phba             8513 drivers/scsi/lpfc/lpfc_els.c 		phba->fc_stat.elsRcvPRLO++;
phba             8523 drivers/scsi/lpfc/lpfc_els.c 		phba->fc_stat.elsRcvLCB++;
phba             8527 drivers/scsi/lpfc/lpfc_els.c 		phba->fc_stat.elsRcvRDP++;
phba             8531 drivers/scsi/lpfc/lpfc_els.c 		phba->fc_stat.elsRcvRSCN++;
phba             8542 drivers/scsi/lpfc/lpfc_els.c 		phba->fc_stat.elsRcvADISC++;
phba             8556 drivers/scsi/lpfc/lpfc_els.c 		phba->fc_stat.elsRcvPDISC++;
phba             8570 drivers/scsi/lpfc/lpfc_els.c 		phba->fc_stat.elsRcvFARPR++;
phba             8578 drivers/scsi/lpfc/lpfc_els.c 		phba->fc_stat.elsRcvFARP++;
phba             8586 drivers/scsi/lpfc/lpfc_els.c 		phba->fc_stat.elsRcvFAN++;
phba             8595 drivers/scsi/lpfc/lpfc_els.c 		phba->fc_stat.elsRcvPRLI++;
phba             8609 drivers/scsi/lpfc/lpfc_els.c 		phba->fc_stat.elsRcvLIRR++;
phba             8619 drivers/scsi/lpfc/lpfc_els.c 		phba->fc_stat.elsRcvRLS++;
phba             8629 drivers/scsi/lpfc/lpfc_els.c 		phba->fc_stat.elsRcvRPS++;
phba             8639 drivers/scsi/lpfc/lpfc_els.c 		phba->fc_stat.elsRcvRPL++;
phba             8649 drivers/scsi/lpfc/lpfc_els.c 		phba->fc_stat.elsRcvRNID++;
phba             8658 drivers/scsi/lpfc/lpfc_els.c 		phba->fc_stat.elsRcvRTV++;
phba             8668 drivers/scsi/lpfc/lpfc_els.c 		phba->fc_stat.elsRcvRRQ++;
phba             8678 drivers/scsi/lpfc/lpfc_els.c 		phba->fc_stat.elsRcvECHO++;
phba             8732 drivers/scsi/lpfc/lpfc_els.c 		mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             8735 drivers/scsi/lpfc/lpfc_els.c 		lpfc_linkdown(phba);
phba             8736 drivers/scsi/lpfc/lpfc_els.c 		lpfc_init_link(phba, mbox,
phba             8737 drivers/scsi/lpfc/lpfc_els.c 			       phba->cfg_topology,
phba             8738 drivers/scsi/lpfc/lpfc_els.c 			       phba->cfg_link_speed);
phba             8742 drivers/scsi/lpfc/lpfc_els.c 		if (lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT) ==
phba             8744 drivers/scsi/lpfc/lpfc_els.c 			mempool_free(mbox, phba->mbox_mem_pool);
phba             8755 drivers/scsi/lpfc/lpfc_els.c 	phba->fc_stat.elsRcvDrop++;
phba             8771 drivers/scsi/lpfc/lpfc_els.c lpfc_els_unsol_event(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
phba             8774 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_vport *vport = phba->pport;
phba             8785 drivers/scsi/lpfc/lpfc_els.c 		lpfc_sli_hbqbuf_add_hbqs(phba, LPFC_ELS_HBQ);
phba             8789 drivers/scsi/lpfc/lpfc_els.c 		phba->fc_stat.NoRcvBuf++;
phba             8791 drivers/scsi/lpfc/lpfc_els.c 		if (!(phba->sli3_options & LPFC_SLI3_HBQ_ENABLED))
phba             8792 drivers/scsi/lpfc/lpfc_els.c 			lpfc_post_buffer(phba, pring, 0);
phba             8796 drivers/scsi/lpfc/lpfc_els.c 	if ((phba->sli3_options & LPFC_SLI3_NPIV_ENABLED) &&
phba             8800 drivers/scsi/lpfc/lpfc_els.c 			vport = phba->pport;
phba             8802 drivers/scsi/lpfc/lpfc_els.c 			vport = lpfc_find_vport_by_vpid(phba,
phba             8815 drivers/scsi/lpfc/lpfc_els.c 	if (phba->sli3_options & LPFC_SLI3_HBQ_ENABLED) {
phba             8820 drivers/scsi/lpfc/lpfc_els.c 		elsiocb->context2 = lpfc_sli_ringpostbuf_get(phba, pring,
phba             8824 drivers/scsi/lpfc/lpfc_els.c 	lpfc_els_unsol_buffer(phba, pring, vport, elsiocb);
phba             8830 drivers/scsi/lpfc/lpfc_els.c 		lpfc_in_buf_free(phba, (struct lpfc_dmabuf *)elsiocb->context2);
phba             8835 drivers/scsi/lpfc/lpfc_els.c 	if ((phba->sli3_options & LPFC_SLI3_HBQ_ENABLED) &&
phba             8838 drivers/scsi/lpfc/lpfc_els.c 		lpfc_els_unsol_buffer(phba, pring, vport, elsiocb);
phba             8841 drivers/scsi/lpfc/lpfc_els.c 			lpfc_in_buf_free(phba, elsiocb->context2);
phba             8888 drivers/scsi/lpfc/lpfc_els.c lpfc_do_scr_ns_plogi(struct lpfc_hba *phba, struct lpfc_vport *vport)
phba             8901 drivers/scsi/lpfc/lpfc_els.c 		lpfc_printf_log(phba, KERN_ERR, LOG_DISCOVERY,
phba             8903 drivers/scsi/lpfc/lpfc_els.c 				phba->fc_ratov);
phba             8905 drivers/scsi/lpfc/lpfc_els.c 			jiffies + msecs_to_jiffies(1000 * phba->fc_ratov));
phba             8914 drivers/scsi/lpfc/lpfc_els.c 			if (phba->fc_topology == LPFC_TOPOLOGY_LOOP) {
phba             8926 drivers/scsi/lpfc/lpfc_els.c 			if (phba->fc_topology == LPFC_TOPOLOGY_LOOP) {
phba             8947 drivers/scsi/lpfc/lpfc_els.c 	if ((phba->cfg_enable_SmartSAN ||
phba             8948 drivers/scsi/lpfc/lpfc_els.c 	     (phba->cfg_fdmi_on == LPFC_FDMI_SUPPORT)) &&
phba             8966 drivers/scsi/lpfc/lpfc_els.c lpfc_cmpl_reg_new_vport(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb)
phba             8983 drivers/scsi/lpfc/lpfc_els.c 		if (phba->sli_rev == LPFC_SLI_REV4 &&
phba             9003 drivers/scsi/lpfc/lpfc_els.c 			lpfc_init_vpi(phba, pmb, vport->vpi);
phba             9006 drivers/scsi/lpfc/lpfc_els.c 			rc = lpfc_sli_issue_mbox(phba, pmb,
phba             9020 drivers/scsi/lpfc/lpfc_els.c 			if (phba->sli_rev == LPFC_SLI_REV4)
phba             9030 drivers/scsi/lpfc/lpfc_els.c 				if (phba->sli_rev == LPFC_SLI_REV4)
phba             9043 drivers/scsi/lpfc/lpfc_els.c 		if (vport == phba->pport) {
phba             9044 drivers/scsi/lpfc/lpfc_els.c 			if (phba->sli_rev < LPFC_SLI_REV4)
phba             9052 drivers/scsi/lpfc/lpfc_els.c 					lpfc_start_fdiscs(phba);
phba             9053 drivers/scsi/lpfc/lpfc_els.c 				lpfc_do_scr_ns_plogi(phba, vport);
phba             9056 drivers/scsi/lpfc/lpfc_els.c 			lpfc_do_scr_ns_plogi(phba, vport);
phba             9064 drivers/scsi/lpfc/lpfc_els.c 	mempool_free(pmb, phba->mbox_mem_pool);
phba             9078 drivers/scsi/lpfc/lpfc_els.c lpfc_register_new_vport(struct lpfc_hba *phba, struct lpfc_vport *vport,
phba             9084 drivers/scsi/lpfc/lpfc_els.c 	mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             9090 drivers/scsi/lpfc/lpfc_els.c 		if (lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT)
phba             9096 drivers/scsi/lpfc/lpfc_els.c 			mempool_free(mbox, phba->mbox_mem_pool);
phba             9124 drivers/scsi/lpfc/lpfc_els.c lpfc_cancel_all_vport_retry_delay_timer(struct lpfc_hba *phba)
phba             9132 drivers/scsi/lpfc/lpfc_els.c 	link_state = phba->link_state;
phba             9133 drivers/scsi/lpfc/lpfc_els.c 	lpfc_linkdown(phba);
phba             9134 drivers/scsi/lpfc/lpfc_els.c 	phba->link_state = link_state;
phba             9136 drivers/scsi/lpfc/lpfc_els.c 	vports = lpfc_create_vport_work_array(phba);
phba             9139 drivers/scsi/lpfc/lpfc_els.c 		for (i = 0; i <= phba->max_vports && vports[i] != NULL; i++) {
phba             9145 drivers/scsi/lpfc/lpfc_els.c 		lpfc_destroy_vport_work_array(phba, vports);
phba             9158 drivers/scsi/lpfc/lpfc_els.c lpfc_retry_pport_discovery(struct lpfc_hba *phba)
phba             9164 drivers/scsi/lpfc/lpfc_els.c 	lpfc_cancel_all_vport_retry_delay_timer(phba);
phba             9167 drivers/scsi/lpfc/lpfc_els.c 	ndlp = lpfc_findnode_did(phba->pport, Fabric_DID);
phba             9171 drivers/scsi/lpfc/lpfc_els.c 	shost = lpfc_shost_from_vport(phba->pport);
phba             9177 drivers/scsi/lpfc/lpfc_els.c 	phba->pport->port_state = LPFC_FLOGI;
phba             9191 drivers/scsi/lpfc/lpfc_els.c lpfc_fabric_login_reqd(struct lpfc_hba *phba,
phba             9224 drivers/scsi/lpfc/lpfc_els.c lpfc_cmpl_els_fdisc(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
phba             9246 drivers/scsi/lpfc/lpfc_els.c 	list_for_each_entry(piocb, &phba->fabric_iocb_list, list) {
phba             9256 drivers/scsi/lpfc/lpfc_els.c 		if (lpfc_fabric_login_reqd(phba, cmdiocb, rspiocb)) {
phba             9257 drivers/scsi/lpfc/lpfc_els.c 			lpfc_retry_pport_discovery(phba);
phba             9262 drivers/scsi/lpfc/lpfc_els.c 		if (lpfc_els_retry(phba, cmdiocb, rspiocb))
phba             9274 drivers/scsi/lpfc/lpfc_els.c 	if (vport->phba->fc_topology == LPFC_TOPOLOGY_LOOP)
phba             9308 drivers/scsi/lpfc/lpfc_els.c 		if (phba->sli_rev == LPFC_SLI_REV4)
phba             9314 drivers/scsi/lpfc/lpfc_els.c 		if (phba->sli_rev == LPFC_SLI_REV4)
phba             9319 drivers/scsi/lpfc/lpfc_els.c 	} else if ((phba->sli_rev == LPFC_SLI_REV4) &&
phba             9325 drivers/scsi/lpfc/lpfc_els.c 		lpfc_register_new_vport(phba, vport, ndlp);
phba             9332 drivers/scsi/lpfc/lpfc_els.c 		lpfc_register_new_vport(phba, vport, ndlp);
phba             9334 drivers/scsi/lpfc/lpfc_els.c 		lpfc_do_scr_ns_plogi(phba, vport);
phba             9344 drivers/scsi/lpfc/lpfc_els.c 	lpfc_els_free_iocb(phba, cmdiocb);
phba             9371 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_hba *phba = vport->phba;
phba             9400 drivers/scsi/lpfc/lpfc_els.c 	if (phba->sli_rev == LPFC_SLI_REV3) {
phba             9408 drivers/scsi/lpfc/lpfc_els.c 	memcpy(pcmd, &vport->phba->pport->fc_sparam, sizeof(struct serv_parm));
phba             9430 drivers/scsi/lpfc/lpfc_els.c 	phba->fc_stat.elsXmitFDISC++;
phba             9437 drivers/scsi/lpfc/lpfc_els.c 	rc = lpfc_issue_fabric_iocb(phba, elsiocb);
phba             9439 drivers/scsi/lpfc/lpfc_els.c 		lpfc_els_free_iocb(phba, elsiocb);
phba             9464 drivers/scsi/lpfc/lpfc_els.c lpfc_cmpl_els_npiv_logo(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
phba             9478 drivers/scsi/lpfc/lpfc_els.c 	lpfc_els_free_iocb(phba, cmdiocb);
phba             9520 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_hba  *phba = vport->phba;
phba             9548 drivers/scsi/lpfc/lpfc_els.c 	if (lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, elsiocb, 0) ==
phba             9553 drivers/scsi/lpfc/lpfc_els.c 		lpfc_els_free_iocb(phba, elsiocb);
phba             9573 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_hba  *phba = from_timer(phba, t, fabric_block_timer);
phba             9577 drivers/scsi/lpfc/lpfc_els.c 	spin_lock_irqsave(&phba->pport->work_port_lock, iflags);
phba             9578 drivers/scsi/lpfc/lpfc_els.c 	tmo_posted = phba->pport->work_port_events & WORKER_FABRIC_BLOCK_TMO;
phba             9580 drivers/scsi/lpfc/lpfc_els.c 		phba->pport->work_port_events |= WORKER_FABRIC_BLOCK_TMO;
phba             9581 drivers/scsi/lpfc/lpfc_els.c 	spin_unlock_irqrestore(&phba->pport->work_port_lock, iflags);
phba             9584 drivers/scsi/lpfc/lpfc_els.c 		lpfc_worker_wake_up(phba);
phba             9599 drivers/scsi/lpfc/lpfc_els.c lpfc_resume_fabric_iocbs(struct lpfc_hba *phba)
phba             9608 drivers/scsi/lpfc/lpfc_els.c 	spin_lock_irqsave(&phba->hbalock, iflags);
phba             9610 drivers/scsi/lpfc/lpfc_els.c 	if (atomic_read(&phba->fabric_iocb_count) == 0) {
phba             9611 drivers/scsi/lpfc/lpfc_els.c 		list_remove_head(&phba->fabric_iocb_list, iocb, typeof(*iocb),
phba             9615 drivers/scsi/lpfc/lpfc_els.c 			atomic_inc(&phba->fabric_iocb_count);
phba             9617 drivers/scsi/lpfc/lpfc_els.c 	spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             9627 drivers/scsi/lpfc/lpfc_els.c 		ret = lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, iocb, 0);
phba             9636 drivers/scsi/lpfc/lpfc_els.c 			iocb->iocb_cmpl(phba, iocb, iocb);
phba             9638 drivers/scsi/lpfc/lpfc_els.c 			atomic_dec(&phba->fabric_iocb_count);
phba             9656 drivers/scsi/lpfc/lpfc_els.c lpfc_unblock_fabric_iocbs(struct lpfc_hba *phba)
phba             9658 drivers/scsi/lpfc/lpfc_els.c 	clear_bit(FABRIC_COMANDS_BLOCKED, &phba->bit_flags);
phba             9660 drivers/scsi/lpfc/lpfc_els.c 	lpfc_resume_fabric_iocbs(phba);
phba             9674 drivers/scsi/lpfc/lpfc_els.c lpfc_block_fabric_iocbs(struct lpfc_hba *phba)
phba             9678 drivers/scsi/lpfc/lpfc_els.c 	blocked = test_and_set_bit(FABRIC_COMANDS_BLOCKED, &phba->bit_flags);
phba             9681 drivers/scsi/lpfc/lpfc_els.c 		mod_timer(&phba->fabric_block_timer,
phba             9701 drivers/scsi/lpfc/lpfc_els.c lpfc_cmpl_fabric_iocb(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
phba             9712 drivers/scsi/lpfc/lpfc_els.c 				lpfc_block_fabric_iocbs(phba);
phba             9718 drivers/scsi/lpfc/lpfc_els.c 			lpfc_block_fabric_iocbs(phba);
phba             9726 drivers/scsi/lpfc/lpfc_els.c 				lpfc_block_fabric_iocbs(phba);
phba             9730 drivers/scsi/lpfc/lpfc_els.c 	BUG_ON(atomic_read(&phba->fabric_iocb_count) == 0);
phba             9735 drivers/scsi/lpfc/lpfc_els.c 	cmdiocb->iocb_cmpl(phba, cmdiocb, rspiocb);
phba             9737 drivers/scsi/lpfc/lpfc_els.c 	atomic_dec(&phba->fabric_iocb_count);
phba             9738 drivers/scsi/lpfc/lpfc_els.c 	if (!test_bit(FABRIC_COMANDS_BLOCKED, &phba->bit_flags)) {
phba             9740 drivers/scsi/lpfc/lpfc_els.c 		lpfc_resume_fabric_iocbs(phba);
phba             9769 drivers/scsi/lpfc/lpfc_els.c lpfc_issue_fabric_iocb(struct lpfc_hba *phba, struct lpfc_iocbq *iocb)
phba             9775 drivers/scsi/lpfc/lpfc_els.c 	BUG_ON(atomic_read(&phba->fabric_iocb_count) > 1);
phba             9777 drivers/scsi/lpfc/lpfc_els.c 	spin_lock_irqsave(&phba->hbalock, iflags);
phba             9778 drivers/scsi/lpfc/lpfc_els.c 	ready = atomic_read(&phba->fabric_iocb_count) == 0 &&
phba             9779 drivers/scsi/lpfc/lpfc_els.c 		!test_bit(FABRIC_COMANDS_BLOCKED, &phba->bit_flags);
phba             9783 drivers/scsi/lpfc/lpfc_els.c 		atomic_inc(&phba->fabric_iocb_count);
phba             9784 drivers/scsi/lpfc/lpfc_els.c 	spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             9794 drivers/scsi/lpfc/lpfc_els.c 		ret = lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, iocb, 0);
phba             9800 drivers/scsi/lpfc/lpfc_els.c 			atomic_dec(&phba->fabric_iocb_count);
phba             9803 drivers/scsi/lpfc/lpfc_els.c 		spin_lock_irqsave(&phba->hbalock, iflags);
phba             9804 drivers/scsi/lpfc/lpfc_els.c 		list_add_tail(&iocb->list, &phba->fabric_iocb_list);
phba             9805 drivers/scsi/lpfc/lpfc_els.c 		spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             9825 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_hba  *phba = vport->phba;
phba             9828 drivers/scsi/lpfc/lpfc_els.c 	spin_lock_irq(&phba->hbalock);
phba             9829 drivers/scsi/lpfc/lpfc_els.c 	list_for_each_entry_safe(piocb, tmp_iocb, &phba->fabric_iocb_list,
phba             9837 drivers/scsi/lpfc/lpfc_els.c 	spin_unlock_irq(&phba->hbalock);
phba             9840 drivers/scsi/lpfc/lpfc_els.c 	lpfc_sli_cancel_iocbs(phba, &completions, IOSTAT_LOCAL_REJECT,
phba             9858 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_hba  *phba = ndlp->phba;
phba             9862 drivers/scsi/lpfc/lpfc_els.c 	pring = lpfc_phba_elsring(phba);
phba             9867 drivers/scsi/lpfc/lpfc_els.c 	spin_lock_irq(&phba->hbalock);
phba             9868 drivers/scsi/lpfc/lpfc_els.c 	list_for_each_entry_safe(piocb, tmp_iocb, &phba->fabric_iocb_list,
phba             9870 drivers/scsi/lpfc/lpfc_els.c 		if ((lpfc_check_sli_ndlp(phba, pring, piocb, ndlp))) {
phba             9875 drivers/scsi/lpfc/lpfc_els.c 	spin_unlock_irq(&phba->hbalock);
phba             9878 drivers/scsi/lpfc/lpfc_els.c 	lpfc_sli_cancel_iocbs(phba, &completions, IOSTAT_LOCAL_REJECT,
phba             9893 drivers/scsi/lpfc/lpfc_els.c void lpfc_fabric_abort_hba(struct lpfc_hba *phba)
phba             9897 drivers/scsi/lpfc/lpfc_els.c 	spin_lock_irq(&phba->hbalock);
phba             9898 drivers/scsi/lpfc/lpfc_els.c 	list_splice_init(&phba->fabric_iocb_list, &completions);
phba             9899 drivers/scsi/lpfc/lpfc_els.c 	spin_unlock_irq(&phba->hbalock);
phba             9902 drivers/scsi/lpfc/lpfc_els.c 	lpfc_sli_cancel_iocbs(phba, &completions, IOSTAT_LOCAL_REJECT,
phba             9916 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_hba *phba = vport->phba;
phba             9920 drivers/scsi/lpfc/lpfc_els.c 	spin_lock_irqsave(&phba->hbalock, iflag);
phba             9921 drivers/scsi/lpfc/lpfc_els.c 	spin_lock(&phba->sli4_hba.sgl_list_lock);
phba             9923 drivers/scsi/lpfc/lpfc_els.c 			&phba->sli4_hba.lpfc_abts_els_sgl_list, list) {
phba             9927 drivers/scsi/lpfc/lpfc_els.c 	spin_unlock(&phba->sli4_hba.sgl_list_lock);
phba             9928 drivers/scsi/lpfc/lpfc_els.c 	spin_unlock_irqrestore(&phba->hbalock, iflag);
phba             9941 drivers/scsi/lpfc/lpfc_els.c lpfc_sli4_els_xri_aborted(struct lpfc_hba *phba,
phba             9953 drivers/scsi/lpfc/lpfc_els.c 	pring = lpfc_phba_elsring(phba);
phba             9955 drivers/scsi/lpfc/lpfc_els.c 	spin_lock_irqsave(&phba->hbalock, iflag);
phba             9956 drivers/scsi/lpfc/lpfc_els.c 	spin_lock(&phba->sli4_hba.sgl_list_lock);
phba             9958 drivers/scsi/lpfc/lpfc_els.c 			&phba->sli4_hba.lpfc_abts_els_sgl_list, list) {
phba             9964 drivers/scsi/lpfc/lpfc_els.c 				&phba->sli4_hba.lpfc_els_sgl_list);
phba             9966 drivers/scsi/lpfc/lpfc_els.c 			spin_unlock(&phba->sli4_hba.sgl_list_lock);
phba             9967 drivers/scsi/lpfc/lpfc_els.c 			spin_unlock_irqrestore(&phba->hbalock, iflag);
phba             9968 drivers/scsi/lpfc/lpfc_els.c 			lpfc_set_rrq_active(phba, ndlp,
phba             9974 drivers/scsi/lpfc/lpfc_els.c 				lpfc_worker_wake_up(phba);
phba             9978 drivers/scsi/lpfc/lpfc_els.c 	spin_unlock(&phba->sli4_hba.sgl_list_lock);
phba             9979 drivers/scsi/lpfc/lpfc_els.c 	lxri = lpfc_sli4_xri_inrange(phba, xri);
phba             9981 drivers/scsi/lpfc/lpfc_els.c 		spin_unlock_irqrestore(&phba->hbalock, iflag);
phba             9984 drivers/scsi/lpfc/lpfc_els.c 	spin_lock(&phba->sli4_hba.sgl_list_lock);
phba             9985 drivers/scsi/lpfc/lpfc_els.c 	sglq_entry = __lpfc_get_active_sglq(phba, lxri);
phba             9987 drivers/scsi/lpfc/lpfc_els.c 		spin_unlock(&phba->sli4_hba.sgl_list_lock);
phba             9988 drivers/scsi/lpfc/lpfc_els.c 		spin_unlock_irqrestore(&phba->hbalock, iflag);
phba             9992 drivers/scsi/lpfc/lpfc_els.c 	spin_unlock(&phba->sli4_hba.sgl_list_lock);
phba             9993 drivers/scsi/lpfc/lpfc_els.c 	spin_unlock_irqrestore(&phba->hbalock, iflag);
phba             10011 drivers/scsi/lpfc/lpfc_els.c 	struct lpfc_hba *phba;
phba             10015 drivers/scsi/lpfc/lpfc_els.c 	phba = vport->phba;
phba             10017 drivers/scsi/lpfc/lpfc_els.c 		lpfc_printf_log(phba, KERN_INFO,
phba             10022 drivers/scsi/lpfc/lpfc_els.c 	lpfc_printf_log(phba, KERN_ERR,
phba               82 drivers/scsi/lpfc/lpfc_hbadisc.c 	struct lpfc_hba *phba;
phba               95 drivers/scsi/lpfc/lpfc_hbadisc.c 	phba  = ndlp->phba;
phba              103 drivers/scsi/lpfc/lpfc_hbadisc.c 			&phba->sli.sli3_ring[LPFC_FCP_RING],
phba              118 drivers/scsi/lpfc/lpfc_hbadisc.c 	struct lpfc_hba   *phba;
phba              130 drivers/scsi/lpfc/lpfc_hbadisc.c 	phba  = vport->phba;
phba              184 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_lock_irqsave(&phba->hbalock, iflags);
phba              187 drivers/scsi/lpfc/lpfc_hbadisc.c 		list_add_tail(&evtp->evt_listp, &phba->work_list);
phba              188 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_worker_wake_up(phba);
phba              190 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_unlock_irqrestore(&phba->hbalock, iflags);
phba              211 drivers/scsi/lpfc/lpfc_hbadisc.c 	struct lpfc_hba   *phba;
phba              231 drivers/scsi/lpfc/lpfc_hbadisc.c 	phba  = vport->phba;
phba              233 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (phba->sli_rev == LPFC_SLI_REV4)
phba              234 drivers/scsi/lpfc/lpfc_hbadisc.c 		fcf_inuse = lpfc_fcf_inuse(phba);
phba              259 drivers/scsi/lpfc/lpfc_hbadisc.c 					    &phba->sli.sli3_ring[LPFC_FCP_RING],
phba              295 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_sli_abort_iocb(vport, &phba->sli.sli3_ring[LPFC_FCP_RING],
phba              348 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_sli4_post_dev_loss_tmo_handler(struct lpfc_hba *phba, int fcf_inuse,
phba              357 drivers/scsi/lpfc/lpfc_hbadisc.c 	if ((phba->hba_flag & HBA_FIP_SUPPORT) && !lpfc_fcf_inuse(phba)) {
phba              358 drivers/scsi/lpfc/lpfc_hbadisc.c 		spin_lock_irq(&phba->hbalock);
phba              359 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (phba->fcf.fcf_flag & FCF_DISCOVERY) {
phba              360 drivers/scsi/lpfc/lpfc_hbadisc.c 			if (phba->hba_flag & HBA_DEVLOSS_TMO) {
phba              361 drivers/scsi/lpfc/lpfc_hbadisc.c 				spin_unlock_irq(&phba->hbalock);
phba              364 drivers/scsi/lpfc/lpfc_hbadisc.c 			phba->hba_flag |= HBA_DEVLOSS_TMO;
phba              365 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_printf_log(phba, KERN_INFO, LOG_FIP,
phba              369 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (phba->fcf.fcf_flag & FCF_REDISC_PROG) {
phba              370 drivers/scsi/lpfc/lpfc_hbadisc.c 			spin_unlock_irq(&phba->hbalock);
phba              371 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_printf_log(phba, KERN_INFO, LOG_FIP,
phba              376 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (!(phba->hba_flag & (FCF_TS_INPROG | FCF_RR_INPROG))) {
phba              377 drivers/scsi/lpfc/lpfc_hbadisc.c 			spin_unlock_irq(&phba->hbalock);
phba              378 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_printf_log(phba, KERN_INFO, LOG_FIP,
phba              382 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_unregister_fcf_rescan(phba);
phba              385 drivers/scsi/lpfc/lpfc_hbadisc.c 		spin_unlock_irq(&phba->hbalock);
phba              386 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (phba->hba_flag & FCF_TS_INPROG)
phba              387 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_printf_log(phba, KERN_INFO, LOG_FIP,
phba              389 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (phba->hba_flag & FCF_RR_INPROG)
phba              390 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_printf_log(phba, KERN_INFO, LOG_FIP,
phba              394 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_unregister_unused_fcf(phba);
phba              408 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_alloc_fast_evt(struct lpfc_hba *phba) {
phba              412 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (atomic_read(&phba->fast_event_count) > LPFC_MAX_EVT_COUNT)
phba              418 drivers/scsi/lpfc/lpfc_hbadisc.c 		atomic_inc(&phba->fast_event_count);
phba              434 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_free_fast_evt(struct lpfc_hba *phba,
phba              437 drivers/scsi/lpfc/lpfc_hbadisc.c 	atomic_dec(&phba->fast_event_count);
phba              451 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_send_fastpath_evt(struct lpfc_hba *phba,
phba              477 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_free_fast_evt(phba, fast_evt_data);
phba              498 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_free_fast_evt(phba, fast_evt_data);
phba              502 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_free_fast_evt(phba, fast_evt_data);
phba              506 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (phba->cfg_enable_fc4_type != LPFC_ENABLE_NVME)
phba              513 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_free_fast_evt(phba, fast_evt_data);
phba              518 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_work_list_done(struct lpfc_hba *phba)
phba              526 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_lock_irq(&phba->hbalock);
phba              527 drivers/scsi/lpfc/lpfc_hbadisc.c 	while (!list_empty(&phba->work_list)) {
phba              528 drivers/scsi/lpfc/lpfc_hbadisc.c 		list_remove_head((&phba->work_list), evtp, typeof(*evtp),
phba              530 drivers/scsi/lpfc/lpfc_hbadisc.c 		spin_unlock_irq(&phba->hbalock);
phba              551 drivers/scsi/lpfc/lpfc_hbadisc.c 			if (phba->sli_rev == LPFC_SLI_REV4)
phba              552 drivers/scsi/lpfc/lpfc_hbadisc.c 				lpfc_sli4_post_dev_loss_tmo_handler(phba,
phba              557 drivers/scsi/lpfc/lpfc_hbadisc.c 			if (phba->link_state < LPFC_LINK_DOWN)
phba              558 drivers/scsi/lpfc/lpfc_hbadisc.c 				*(int *) (evtp->evt_arg1) = lpfc_online(phba);
phba              564 drivers/scsi/lpfc/lpfc_hbadisc.c 			if (phba->link_state >= LPFC_LINK_DOWN)
phba              565 drivers/scsi/lpfc/lpfc_hbadisc.c 				lpfc_offline_prep(phba, LPFC_MBX_WAIT);
phba              570 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_offline(phba);
phba              571 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_sli_brdrestart(phba);
phba              573 drivers/scsi/lpfc/lpfc_hbadisc.c 				lpfc_sli_brdready(phba, HS_FFRDY | HS_MBRDY);
phba              574 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_unblock_mgmt_io(phba);
phba              578 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_offline(phba);
phba              579 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_reset_barrier(phba);
phba              580 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_sli_brdreset(phba);
phba              581 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_hba_down_post(phba);
phba              583 drivers/scsi/lpfc/lpfc_hbadisc.c 				lpfc_sli_brdready(phba, HS_MBRDY);
phba              584 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_unblock_mgmt_io(phba);
phba              588 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_offline(phba);
phba              590 drivers/scsi/lpfc/lpfc_hbadisc.c 				= (phba->pport->stopped)
phba              591 drivers/scsi/lpfc/lpfc_hbadisc.c 				        ? 0 : lpfc_sli_brdkill(phba);
phba              592 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_unblock_mgmt_io(phba);
phba              596 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_send_fastpath_evt(phba, evtp);
phba              600 drivers/scsi/lpfc/lpfc_hbadisc.c 			if (!(phba->pport->load_flag & FC_UNLOADING))
phba              601 drivers/scsi/lpfc/lpfc_hbadisc.c 				lpfc_reset_hba(phba);
phba              606 drivers/scsi/lpfc/lpfc_hbadisc.c 		spin_lock_irq(&phba->hbalock);
phba              608 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_unlock_irq(&phba->hbalock);
phba              613 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_work_done(struct lpfc_hba *phba)
phba              621 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_lock_irq(&phba->hbalock);
phba              622 drivers/scsi/lpfc/lpfc_hbadisc.c 	ha_copy = phba->work_ha;
phba              623 drivers/scsi/lpfc/lpfc_hbadisc.c 	phba->work_ha = 0;
phba              624 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_unlock_irq(&phba->hbalock);
phba              627 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (phba->pci_dev_grp == LPFC_PCI_DEV_OC)
phba              628 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_sli4_post_async_mbox(phba);
phba              632 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_handle_eratt(phba);
phba              635 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_sli_handle_mb_event(phba);
phba              638 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_handle_latt(phba);
phba              641 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (phba->pci_dev_grp == LPFC_PCI_DEV_OC) {
phba              642 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (phba->hba_flag & HBA_RRQ_ACTIVE)
phba              643 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_handle_rrq_active(phba);
phba              644 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (phba->hba_flag & ELS_XRI_ABORT_EVENT)
phba              645 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_sli4_els_xri_abort_event_proc(phba);
phba              646 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (phba->hba_flag & ASYNC_EVENT)
phba              647 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_sli4_async_event_proc(phba);
phba              648 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (phba->hba_flag & HBA_POST_RECEIVE_BUFFER) {
phba              649 drivers/scsi/lpfc/lpfc_hbadisc.c 			spin_lock_irq(&phba->hbalock);
phba              650 drivers/scsi/lpfc/lpfc_hbadisc.c 			phba->hba_flag &= ~HBA_POST_RECEIVE_BUFFER;
phba              651 drivers/scsi/lpfc/lpfc_hbadisc.c 			spin_unlock_irq(&phba->hbalock);
phba              652 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_sli_hbqbuf_add_hbqs(phba, LPFC_ELS_HBQ);
phba              654 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (phba->fcf.fcf_flag & FCF_REDISC_EVT)
phba              655 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_sli4_fcf_redisc_event_proc(phba);
phba              658 drivers/scsi/lpfc/lpfc_hbadisc.c 	vports = lpfc_create_vport_work_array(phba);
phba              660 drivers/scsi/lpfc/lpfc_hbadisc.c 		for (i = 0; i <= phba->max_vports; i++) {
phba              666 drivers/scsi/lpfc/lpfc_hbadisc.c 				vport = phba->pport;
phba              680 drivers/scsi/lpfc/lpfc_hbadisc.c 				lpfc_hb_timeout_handler(phba);
phba              682 drivers/scsi/lpfc/lpfc_hbadisc.c 				lpfc_mbox_timeout_handler(phba);
phba              684 drivers/scsi/lpfc/lpfc_hbadisc.c 				lpfc_unblock_fabric_iocbs(phba);
phba              686 drivers/scsi/lpfc/lpfc_hbadisc.c 				lpfc_ramp_down_queue_handler(phba);
phba              690 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_destroy_vport_work_array(phba, vports);
phba              692 drivers/scsi/lpfc/lpfc_hbadisc.c 	pring = lpfc_phba_elsring(phba);
phba              697 drivers/scsi/lpfc/lpfc_hbadisc.c 		      phba->hba_flag & HBA_SP_QUEUE_EVT)) {
phba              701 drivers/scsi/lpfc/lpfc_hbadisc.c 			if (!(phba->hba_flag & HBA_SP_QUEUE_EVT))
phba              702 drivers/scsi/lpfc/lpfc_hbadisc.c 				set_bit(LPFC_DATA_READY, &phba->data_flags);
phba              707 drivers/scsi/lpfc/lpfc_hbadisc.c 			if (phba->link_state >= LPFC_LINK_DOWN ||
phba              708 drivers/scsi/lpfc/lpfc_hbadisc.c 			    phba->link_flag & LS_MDS_LOOPBACK) {
phba              710 drivers/scsi/lpfc/lpfc_hbadisc.c 				lpfc_sli_handle_slow_ring_event(phba, pring,
phba              715 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (phba->sli_rev == LPFC_SLI_REV4)
phba              716 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_drain_txq(phba);
phba              720 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (phba->sli_rev <= LPFC_SLI_REV3) {
phba              721 drivers/scsi/lpfc/lpfc_hbadisc.c 			spin_lock_irq(&phba->hbalock);
phba              722 drivers/scsi/lpfc/lpfc_hbadisc.c 			control = readl(phba->HCregaddr);
phba              724 drivers/scsi/lpfc/lpfc_hbadisc.c 				lpfc_debugfs_slow_ring_trc(phba,
phba              729 drivers/scsi/lpfc/lpfc_hbadisc.c 				writel(control, phba->HCregaddr);
phba              730 drivers/scsi/lpfc/lpfc_hbadisc.c 				readl(phba->HCregaddr); /* flush */
phba              732 drivers/scsi/lpfc/lpfc_hbadisc.c 				lpfc_debugfs_slow_ring_trc(phba,
phba              736 drivers/scsi/lpfc/lpfc_hbadisc.c 			spin_unlock_irq(&phba->hbalock);
phba              739 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_work_list_done(phba);
phba              745 drivers/scsi/lpfc/lpfc_hbadisc.c 	struct lpfc_hba *phba = p;
phba              750 drivers/scsi/lpfc/lpfc_hbadisc.c 	phba->data_flags = 0;
phba              754 drivers/scsi/lpfc/lpfc_hbadisc.c 		rc = wait_event_interruptible(phba->work_waitq,
phba              756 drivers/scsi/lpfc/lpfc_hbadisc.c 							    &phba->data_flags)
phba              760 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_printf_log(phba, KERN_ERR, LOG_ELS,
phba              766 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_work_done(phba);
phba              768 drivers/scsi/lpfc/lpfc_hbadisc.c 	phba->worker_thread = NULL;
phba              769 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_printf_log(phba, KERN_INFO, LOG_ELS,
phba              780 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_workq_post_event(struct lpfc_hba *phba, void *arg1, void *arg2,
phba              798 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_lock_irqsave(&phba->hbalock, flags);
phba              799 drivers/scsi/lpfc/lpfc_hbadisc.c 	list_add_tail(&evtp->evt_listp, &phba->work_list);
phba              800 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_unlock_irqrestore(&phba->hbalock, flags);
phba              802 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_worker_wake_up(phba);
phba              811 drivers/scsi/lpfc/lpfc_hbadisc.c 	struct lpfc_hba  *phba = vport->phba;
phba              819 drivers/scsi/lpfc/lpfc_hbadisc.c 		if ((phba->sli3_options & LPFC_SLI3_VPORT_TEARDOWN) ||
phba              825 drivers/scsi/lpfc/lpfc_hbadisc.c 		if ((phba->sli_rev < LPFC_SLI_REV4) &&
phba              833 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (phba->sli3_options & LPFC_SLI3_VPORT_TEARDOWN) {
phba              834 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (phba->sli_rev == LPFC_SLI_REV4)
phba              886 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_linkdown(struct lpfc_hba *phba)
phba              888 drivers/scsi/lpfc/lpfc_hbadisc.c 	struct lpfc_vport *vport = phba->pport;
phba              894 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (phba->link_state == LPFC_LINK_DOWN)
phba              898 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_scsi_dev_block(phba);
phba              900 drivers/scsi/lpfc/lpfc_hbadisc.c 	phba->defer_flogi_acc_flag = false;
phba              902 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_lock_irq(&phba->hbalock);
phba              903 drivers/scsi/lpfc/lpfc_hbadisc.c 	phba->fcf.fcf_flag &= ~(FCF_AVAILABLE | FCF_SCAN_DONE);
phba              904 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_unlock_irq(&phba->hbalock);
phba              905 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (phba->link_state > LPFC_LINK_DOWN) {
phba              906 drivers/scsi/lpfc/lpfc_hbadisc.c 		phba->link_state = LPFC_LINK_DOWN;
phba              907 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (phba->sli4_hba.conf_trunk) {
phba              908 drivers/scsi/lpfc/lpfc_hbadisc.c 			phba->trunk_link.link0.state = 0;
phba              909 drivers/scsi/lpfc/lpfc_hbadisc.c 			phba->trunk_link.link1.state = 0;
phba              910 drivers/scsi/lpfc/lpfc_hbadisc.c 			phba->trunk_link.link2.state = 0;
phba              911 drivers/scsi/lpfc/lpfc_hbadisc.c 			phba->trunk_link.link3.state = 0;
phba              912 drivers/scsi/lpfc/lpfc_hbadisc.c 			phba->sli4_hba.link_state.logical_speed =
phba              916 drivers/scsi/lpfc/lpfc_hbadisc.c 		phba->pport->fc_flag &= ~FC_LBIT;
phba              919 drivers/scsi/lpfc/lpfc_hbadisc.c 	vports = lpfc_create_vport_work_array(phba);
phba              921 drivers/scsi/lpfc/lpfc_hbadisc.c 		for (i = 0; i <= phba->max_vports && vports[i] != NULL; i++) {
phba              929 drivers/scsi/lpfc/lpfc_hbadisc.c 				if (phba->nvmet_support)
phba              930 drivers/scsi/lpfc/lpfc_hbadisc.c 					lpfc_nvmet_update_targetport(phba);
phba              936 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_destroy_vport_work_array(phba, vports);
phba              939 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (phba->sli_rev > LPFC_SLI_REV3)
phba              942 drivers/scsi/lpfc/lpfc_hbadisc.c 	mb = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba              944 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_unreg_did(phba, 0xffff, LPFC_UNREG_ALL_DFLT_RPIS, mb);
phba              947 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (lpfc_sli_issue_mbox(phba, mb, MBX_NOWAIT)
phba              949 drivers/scsi/lpfc/lpfc_hbadisc.c 			mempool_free(mb, phba->mbox_mem_pool);
phba              955 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (phba->pport->fc_flag & FC_PT2PT) {
phba              956 drivers/scsi/lpfc/lpfc_hbadisc.c 		mb = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba              958 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_config_link(phba, mb);
phba              961 drivers/scsi/lpfc/lpfc_hbadisc.c 			if (lpfc_sli_issue_mbox(phba, mb, MBX_NOWAIT)
phba              963 drivers/scsi/lpfc/lpfc_hbadisc.c 				mempool_free(mb, phba->mbox_mem_pool);
phba              967 drivers/scsi/lpfc/lpfc_hbadisc.c 		phba->pport->fc_flag &= ~(FC_PT2PT | FC_PT2PT_PLOGI);
phba              968 drivers/scsi/lpfc/lpfc_hbadisc.c 		phba->pport->rcv_flogi_cnt = 0;
phba             1005 drivers/scsi/lpfc/lpfc_hbadisc.c 	struct lpfc_hba  *phba = vport->phba;
phba             1012 drivers/scsi/lpfc/lpfc_hbadisc.c 		phba->fc_topology, phba->fc_linkspeed, phba->link_flag);
phba             1015 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (!(phba->sli3_options & LPFC_SLI3_NPIV_ENABLED) &&
phba             1016 drivers/scsi/lpfc/lpfc_hbadisc.c 		(vport != phba->pport))
phba             1036 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_linkup(struct lpfc_hba *phba)
phba             1040 drivers/scsi/lpfc/lpfc_hbadisc.c 	struct Scsi_Host  *shost = lpfc_shost_from_vport(phba->pport);
phba             1042 drivers/scsi/lpfc/lpfc_hbadisc.c 	phba->link_state = LPFC_LINK_UP;
phba             1045 drivers/scsi/lpfc/lpfc_hbadisc.c 	clear_bit(FABRIC_COMANDS_BLOCKED, &phba->bit_flags);
phba             1046 drivers/scsi/lpfc/lpfc_hbadisc.c 	del_timer_sync(&phba->fabric_block_timer);
phba             1048 drivers/scsi/lpfc/lpfc_hbadisc.c 	vports = lpfc_create_vport_work_array(phba);
phba             1050 drivers/scsi/lpfc/lpfc_hbadisc.c 		for (i = 0; i <= phba->max_vports && vports[i] != NULL; i++)
phba             1052 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_destroy_vport_work_array(phba, vports);
phba             1059 drivers/scsi/lpfc/lpfc_hbadisc.c 	phba->pport->rcv_flogi_cnt = 0;
phba             1063 drivers/scsi/lpfc/lpfc_hbadisc.c 	phba->hba_flag &= ~(HBA_FLOGI_ISSUED);
phba             1064 drivers/scsi/lpfc/lpfc_hbadisc.c 	phba->defer_flogi_acc_flag = false;
phba             1076 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_mbx_cmpl_clear_la(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb)
phba             1080 drivers/scsi/lpfc/lpfc_hbadisc.c 	struct lpfc_sli   *psli = &phba->sli;
phba             1095 drivers/scsi/lpfc/lpfc_hbadisc.c 		phba->link_state = LPFC_HBA_ERROR;
phba             1100 drivers/scsi/lpfc/lpfc_hbadisc.c 		phba->link_state = LPFC_HBA_READY;
phba             1102 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_lock_irq(&phba->hbalock);
phba             1104 drivers/scsi/lpfc/lpfc_hbadisc.c 	control = readl(phba->HCregaddr);
phba             1106 drivers/scsi/lpfc/lpfc_hbadisc.c 	writel(control, phba->HCregaddr);
phba             1107 drivers/scsi/lpfc/lpfc_hbadisc.c 	readl(phba->HCregaddr); /* flush */
phba             1108 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_unlock_irq(&phba->hbalock);
phba             1109 drivers/scsi/lpfc/lpfc_hbadisc.c 	mempool_free(pmb, phba->mbox_mem_pool);
phba             1116 drivers/scsi/lpfc/lpfc_hbadisc.c 	mempool_free(pmb, phba->mbox_mem_pool);
phba             1126 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_lock_irq(&phba->hbalock);
phba             1128 drivers/scsi/lpfc/lpfc_hbadisc.c 	control = readl(phba->HCregaddr);
phba             1130 drivers/scsi/lpfc/lpfc_hbadisc.c 	writel(control, phba->HCregaddr);
phba             1131 drivers/scsi/lpfc/lpfc_hbadisc.c 	readl(phba->HCregaddr); /* flush */
phba             1132 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_unlock_irq(&phba->hbalock);
phba             1139 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_mbx_cmpl_local_config_link(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb)
phba             1146 drivers/scsi/lpfc/lpfc_hbadisc.c 	mempool_free(pmb, phba->mbox_mem_pool);
phba             1149 drivers/scsi/lpfc/lpfc_hbadisc.c 	if ((phba->sli_rev == LPFC_SLI_REV4) &&
phba             1150 drivers/scsi/lpfc/lpfc_hbadisc.c 	    !(phba->hba_flag & HBA_FCOE_MODE) &&
phba             1151 drivers/scsi/lpfc/lpfc_hbadisc.c 	    (phba->link_flag & LS_LOOPBACK_MODE))
phba             1154 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (phba->fc_topology == LPFC_TOPOLOGY_LOOP &&
phba             1170 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (!(phba->hba_flag & HBA_DEFER_FLOGI))
phba             1183 drivers/scsi/lpfc/lpfc_hbadisc.c 	mempool_free(pmb, phba->mbox_mem_pool);
phba             1185 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_linkdown(phba);
phba             1191 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_issue_clear_la(phba, vport);
phba             1204 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_sli4_clear_fcf_rr_bmask(struct lpfc_hba *phba)
phba             1208 drivers/scsi/lpfc/lpfc_hbadisc.c 	memset(phba->fcf.fcf_rr_bmask, 0, sizeof(*phba->fcf.fcf_rr_bmask));
phba             1209 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_lock_irq(&phba->hbalock);
phba             1211 drivers/scsi/lpfc/lpfc_hbadisc.c 				&phba->fcf.fcf_pri_list, list) {
phba             1215 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_unlock_irq(&phba->hbalock);
phba             1218 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_mbx_cmpl_reg_fcfi(struct lpfc_hba *phba, LPFC_MBOXQ_t *mboxq)
phba             1231 drivers/scsi/lpfc/lpfc_hbadisc.c 	phba->fcf.fcfi = bf_get(lpfc_reg_fcfi_fcfi, &mboxq->u.mqe.un.reg_fcfi);
phba             1233 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_lock_irq(&phba->hbalock);
phba             1234 drivers/scsi/lpfc/lpfc_hbadisc.c 	phba->fcf.fcf_flag |= FCF_REGISTERED;
phba             1235 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_unlock_irq(&phba->hbalock);
phba             1238 drivers/scsi/lpfc/lpfc_hbadisc.c 	if ((!(phba->hba_flag & FCF_RR_INPROG)) &&
phba             1239 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_check_pending_fcoe_event(phba, LPFC_UNREG_FCF))
phba             1243 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_lock_irq(&phba->hbalock);
phba             1244 drivers/scsi/lpfc/lpfc_hbadisc.c 	phba->fcf.fcf_flag |= (FCF_SCAN_DONE | FCF_IN_USE);
phba             1245 drivers/scsi/lpfc/lpfc_hbadisc.c 	phba->hba_flag &= ~FCF_TS_INPROG;
phba             1247 drivers/scsi/lpfc/lpfc_hbadisc.c 		phba->hba_flag |= FCF_RR_INPROG;
phba             1248 drivers/scsi/lpfc/lpfc_hbadisc.c 		spin_unlock_irq(&phba->hbalock);
phba             1252 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_unlock_irq(&phba->hbalock);
phba             1256 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_lock_irq(&phba->hbalock);
phba             1257 drivers/scsi/lpfc/lpfc_hbadisc.c 	phba->hba_flag &= ~FCF_RR_INPROG;
phba             1258 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_unlock_irq(&phba->hbalock);
phba             1260 drivers/scsi/lpfc/lpfc_hbadisc.c 	mempool_free(mboxq, phba->mbox_mem_pool);
phba             1369 drivers/scsi/lpfc/lpfc_hbadisc.c __lpfc_update_fcf_record_pri(struct lpfc_hba *phba, uint16_t fcf_index,
phba             1375 drivers/scsi/lpfc/lpfc_hbadisc.c 	lockdep_assert_held(&phba->hbalock);
phba             1377 drivers/scsi/lpfc/lpfc_hbadisc.c 	fcf_pri = &phba->fcf.fcf_pri[fcf_index];
phba             1457 drivers/scsi/lpfc/lpfc_hbadisc.c __lpfc_update_fcf_record(struct lpfc_hba *phba, struct lpfc_fcf_rec *fcf_rec,
phba             1461 drivers/scsi/lpfc/lpfc_hbadisc.c 	lockdep_assert_held(&phba->hbalock);
phba             1469 drivers/scsi/lpfc/lpfc_hbadisc.c 	__lpfc_update_fcf_record_pri(phba,
phba             1482 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_register_fcf(struct lpfc_hba *phba)
phba             1487 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_lock_irq(&phba->hbalock);
phba             1489 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (!(phba->fcf.fcf_flag & FCF_AVAILABLE)) {
phba             1490 drivers/scsi/lpfc/lpfc_hbadisc.c 		phba->hba_flag &= ~(FCF_TS_INPROG | FCF_RR_INPROG);
phba             1491 drivers/scsi/lpfc/lpfc_hbadisc.c 		spin_unlock_irq(&phba->hbalock);
phba             1496 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (phba->fcf.fcf_flag & FCF_REGISTERED) {
phba             1497 drivers/scsi/lpfc/lpfc_hbadisc.c 		phba->fcf.fcf_flag |= (FCF_SCAN_DONE | FCF_IN_USE);
phba             1498 drivers/scsi/lpfc/lpfc_hbadisc.c 		phba->hba_flag &= ~FCF_TS_INPROG;
phba             1499 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (phba->pport->port_state != LPFC_FLOGI &&
phba             1500 drivers/scsi/lpfc/lpfc_hbadisc.c 		    phba->pport->fc_flag & FC_FABRIC) {
phba             1501 drivers/scsi/lpfc/lpfc_hbadisc.c 			phba->hba_flag |= FCF_RR_INPROG;
phba             1502 drivers/scsi/lpfc/lpfc_hbadisc.c 			spin_unlock_irq(&phba->hbalock);
phba             1503 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_initial_flogi(phba->pport);
phba             1506 drivers/scsi/lpfc/lpfc_hbadisc.c 		spin_unlock_irq(&phba->hbalock);
phba             1509 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_unlock_irq(&phba->hbalock);
phba             1511 drivers/scsi/lpfc/lpfc_hbadisc.c 	fcf_mbxq = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             1513 drivers/scsi/lpfc/lpfc_hbadisc.c 		spin_lock_irq(&phba->hbalock);
phba             1514 drivers/scsi/lpfc/lpfc_hbadisc.c 		phba->hba_flag &= ~(FCF_TS_INPROG | FCF_RR_INPROG);
phba             1515 drivers/scsi/lpfc/lpfc_hbadisc.c 		spin_unlock_irq(&phba->hbalock);
phba             1519 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_reg_fcfi(phba, fcf_mbxq);
phba             1520 drivers/scsi/lpfc/lpfc_hbadisc.c 	fcf_mbxq->vport = phba->pport;
phba             1522 drivers/scsi/lpfc/lpfc_hbadisc.c 	rc = lpfc_sli_issue_mbox(phba, fcf_mbxq, MBX_NOWAIT);
phba             1524 drivers/scsi/lpfc/lpfc_hbadisc.c 		spin_lock_irq(&phba->hbalock);
phba             1525 drivers/scsi/lpfc/lpfc_hbadisc.c 		phba->hba_flag &= ~(FCF_TS_INPROG | FCF_RR_INPROG);
phba             1526 drivers/scsi/lpfc/lpfc_hbadisc.c 		spin_unlock_irq(&phba->hbalock);
phba             1527 drivers/scsi/lpfc/lpfc_hbadisc.c 		mempool_free(fcf_mbxq, phba->mbox_mem_pool);
phba             1552 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_match_fcf_conn_list(struct lpfc_hba *phba,
phba             1579 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (!(phba->hba_flag & HBA_FIP_SUPPORT)) {
phba             1583 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (phba->valid_vlan)
phba             1584 drivers/scsi/lpfc/lpfc_hbadisc.c 			*vlan_id = phba->vlan_id;
phba             1594 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (list_empty(&phba->fcf_conn_rec_list)) {
phba             1615 drivers/scsi/lpfc/lpfc_hbadisc.c 			    &phba->fcf_conn_rec_list, list) {
phba             1737 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_check_pending_fcoe_event(struct lpfc_hba *phba, uint8_t unreg_fcf)
phba             1743 drivers/scsi/lpfc/lpfc_hbadisc.c 	if ((phba->link_state  >= LPFC_LINK_UP) &&
phba             1744 drivers/scsi/lpfc/lpfc_hbadisc.c 	    (phba->fcoe_eventtag == phba->fcoe_eventtag_at_fcf_scan))
phba             1747 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_printf_log(phba, KERN_INFO, LOG_FIP,
phba             1751 drivers/scsi/lpfc/lpfc_hbadisc.c 			phba->link_state, phba->fcoe_eventtag_at_fcf_scan,
phba             1752 drivers/scsi/lpfc/lpfc_hbadisc.c 			phba->fcoe_eventtag);
phba             1754 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_lock_irq(&phba->hbalock);
phba             1755 drivers/scsi/lpfc/lpfc_hbadisc.c 	phba->fcf.fcf_flag &= ~FCF_AVAILABLE;
phba             1756 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_unlock_irq(&phba->hbalock);
phba             1758 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (phba->link_state >= LPFC_LINK_UP) {
phba             1759 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_printf_log(phba, KERN_INFO, LOG_FIP | LOG_DISCOVERY,
phba             1763 drivers/scsi/lpfc/lpfc_hbadisc.c 				phba->fcoe_eventtag_at_fcf_scan,
phba             1764 drivers/scsi/lpfc/lpfc_hbadisc.c 				phba->fcoe_eventtag);
phba             1765 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_sli4_fcf_scan_read_fcf_rec(phba, LPFC_FCOE_FCF_GET_FIRST);
phba             1771 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_printf_log(phba, KERN_INFO, LOG_FIP | LOG_DISCOVERY,
phba             1773 drivers/scsi/lpfc/lpfc_hbadisc.c 				"state change (x%x)\n", phba->link_state);
phba             1774 drivers/scsi/lpfc/lpfc_hbadisc.c 		spin_lock_irq(&phba->hbalock);
phba             1775 drivers/scsi/lpfc/lpfc_hbadisc.c 		phba->hba_flag &= ~(FCF_TS_INPROG | FCF_RR_INPROG);
phba             1776 drivers/scsi/lpfc/lpfc_hbadisc.c 		phba->fcf.fcf_flag &= ~(FCF_REDISC_FOV | FCF_DISCOVERY);
phba             1777 drivers/scsi/lpfc/lpfc_hbadisc.c 		spin_unlock_irq(&phba->hbalock);
phba             1782 drivers/scsi/lpfc/lpfc_hbadisc.c 		spin_lock_irq(&phba->hbalock);
phba             1783 drivers/scsi/lpfc/lpfc_hbadisc.c 		phba->fcf.fcf_flag &= ~FCF_REGISTERED;
phba             1784 drivers/scsi/lpfc/lpfc_hbadisc.c 		spin_unlock_irq(&phba->hbalock);
phba             1785 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_sli4_unregister_fcf(phba);
phba             1806 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_sli4_new_fcf_random_select(struct lpfc_hba *phba, uint32_t fcf_cnt)
phba             1834 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_sli4_fcf_rec_mbox_parse(struct lpfc_hba *phba, LPFC_MBOXQ_t *mboxq,
phba             1849 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_printf_log(phba, KERN_ERR, LOG_MBOX,
phba             1860 drivers/scsi/lpfc/lpfc_hbadisc.c 	if_type = bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf);
phba             1865 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_printf_log(phba, KERN_ERR, LOG_FIP,
phba             1869 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_printf_log(phba, KERN_ERR, LOG_FIP,
phba             1902 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_sli4_log_fcf_record_info(struct lpfc_hba *phba,
phba             1907 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_printf_log(phba, KERN_INFO, LOG_FIP,
phba             1966 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_sli4_fcf_record_match(struct lpfc_hba *phba,
phba             1998 drivers/scsi/lpfc/lpfc_hbadisc.c 	struct lpfc_hba *phba = vport->phba;
phba             2002 drivers/scsi/lpfc/lpfc_hbadisc.c 		spin_lock_irq(&phba->hbalock);
phba             2003 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (phba->hba_flag & HBA_DEVLOSS_TMO) {
phba             2004 drivers/scsi/lpfc/lpfc_hbadisc.c 			spin_unlock_irq(&phba->hbalock);
phba             2005 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_printf_log(phba, KERN_INFO, LOG_FIP,
phba             2009 drivers/scsi/lpfc/lpfc_hbadisc.c 					phba->fcf.current_rec.fcf_indx);
phba             2010 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_unregister_fcf_rescan(phba);
phba             2014 drivers/scsi/lpfc/lpfc_hbadisc.c 		phba->hba_flag &= ~FCF_RR_INPROG;
phba             2016 drivers/scsi/lpfc/lpfc_hbadisc.c 		phba->fcf.fcf_flag &= ~(FCF_AVAILABLE | FCF_SCAN_DONE);
phba             2017 drivers/scsi/lpfc/lpfc_hbadisc.c 		spin_unlock_irq(&phba->hbalock);
phba             2018 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_printf_log(phba, KERN_INFO, LOG_FIP,
phba             2021 drivers/scsi/lpfc/lpfc_hbadisc.c 				phba->pport->port_state, LPFC_VPORT_UNKNOWN);
phba             2022 drivers/scsi/lpfc/lpfc_hbadisc.c 		phba->pport->port_state = LPFC_VPORT_UNKNOWN;
phba             2024 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (!phba->fcf.fcf_redisc_attempted) {
phba             2025 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_unregister_fcf(phba);
phba             2027 drivers/scsi/lpfc/lpfc_hbadisc.c 			rc = lpfc_sli4_redisc_fcf_table(phba);
phba             2029 drivers/scsi/lpfc/lpfc_hbadisc.c 				lpfc_printf_log(phba, KERN_INFO, LOG_FIP,
phba             2031 drivers/scsi/lpfc/lpfc_hbadisc.c 				phba->fcf.fcf_redisc_attempted = 1;
phba             2032 drivers/scsi/lpfc/lpfc_hbadisc.c 				lpfc_sli4_clear_fcf_rr_bmask(phba);
phba             2034 drivers/scsi/lpfc/lpfc_hbadisc.c 				lpfc_printf_log(phba, KERN_WARNING, LOG_FIP,
phba             2039 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_printf_log(phba, KERN_WARNING, LOG_FIP,
phba             2045 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_printf_log(phba, KERN_INFO, LOG_FIP | LOG_ELS,
phba             2048 drivers/scsi/lpfc/lpfc_hbadisc.c 		rc = lpfc_sli4_fcf_rr_read_fcf_rec(phba, fcf_index);
phba             2050 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_printf_log(phba, KERN_WARNING, LOG_FIP | LOG_ELS,
phba             2053 drivers/scsi/lpfc/lpfc_hbadisc.c 					rc, phba->fcf.current_rec.fcf_indx);
phba             2073 drivers/scsi/lpfc/lpfc_hbadisc.c static void lpfc_sli4_fcf_pri_list_del(struct lpfc_hba *phba,
phba             2078 drivers/scsi/lpfc/lpfc_hbadisc.c 	new_fcf_pri = &phba->fcf.fcf_pri[fcf_index];
phba             2079 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_printf_log(phba, KERN_INFO, LOG_FIP,
phba             2083 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_lock_irq(&phba->hbalock);
phba             2085 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (phba->fcf.current_rec.priority ==
phba             2087 drivers/scsi/lpfc/lpfc_hbadisc.c 			phba->fcf.eligible_fcf_cnt--;
phba             2091 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_unlock_irq(&phba->hbalock);
phba             2105 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_sli4_set_fcf_flogi_fail(struct lpfc_hba *phba, uint16_t fcf_index)
phba             2108 drivers/scsi/lpfc/lpfc_hbadisc.c 	new_fcf_pri = &phba->fcf.fcf_pri[fcf_index];
phba             2109 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_lock_irq(&phba->hbalock);
phba             2111 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_unlock_irq(&phba->hbalock);
phba             2129 drivers/scsi/lpfc/lpfc_hbadisc.c static int lpfc_sli4_fcf_pri_list_add(struct lpfc_hba *phba,
phba             2140 drivers/scsi/lpfc/lpfc_hbadisc.c 	new_fcf_pri = &phba->fcf.fcf_pri[fcf_index];
phba             2141 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_printf_log(phba, KERN_INFO, LOG_FIP,
phba             2145 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_lock_irq(&phba->hbalock);
phba             2150 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (list_empty(&phba->fcf.fcf_pri_list)) {
phba             2151 drivers/scsi/lpfc/lpfc_hbadisc.c 		list_add(&new_fcf_pri->list, &phba->fcf.fcf_pri_list);
phba             2152 drivers/scsi/lpfc/lpfc_hbadisc.c 		ret = lpfc_sli4_fcf_rr_index_set(phba,
phba             2157 drivers/scsi/lpfc/lpfc_hbadisc.c 	last_index = find_first_bit(phba->fcf.fcf_rr_bmask,
phba             2163 drivers/scsi/lpfc/lpfc_hbadisc.c 	current_fcf_pri = phba->fcf.fcf_pri[last_index].fcf_rec.priority;
phba             2165 drivers/scsi/lpfc/lpfc_hbadisc.c 		list_add(&new_fcf_pri->list, &phba->fcf.fcf_pri_list);
phba             2167 drivers/scsi/lpfc/lpfc_hbadisc.c 			memset(phba->fcf.fcf_rr_bmask, 0,
phba             2168 drivers/scsi/lpfc/lpfc_hbadisc.c 				sizeof(*phba->fcf.fcf_rr_bmask));
phba             2170 drivers/scsi/lpfc/lpfc_hbadisc.c 			phba->fcf.eligible_fcf_cnt = 1;
phba             2173 drivers/scsi/lpfc/lpfc_hbadisc.c 			phba->fcf.eligible_fcf_cnt++;
phba             2174 drivers/scsi/lpfc/lpfc_hbadisc.c 		ret = lpfc_sli4_fcf_rr_index_set(phba,
phba             2180 drivers/scsi/lpfc/lpfc_hbadisc.c 				&phba->fcf.fcf_pri_list, list) {
phba             2183 drivers/scsi/lpfc/lpfc_hbadisc.c 			if (fcf_pri->list.prev == &phba->fcf.fcf_pri_list)
phba             2185 drivers/scsi/lpfc/lpfc_hbadisc.c 						&phba->fcf.fcf_pri_list);
phba             2192 drivers/scsi/lpfc/lpfc_hbadisc.c 		} else if (fcf_pri->list.next == &phba->fcf.fcf_pri_list
phba             2207 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_unlock_irq(&phba->hbalock);
phba             2227 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_mbx_cmpl_fcf_scan_read_fcf_rec(struct lpfc_hba *phba, LPFC_MBOXQ_t *mboxq)
phba             2238 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (lpfc_check_pending_fcoe_event(phba, LPFC_SKIP_UNREG_FCF)) {
phba             2239 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_sli4_mbox_cmd_free(phba, mboxq);
phba             2244 drivers/scsi/lpfc/lpfc_hbadisc.c 	new_fcf_record = lpfc_sli4_fcf_rec_mbox_parse(phba, mboxq,
phba             2247 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_printf_log(phba, KERN_ERR, LOG_FIP,
phba             2251 drivers/scsi/lpfc/lpfc_hbadisc.c 		spin_lock_irq(&phba->hbalock);
phba             2252 drivers/scsi/lpfc/lpfc_hbadisc.c 		phba->hba_flag &= ~FCF_TS_INPROG;
phba             2253 drivers/scsi/lpfc/lpfc_hbadisc.c 		spin_unlock_irq(&phba->hbalock);
phba             2254 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_sli4_mbox_cmd_free(phba, mboxq);
phba             2259 drivers/scsi/lpfc/lpfc_hbadisc.c 	rc = lpfc_match_fcf_conn_list(phba, new_fcf_record, &boot_flag,
phba             2263 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_sli4_log_fcf_record_info(phba, new_fcf_record, vlan_id,
phba             2272 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_sli4_fcf_pri_list_del(phba,
phba             2275 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_FIP,
phba             2286 drivers/scsi/lpfc/lpfc_hbadisc.c 		if ((phba->fcf.fcf_flag & FCF_IN_USE) &&
phba             2287 drivers/scsi/lpfc/lpfc_hbadisc.c 		    lpfc_sli4_fcf_record_match(phba, &phba->fcf.current_rec,
phba             2290 drivers/scsi/lpfc/lpfc_hbadisc.c 			    phba->fcf.current_rec.fcf_indx) {
phba             2291 drivers/scsi/lpfc/lpfc_hbadisc.c 				lpfc_printf_log(phba, KERN_ERR, LOG_FIP,
phba             2296 drivers/scsi/lpfc/lpfc_hbadisc.c 					phba->fcf.current_rec.fcf_indx);
phba             2305 drivers/scsi/lpfc/lpfc_hbadisc.c 			if (!(phba->fcf.fcf_flag & FCF_REDISC_PEND) &&
phba             2306 drivers/scsi/lpfc/lpfc_hbadisc.c 			    !(phba->fcf.fcf_flag & FCF_REDISC_FOV)) {
phba             2307 drivers/scsi/lpfc/lpfc_hbadisc.c 				lpfc_printf_log(phba, KERN_WARNING, LOG_FIP,
phba             2311 drivers/scsi/lpfc/lpfc_hbadisc.c 						phba->fcf.current_rec.fcf_indx);
phba             2312 drivers/scsi/lpfc/lpfc_hbadisc.c 				spin_lock_irq(&phba->hbalock);
phba             2313 drivers/scsi/lpfc/lpfc_hbadisc.c 				phba->fcf.fcf_flag |= FCF_REDISC_FOV;
phba             2314 drivers/scsi/lpfc/lpfc_hbadisc.c 				spin_unlock_irq(&phba->hbalock);
phba             2315 drivers/scsi/lpfc/lpfc_hbadisc.c 				lpfc_sli4_mbox_cmd_free(phba, mboxq);
phba             2316 drivers/scsi/lpfc/lpfc_hbadisc.c 				lpfc_sli4_fcf_scan_read_fcf_rec(phba,
phba             2324 drivers/scsi/lpfc/lpfc_hbadisc.c 		rc = lpfc_sli4_fcf_pri_list_add(phba, fcf_index,
phba             2336 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_lock_irq(&phba->hbalock);
phba             2337 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (phba->fcf.fcf_flag & FCF_IN_USE) {
phba             2338 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (phba->cfg_fcf_failover_policy == LPFC_FCF_FOV &&
phba             2339 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_sli4_fcf_record_match(phba, &phba->fcf.current_rec,
phba             2342 drivers/scsi/lpfc/lpfc_hbadisc.c 			    phba->fcf.current_rec.fcf_indx) {
phba             2343 drivers/scsi/lpfc/lpfc_hbadisc.c 				phba->fcf.fcf_flag |= FCF_AVAILABLE;
phba             2344 drivers/scsi/lpfc/lpfc_hbadisc.c 				if (phba->fcf.fcf_flag & FCF_REDISC_PEND)
phba             2347 drivers/scsi/lpfc/lpfc_hbadisc.c 									phba);
phba             2348 drivers/scsi/lpfc/lpfc_hbadisc.c 				else if (phba->fcf.fcf_flag & FCF_REDISC_FOV)
phba             2350 drivers/scsi/lpfc/lpfc_hbadisc.c 					phba->fcf.fcf_flag &= ~FCF_REDISC_FOV;
phba             2351 drivers/scsi/lpfc/lpfc_hbadisc.c 				spin_unlock_irq(&phba->hbalock);
phba             2352 drivers/scsi/lpfc/lpfc_hbadisc.c 				lpfc_printf_log(phba, KERN_INFO, LOG_FIP,
phba             2356 drivers/scsi/lpfc/lpfc_hbadisc.c 						phba->fcf.current_rec.fcf_indx,
phba             2357 drivers/scsi/lpfc/lpfc_hbadisc.c 						phba->pport->port_state,
phba             2358 drivers/scsi/lpfc/lpfc_hbadisc.c 						phba->pport->fc_flag);
phba             2361 drivers/scsi/lpfc/lpfc_hbadisc.c 				lpfc_printf_log(phba, KERN_ERR, LOG_FIP,
phba             2366 drivers/scsi/lpfc/lpfc_hbadisc.c 					phba->fcf.current_rec.fcf_indx);
phba             2375 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (!(phba->fcf.fcf_flag & FCF_REDISC_FOV)) {
phba             2376 drivers/scsi/lpfc/lpfc_hbadisc.c 			spin_unlock_irq(&phba->hbalock);
phba             2384 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (phba->fcf.fcf_flag & FCF_REDISC_FOV)
phba             2385 drivers/scsi/lpfc/lpfc_hbadisc.c 		fcf_rec = &phba->fcf.failover_rec;
phba             2387 drivers/scsi/lpfc/lpfc_hbadisc.c 		fcf_rec = &phba->fcf.current_rec;
phba             2389 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (phba->fcf.fcf_flag & FCF_AVAILABLE) {
phba             2397 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_printf_log(phba, KERN_INFO, LOG_FIP,
phba             2403 drivers/scsi/lpfc/lpfc_hbadisc.c 			__lpfc_update_fcf_record(phba, fcf_rec, new_fcf_record,
phba             2405 drivers/scsi/lpfc/lpfc_hbadisc.c 			spin_unlock_irq(&phba->hbalock);
phba             2414 drivers/scsi/lpfc/lpfc_hbadisc.c 			spin_unlock_irq(&phba->hbalock);
phba             2423 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_printf_log(phba, KERN_INFO, LOG_FIP,
phba             2429 drivers/scsi/lpfc/lpfc_hbadisc.c 			__lpfc_update_fcf_record(phba, fcf_rec, new_fcf_record,
phba             2432 drivers/scsi/lpfc/lpfc_hbadisc.c 			phba->fcf.eligible_fcf_cnt = 1;
phba             2435 drivers/scsi/lpfc/lpfc_hbadisc.c 			phba->fcf.eligible_fcf_cnt++;
phba             2436 drivers/scsi/lpfc/lpfc_hbadisc.c 			select_new_fcf = lpfc_sli4_new_fcf_random_select(phba,
phba             2437 drivers/scsi/lpfc/lpfc_hbadisc.c 						phba->fcf.eligible_fcf_cnt);
phba             2439 drivers/scsi/lpfc/lpfc_hbadisc.c 				lpfc_printf_log(phba, KERN_INFO, LOG_FIP,
phba             2446 drivers/scsi/lpfc/lpfc_hbadisc.c 				__lpfc_update_fcf_record(phba, fcf_rec,
phba             2451 drivers/scsi/lpfc/lpfc_hbadisc.c 		spin_unlock_irq(&phba->hbalock);
phba             2459 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_printf_log(phba, KERN_INFO, LOG_FIP,
phba             2464 drivers/scsi/lpfc/lpfc_hbadisc.c 		__lpfc_update_fcf_record(phba, fcf_rec, new_fcf_record,
phba             2467 drivers/scsi/lpfc/lpfc_hbadisc.c 		phba->fcf.fcf_flag |= FCF_AVAILABLE;
phba             2469 drivers/scsi/lpfc/lpfc_hbadisc.c 		phba->fcf.eligible_fcf_cnt = 1;
phba             2471 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_unlock_irq(&phba->hbalock);
phba             2475 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_sli4_mbox_cmd_free(phba, mboxq);
phba             2477 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (phba->fcf.fcf_flag & FCF_REDISC_FOV) {
phba             2486 drivers/scsi/lpfc/lpfc_hbadisc.c 			if (!(phba->fcf.failover_rec.flag & RECORD_VALID)) {
phba             2487 drivers/scsi/lpfc/lpfc_hbadisc.c 				lpfc_printf_log(phba, KERN_WARNING, LOG_FIP,
phba             2490 drivers/scsi/lpfc/lpfc_hbadisc.c 					       phba->fcoe_eventtag_at_fcf_scan,
phba             2493 drivers/scsi/lpfc/lpfc_hbadisc.c 				spin_lock_irq(&phba->hbalock);
phba             2494 drivers/scsi/lpfc/lpfc_hbadisc.c 				if (phba->hba_flag & HBA_DEVLOSS_TMO) {
phba             2495 drivers/scsi/lpfc/lpfc_hbadisc.c 					phba->hba_flag &= ~FCF_TS_INPROG;
phba             2496 drivers/scsi/lpfc/lpfc_hbadisc.c 					spin_unlock_irq(&phba->hbalock);
phba             2498 drivers/scsi/lpfc/lpfc_hbadisc.c 					lpfc_printf_log(phba, KERN_INFO,
phba             2503 drivers/scsi/lpfc/lpfc_hbadisc.c 					lpfc_unregister_fcf_rescan(phba);
phba             2509 drivers/scsi/lpfc/lpfc_hbadisc.c 				phba->hba_flag &= ~FCF_TS_INPROG;
phba             2510 drivers/scsi/lpfc/lpfc_hbadisc.c 				spin_unlock_irq(&phba->hbalock);
phba             2523 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_unregister_fcf(phba);
phba             2526 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_printf_log(phba, KERN_INFO, LOG_FIP,
phba             2529 drivers/scsi/lpfc/lpfc_hbadisc.c 					phba->fcf.current_rec.fcf_indx,
phba             2530 drivers/scsi/lpfc/lpfc_hbadisc.c 					phba->fcf.failover_rec.fcf_indx);
phba             2531 drivers/scsi/lpfc/lpfc_hbadisc.c 			memcpy(&phba->fcf.current_rec,
phba             2532 drivers/scsi/lpfc/lpfc_hbadisc.c 			       &phba->fcf.failover_rec,
phba             2539 drivers/scsi/lpfc/lpfc_hbadisc.c 			spin_lock_irq(&phba->hbalock);
phba             2540 drivers/scsi/lpfc/lpfc_hbadisc.c 			phba->fcf.fcf_flag &= ~FCF_REDISC_FOV;
phba             2541 drivers/scsi/lpfc/lpfc_hbadisc.c 			spin_unlock_irq(&phba->hbalock);
phba             2543 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_register_fcf(phba);
phba             2549 drivers/scsi/lpfc/lpfc_hbadisc.c 			if ((phba->fcf.fcf_flag & FCF_REDISC_EVT) ||
phba             2550 drivers/scsi/lpfc/lpfc_hbadisc.c 			    (phba->fcf.fcf_flag & FCF_REDISC_PEND))
phba             2553 drivers/scsi/lpfc/lpfc_hbadisc.c 			if (phba->cfg_fcf_failover_policy == LPFC_FCF_FOV &&
phba             2554 drivers/scsi/lpfc/lpfc_hbadisc.c 				phba->fcf.fcf_flag & FCF_IN_USE) {
phba             2561 drivers/scsi/lpfc/lpfc_hbadisc.c 				lpfc_printf_log(phba, KERN_INFO, LOG_FIP,
phba             2565 drivers/scsi/lpfc/lpfc_hbadisc.c 						phba->fcf.current_rec.fcf_indx);
phba             2566 drivers/scsi/lpfc/lpfc_hbadisc.c 				spin_lock_irq(&phba->hbalock);
phba             2567 drivers/scsi/lpfc/lpfc_hbadisc.c 				phba->fcf.fcf_flag |= FCF_REDISC_FOV;
phba             2568 drivers/scsi/lpfc/lpfc_hbadisc.c 				spin_unlock_irq(&phba->hbalock);
phba             2569 drivers/scsi/lpfc/lpfc_hbadisc.c 				lpfc_sli4_fcf_scan_read_fcf_rec(phba,
phba             2574 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_register_fcf(phba);
phba             2577 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_sli4_fcf_scan_read_fcf_rec(phba, next_fcf_index);
phba             2581 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_sli4_mbox_cmd_free(phba, mboxq);
phba             2582 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_register_fcf(phba);
phba             2603 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_mbx_cmpl_fcf_rr_read_fcf_rec(struct lpfc_hba *phba, LPFC_MBOXQ_t *mboxq)
phba             2613 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (phba->link_state < LPFC_LINK_UP) {
phba             2614 drivers/scsi/lpfc/lpfc_hbadisc.c 		spin_lock_irq(&phba->hbalock);
phba             2615 drivers/scsi/lpfc/lpfc_hbadisc.c 		phba->fcf.fcf_flag &= ~FCF_DISCOVERY;
phba             2616 drivers/scsi/lpfc/lpfc_hbadisc.c 		phba->hba_flag &= ~FCF_RR_INPROG;
phba             2617 drivers/scsi/lpfc/lpfc_hbadisc.c 		spin_unlock_irq(&phba->hbalock);
phba             2622 drivers/scsi/lpfc/lpfc_hbadisc.c 	new_fcf_record = lpfc_sli4_fcf_rec_mbox_parse(phba, mboxq,
phba             2625 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_FIP,
phba             2628 drivers/scsi/lpfc/lpfc_hbadisc.c 				"hba_flg x%x fcf_flg x%x\n", phba->hba_flag,
phba             2629 drivers/scsi/lpfc/lpfc_hbadisc.c 				phba->fcf.fcf_flag);
phba             2630 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_unregister_fcf_rescan(phba);
phba             2635 drivers/scsi/lpfc/lpfc_hbadisc.c 	rc = lpfc_match_fcf_conn_list(phba, new_fcf_record, &boot_flag,
phba             2639 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_sli4_log_fcf_record_info(phba, new_fcf_record, vlan_id,
phba             2644 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_printf_log(phba, KERN_INFO, LOG_FIP,
phba             2648 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_sli4_fcf_rr_index_clear(phba, fcf_index);
phba             2650 drivers/scsi/lpfc/lpfc_hbadisc.c 		fcf_index = lpfc_sli4_fcf_rr_next_index_get(phba);
phba             2651 drivers/scsi/lpfc/lpfc_hbadisc.c 		rc = lpfc_sli4_fcf_rr_next_proc(phba->pport, fcf_index);
phba             2657 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (fcf_index == phba->fcf.current_rec.fcf_indx) {
phba             2658 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_printf_log(phba, KERN_INFO, LOG_FIP,
phba             2661 drivers/scsi/lpfc/lpfc_hbadisc.c 				phba->fcf.current_rec.fcf_indx, fcf_index);
phba             2664 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_issue_init_vfi(phba->pport);
phba             2669 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_printf_log(phba, KERN_INFO, LOG_FIP,
phba             2671 drivers/scsi/lpfc/lpfc_hbadisc.c 			phba->fcf.failover_rec.fcf_indx, fcf_index);
phba             2672 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_lock_irq(&phba->hbalock);
phba             2673 drivers/scsi/lpfc/lpfc_hbadisc.c 	__lpfc_update_fcf_record(phba, &phba->fcf.failover_rec,
phba             2676 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_unlock_irq(&phba->hbalock);
phba             2678 drivers/scsi/lpfc/lpfc_hbadisc.c 	current_fcf_index = phba->fcf.current_rec.fcf_indx;
phba             2681 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_unregister_fcf(phba);
phba             2684 drivers/scsi/lpfc/lpfc_hbadisc.c 	memcpy(&phba->fcf.current_rec, &phba->fcf.failover_rec,
phba             2687 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_printf_log(phba, KERN_INFO, LOG_FIP,
phba             2692 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_register_fcf(phba);
phba             2694 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_sli4_mbox_cmd_free(phba, mboxq);
phba             2709 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_mbx_cmpl_read_fcf_rec(struct lpfc_hba *phba, LPFC_MBOXQ_t *mboxq)
phba             2718 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (phba->link_state < LPFC_LINK_UP)
phba             2722 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (!(phba->fcf.fcf_flag & FCF_DISCOVERY))
phba             2726 drivers/scsi/lpfc/lpfc_hbadisc.c 	new_fcf_record = lpfc_sli4_fcf_rec_mbox_parse(phba, mboxq,
phba             2729 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_printf_log(phba, KERN_INFO, LOG_FIP,
phba             2736 drivers/scsi/lpfc/lpfc_hbadisc.c 	rc = lpfc_match_fcf_conn_list(phba, new_fcf_record, &boot_flag,
phba             2740 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_sli4_log_fcf_record_info(phba, new_fcf_record, vlan_id,
phba             2749 drivers/scsi/lpfc/lpfc_hbadisc.c 	rc = lpfc_sli4_fcf_pri_list_add(phba, fcf_index, new_fcf_record);
phba             2752 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_sli4_mbox_cmd_free(phba, mboxq);
phba             2763 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_init_vfi_cmpl(struct lpfc_hba *phba, LPFC_MBOXQ_t *mboxq)
phba             2772 drivers/scsi/lpfc/lpfc_hbadisc.c 	    (bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) !=
phba             2779 drivers/scsi/lpfc/lpfc_hbadisc.c 		mempool_free(mboxq, phba->mbox_mem_pool);
phba             2785 drivers/scsi/lpfc/lpfc_hbadisc.c 	mempool_free(mboxq, phba->mbox_mem_pool);
phba             2801 drivers/scsi/lpfc/lpfc_hbadisc.c 	struct lpfc_hba *phba = vport->phba;
phba             2803 drivers/scsi/lpfc/lpfc_hbadisc.c 	mboxq = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             2812 drivers/scsi/lpfc/lpfc_hbadisc.c 	rc = lpfc_sli_issue_mbox(phba, mboxq, MBX_NOWAIT);
phba             2816 drivers/scsi/lpfc/lpfc_hbadisc.c 		mempool_free(mboxq, vport->phba->mbox_mem_pool);
phba             2828 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_init_vpi_cmpl(struct lpfc_hba *phba, LPFC_MBOXQ_t *mboxq)
phba             2839 drivers/scsi/lpfc/lpfc_hbadisc.c 		mempool_free(mboxq, phba->mbox_mem_pool);
phba             2848 drivers/scsi/lpfc/lpfc_hbadisc.c 	if ((phba->pport == vport) || (vport->port_state == LPFC_FDISC)) {
phba             2856 drivers/scsi/lpfc/lpfc_hbadisc.c 				lpfc_register_new_vport(phba, vport, ndlp);
phba             2857 drivers/scsi/lpfc/lpfc_hbadisc.c 			mempool_free(mboxq, phba->mbox_mem_pool);
phba             2861 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (phba->link_flag & LS_NPIV_FAB_SUPPORTED)
phba             2868 drivers/scsi/lpfc/lpfc_hbadisc.c 	mempool_free(mboxq, phba->mbox_mem_pool);
phba             2886 drivers/scsi/lpfc/lpfc_hbadisc.c 		vpi = lpfc_alloc_vpi(vport->phba);
phba             2897 drivers/scsi/lpfc/lpfc_hbadisc.c 	mboxq = mempool_alloc(vport->phba->mbox_mem_pool, GFP_KERNEL);
phba             2904 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_init_vpi(vport->phba, mboxq, vport->vpi);
phba             2907 drivers/scsi/lpfc/lpfc_hbadisc.c 	rc = lpfc_sli_issue_mbox(vport->phba, mboxq, MBX_NOWAIT);
phba             2911 drivers/scsi/lpfc/lpfc_hbadisc.c 		mempool_free(mboxq, vport->phba->mbox_mem_pool);
phba             2923 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_start_fdiscs(struct lpfc_hba *phba)
phba             2928 drivers/scsi/lpfc/lpfc_hbadisc.c 	vports = lpfc_create_vport_work_array(phba);
phba             2930 drivers/scsi/lpfc/lpfc_hbadisc.c 		for (i = 0; i <= phba->max_vports && vports[i] != NULL; i++) {
phba             2934 drivers/scsi/lpfc/lpfc_hbadisc.c 			if (vports[i]->vpi > phba->max_vpi) {
phba             2939 drivers/scsi/lpfc/lpfc_hbadisc.c 			if (phba->fc_topology == LPFC_TOPOLOGY_LOOP) {
phba             2948 drivers/scsi/lpfc/lpfc_hbadisc.c 			if (phba->link_flag & LS_NPIV_FAB_SUPPORTED)
phba             2960 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_destroy_vport_work_array(phba, vports);
phba             2964 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_mbx_cmpl_reg_vfi(struct lpfc_hba *phba, LPFC_MBOXQ_t *mboxq)
phba             2975 drivers/scsi/lpfc/lpfc_hbadisc.c 	    (bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) !=
phba             2982 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (phba->fc_topology == LPFC_TOPOLOGY_LOOP) {
phba             2998 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (!(phba->sli_rev == LPFC_SLI_REV4 &&
phba             3011 drivers/scsi/lpfc/lpfc_hbadisc.c 	if ((phba->sli_rev == LPFC_SLI_REV4) &&
phba             3012 drivers/scsi/lpfc/lpfc_hbadisc.c 	    (phba->link_flag & LS_LOOPBACK_MODE)) {
phba             3013 drivers/scsi/lpfc/lpfc_hbadisc.c 		phba->link_state = LPFC_HBA_READY;
phba             3021 drivers/scsi/lpfc/lpfc_hbadisc.c 			 vport->phba->alpa_map[0],
phba             3022 drivers/scsi/lpfc/lpfc_hbadisc.c 			 phba->link_state, phba->fc_topology);
phba             3030 drivers/scsi/lpfc/lpfc_hbadisc.c 		    ((phba->fc_topology == LPFC_TOPOLOGY_LOOP) &&
phba             3041 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_start_fdiscs(phba);
phba             3042 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_do_scr_ns_plogi(phba, vport);
phba             3047 drivers/scsi/lpfc/lpfc_hbadisc.c 	mempool_free(mboxq, phba->mbox_mem_pool);
phba             3049 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_mbuf_free(phba, dmabuf->virt, dmabuf->phys);
phba             3056 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_mbx_cmpl_read_sparam(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb)
phba             3072 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_linkdown(phba);
phba             3083 drivers/scsi/lpfc/lpfc_hbadisc.c 	phba->fc_edtov = ed_tov;
phba             3084 drivers/scsi/lpfc/lpfc_hbadisc.c 	phba->fc_ratov = (2 * ed_tov) / 1000;
phba             3085 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (phba->fc_ratov < FF_DEF_RATOV) {
phba             3087 drivers/scsi/lpfc/lpfc_hbadisc.c 		phba->fc_ratov = FF_DEF_RATOV;
phba             3093 drivers/scsi/lpfc/lpfc_hbadisc.c 		memcpy(&phba->wwnn, &vport->fc_nodename, sizeof(phba->wwnn));
phba             3094 drivers/scsi/lpfc/lpfc_hbadisc.c 		memcpy(&phba->wwpn, &vport->fc_portname, sizeof(phba->wwnn));
phba             3097 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_mbuf_free(phba, mp->virt, mp->phys);
phba             3099 drivers/scsi/lpfc/lpfc_hbadisc.c 	mempool_free(pmb, phba->mbox_mem_pool);
phba             3104 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (phba->hba_flag & HBA_DEFER_FLOGI) {
phba             3106 drivers/scsi/lpfc/lpfc_hbadisc.c 		phba->hba_flag &= ~HBA_DEFER_FLOGI;
phba             3112 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_mbuf_free(phba, mp->virt, mp->phys);
phba             3114 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_issue_clear_la(phba, vport);
phba             3115 drivers/scsi/lpfc/lpfc_hbadisc.c 	mempool_free(pmb, phba->mbox_mem_pool);
phba             3120 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_mbx_process_link_up(struct lpfc_hba *phba, struct lpfc_mbx_read_top *la)
phba             3122 drivers/scsi/lpfc/lpfc_hbadisc.c 	struct lpfc_vport *vport = phba->pport;
phba             3132 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_lock_irqsave(&phba->hbalock, iflags);
phba             3133 drivers/scsi/lpfc/lpfc_hbadisc.c 	phba->fc_linkspeed = bf_get(lpfc_mbx_read_top_link_spd, la);
phba             3135 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (!(phba->hba_flag & HBA_FCOE_MODE)) {
phba             3148 drivers/scsi/lpfc/lpfc_hbadisc.c 			phba->fc_linkspeed = LPFC_LINK_SPEED_UNKNOWN;
phba             3153 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (phba->fc_topology &&
phba             3154 drivers/scsi/lpfc/lpfc_hbadisc.c 	    phba->fc_topology != bf_get(lpfc_mbx_read_top_topology, la)) {
phba             3155 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_SLI,
phba             3157 drivers/scsi/lpfc/lpfc_hbadisc.c 				phba->fc_topology,
phba             3159 drivers/scsi/lpfc/lpfc_hbadisc.c 		phba->fc_topology_changed = 1;
phba             3162 drivers/scsi/lpfc/lpfc_hbadisc.c 	phba->fc_topology = bf_get(lpfc_mbx_read_top_topology, la);
phba             3163 drivers/scsi/lpfc/lpfc_hbadisc.c 	phba->link_flag &= ~LS_NPIV_FAB_SUPPORTED;
phba             3166 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (phba->fc_topology == LPFC_TOPOLOGY_LOOP) {
phba             3167 drivers/scsi/lpfc/lpfc_hbadisc.c 		phba->sli3_options &= ~LPFC_SLI3_NPIV_ENABLED;
phba             3172 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (phba->cfg_enable_npiv && phba->max_vpi)
phba             3173 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_printf_log(phba, KERN_ERR, LOG_LINK_EVENT,
phba             3184 drivers/scsi/lpfc/lpfc_hbadisc.c 			phba->alpa_map[0] = 0;
phba             3197 drivers/scsi/lpfc/lpfc_hbadisc.c 				numalpa = phba->alpa_map[0];
phba             3203 drivers/scsi/lpfc/lpfc_hbadisc.c 							phba->alpa_map[j + 1];
phba             3209 drivers/scsi/lpfc/lpfc_hbadisc.c 					lpfc_printf_log(phba,
phba             3221 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (!(phba->sli3_options & LPFC_SLI3_NPIV_ENABLED)) {
phba             3222 drivers/scsi/lpfc/lpfc_hbadisc.c 			if (phba->max_vpi && phba->cfg_enable_npiv &&
phba             3223 drivers/scsi/lpfc/lpfc_hbadisc.c 			   (phba->sli_rev >= LPFC_SLI_REV3))
phba             3224 drivers/scsi/lpfc/lpfc_hbadisc.c 				phba->sli3_options |= LPFC_SLI3_NPIV_ENABLED;
phba             3226 drivers/scsi/lpfc/lpfc_hbadisc.c 		vport->fc_myDID = phba->fc_pref_DID;
phba             3229 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             3237 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_linkup(phba);
phba             3240 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (!(phba->hba_flag & HBA_FCOE_MODE)) {
phba             3241 drivers/scsi/lpfc/lpfc_hbadisc.c 		cfglink_mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             3245 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_config_link(phba, cfglink_mbox);
phba             3248 drivers/scsi/lpfc/lpfc_hbadisc.c 		rc = lpfc_sli_issue_mbox(phba, cfglink_mbox, MBX_NOWAIT);
phba             3250 drivers/scsi/lpfc/lpfc_hbadisc.c 			mempool_free(cfglink_mbox, phba->mbox_mem_pool);
phba             3255 drivers/scsi/lpfc/lpfc_hbadisc.c 	sparam_mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             3259 drivers/scsi/lpfc/lpfc_hbadisc.c 	rc = lpfc_read_sparam(phba, sparam_mbox, 0);
phba             3261 drivers/scsi/lpfc/lpfc_hbadisc.c 		mempool_free(sparam_mbox, phba->mbox_mem_pool);
phba             3266 drivers/scsi/lpfc/lpfc_hbadisc.c 	rc = lpfc_sli_issue_mbox(phba, sparam_mbox, MBX_NOWAIT);
phba             3269 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_mbuf_free(phba, mp->virt, mp->phys);
phba             3271 drivers/scsi/lpfc/lpfc_hbadisc.c 		mempool_free(sparam_mbox, phba->mbox_mem_pool);
phba             3275 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (phba->hba_flag & HBA_FCOE_MODE) {
phba             3282 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (!(phba->hba_flag & HBA_FIP_SUPPORT)) {
phba             3286 drivers/scsi/lpfc/lpfc_hbadisc.c 				lpfc_printf_log(phba, KERN_ERR,
phba             3294 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_sli4_build_dflt_fcf_record(phba, fcf_record,
phba             3296 drivers/scsi/lpfc/lpfc_hbadisc.c 			rc = lpfc_sli4_add_fcf_record(phba, fcf_record);
phba             3298 drivers/scsi/lpfc/lpfc_hbadisc.c 				lpfc_printf_log(phba, KERN_ERR,
phba             3312 drivers/scsi/lpfc/lpfc_hbadisc.c 		spin_lock_irqsave(&phba->hbalock, iflags);
phba             3313 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (phba->hba_flag & FCF_TS_INPROG) {
phba             3314 drivers/scsi/lpfc/lpfc_hbadisc.c 			spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             3318 drivers/scsi/lpfc/lpfc_hbadisc.c 		phba->fcf.fcf_flag |= FCF_INIT_DISC;
phba             3319 drivers/scsi/lpfc/lpfc_hbadisc.c 		spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             3320 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_printf_log(phba, KERN_INFO, LOG_FIP | LOG_DISCOVERY,
phba             3322 drivers/scsi/lpfc/lpfc_hbadisc.c 		rc = lpfc_sli4_fcf_scan_read_fcf_rec(phba,
phba             3325 drivers/scsi/lpfc/lpfc_hbadisc.c 			spin_lock_irqsave(&phba->hbalock, iflags);
phba             3326 drivers/scsi/lpfc/lpfc_hbadisc.c 			phba->fcf.fcf_flag &= ~FCF_INIT_DISC;
phba             3327 drivers/scsi/lpfc/lpfc_hbadisc.c 			spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             3331 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_sli4_clear_fcf_rr_bmask(phba);
phba             3333 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (phba->bbcredit_support && phba->cfg_enable_bbcr &&
phba             3334 drivers/scsi/lpfc/lpfc_hbadisc.c 		    !(phba->link_flag & LS_LOOPBACK_MODE))
phba             3335 drivers/scsi/lpfc/lpfc_hbadisc.c 			phba->hba_flag |= HBA_DEFER_FLOGI;
phba             3339 drivers/scsi/lpfc/lpfc_hbadisc.c 	memset(phba->os_host_name, 0, sizeof(phba->os_host_name));
phba             3340 drivers/scsi/lpfc/lpfc_hbadisc.c 	scnprintf(phba->os_host_name, sizeof(phba->os_host_name), "%s",
phba             3348 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_issue_clear_la(phba, vport);
phba             3353 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_enable_la(struct lpfc_hba *phba)
phba             3356 drivers/scsi/lpfc/lpfc_hbadisc.c 	struct lpfc_sli *psli = &phba->sli;
phba             3357 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_lock_irq(&phba->hbalock);
phba             3359 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (phba->sli_rev <= LPFC_SLI_REV3) {
phba             3360 drivers/scsi/lpfc/lpfc_hbadisc.c 		control = readl(phba->HCregaddr);
phba             3362 drivers/scsi/lpfc/lpfc_hbadisc.c 		writel(control, phba->HCregaddr);
phba             3363 drivers/scsi/lpfc/lpfc_hbadisc.c 		readl(phba->HCregaddr); /* flush */
phba             3365 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_unlock_irq(&phba->hbalock);
phba             3369 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_mbx_issue_link_down(struct lpfc_hba *phba)
phba             3371 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_linkdown(phba);
phba             3372 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_enable_la(phba);
phba             3373 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_unregister_unused_fcf(phba);
phba             3385 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_mbx_cmpl_read_topology(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb)
phba             3397 drivers/scsi/lpfc/lpfc_hbadisc.c 	pring = lpfc_phba_elsring(phba);
phba             3403 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_printf_log(phba, KERN_INFO, LOG_LINK_EVENT,
phba             3406 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_mbx_issue_link_down(phba);
phba             3407 drivers/scsi/lpfc/lpfc_hbadisc.c 		phba->link_state = LPFC_HBA_ERROR;
phba             3414 drivers/scsi/lpfc/lpfc_hbadisc.c 	memcpy(&phba->alpa_map[0], mp->virt, 128);
phba             3423 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (phba->fc_eventTag <= la->eventTag) {
phba             3424 drivers/scsi/lpfc/lpfc_hbadisc.c 		phba->fc_stat.LinkMultiEvent++;
phba             3426 drivers/scsi/lpfc/lpfc_hbadisc.c 			if (phba->fc_eventTag != 0)
phba             3427 drivers/scsi/lpfc/lpfc_hbadisc.c 				lpfc_linkdown(phba);
phba             3430 drivers/scsi/lpfc/lpfc_hbadisc.c 	phba->fc_eventTag = la->eventTag;
phba             3431 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (phba->sli_rev < LPFC_SLI_REV4) {
phba             3432 drivers/scsi/lpfc/lpfc_hbadisc.c 		spin_lock_irqsave(&phba->hbalock, iflags);
phba             3434 drivers/scsi/lpfc/lpfc_hbadisc.c 			phba->sli.sli_flag |= LPFC_MENLO_MAINT;
phba             3436 drivers/scsi/lpfc/lpfc_hbadisc.c 			phba->sli.sli_flag &= ~LPFC_MENLO_MAINT;
phba             3437 drivers/scsi/lpfc/lpfc_hbadisc.c 		spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             3440 drivers/scsi/lpfc/lpfc_hbadisc.c 	phba->link_events++;
phba             3442 drivers/scsi/lpfc/lpfc_hbadisc.c 	    !(phba->sli.sli_flag & LPFC_MENLO_MAINT)) {
phba             3443 drivers/scsi/lpfc/lpfc_hbadisc.c 		phba->fc_stat.LinkUp++;
phba             3444 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (phba->link_flag & LS_LOOPBACK_MODE) {
phba             3445 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_printf_log(phba, KERN_ERR, LOG_LINK_EVENT,
phba             3448 drivers/scsi/lpfc/lpfc_hbadisc.c 					la->eventTag, phba->fc_eventTag,
phba             3452 drivers/scsi/lpfc/lpfc_hbadisc.c 					phba->alpa_map[0]);
phba             3454 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_printf_log(phba, KERN_ERR, LOG_LINK_EVENT,
phba             3457 drivers/scsi/lpfc/lpfc_hbadisc.c 					la->eventTag, phba->fc_eventTag,
phba             3461 drivers/scsi/lpfc/lpfc_hbadisc.c 					phba->alpa_map[0],
phba             3464 drivers/scsi/lpfc/lpfc_hbadisc.c 					phba->wait_4_mlo_maint_flg);
phba             3466 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_mbx_process_link_up(phba, la);
phba             3469 drivers/scsi/lpfc/lpfc_hbadisc.c 		phba->fc_stat.LinkDown++;
phba             3470 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (phba->link_flag & LS_LOOPBACK_MODE)
phba             3471 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_printf_log(phba, KERN_ERR, LOG_LINK_EVENT,
phba             3475 drivers/scsi/lpfc/lpfc_hbadisc.c 				la->eventTag, phba->fc_eventTag,
phba             3476 drivers/scsi/lpfc/lpfc_hbadisc.c 				phba->pport->port_state, vport->fc_flag);
phba             3478 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_printf_log(phba, KERN_ERR, LOG_LINK_EVENT,
phba             3481 drivers/scsi/lpfc/lpfc_hbadisc.c 				la->eventTag, phba->fc_eventTag,
phba             3482 drivers/scsi/lpfc/lpfc_hbadisc.c 				phba->pport->port_state, vport->fc_flag,
phba             3486 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_printf_log(phba, KERN_ERR, LOG_LINK_EVENT,
phba             3489 drivers/scsi/lpfc/lpfc_hbadisc.c 				la->eventTag, phba->fc_eventTag,
phba             3490 drivers/scsi/lpfc/lpfc_hbadisc.c 				phba->pport->port_state, vport->fc_flag,
phba             3493 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_mbx_issue_link_down(phba);
phba             3495 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (phba->sli.sli_flag & LPFC_MENLO_MAINT &&
phba             3497 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (phba->link_state != LPFC_LINK_DOWN) {
phba             3498 drivers/scsi/lpfc/lpfc_hbadisc.c 			phba->fc_stat.LinkDown++;
phba             3499 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_printf_log(phba, KERN_ERR, LOG_LINK_EVENT,
phba             3502 drivers/scsi/lpfc/lpfc_hbadisc.c 				la->eventTag, phba->fc_eventTag,
phba             3503 drivers/scsi/lpfc/lpfc_hbadisc.c 				phba->pport->port_state, vport->fc_flag);
phba             3504 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_mbx_issue_link_down(phba);
phba             3506 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_enable_la(phba);
phba             3508 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_printf_log(phba, KERN_ERR, LOG_LINK_EVENT,
phba             3511 drivers/scsi/lpfc/lpfc_hbadisc.c 				la->eventTag, phba->fc_eventTag,
phba             3512 drivers/scsi/lpfc/lpfc_hbadisc.c 				phba->pport->port_state, vport->fc_flag);
phba             3518 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (phba->wait_4_mlo_maint_flg) {
phba             3519 drivers/scsi/lpfc/lpfc_hbadisc.c 			phba->wait_4_mlo_maint_flg = 0;
phba             3520 drivers/scsi/lpfc/lpfc_hbadisc.c 			wake_up_interruptible(&phba->wait_4_mlo_m_q);
phba             3524 drivers/scsi/lpfc/lpfc_hbadisc.c 	if ((phba->sli_rev < LPFC_SLI_REV4) &&
phba             3526 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (phba->sli.sli_flag & LPFC_MENLO_MAINT)
phba             3527 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_issue_clear_la(phba, vport);
phba             3528 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_printf_log(phba, KERN_INFO, LOG_LINK_EVENT,
phba             3534 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_mbuf_free(phba, mp->virt, mp->phys);
phba             3536 drivers/scsi/lpfc/lpfc_hbadisc.c 	mempool_free(pmb, phba->mbox_mem_pool);
phba             3547 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_mbx_cmpl_reg_login(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb)
phba             3591 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_mbuf_free(phba, mp->virt, mp->phys);
phba             3593 drivers/scsi/lpfc/lpfc_hbadisc.c 	mempool_free(pmb, phba->mbox_mem_pool);
phba             3603 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_mbx_cmpl_unreg_vpi(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb)
phba             3621 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (!(phba->pport->load_flag & FC_UNLOADING))
phba             3622 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_workq_post_event(phba, NULL, NULL,
phba             3630 drivers/scsi/lpfc/lpfc_hbadisc.c 	mempool_free(pmb, phba->mbox_mem_pool);
phba             3636 drivers/scsi/lpfc/lpfc_hbadisc.c 	if ((vport->load_flag & FC_UNLOADING) && (vport != phba->pport))
phba             3643 drivers/scsi/lpfc/lpfc_hbadisc.c 	struct lpfc_hba  *phba = vport->phba;
phba             3647 drivers/scsi/lpfc/lpfc_hbadisc.c 	mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             3651 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_unreg_vpi(phba, vport->vpi, mbox);
phba             3654 drivers/scsi/lpfc/lpfc_hbadisc.c 	rc = lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT);
phba             3658 drivers/scsi/lpfc/lpfc_hbadisc.c 		mempool_free(mbox, phba->mbox_mem_pool);
phba             3666 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_mbx_cmpl_reg_vpi(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb)
phba             3687 drivers/scsi/lpfc/lpfc_hbadisc.c 			if (phba->nvmet_support)
phba             3688 drivers/scsi/lpfc/lpfc_hbadisc.c 				lpfc_nvmet_update_targetport(phba);
phba             3713 drivers/scsi/lpfc/lpfc_hbadisc.c 	mempool_free(pmb, phba->mbox_mem_pool);
phba             3726 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_create_static_vport(struct lpfc_hba *phba)
phba             3741 drivers/scsi/lpfc/lpfc_hbadisc.c 	pmb = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             3743 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             3753 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             3756 drivers/scsi/lpfc/lpfc_hbadisc.c 		mempool_free(pmb, phba->mbox_mem_pool);
phba             3765 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_mbuf_free(phba, mp->virt, mp->phys);
phba             3768 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (lpfc_dump_static_vport(phba, pmb, offset))
phba             3771 drivers/scsi/lpfc/lpfc_hbadisc.c 		pmb->vport = phba->pport;
phba             3772 drivers/scsi/lpfc/lpfc_hbadisc.c 		mbx_wait_rc = lpfc_sli_issue_mbox_wait(phba, pmb,
phba             3776 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_printf_log(phba, KERN_WARNING, LOG_INIT,
phba             3784 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (phba->sli_rev == LPFC_SLI_REV4) {
phba             3814 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             3823 drivers/scsi/lpfc/lpfc_hbadisc.c 	shost = lpfc_shost_from_vport(phba->pport);
phba             3838 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_printf_log(phba, KERN_WARNING, LOG_INIT,
phba             3853 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_mbuf_free(phba, mp->virt, mp->phys);
phba             3856 drivers/scsi/lpfc/lpfc_hbadisc.c 		mempool_free(pmb, phba->mbox_mem_pool);
phba             3869 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_mbx_cmpl_fabric_reg_login(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb)
phba             3885 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_mbuf_free(phba, mp->virt, mp->phys);
phba             3887 drivers/scsi/lpfc/lpfc_hbadisc.c 		mempool_free(pmb, phba->mbox_mem_pool);
phba             3889 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (phba->fc_topology == LPFC_TOPOLOGY_LOOP) {
phba             3910 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (phba->sli_rev < LPFC_SLI_REV4)
phba             3920 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_start_fdiscs(phba);
phba             3927 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_do_scr_ns_plogi(phba, vport);
phba             3930 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_mbuf_free(phba, mp->virt, mp->phys);
phba             3932 drivers/scsi/lpfc/lpfc_hbadisc.c 	mempool_free(pmb, phba->mbox_mem_pool);
phba             4021 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_mbx_cmpl_ns_reg_login(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb)
phba             4042 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_mbuf_free(phba, mp->virt, mp->phys);
phba             4044 drivers/scsi/lpfc/lpfc_hbadisc.c 		mempool_free(pmb, phba->mbox_mem_pool);
phba             4049 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (phba->fc_topology == LPFC_TOPOLOGY_LOOP) {
phba             4064 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (phba->sli_rev < LPFC_SLI_REV4)
phba             4107 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_mbuf_free(phba, mp->virt, mp->phys);
phba             4109 drivers/scsi/lpfc/lpfc_hbadisc.c 	mempool_free(pmb, phba->mbox_mem_pool);
phba             4121 drivers/scsi/lpfc/lpfc_hbadisc.c 	struct lpfc_hba  *phba = vport->phba;
phba             4163 drivers/scsi/lpfc/lpfc_hbadisc.c 		dev_printk(KERN_WARNING, &phba->pcidev->dev,
phba             4279 drivers/scsi/lpfc/lpfc_hbadisc.c 			vport->phba->nport_event_cnt++;
phba             4284 drivers/scsi/lpfc/lpfc_hbadisc.c 			vport->phba->nport_event_cnt++;
phba             4285 drivers/scsi/lpfc/lpfc_hbadisc.c 			if (vport->phba->nvmet_support == 0) {
phba             4304 drivers/scsi/lpfc/lpfc_hbadisc.c 			vport->phba->nport_event_cnt++;
phba             4312 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (vport->phba->sli_rev >= LPFC_SLI_REV4 &&
phba             4314 drivers/scsi/lpfc/lpfc_hbadisc.c 			if (vport->phba->nvmet_support == 0) {
phba             4320 drivers/scsi/lpfc/lpfc_hbadisc.c 					vport->phba->nport_event_cnt++;
phba             4485 drivers/scsi/lpfc/lpfc_hbadisc.c 	ndlp->phba = vport->phba;
phba             4499 drivers/scsi/lpfc/lpfc_hbadisc.c 	struct lpfc_hba *phba = vport->phba;
phba             4509 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (phba->sli_rev == LPFC_SLI_REV4) {
phba             4511 drivers/scsi/lpfc/lpfc_hbadisc.c 			rpi = lpfc_sli4_alloc_rpi(vport->phba);
phba             4527 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_lock_irqsave(&phba->ndlp_lock, flags);
phba             4530 drivers/scsi/lpfc/lpfc_hbadisc.c 		spin_unlock_irqrestore(&phba->ndlp_lock, flags);
phba             4540 drivers/scsi/lpfc/lpfc_hbadisc.c 		spin_unlock_irqrestore(&phba->ndlp_lock, flags);
phba             4554 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (phba->sli_rev == LPFC_SLI_REV4)
phba             4566 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (phba->sli_rev == LPFC_SLI_REV4)
phba             4569 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_unlock_irqrestore(&phba->ndlp_lock, flags);
phba             4570 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (vport->phba->sli_rev == LPFC_SLI_REV4) {
phba             4598 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (phba->sli_rev == LPFC_SLI_REV4)
phba             4599 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_sli4_free_rpi(vport->phba, rpi);
phba             4616 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (vport->phba->sli_rev == LPFC_SLI_REV4) {
phba             4632 drivers/scsi/lpfc/lpfc_hbadisc.c 	struct lpfc_hba  *phba = vport->phba;
phba             4637 drivers/scsi/lpfc/lpfc_hbadisc.c 		tmo = (((phba->fc_edtov + 999) / 1000) + 1);
phba             4642 drivers/scsi/lpfc/lpfc_hbadisc.c 		tmo = ((phba->fc_ratov * 3) + 3);
phba             4706 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_check_sli_ndlp(struct lpfc_hba *phba,
phba             4746 drivers/scsi/lpfc/lpfc_hbadisc.c __lpfc_dequeue_nport_iocbs(struct lpfc_hba *phba,
phba             4754 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (lpfc_check_sli_ndlp(phba, pring, iocb, ndlp))
phba             4761 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_sli3_dequeue_nport_iocbs(struct lpfc_hba *phba,
phba             4764 drivers/scsi/lpfc/lpfc_hbadisc.c 	struct lpfc_sli *psli = &phba->sli;
phba             4767 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_lock_irq(&phba->hbalock);
phba             4769 drivers/scsi/lpfc/lpfc_hbadisc.c 		__lpfc_dequeue_nport_iocbs(phba, ndlp, &psli->sli3_ring[i],
phba             4771 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_unlock_irq(&phba->hbalock);
phba             4775 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_sli4_dequeue_nport_iocbs(struct lpfc_hba *phba,
phba             4781 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_lock_irq(&phba->hbalock);
phba             4782 drivers/scsi/lpfc/lpfc_hbadisc.c 	list_for_each_entry(qp, &phba->sli4_hba.lpfc_wq_list, wq_list) {
phba             4787 drivers/scsi/lpfc/lpfc_hbadisc.c 		__lpfc_dequeue_nport_iocbs(phba, ndlp, pring, dequeue_list);
phba             4790 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_unlock_irq(&phba->hbalock);
phba             4798 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_no_rpi(struct lpfc_hba *phba, struct lpfc_nodelist *ndlp)
phba             4809 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (phba->sli_rev != LPFC_SLI_REV4)
phba             4810 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_sli3_dequeue_nport_iocbs(phba, ndlp, &completions);
phba             4812 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_sli4_dequeue_nport_iocbs(phba, ndlp, &completions);
phba             4816 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_sli_cancel_iocbs(phba, &completions, IOSTAT_LOCAL_REJECT,
phba             4831 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_nlp_logo_unreg(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb)
phba             4840 drivers/scsi/lpfc/lpfc_hbadisc.c 	mempool_free(pmb, phba->mbox_mem_pool);
phba             4856 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_sli4_free_rpi(vport->phba, ndlp->nlp_rpi);
phba             4869 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_set_unreg_login_mbx_cmpl(struct lpfc_hba *phba, struct lpfc_vport *vport,
phba             4878 drivers/scsi/lpfc/lpfc_hbadisc.c 	} else if (phba->sli_rev == LPFC_SLI_REV4 &&
phba             4880 drivers/scsi/lpfc/lpfc_hbadisc.c 		    (bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) >=
phba             4887 drivers/scsi/lpfc/lpfc_hbadisc.c 			if (phba->sli_rev == LPFC_SLI_REV4) {
phba             4888 drivers/scsi/lpfc/lpfc_hbadisc.c 				spin_lock_irqsave(&vport->phba->ndlp_lock,
phba             4891 drivers/scsi/lpfc/lpfc_hbadisc.c 				spin_unlock_irqrestore(&vport->phba->ndlp_lock,
phba             4913 drivers/scsi/lpfc/lpfc_hbadisc.c 	struct lpfc_hba *phba = vport->phba;
phba             4942 drivers/scsi/lpfc/lpfc_hbadisc.c 		mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             4946 drivers/scsi/lpfc/lpfc_hbadisc.c 			if (phba->sli_rev == LPFC_SLI_REV4)
phba             4947 drivers/scsi/lpfc/lpfc_hbadisc.c 				rpi = phba->sli4_hba.rpi_ids[ndlp->nlp_rpi];
phba             4949 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_unreg_login(phba, vport->vpi, rpi, mbox);
phba             4951 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_set_unreg_login_mbx_cmpl(phba, vport, ndlp, mbox);
phba             4969 drivers/scsi/lpfc/lpfc_hbadisc.c 			rc = lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT);
phba             4971 drivers/scsi/lpfc/lpfc_hbadisc.c 				mempool_free(mbox, phba->mbox_mem_pool);
phba             4975 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_no_rpi(phba, ndlp);
phba             4977 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (phba->sli_rev != LPFC_SLI_REV4)
phba             4997 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_unreg_hba_rpis(struct lpfc_hba *phba)
phba             5004 drivers/scsi/lpfc/lpfc_hbadisc.c 	vports = lpfc_create_vport_work_array(phba);
phba             5006 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_printf_log(phba, KERN_ERR, LOG_DISCOVERY,
phba             5010 drivers/scsi/lpfc/lpfc_hbadisc.c 	for (i = 0; i <= phba->max_vports && vports[i] != NULL; i++) {
phba             5023 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_destroy_vport_work_array(phba, vports);
phba             5029 drivers/scsi/lpfc/lpfc_hbadisc.c 	struct lpfc_hba  *phba  = vport->phba;
phba             5033 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (phba->sli_rev == LPFC_SLI_REV4) {
phba             5038 drivers/scsi/lpfc/lpfc_hbadisc.c 	mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             5040 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_unreg_login(phba, vport->vpi, LPFC_UNREG_ALL_RPIS_VPORT,
phba             5045 drivers/scsi/lpfc/lpfc_hbadisc.c 		rc = lpfc_sli_issue_mbox_wait(phba, mbox, LPFC_MBOX_TMO);
phba             5047 drivers/scsi/lpfc/lpfc_hbadisc.c 			mempool_free(mbox, phba->mbox_mem_pool);
phba             5059 drivers/scsi/lpfc/lpfc_hbadisc.c 	struct lpfc_hba  *phba  = vport->phba;
phba             5064 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (phba->sli_rev > LPFC_SLI_REV3)
phba             5067 drivers/scsi/lpfc/lpfc_hbadisc.c 	mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             5069 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_unreg_did(phba, vport->vpi, LPFC_UNREG_ALL_DFLT_RPIS,
phba             5074 drivers/scsi/lpfc/lpfc_hbadisc.c 		rc = lpfc_sli_issue_mbox_wait(phba, mbox, LPFC_MBOX_TMO);
phba             5076 drivers/scsi/lpfc/lpfc_hbadisc.c 			mempool_free(mbox, phba->mbox_mem_pool);
phba             5094 drivers/scsi/lpfc/lpfc_hbadisc.c 	struct lpfc_hba  *phba = vport->phba;
phba             5125 drivers/scsi/lpfc/lpfc_hbadisc.c 	if ((mb = phba->sli.mbox_active)) {
phba             5134 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_lock_irq(&phba->hbalock);
phba             5136 drivers/scsi/lpfc/lpfc_hbadisc.c 	list_for_each_entry(mb, &phba->sli.mboxq_cmpl, list) {
phba             5146 drivers/scsi/lpfc/lpfc_hbadisc.c 	list_for_each_entry_safe(mb, nextmb, &phba->sli.mboxq, list) {
phba             5152 drivers/scsi/lpfc/lpfc_hbadisc.c 				__lpfc_mbuf_free(phba, mp->virt, mp->phys);
phba             5156 drivers/scsi/lpfc/lpfc_hbadisc.c 			mempool_free(mb, phba->mbox_mem_pool);
phba             5163 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_unlock_irq(&phba->hbalock);
phba             5165 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_els_abort(phba, ndlp);
phba             5177 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (phba->sli_rev == LPFC_SLI_REV4)
phba             5183 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_sli4_free_rpi(vport->phba,
phba             5185 drivers/scsi/lpfc/lpfc_hbadisc.c 			spin_lock_irqsave(&vport->phba->ndlp_lock,
phba             5189 drivers/scsi/lpfc/lpfc_hbadisc.c 			spin_unlock_irqrestore(&vport->phba->ndlp_lock,
phba             5204 drivers/scsi/lpfc/lpfc_hbadisc.c 	struct lpfc_hba  *phba = vport->phba;
phba             5214 drivers/scsi/lpfc/lpfc_hbadisc.c 	    phba->sli_rev != LPFC_SLI_REV4) {
phba             5223 drivers/scsi/lpfc/lpfc_hbadisc.c 		if ((mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL))
phba             5225 drivers/scsi/lpfc/lpfc_hbadisc.c 			rc = lpfc_reg_rpi(phba, vport->vpi, ndlp->nlp_DID,
phba             5228 drivers/scsi/lpfc/lpfc_hbadisc.c 				mempool_free(mbox, phba->mbox_mem_pool);
phba             5235 drivers/scsi/lpfc/lpfc_hbadisc.c 				rc =lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT);
phba             5237 drivers/scsi/lpfc/lpfc_hbadisc.c 					mempool_free(mbox, phba->mbox_mem_pool);
phba             5301 drivers/scsi/lpfc/lpfc_hbadisc.c 				    vport->phba->fc_topology ==
phba             5406 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (vport->phba->nvmet_support)
phba             5420 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (vport->phba->nvmet_support)
phba             5452 drivers/scsi/lpfc/lpfc_hbadisc.c 			if (vport->phba->nvmet_support)
phba             5478 drivers/scsi/lpfc/lpfc_hbadisc.c 		    (!vport->phba->nvmet_support &&
phba             5482 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (vport->phba->nvmet_support)
phba             5501 drivers/scsi/lpfc/lpfc_hbadisc.c 	struct lpfc_hba  *phba = vport->phba;
phba             5505 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (!lpfc_is_link_up(phba))
phba             5508 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (phba->fc_topology != LPFC_TOPOLOGY_LOOP)
phba             5512 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (phba->alpa_map[0]) {
phba             5513 drivers/scsi/lpfc/lpfc_hbadisc.c 		for (j = 1; j <= phba->alpa_map[0]; j++) {
phba             5514 drivers/scsi/lpfc/lpfc_hbadisc.c 			alpa = phba->alpa_map[j];
phba             5540 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_issue_clear_la(struct lpfc_hba *phba, struct lpfc_vport *vport)
phba             5543 drivers/scsi/lpfc/lpfc_hbadisc.c 	struct lpfc_sli *psli = &phba->sli;
phba             5552 drivers/scsi/lpfc/lpfc_hbadisc.c 	if ((phba->link_state >= LPFC_CLEAR_LA) ||
phba             5554 drivers/scsi/lpfc/lpfc_hbadisc.c 		(phba->sli_rev == LPFC_SLI_REV4))
phba             5558 drivers/scsi/lpfc/lpfc_hbadisc.c 	if ((mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL)) != NULL) {
phba             5559 drivers/scsi/lpfc/lpfc_hbadisc.c 		phba->link_state = LPFC_CLEAR_LA;
phba             5560 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_clear_la(phba, mbox);
phba             5563 drivers/scsi/lpfc/lpfc_hbadisc.c 		rc = lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT);
phba             5565 drivers/scsi/lpfc/lpfc_hbadisc.c 			mempool_free(mbox, phba->mbox_mem_pool);
phba             5569 drivers/scsi/lpfc/lpfc_hbadisc.c 			phba->link_state = LPFC_HBA_ERROR;
phba             5576 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_issue_reg_vpi(struct lpfc_hba *phba, struct lpfc_vport *vport)
phba             5580 drivers/scsi/lpfc/lpfc_hbadisc.c 	regvpimbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             5585 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (lpfc_sli_issue_mbox(phba, regvpimbox, MBX_NOWAIT)
phba             5587 drivers/scsi/lpfc/lpfc_hbadisc.c 			mempool_free(regvpimbox, phba->mbox_mem_pool);
phba             5597 drivers/scsi/lpfc/lpfc_hbadisc.c 	struct lpfc_hba  *phba = vport->phba;
phba             5601 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (!lpfc_is_link_up(phba)) {
phba             5604 drivers/scsi/lpfc/lpfc_hbadisc.c 				 phba->link_state);
phba             5608 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (phba->link_state == LPFC_CLEAR_LA)
phba             5635 drivers/scsi/lpfc/lpfc_hbadisc.c 	if ((phba->sli3_options & LPFC_SLI3_NPIV_ENABLED) &&
phba             5638 drivers/scsi/lpfc/lpfc_hbadisc.c 	    (phba->sli_rev < LPFC_SLI_REV4)) {
phba             5639 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_issue_clear_la(phba, vport);
phba             5640 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_issue_reg_vpi(phba, vport);
phba             5650 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_issue_clear_la(phba, vport);
phba             5695 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_free_tx(struct lpfc_hba *phba, struct lpfc_nodelist *ndlp)
phba             5702 drivers/scsi/lpfc/lpfc_hbadisc.c 	pring = lpfc_phba_elsring(phba);
phba             5709 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_lock_irq(&phba->hbalock);
phba             5730 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_sli_issue_abort_iotag(phba, pring, iocb);
phba             5733 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_unlock_irq(&phba->hbalock);
phba             5736 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_sli_cancel_iocbs(phba, &completions, IOSTAT_LOCAL_REJECT,
phba             5744 drivers/scsi/lpfc/lpfc_hbadisc.c 	struct lpfc_hba *phba = vport->phba;
phba             5753 drivers/scsi/lpfc/lpfc_hbadisc.c 				lpfc_free_tx(phba, ndlp);
phba             5786 drivers/scsi/lpfc/lpfc_hbadisc.c 	struct lpfc_hba   *phba = vport->phba;
phba             5790 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (unlikely(!phba))
phba             5800 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_worker_wake_up(phba);
phba             5808 drivers/scsi/lpfc/lpfc_hbadisc.c 	struct lpfc_hba  *phba = vport->phba;
phba             5809 drivers/scsi/lpfc/lpfc_hbadisc.c 	struct lpfc_sli  *psli = &phba->sli;
phba             5854 drivers/scsi/lpfc/lpfc_hbadisc.c 			if (phba->sli_rev <= LPFC_SLI_REV3)
phba             5890 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_els_abort(phba, ndlp);
phba             5918 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (phba->sli_rev < LPFC_SLI_REV4) {
phba             5919 drivers/scsi/lpfc/lpfc_hbadisc.c 			if (phba->sli3_options & LPFC_SLI3_NPIV_ENABLED)
phba             5920 drivers/scsi/lpfc/lpfc_hbadisc.c 				lpfc_issue_reg_vpi(phba, vport);
phba             5922 drivers/scsi/lpfc/lpfc_hbadisc.c 				lpfc_issue_clear_la(phba, vport);
phba             5928 drivers/scsi/lpfc/lpfc_hbadisc.c 		initlinkmbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             5933 drivers/scsi/lpfc/lpfc_hbadisc.c 			phba->link_state = LPFC_HBA_ERROR;
phba             5937 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_linkdown(phba);
phba             5938 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_init_link(phba, initlinkmbox, phba->cfg_topology,
phba             5939 drivers/scsi/lpfc/lpfc_hbadisc.c 			       phba->cfg_link_speed);
phba             5943 drivers/scsi/lpfc/lpfc_hbadisc.c 		rc = lpfc_sli_issue_mbox(phba, initlinkmbox, MBX_NOWAIT);
phba             5944 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_set_loopback_flag(phba);
phba             5946 drivers/scsi/lpfc/lpfc_hbadisc.c 			mempool_free(initlinkmbox, phba->mbox_mem_pool);
phba             5960 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (phba->sli_rev < LPFC_SLI_REV4) {
phba             5961 drivers/scsi/lpfc/lpfc_hbadisc.c 			if (phba->sli3_options & LPFC_SLI3_NPIV_ENABLED)
phba             5962 drivers/scsi/lpfc/lpfc_hbadisc.c 				lpfc_issue_reg_vpi(phba, vport);
phba             5964 drivers/scsi/lpfc/lpfc_hbadisc.c 				lpfc_issue_clear_la(phba, vport);
phba             5992 drivers/scsi/lpfc/lpfc_hbadisc.c 	switch (phba->link_state) {
phba             6001 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_issue_clear_la(phba, vport);
phba             6011 drivers/scsi/lpfc/lpfc_hbadisc.c 				 "state x%x\n", phba->link_state);
phba             6021 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (phba->sli_rev != LPFC_SLI_REV4) {
phba             6039 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_mbx_cmpl_fdmi_reg_login(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb)
phba             6049 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (phba->sli_rev < LPFC_SLI_REV4)
phba             6075 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_mbuf_free(phba, mp->virt, mp->phys);
phba             6077 drivers/scsi/lpfc/lpfc_hbadisc.c 	mempool_free(pmb, phba->mbox_mem_pool);
phba             6182 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_find_vport_by_vpid(struct lpfc_hba *phba, uint16_t vpi)
phba             6194 drivers/scsi/lpfc/lpfc_hbadisc.c 		for (i = 0; i < phba->max_vpi; i++) {
phba             6195 drivers/scsi/lpfc/lpfc_hbadisc.c 			if (vpi == phba->vpi_ids[i])
phba             6199 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (i >= phba->max_vpi) {
phba             6200 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_printf_log(phba, KERN_ERR, LOG_ELS,
phba             6207 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_lock_irqsave(&phba->port_list_lock, flags);
phba             6208 drivers/scsi/lpfc/lpfc_hbadisc.c 	list_for_each_entry(vport, &phba->port_list, listentry) {
phba             6210 drivers/scsi/lpfc/lpfc_hbadisc.c 			spin_unlock_irqrestore(&phba->port_list_lock, flags);
phba             6214 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_unlock_irqrestore(&phba->port_list_lock, flags);
phba             6224 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (vport->phba->sli_rev == LPFC_SLI_REV4) {
phba             6225 drivers/scsi/lpfc/lpfc_hbadisc.c 		rpi = lpfc_sli4_alloc_rpi(vport->phba);
phba             6230 drivers/scsi/lpfc/lpfc_hbadisc.c 	ndlp = mempool_alloc(vport->phba->nlp_mem_pool, GFP_KERNEL);
phba             6232 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (vport->phba->sli_rev == LPFC_SLI_REV4)
phba             6233 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_sli4_free_rpi(vport->phba, rpi);
phba             6241 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (vport->phba->sli_rev == LPFC_SLI_REV4) {
phba             6251 drivers/scsi/lpfc/lpfc_hbadisc.c 				mempool_alloc(vport->phba->active_rrq_pool,
phba             6255 drivers/scsi/lpfc/lpfc_hbadisc.c 			       ndlp->phba->cfg_rrq_xri_bitmap_sz);
phba             6273 drivers/scsi/lpfc/lpfc_hbadisc.c 	struct lpfc_hba *phba;
phba             6293 drivers/scsi/lpfc/lpfc_hbadisc.c 	phba = ndlp->phba;
phba             6294 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_lock_irqsave(&phba->ndlp_lock, flags);
phba             6296 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_unlock_irqrestore(&phba->ndlp_lock, flags);
phba             6301 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (phba->sli_rev == LPFC_SLI_REV4)
phba             6303 drivers/scsi/lpfc/lpfc_hbadisc.c 				     ndlp->phba->active_rrq_pool);
phba             6304 drivers/scsi/lpfc/lpfc_hbadisc.c 		mempool_free(ndlp, ndlp->phba->nlp_mem_pool);
phba             6315 drivers/scsi/lpfc/lpfc_hbadisc.c 	struct lpfc_hba *phba;
phba             6327 drivers/scsi/lpfc/lpfc_hbadisc.c 		phba = ndlp->phba;
phba             6328 drivers/scsi/lpfc/lpfc_hbadisc.c 		spin_lock_irqsave(&phba->ndlp_lock, flags);
phba             6330 drivers/scsi/lpfc/lpfc_hbadisc.c 			spin_unlock_irqrestore(&phba->ndlp_lock, flags);
phba             6339 drivers/scsi/lpfc/lpfc_hbadisc.c 		spin_unlock_irqrestore(&phba->ndlp_lock, flags);
phba             6353 drivers/scsi/lpfc/lpfc_hbadisc.c 	struct lpfc_hba *phba;
phba             6363 drivers/scsi/lpfc/lpfc_hbadisc.c 	phba = ndlp->phba;
phba             6364 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_lock_irqsave(&phba->ndlp_lock, flags);
phba             6370 drivers/scsi/lpfc/lpfc_hbadisc.c 		spin_unlock_irqrestore(&phba->ndlp_lock, flags);
phba             6383 drivers/scsi/lpfc/lpfc_hbadisc.c 		spin_unlock_irqrestore(&phba->ndlp_lock, flags);
phba             6403 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_unlock_irqrestore(&phba->ndlp_lock, flags);
phba             6442 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_fcf_inuse(struct lpfc_hba *phba)
phba             6449 drivers/scsi/lpfc/lpfc_hbadisc.c 	vports = lpfc_create_vport_work_array(phba);
phba             6455 drivers/scsi/lpfc/lpfc_hbadisc.c 	for (i = 0; i <= phba->max_vports && vports[i] != NULL; i++) {
phba             6477 drivers/scsi/lpfc/lpfc_hbadisc.c 				lpfc_printf_log(phba, KERN_INFO, LOG_ELS,
phba             6487 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_destroy_vport_work_array(phba, vports);
phba             6499 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_unregister_vfi_cmpl(struct lpfc_hba *phba, LPFC_MBOXQ_t *mboxq)
phba             6505 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_printf_log(phba, KERN_ERR, LOG_DISCOVERY|LOG_MBOX,
phba             6511 drivers/scsi/lpfc/lpfc_hbadisc.c 	phba->pport->fc_flag &= ~FC_VFI_REGISTERED;
phba             6513 drivers/scsi/lpfc/lpfc_hbadisc.c 	mempool_free(mboxq, phba->mbox_mem_pool);
phba             6525 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_unregister_fcfi_cmpl(struct lpfc_hba *phba, LPFC_MBOXQ_t *mboxq)
phba             6530 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_printf_log(phba, KERN_ERR, LOG_DISCOVERY|LOG_MBOX,
phba             6535 drivers/scsi/lpfc/lpfc_hbadisc.c 	mempool_free(mboxq, phba->mbox_mem_pool);
phba             6548 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_unregister_fcf_prep(struct lpfc_hba *phba)
phba             6556 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (lpfc_fcf_inuse(phba))
phba             6557 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_unreg_hba_rpis(phba);
phba             6560 drivers/scsi/lpfc/lpfc_hbadisc.c 	phba->pport->port_state = LPFC_VPORT_UNKNOWN;
phba             6563 drivers/scsi/lpfc/lpfc_hbadisc.c 	vports = lpfc_create_vport_work_array(phba);
phba             6564 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (vports && (phba->sli3_options & LPFC_SLI3_NPIV_ENABLED))
phba             6565 drivers/scsi/lpfc/lpfc_hbadisc.c 		for (i = 0; i <= phba->max_vports && vports[i] != NULL; i++) {
phba             6571 drivers/scsi/lpfc/lpfc_hbadisc.c 			if (phba->sli_rev == LPFC_SLI_REV4)
phba             6580 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_destroy_vport_work_array(phba, vports);
phba             6581 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (i == 0 && (!(phba->sli3_options & LPFC_SLI3_NPIV_ENABLED))) {
phba             6582 drivers/scsi/lpfc/lpfc_hbadisc.c 		ndlp = lpfc_findnode_did(phba->pport, Fabric_DID);
phba             6584 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_cancel_retry_delay_tmo(phba->pport, ndlp);
phba             6585 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_cleanup_pending_mbox(phba->pport);
phba             6586 drivers/scsi/lpfc/lpfc_hbadisc.c 		if (phba->sli_rev == LPFC_SLI_REV4)
phba             6587 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_sli4_unreg_all_rpis(phba->pport);
phba             6588 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_mbx_unreg_vpi(phba->pport);
phba             6589 drivers/scsi/lpfc/lpfc_hbadisc.c 		shost = lpfc_shost_from_vport(phba->pport);
phba             6591 drivers/scsi/lpfc/lpfc_hbadisc.c 		phba->pport->fc_flag |= FC_VPORT_NEEDS_INIT_VPI;
phba             6592 drivers/scsi/lpfc/lpfc_hbadisc.c 		phba->pport->vpi_state &= ~LPFC_VPI_REGISTERED;
phba             6597 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_els_flush_all_cmd(phba);
phba             6600 drivers/scsi/lpfc/lpfc_hbadisc.c 	rc = lpfc_issue_unreg_vfi(phba->pport);
phba             6615 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_sli4_unregister_fcf(struct lpfc_hba *phba)
phba             6620 drivers/scsi/lpfc/lpfc_hbadisc.c 	mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             6622 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_printf_log(phba, KERN_ERR, LOG_DISCOVERY|LOG_MBOX,
phba             6624 drivers/scsi/lpfc/lpfc_hbadisc.c 				"HBA state x%x\n", phba->pport->port_state);
phba             6627 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_unreg_fcfi(mbox, phba->fcf.fcfi);
phba             6628 drivers/scsi/lpfc/lpfc_hbadisc.c 	mbox->vport = phba->pport;
phba             6630 drivers/scsi/lpfc/lpfc_hbadisc.c 	rc = lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT);
phba             6633 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             6636 drivers/scsi/lpfc/lpfc_hbadisc.c 				rc, phba->pport->port_state);
phba             6650 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_unregister_fcf_rescan(struct lpfc_hba *phba)
phba             6655 drivers/scsi/lpfc/lpfc_hbadisc.c 	rc = lpfc_unregister_fcf_prep(phba);
phba             6657 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_printf_log(phba, KERN_ERR, LOG_DISCOVERY,
phba             6664 drivers/scsi/lpfc/lpfc_hbadisc.c 	rc = lpfc_sli4_unregister_fcf(phba);
phba             6668 drivers/scsi/lpfc/lpfc_hbadisc.c 	phba->fcf.fcf_flag = 0;
phba             6669 drivers/scsi/lpfc/lpfc_hbadisc.c 	phba->fcf.current_rec.flag = 0;
phba             6675 drivers/scsi/lpfc/lpfc_hbadisc.c 	if ((phba->pport->load_flag & FC_UNLOADING) ||
phba             6676 drivers/scsi/lpfc/lpfc_hbadisc.c 	    (phba->link_state < LPFC_LINK_UP))
phba             6680 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_lock_irq(&phba->hbalock);
phba             6681 drivers/scsi/lpfc/lpfc_hbadisc.c 	phba->fcf.fcf_flag |= FCF_INIT_DISC;
phba             6682 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_unlock_irq(&phba->hbalock);
phba             6685 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_sli4_clear_fcf_rr_bmask(phba);
phba             6687 drivers/scsi/lpfc/lpfc_hbadisc.c 	rc = lpfc_sli4_fcf_scan_read_fcf_rec(phba, LPFC_FCOE_FCF_GET_FIRST);
phba             6690 drivers/scsi/lpfc/lpfc_hbadisc.c 		spin_lock_irq(&phba->hbalock);
phba             6691 drivers/scsi/lpfc/lpfc_hbadisc.c 		phba->fcf.fcf_flag &= ~FCF_INIT_DISC;
phba             6692 drivers/scsi/lpfc/lpfc_hbadisc.c 		spin_unlock_irq(&phba->hbalock);
phba             6693 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_printf_log(phba, KERN_ERR, LOG_DISCOVERY|LOG_MBOX,
phba             6696 drivers/scsi/lpfc/lpfc_hbadisc.c 				phba->pport->port_state);
phba             6708 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_unregister_fcf(struct lpfc_hba *phba)
phba             6713 drivers/scsi/lpfc/lpfc_hbadisc.c 	rc = lpfc_unregister_fcf_prep(phba);
phba             6715 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_printf_log(phba, KERN_ERR, LOG_DISCOVERY,
phba             6722 drivers/scsi/lpfc/lpfc_hbadisc.c 	rc = lpfc_sli4_unregister_fcf(phba);
phba             6726 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_lock_irq(&phba->hbalock);
phba             6727 drivers/scsi/lpfc/lpfc_hbadisc.c 	phba->fcf.fcf_flag &= ~FCF_REGISTERED;
phba             6728 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_unlock_irq(&phba->hbalock);
phba             6740 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_unregister_unused_fcf(struct lpfc_hba *phba)
phba             6747 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_lock_irq(&phba->hbalock);
phba             6748 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (!(phba->hba_flag & HBA_FCOE_MODE) ||
phba             6749 drivers/scsi/lpfc/lpfc_hbadisc.c 	    !(phba->fcf.fcf_flag & FCF_REGISTERED) ||
phba             6750 drivers/scsi/lpfc/lpfc_hbadisc.c 	    !(phba->hba_flag & HBA_FIP_SUPPORT) ||
phba             6751 drivers/scsi/lpfc/lpfc_hbadisc.c 	    (phba->fcf.fcf_flag & FCF_DISCOVERY) ||
phba             6752 drivers/scsi/lpfc/lpfc_hbadisc.c 	    (phba->pport->port_state == LPFC_FLOGI)) {
phba             6753 drivers/scsi/lpfc/lpfc_hbadisc.c 		spin_unlock_irq(&phba->hbalock);
phba             6756 drivers/scsi/lpfc/lpfc_hbadisc.c 	spin_unlock_irq(&phba->hbalock);
phba             6758 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (lpfc_fcf_inuse(phba))
phba             6761 drivers/scsi/lpfc/lpfc_hbadisc.c 	lpfc_unregister_fcf_rescan(phba);
phba             6773 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_read_fcf_conn_tbl(struct lpfc_hba *phba,
phba             6784 drivers/scsi/lpfc/lpfc_hbadisc.c 		&phba->fcf_conn_rec_list, list) {
phba             6802 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             6811 drivers/scsi/lpfc/lpfc_hbadisc.c 			&phba->fcf_conn_rec_list);
phba             6814 drivers/scsi/lpfc/lpfc_hbadisc.c 	if (!list_empty(&phba->fcf_conn_rec_list)) {
phba             6816 drivers/scsi/lpfc/lpfc_hbadisc.c 		list_for_each_entry(conn_entry, &phba->fcf_conn_rec_list,
phba             6819 drivers/scsi/lpfc/lpfc_hbadisc.c 			lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             6856 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_read_fcoe_param(struct lpfc_hba *phba,
phba             6872 drivers/scsi/lpfc/lpfc_hbadisc.c 		phba->valid_vlan = 1;
phba             6873 drivers/scsi/lpfc/lpfc_hbadisc.c 		phba->vlan_id = le16_to_cpu(fcoe_param->vlan_tag) &
phba             6877 drivers/scsi/lpfc/lpfc_hbadisc.c 	phba->fc_map[0] = fcoe_param->fc_map[0];
phba             6878 drivers/scsi/lpfc/lpfc_hbadisc.c 	phba->fc_map[1] = fcoe_param->fc_map[1];
phba             6879 drivers/scsi/lpfc/lpfc_hbadisc.c 	phba->fc_map[2] = fcoe_param->fc_map[2];
phba             6932 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_parse_fcoe_conf(struct lpfc_hba *phba,
phba             6948 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             6957 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             6967 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_read_fcoe_param(phba, rec_ptr);
phba             6973 drivers/scsi/lpfc/lpfc_hbadisc.c 		lpfc_read_fcf_conn_tbl(phba, rec_ptr);
phba               74 drivers/scsi/lpfc/lpfc_init.c static void __lpfc_cpuhp_remove(struct lpfc_hba *phba);
phba               75 drivers/scsi/lpfc/lpfc_init.c static void lpfc_cpuhp_remove(struct lpfc_hba *phba);
phba               76 drivers/scsi/lpfc/lpfc_init.c static void lpfc_cpuhp_add(struct lpfc_hba *phba);
phba               88 drivers/scsi/lpfc/lpfc_init.c static int lpfc_hba_down_post_s3(struct lpfc_hba *phba);
phba               89 drivers/scsi/lpfc/lpfc_init.c static int lpfc_hba_down_post_s4(struct lpfc_hba *phba);
phba               95 drivers/scsi/lpfc/lpfc_init.c static void lpfc_sli4_oas_verify(struct lpfc_hba *phba);
phba              119 drivers/scsi/lpfc/lpfc_init.c lpfc_config_port_prep(struct lpfc_hba *phba)
phba              121 drivers/scsi/lpfc/lpfc_init.c 	lpfc_vpd_t *vp = &phba->vpd;
phba              131 drivers/scsi/lpfc/lpfc_init.c 	pmb = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba              133 drivers/scsi/lpfc/lpfc_init.c 		phba->link_state = LPFC_HBA_ERROR;
phba              138 drivers/scsi/lpfc/lpfc_init.c 	phba->link_state = LPFC_INIT_MBX_CMDS;
phba              140 drivers/scsi/lpfc/lpfc_init.c 	if (lpfc_is_LC_HBA(phba->pcidev->device)) {
phba              149 drivers/scsi/lpfc/lpfc_init.c 		lpfc_read_nv(phba, pmb);
phba              155 drivers/scsi/lpfc/lpfc_init.c 		rc = lpfc_sli_issue_mbox(phba, pmb, MBX_POLL);
phba              158 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_ERR, LOG_MBOX,
phba              163 drivers/scsi/lpfc/lpfc_init.c 			mempool_free(pmb, phba->mbox_mem_pool);
phba              166 drivers/scsi/lpfc/lpfc_init.c 		memcpy(phba->wwnn, (char *)mb->un.varRDnvp.nodename,
phba              167 drivers/scsi/lpfc/lpfc_init.c 		       sizeof(phba->wwnn));
phba              168 drivers/scsi/lpfc/lpfc_init.c 		memcpy(phba->wwpn, (char *)mb->un.varRDnvp.portname,
phba              169 drivers/scsi/lpfc/lpfc_init.c 		       sizeof(phba->wwpn));
phba              176 drivers/scsi/lpfc/lpfc_init.c 	phba->sli3_options &= (uint32_t)LPFC_SLI3_BG_ENABLED;
phba              179 drivers/scsi/lpfc/lpfc_init.c 	lpfc_read_rev(phba, pmb);
phba              180 drivers/scsi/lpfc/lpfc_init.c 	rc = lpfc_sli_issue_mbox(phba, pmb, MBX_POLL);
phba              182 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba              186 drivers/scsi/lpfc/lpfc_init.c 		mempool_free( pmb, phba->mbox_mem_pool);
phba              197 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba              200 drivers/scsi/lpfc/lpfc_init.c 		mempool_free(pmb, phba->mbox_mem_pool);
phba              204 drivers/scsi/lpfc/lpfc_init.c 	if (phba->sli_rev == 3 && !mb->un.varRdRev.v3rsp) {
phba              205 drivers/scsi/lpfc/lpfc_init.c 		mempool_free(pmb, phba->mbox_mem_pool);
phba              232 drivers/scsi/lpfc/lpfc_init.c 		phba->sli3_options |= LPFC_SLI3_VPORT_TEARDOWN;
phba              234 drivers/scsi/lpfc/lpfc_init.c 	if (lpfc_is_LC_HBA(phba->pcidev->device))
phba              235 drivers/scsi/lpfc/lpfc_init.c 		memcpy(phba->RandomData, (char *)&mb->un.varWords[24],
phba              236 drivers/scsi/lpfc/lpfc_init.c 						sizeof (phba->RandomData));
phba              243 drivers/scsi/lpfc/lpfc_init.c 		lpfc_dump_mem(phba, pmb, offset, DMP_REGION_VPD);
phba              244 drivers/scsi/lpfc/lpfc_init.c 		rc = lpfc_sli_issue_mbox(phba, pmb, MBX_POLL);
phba              247 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba              265 drivers/scsi/lpfc/lpfc_init.c 	lpfc_parse_vpd(phba, lpfc_vpd_data, offset);
phba              269 drivers/scsi/lpfc/lpfc_init.c 	mempool_free(pmb, phba->mbox_mem_pool);
phba              284 drivers/scsi/lpfc/lpfc_init.c lpfc_config_async_cmpl(struct lpfc_hba * phba, LPFC_MBOXQ_t * pmboxq)
phba              287 drivers/scsi/lpfc/lpfc_init.c 		phba->temp_sensor_support = 1;
phba              289 drivers/scsi/lpfc/lpfc_init.c 		phba->temp_sensor_support = 0;
phba              290 drivers/scsi/lpfc/lpfc_init.c 	mempool_free(pmboxq, phba->mbox_mem_pool);
phba              305 drivers/scsi/lpfc/lpfc_init.c lpfc_dump_wakeup_param_cmpl(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmboxq)
phba              314 drivers/scsi/lpfc/lpfc_init.c 		mempool_free(pmboxq, phba->mbox_mem_pool);
phba              328 drivers/scsi/lpfc/lpfc_init.c 		snprintf(phba->OptionROMVersion, 32, "%d.%d%d",
phba              331 drivers/scsi/lpfc/lpfc_init.c 		snprintf(phba->OptionROMVersion, 32, "%d.%d%d%c%d",
phba              334 drivers/scsi/lpfc/lpfc_init.c 	mempool_free(pmboxq, phba->mbox_mem_pool);
phba              354 drivers/scsi/lpfc/lpfc_init.c 	if (vport->phba->cfg_soft_wwnn)
phba              355 drivers/scsi/lpfc/lpfc_init.c 		u64_to_wwn(vport->phba->cfg_soft_wwnn,
phba              357 drivers/scsi/lpfc/lpfc_init.c 	if (vport->phba->cfg_soft_wwpn)
phba              358 drivers/scsi/lpfc/lpfc_init.c 		u64_to_wwn(vport->phba->cfg_soft_wwpn,
phba              365 drivers/scsi/lpfc/lpfc_init.c 	if (vport->fc_nodename.u.wwn[0] == 0 || vport->phba->cfg_soft_wwnn)
phba              382 drivers/scsi/lpfc/lpfc_init.c 	    vport->phba->cfg_soft_wwpn ||
phba              410 drivers/scsi/lpfc/lpfc_init.c lpfc_config_port_post(struct lpfc_hba *phba)
phba              412 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_vport *vport = phba->pport;
phba              417 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_sli *psli = &phba->sli;
phba              422 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_irq(&phba->hbalock);
phba              427 drivers/scsi/lpfc/lpfc_init.c 	if (phba->over_temp_state == HBA_OVER_TEMP)
phba              428 drivers/scsi/lpfc/lpfc_init.c 		phba->over_temp_state = HBA_NORMAL_TEMP;
phba              429 drivers/scsi/lpfc/lpfc_init.c 	spin_unlock_irq(&phba->hbalock);
phba              431 drivers/scsi/lpfc/lpfc_init.c 	pmb = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba              433 drivers/scsi/lpfc/lpfc_init.c 		phba->link_state = LPFC_HBA_ERROR;
phba              439 drivers/scsi/lpfc/lpfc_init.c 	rc = lpfc_read_sparam(phba, pmb, 0);
phba              441 drivers/scsi/lpfc/lpfc_init.c 		mempool_free(pmb, phba->mbox_mem_pool);
phba              446 drivers/scsi/lpfc/lpfc_init.c 	if (lpfc_sli_issue_mbox(phba, pmb, MBX_POLL) != MBX_SUCCESS) {
phba              447 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba              451 drivers/scsi/lpfc/lpfc_init.c 		phba->link_state = LPFC_HBA_ERROR;
phba              453 drivers/scsi/lpfc/lpfc_init.c 		mempool_free(pmb, phba->mbox_mem_pool);
phba              454 drivers/scsi/lpfc/lpfc_init.c 		lpfc_mbuf_free(phba, mp->virt, mp->phys);
phba              462 drivers/scsi/lpfc/lpfc_init.c 	lpfc_mbuf_free(phba, mp->virt, mp->phys);
phba              470 drivers/scsi/lpfc/lpfc_init.c 	fc_host_max_npiv_vports(shost) = phba->max_vpi;
phba              474 drivers/scsi/lpfc/lpfc_init.c 	if (phba->SerialNumber[0] == 0) {
phba              482 drivers/scsi/lpfc/lpfc_init.c 				phba->SerialNumber[i] =
phba              485 drivers/scsi/lpfc/lpfc_init.c 				phba->SerialNumber[i] =
phba              490 drivers/scsi/lpfc/lpfc_init.c 				phba->SerialNumber[i] =
phba              493 drivers/scsi/lpfc/lpfc_init.c 				phba->SerialNumber[i] =
phba              498 drivers/scsi/lpfc/lpfc_init.c 	lpfc_read_config(phba, pmb);
phba              500 drivers/scsi/lpfc/lpfc_init.c 	if (lpfc_sli_issue_mbox(phba, pmb, MBX_POLL) != MBX_SUCCESS) {
phba              501 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba              505 drivers/scsi/lpfc/lpfc_init.c 		phba->link_state = LPFC_HBA_ERROR;
phba              506 drivers/scsi/lpfc/lpfc_init.c 		mempool_free( pmb, phba->mbox_mem_pool);
phba              511 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli_read_link_ste(phba);
phba              515 drivers/scsi/lpfc/lpfc_init.c 	if (phba->cfg_hba_queue_depth > i) {
phba              516 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_INIT,
phba              518 drivers/scsi/lpfc/lpfc_init.c 				phba->cfg_hba_queue_depth, i);
phba              519 drivers/scsi/lpfc/lpfc_init.c 		phba->cfg_hba_queue_depth = i;
phba              524 drivers/scsi/lpfc/lpfc_init.c 	if (phba->pport->cfg_lun_queue_depth > i) {
phba              525 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_INIT,
phba              527 drivers/scsi/lpfc/lpfc_init.c 				phba->pport->cfg_lun_queue_depth, i);
phba              528 drivers/scsi/lpfc/lpfc_init.c 		phba->pport->cfg_lun_queue_depth = i;
phba              531 drivers/scsi/lpfc/lpfc_init.c 	phba->lmt = mb->un.varRdConfig.lmt;
phba              534 drivers/scsi/lpfc/lpfc_init.c 	lpfc_get_hba_model_desc(phba, phba->ModelName, phba->ModelDesc);
phba              536 drivers/scsi/lpfc/lpfc_init.c 	phba->link_state = LPFC_LINK_DOWN;
phba              545 drivers/scsi/lpfc/lpfc_init.c 	if (phba->sli_rev != 3)
phba              546 drivers/scsi/lpfc/lpfc_init.c 		lpfc_post_rcv_buf(phba);
phba              551 drivers/scsi/lpfc/lpfc_init.c 	if (phba->intr_type == MSIX) {
phba              552 drivers/scsi/lpfc/lpfc_init.c 		rc = lpfc_config_msi(phba, pmb);
phba              554 drivers/scsi/lpfc/lpfc_init.c 			mempool_free(pmb, phba->mbox_mem_pool);
phba              557 drivers/scsi/lpfc/lpfc_init.c 		rc = lpfc_sli_issue_mbox(phba, pmb, MBX_POLL);
phba              559 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_ERR, LOG_MBOX,
phba              564 drivers/scsi/lpfc/lpfc_init.c 			mempool_free(pmb, phba->mbox_mem_pool);
phba              569 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_irq(&phba->hbalock);
phba              571 drivers/scsi/lpfc/lpfc_init.c 	phba->hba_flag &= ~HBA_ERATT_HANDLED;
phba              574 drivers/scsi/lpfc/lpfc_init.c 	if (lpfc_readl(phba->HCregaddr, &status)) {
phba              575 drivers/scsi/lpfc/lpfc_init.c 		spin_unlock_irq(&phba->hbalock);
phba              588 drivers/scsi/lpfc/lpfc_init.c 	if ((phba->cfg_poll & ENABLE_FCP_RING_POLLING) &&
phba              589 drivers/scsi/lpfc/lpfc_init.c 	    (phba->cfg_poll & DISABLE_FCP_RING_INT))
phba              592 drivers/scsi/lpfc/lpfc_init.c 	writel(status, phba->HCregaddr);
phba              593 drivers/scsi/lpfc/lpfc_init.c 	readl(phba->HCregaddr); /* flush */
phba              594 drivers/scsi/lpfc/lpfc_init.c 	spin_unlock_irq(&phba->hbalock);
phba              597 drivers/scsi/lpfc/lpfc_init.c 	timeout = phba->fc_ratov * 2;
phba              601 drivers/scsi/lpfc/lpfc_init.c 	mod_timer(&phba->hb_tmofunc,
phba              603 drivers/scsi/lpfc/lpfc_init.c 	phba->hb_outstanding = 0;
phba              604 drivers/scsi/lpfc/lpfc_init.c 	phba->last_completion_time = jiffies;
phba              606 drivers/scsi/lpfc/lpfc_init.c 	mod_timer(&phba->eratt_poll,
phba              607 drivers/scsi/lpfc/lpfc_init.c 		  jiffies + msecs_to_jiffies(1000 * phba->eratt_poll_interval));
phba              609 drivers/scsi/lpfc/lpfc_init.c 	if (phba->hba_flag & LINK_DISABLED) {
phba              610 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba,
phba              613 drivers/scsi/lpfc/lpfc_init.c 		lpfc_down_link(phba, pmb);
phba              615 drivers/scsi/lpfc/lpfc_init.c 		rc = lpfc_sli_issue_mbox(phba, pmb, MBX_NOWAIT);
phba              617 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba,
phba              622 drivers/scsi/lpfc/lpfc_init.c 			mempool_free(pmb, phba->mbox_mem_pool);
phba              625 drivers/scsi/lpfc/lpfc_init.c 	} else if (phba->cfg_suppress_link_up == LPFC_INITIALIZE_LINK) {
phba              626 drivers/scsi/lpfc/lpfc_init.c 		mempool_free(pmb, phba->mbox_mem_pool);
phba              627 drivers/scsi/lpfc/lpfc_init.c 		rc = phba->lpfc_hba_init_link(phba, MBX_NOWAIT);
phba              632 drivers/scsi/lpfc/lpfc_init.c 	pmb = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba              634 drivers/scsi/lpfc/lpfc_init.c 		phba->link_state = LPFC_HBA_ERROR;
phba              638 drivers/scsi/lpfc/lpfc_init.c 	lpfc_config_async(phba, pmb, LPFC_ELS_RING);
phba              640 drivers/scsi/lpfc/lpfc_init.c 	pmb->vport = phba->pport;
phba              641 drivers/scsi/lpfc/lpfc_init.c 	rc = lpfc_sli_issue_mbox(phba, pmb, MBX_NOWAIT);
phba              644 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba,
phba              650 drivers/scsi/lpfc/lpfc_init.c 		mempool_free(pmb, phba->mbox_mem_pool);
phba              654 drivers/scsi/lpfc/lpfc_init.c 	pmb = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba              656 drivers/scsi/lpfc/lpfc_init.c 		phba->link_state = LPFC_HBA_ERROR;
phba              660 drivers/scsi/lpfc/lpfc_init.c 	lpfc_dump_wakeup_param(phba, pmb);
phba              662 drivers/scsi/lpfc/lpfc_init.c 	pmb->vport = phba->pport;
phba              663 drivers/scsi/lpfc/lpfc_init.c 	rc = lpfc_sli_issue_mbox(phba, pmb, MBX_NOWAIT);
phba              666 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT, "0435 Adapter failed "
phba              668 drivers/scsi/lpfc/lpfc_init.c 		mempool_free(pmb, phba->mbox_mem_pool);
phba              689 drivers/scsi/lpfc/lpfc_init.c lpfc_hba_init_link(struct lpfc_hba *phba, uint32_t flag)
phba              691 drivers/scsi/lpfc/lpfc_init.c 	return lpfc_hba_init_link_fc_topology(phba, phba->cfg_topology, flag);
phba              710 drivers/scsi/lpfc/lpfc_init.c lpfc_hba_init_link_fc_topology(struct lpfc_hba *phba, uint32_t fc_topology,
phba              713 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_vport *vport = phba->pport;
phba              718 drivers/scsi/lpfc/lpfc_init.c 	pmb = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba              720 drivers/scsi/lpfc/lpfc_init.c 		phba->link_state = LPFC_HBA_ERROR;
phba              726 drivers/scsi/lpfc/lpfc_init.c 	if ((phba->cfg_link_speed > LPFC_USER_LINK_SPEED_MAX) ||
phba              727 drivers/scsi/lpfc/lpfc_init.c 	    ((phba->cfg_link_speed == LPFC_USER_LINK_SPEED_1G) &&
phba              728 drivers/scsi/lpfc/lpfc_init.c 	     !(phba->lmt & LMT_1Gb)) ||
phba              729 drivers/scsi/lpfc/lpfc_init.c 	    ((phba->cfg_link_speed == LPFC_USER_LINK_SPEED_2G) &&
phba              730 drivers/scsi/lpfc/lpfc_init.c 	     !(phba->lmt & LMT_2Gb)) ||
phba              731 drivers/scsi/lpfc/lpfc_init.c 	    ((phba->cfg_link_speed == LPFC_USER_LINK_SPEED_4G) &&
phba              732 drivers/scsi/lpfc/lpfc_init.c 	     !(phba->lmt & LMT_4Gb)) ||
phba              733 drivers/scsi/lpfc/lpfc_init.c 	    ((phba->cfg_link_speed == LPFC_USER_LINK_SPEED_8G) &&
phba              734 drivers/scsi/lpfc/lpfc_init.c 	     !(phba->lmt & LMT_8Gb)) ||
phba              735 drivers/scsi/lpfc/lpfc_init.c 	    ((phba->cfg_link_speed == LPFC_USER_LINK_SPEED_10G) &&
phba              736 drivers/scsi/lpfc/lpfc_init.c 	     !(phba->lmt & LMT_10Gb)) ||
phba              737 drivers/scsi/lpfc/lpfc_init.c 	    ((phba->cfg_link_speed == LPFC_USER_LINK_SPEED_16G) &&
phba              738 drivers/scsi/lpfc/lpfc_init.c 	     !(phba->lmt & LMT_16Gb)) ||
phba              739 drivers/scsi/lpfc/lpfc_init.c 	    ((phba->cfg_link_speed == LPFC_USER_LINK_SPEED_32G) &&
phba              740 drivers/scsi/lpfc/lpfc_init.c 	     !(phba->lmt & LMT_32Gb)) ||
phba              741 drivers/scsi/lpfc/lpfc_init.c 	    ((phba->cfg_link_speed == LPFC_USER_LINK_SPEED_64G) &&
phba              742 drivers/scsi/lpfc/lpfc_init.c 	     !(phba->lmt & LMT_64Gb))) {
phba              744 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_LINK_EVENT,
phba              747 drivers/scsi/lpfc/lpfc_init.c 			phba->cfg_link_speed);
phba              748 drivers/scsi/lpfc/lpfc_init.c 			phba->cfg_link_speed = LPFC_USER_LINK_SPEED_AUTO;
phba              750 drivers/scsi/lpfc/lpfc_init.c 	lpfc_init_link(phba, pmb, fc_topology, phba->cfg_link_speed);
phba              752 drivers/scsi/lpfc/lpfc_init.c 	if (phba->sli_rev < LPFC_SLI_REV4)
phba              753 drivers/scsi/lpfc/lpfc_init.c 		lpfc_set_loopback_flag(phba);
phba              754 drivers/scsi/lpfc/lpfc_init.c 	rc = lpfc_sli_issue_mbox(phba, pmb, flag);
phba              756 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba              760 drivers/scsi/lpfc/lpfc_init.c 		if (phba->sli_rev <= LPFC_SLI_REV3) {
phba              762 drivers/scsi/lpfc/lpfc_init.c 			writel(0, phba->HCregaddr);
phba              763 drivers/scsi/lpfc/lpfc_init.c 			readl(phba->HCregaddr); /* flush */
phba              765 drivers/scsi/lpfc/lpfc_init.c 			writel(0xffffffff, phba->HAregaddr);
phba              766 drivers/scsi/lpfc/lpfc_init.c 			readl(phba->HAregaddr); /* flush */
phba              768 drivers/scsi/lpfc/lpfc_init.c 		phba->link_state = LPFC_HBA_ERROR;
phba              770 drivers/scsi/lpfc/lpfc_init.c 			mempool_free(pmb, phba->mbox_mem_pool);
phba              773 drivers/scsi/lpfc/lpfc_init.c 	phba->cfg_suppress_link_up = LPFC_INITIALIZE_LINK;
phba              775 drivers/scsi/lpfc/lpfc_init.c 		mempool_free(pmb, phba->mbox_mem_pool);
phba              794 drivers/scsi/lpfc/lpfc_init.c lpfc_hba_down_link(struct lpfc_hba *phba, uint32_t flag)
phba              799 drivers/scsi/lpfc/lpfc_init.c 	pmb = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba              801 drivers/scsi/lpfc/lpfc_init.c 		phba->link_state = LPFC_HBA_ERROR;
phba              805 drivers/scsi/lpfc/lpfc_init.c 	lpfc_printf_log(phba,
phba              808 drivers/scsi/lpfc/lpfc_init.c 	lpfc_down_link(phba, pmb);
phba              810 drivers/scsi/lpfc/lpfc_init.c 	rc = lpfc_sli_issue_mbox(phba, pmb, flag);
phba              812 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba,
phba              817 drivers/scsi/lpfc/lpfc_init.c 		mempool_free(pmb, phba->mbox_mem_pool);
phba              821 drivers/scsi/lpfc/lpfc_init.c 		mempool_free(pmb, phba->mbox_mem_pool);
phba              838 drivers/scsi/lpfc/lpfc_init.c lpfc_hba_down_prep(struct lpfc_hba *phba)
phba              843 drivers/scsi/lpfc/lpfc_init.c 	if (phba->sli_rev <= LPFC_SLI_REV3) {
phba              845 drivers/scsi/lpfc/lpfc_init.c 		writel(0, phba->HCregaddr);
phba              846 drivers/scsi/lpfc/lpfc_init.c 		readl(phba->HCregaddr); /* flush */
phba              849 drivers/scsi/lpfc/lpfc_init.c 	if (phba->pport->load_flag & FC_UNLOADING)
phba              850 drivers/scsi/lpfc/lpfc_init.c 		lpfc_cleanup_discovery_resources(phba->pport);
phba              852 drivers/scsi/lpfc/lpfc_init.c 		vports = lpfc_create_vport_work_array(phba);
phba              854 drivers/scsi/lpfc/lpfc_init.c 			for (i = 0; i <= phba->max_vports &&
phba              857 drivers/scsi/lpfc/lpfc_init.c 		lpfc_destroy_vport_work_array(phba, vports);
phba              876 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_free_sp_events(struct lpfc_hba *phba)
phba              882 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_irq(&phba->hbalock);
phba              883 drivers/scsi/lpfc/lpfc_init.c 	phba->hba_flag &= ~HBA_SP_QUEUE_EVT;
phba              884 drivers/scsi/lpfc/lpfc_init.c 	spin_unlock_irq(&phba->hbalock);
phba              886 drivers/scsi/lpfc/lpfc_init.c 	while (!list_empty(&phba->sli4_hba.sp_queue_event)) {
phba              888 drivers/scsi/lpfc/lpfc_init.c 		spin_lock_irq(&phba->hbalock);
phba              889 drivers/scsi/lpfc/lpfc_init.c 		list_remove_head(&phba->sli4_hba.sp_queue_event,
phba              891 drivers/scsi/lpfc/lpfc_init.c 		spin_unlock_irq(&phba->hbalock);
phba              897 drivers/scsi/lpfc/lpfc_init.c 			lpfc_sli_release_iocbq(phba, rspiocbq);
phba              903 drivers/scsi/lpfc/lpfc_init.c 			lpfc_in_buf_free(phba, &dmabuf->dbuf);
phba              920 drivers/scsi/lpfc/lpfc_init.c lpfc_hba_free_post_buf(struct lpfc_hba *phba)
phba              922 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_sli *psli = &phba->sli;
phba              928 drivers/scsi/lpfc/lpfc_init.c 	if (phba->sli3_options & LPFC_SLI3_HBQ_ENABLED)
phba              929 drivers/scsi/lpfc/lpfc_init.c 		lpfc_sli_hbqbuf_free_all(phba);
phba              933 drivers/scsi/lpfc/lpfc_init.c 		spin_lock_irq(&phba->hbalock);
phba              935 drivers/scsi/lpfc/lpfc_init.c 		spin_unlock_irq(&phba->hbalock);
phba              941 drivers/scsi/lpfc/lpfc_init.c 			lpfc_mbuf_free(phba, mp->virt, mp->phys);
phba              945 drivers/scsi/lpfc/lpfc_init.c 		spin_lock_irq(&phba->hbalock);
phba              947 drivers/scsi/lpfc/lpfc_init.c 		spin_unlock_irq(&phba->hbalock);
phba              962 drivers/scsi/lpfc/lpfc_init.c lpfc_hba_clean_txcmplq(struct lpfc_hba *phba)
phba              964 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_sli *psli = &phba->sli;
phba              971 drivers/scsi/lpfc/lpfc_init.c 	if (phba->sli_rev != LPFC_SLI_REV4) {
phba              974 drivers/scsi/lpfc/lpfc_init.c 			spin_lock_irq(&phba->hbalock);
phba              981 drivers/scsi/lpfc/lpfc_init.c 			spin_unlock_irq(&phba->hbalock);
phba              983 drivers/scsi/lpfc/lpfc_init.c 			lpfc_sli_abort_iocb_ring(phba, pring);
phba              986 drivers/scsi/lpfc/lpfc_init.c 		lpfc_sli_cancel_iocbs(phba, &completions,
phba              990 drivers/scsi/lpfc/lpfc_init.c 	list_for_each_entry(qp, &phba->sli4_hba.lpfc_wq_list, wq_list) {
phba             1001 drivers/scsi/lpfc/lpfc_init.c 		lpfc_sli_abort_iocb_ring(phba, pring);
phba             1004 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli_cancel_iocbs(phba, &completions,
phba             1021 drivers/scsi/lpfc/lpfc_init.c lpfc_hba_down_post_s3(struct lpfc_hba *phba)
phba             1023 drivers/scsi/lpfc/lpfc_init.c 	lpfc_hba_free_post_buf(phba);
phba             1024 drivers/scsi/lpfc/lpfc_init.c 	lpfc_hba_clean_txcmplq(phba);
phba             1040 drivers/scsi/lpfc/lpfc_init.c lpfc_hba_down_post_s4(struct lpfc_hba *phba)
phba             1052 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli_hbqbuf_free_all(phba);
phba             1053 drivers/scsi/lpfc/lpfc_init.c 	lpfc_hba_clean_txcmplq(phba);
phba             1061 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_irq(&phba->hbalock);  /* required for lpfc_els_sgl_list and */
phba             1066 drivers/scsi/lpfc/lpfc_init.c 	spin_lock(&phba->sli4_hba.sgl_list_lock);
phba             1068 drivers/scsi/lpfc/lpfc_init.c 		&phba->sli4_hba.lpfc_abts_els_sgl_list, list)
phba             1071 drivers/scsi/lpfc/lpfc_init.c 	list_splice_init(&phba->sli4_hba.lpfc_abts_els_sgl_list,
phba             1072 drivers/scsi/lpfc/lpfc_init.c 			&phba->sli4_hba.lpfc_els_sgl_list);
phba             1075 drivers/scsi/lpfc/lpfc_init.c 	spin_unlock(&phba->sli4_hba.sgl_list_lock);
phba             1081 drivers/scsi/lpfc/lpfc_init.c 	for (idx = 0; idx < phba->cfg_hdw_queue; idx++) {
phba             1082 drivers/scsi/lpfc/lpfc_init.c 		qp = &phba->sli4_hba.hdwq[idx];
phba             1102 drivers/scsi/lpfc/lpfc_init.c 	spin_unlock_irq(&phba->hbalock);
phba             1104 drivers/scsi/lpfc/lpfc_init.c 	if (phba->cfg_enable_fc4_type & LPFC_ENABLE_NVME) {
phba             1105 drivers/scsi/lpfc/lpfc_init.c 		spin_lock_irq(&phba->sli4_hba.abts_nvmet_buf_list_lock);
phba             1106 drivers/scsi/lpfc/lpfc_init.c 		list_splice_init(&phba->sli4_hba.lpfc_abts_nvmet_ctx_list,
phba             1108 drivers/scsi/lpfc/lpfc_init.c 		spin_unlock_irq(&phba->sli4_hba.abts_nvmet_buf_list_lock);
phba             1111 drivers/scsi/lpfc/lpfc_init.c 			lpfc_nvmet_ctxbuf_post(phba, ctxp->ctxbuf);
phba             1115 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli4_free_sp_events(phba);
phba             1131 drivers/scsi/lpfc/lpfc_init.c lpfc_hba_down_post(struct lpfc_hba *phba)
phba             1133 drivers/scsi/lpfc/lpfc_init.c 	return (*phba->lpfc_hba_down_post)(phba);
phba             1151 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_hba *phba;
phba             1155 drivers/scsi/lpfc/lpfc_init.c 	phba = from_timer(phba, t, hb_tmofunc);
phba             1158 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_irqsave(&phba->pport->work_port_lock, iflag);
phba             1159 drivers/scsi/lpfc/lpfc_init.c 	tmo_posted = phba->pport->work_port_events & WORKER_HB_TMO;
phba             1161 drivers/scsi/lpfc/lpfc_init.c 		phba->pport->work_port_events |= WORKER_HB_TMO;
phba             1162 drivers/scsi/lpfc/lpfc_init.c 	spin_unlock_irqrestore(&phba->pport->work_port_lock, iflag);
phba             1166 drivers/scsi/lpfc/lpfc_init.c 		lpfc_worker_wake_up(phba);
phba             1185 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_hba *phba;
phba             1188 drivers/scsi/lpfc/lpfc_init.c 	phba = from_timer(phba, t, rrq_tmr);
phba             1189 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_irqsave(&phba->pport->work_port_lock, iflag);
phba             1190 drivers/scsi/lpfc/lpfc_init.c 	if (!(phba->pport->load_flag & FC_UNLOADING))
phba             1191 drivers/scsi/lpfc/lpfc_init.c 		phba->hba_flag |= HBA_RRQ_ACTIVE;
phba             1193 drivers/scsi/lpfc/lpfc_init.c 		phba->hba_flag &= ~HBA_RRQ_ACTIVE;
phba             1194 drivers/scsi/lpfc/lpfc_init.c 	spin_unlock_irqrestore(&phba->pport->work_port_lock, iflag);
phba             1196 drivers/scsi/lpfc/lpfc_init.c 	if (!(phba->pport->load_flag & FC_UNLOADING))
phba             1197 drivers/scsi/lpfc/lpfc_init.c 		lpfc_worker_wake_up(phba);
phba             1217 drivers/scsi/lpfc/lpfc_init.c lpfc_hb_mbox_cmpl(struct lpfc_hba * phba, LPFC_MBOXQ_t * pmboxq)
phba             1221 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_irqsave(&phba->hbalock, drvr_flag);
phba             1222 drivers/scsi/lpfc/lpfc_init.c 	phba->hb_outstanding = 0;
phba             1223 drivers/scsi/lpfc/lpfc_init.c 	spin_unlock_irqrestore(&phba->hbalock, drvr_flag);
phba             1226 drivers/scsi/lpfc/lpfc_init.c 	mempool_free(pmboxq, phba->mbox_mem_pool);
phba             1227 drivers/scsi/lpfc/lpfc_init.c 	if (!(phba->pport->fc_flag & FC_OFFLINE_MODE) &&
phba             1228 drivers/scsi/lpfc/lpfc_init.c 		!(phba->link_state == LPFC_HBA_ERROR) &&
phba             1229 drivers/scsi/lpfc/lpfc_init.c 		!(phba->pport->load_flag & FC_UNLOADING))
phba             1230 drivers/scsi/lpfc/lpfc_init.c 		mod_timer(&phba->hb_tmofunc,
phba             1239 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_hba *phba = container_of(to_delayed_work(work),
phba             1248 drivers/scsi/lpfc/lpfc_init.c 	if (!phba->cfg_auto_imax || phba->pport->load_flag & FC_UNLOADING)
phba             1251 drivers/scsi/lpfc/lpfc_init.c 	if (phba->link_state == LPFC_HBA_ERROR ||
phba             1252 drivers/scsi/lpfc/lpfc_init.c 	    phba->pport->fc_flag & FC_OFFLINE_MODE)
phba             1260 drivers/scsi/lpfc/lpfc_init.c 	if (phba->cfg_irq_chann > 1) {
phba             1262 drivers/scsi/lpfc/lpfc_init.c 		for (i = 0; i < phba->cfg_irq_chann; i++) {
phba             1264 drivers/scsi/lpfc/lpfc_init.c 			eq = phba->sli4_hba.hba_eq_hdl[i].eq;
phba             1278 drivers/scsi/lpfc/lpfc_init.c 		eqi = per_cpu_ptr(phba->sli4_hba.eq_info, i);
phba             1293 drivers/scsi/lpfc/lpfc_init.c 				eqi_new = per_cpu_ptr(phba->sli4_hba.eq_info,
phba             1299 drivers/scsi/lpfc/lpfc_init.c 				lpfc_modify_hba_eq_delay(phba, eq->hdwq, 1,
phba             1307 drivers/scsi/lpfc/lpfc_init.c 	queue_delayed_work(phba->wq, &phba->eq_delay_work,
phba             1318 drivers/scsi/lpfc/lpfc_init.c static void lpfc_hb_mxp_handler(struct lpfc_hba *phba)
phba             1323 drivers/scsi/lpfc/lpfc_init.c 	hwq_count = phba->cfg_hdw_queue;
phba             1326 drivers/scsi/lpfc/lpfc_init.c 		lpfc_adjust_pvt_pool_count(phba, i);
phba             1329 drivers/scsi/lpfc/lpfc_init.c 		lpfc_adjust_high_watermark(phba, i);
phba             1333 drivers/scsi/lpfc/lpfc_init.c 		lpfc_snapshot_mxp(phba, i);
phba             1355 drivers/scsi/lpfc/lpfc_init.c lpfc_hb_timeout_handler(struct lpfc_hba *phba)
phba             1361 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_sli *psli = &phba->sli;
phba             1364 drivers/scsi/lpfc/lpfc_init.c 	if (phba->cfg_xri_rebalancing) {
phba             1366 drivers/scsi/lpfc/lpfc_init.c 		lpfc_hb_mxp_handler(phba);
phba             1369 drivers/scsi/lpfc/lpfc_init.c 	vports = lpfc_create_vport_work_array(phba);
phba             1371 drivers/scsi/lpfc/lpfc_init.c 		for (i = 0; i <= phba->max_vports && vports[i] != NULL; i++) {
phba             1375 drivers/scsi/lpfc/lpfc_init.c 	lpfc_destroy_vport_work_array(phba, vports);
phba             1377 drivers/scsi/lpfc/lpfc_init.c 	if ((phba->link_state == LPFC_HBA_ERROR) ||
phba             1378 drivers/scsi/lpfc/lpfc_init.c 		(phba->pport->load_flag & FC_UNLOADING) ||
phba             1379 drivers/scsi/lpfc/lpfc_init.c 		(phba->pport->fc_flag & FC_OFFLINE_MODE))
phba             1382 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_irq(&phba->pport->work_port_lock);
phba             1384 drivers/scsi/lpfc/lpfc_init.c 	if (time_after(phba->last_completion_time +
phba             1387 drivers/scsi/lpfc/lpfc_init.c 		spin_unlock_irq(&phba->pport->work_port_lock);
phba             1388 drivers/scsi/lpfc/lpfc_init.c 		if (!phba->hb_outstanding)
phba             1389 drivers/scsi/lpfc/lpfc_init.c 			mod_timer(&phba->hb_tmofunc,
phba             1393 drivers/scsi/lpfc/lpfc_init.c 			mod_timer(&phba->hb_tmofunc,
phba             1398 drivers/scsi/lpfc/lpfc_init.c 	spin_unlock_irq(&phba->pport->work_port_lock);
phba             1400 drivers/scsi/lpfc/lpfc_init.c 	if (phba->elsbuf_cnt &&
phba             1401 drivers/scsi/lpfc/lpfc_init.c 		(phba->elsbuf_cnt == phba->elsbuf_prev_cnt)) {
phba             1402 drivers/scsi/lpfc/lpfc_init.c 		spin_lock_irq(&phba->hbalock);
phba             1403 drivers/scsi/lpfc/lpfc_init.c 		list_splice_init(&phba->elsbuf, &completions);
phba             1404 drivers/scsi/lpfc/lpfc_init.c 		phba->elsbuf_cnt = 0;
phba             1405 drivers/scsi/lpfc/lpfc_init.c 		phba->elsbuf_prev_cnt = 0;
phba             1406 drivers/scsi/lpfc/lpfc_init.c 		spin_unlock_irq(&phba->hbalock);
phba             1411 drivers/scsi/lpfc/lpfc_init.c 			lpfc_mbuf_free(phba, buf_ptr->virt, buf_ptr->phys);
phba             1415 drivers/scsi/lpfc/lpfc_init.c 	phba->elsbuf_prev_cnt = phba->elsbuf_cnt;
phba             1418 drivers/scsi/lpfc/lpfc_init.c 	if (phba->cfg_enable_hba_heartbeat) {
phba             1419 drivers/scsi/lpfc/lpfc_init.c 		if (!phba->hb_outstanding) {
phba             1422 drivers/scsi/lpfc/lpfc_init.c 				pmboxq = mempool_alloc(phba->mbox_mem_pool,
phba             1425 drivers/scsi/lpfc/lpfc_init.c 					mod_timer(&phba->hb_tmofunc,
phba             1432 drivers/scsi/lpfc/lpfc_init.c 				lpfc_heart_beat(phba, pmboxq);
phba             1434 drivers/scsi/lpfc/lpfc_init.c 				pmboxq->vport = phba->pport;
phba             1435 drivers/scsi/lpfc/lpfc_init.c 				retval = lpfc_sli_issue_mbox(phba, pmboxq,
phba             1441 drivers/scsi/lpfc/lpfc_init.c 							phba->mbox_mem_pool);
phba             1442 drivers/scsi/lpfc/lpfc_init.c 					mod_timer(&phba->hb_tmofunc,
phba             1448 drivers/scsi/lpfc/lpfc_init.c 				phba->skipped_hb = 0;
phba             1449 drivers/scsi/lpfc/lpfc_init.c 				phba->hb_outstanding = 1;
phba             1450 drivers/scsi/lpfc/lpfc_init.c 			} else if (time_before_eq(phba->last_completion_time,
phba             1451 drivers/scsi/lpfc/lpfc_init.c 					phba->skipped_hb)) {
phba             1452 drivers/scsi/lpfc/lpfc_init.c 				lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             1456 drivers/scsi/lpfc/lpfc_init.c 						 - phba->last_completion_time));
phba             1458 drivers/scsi/lpfc/lpfc_init.c 				phba->skipped_hb = jiffies;
phba             1460 drivers/scsi/lpfc/lpfc_init.c 			mod_timer(&phba->hb_tmofunc,
phba             1470 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_WARNING, LOG_INIT,
phba             1474 drivers/scsi/lpfc/lpfc_init.c 						 - phba->last_completion_time));
phba             1475 drivers/scsi/lpfc/lpfc_init.c 			mod_timer(&phba->hb_tmofunc,
phba             1480 drivers/scsi/lpfc/lpfc_init.c 			mod_timer(&phba->hb_tmofunc,
phba             1494 drivers/scsi/lpfc/lpfc_init.c lpfc_offline_eratt(struct lpfc_hba *phba)
phba             1496 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_sli   *psli = &phba->sli;
phba             1498 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_irq(&phba->hbalock);
phba             1500 drivers/scsi/lpfc/lpfc_init.c 	spin_unlock_irq(&phba->hbalock);
phba             1501 drivers/scsi/lpfc/lpfc_init.c 	lpfc_offline_prep(phba, LPFC_MBX_NO_WAIT);
phba             1503 drivers/scsi/lpfc/lpfc_init.c 	lpfc_offline(phba);
phba             1504 drivers/scsi/lpfc/lpfc_init.c 	lpfc_reset_barrier(phba);
phba             1505 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_irq(&phba->hbalock);
phba             1506 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli_brdreset(phba);
phba             1507 drivers/scsi/lpfc/lpfc_init.c 	spin_unlock_irq(&phba->hbalock);
phba             1508 drivers/scsi/lpfc/lpfc_init.c 	lpfc_hba_down_post(phba);
phba             1509 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli_brdready(phba, HS_MBRDY);
phba             1510 drivers/scsi/lpfc/lpfc_init.c 	lpfc_unblock_mgmt_io(phba);
phba             1511 drivers/scsi/lpfc/lpfc_init.c 	phba->link_state = LPFC_HBA_ERROR;
phba             1523 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_offline_eratt(struct lpfc_hba *phba)
phba             1525 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_irq(&phba->hbalock);
phba             1526 drivers/scsi/lpfc/lpfc_init.c 	phba->link_state = LPFC_HBA_ERROR;
phba             1527 drivers/scsi/lpfc/lpfc_init.c 	spin_unlock_irq(&phba->hbalock);
phba             1529 drivers/scsi/lpfc/lpfc_init.c 	lpfc_offline_prep(phba, LPFC_MBX_NO_WAIT);
phba             1530 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli_flush_io_rings(phba);
phba             1531 drivers/scsi/lpfc/lpfc_init.c 	lpfc_offline(phba);
phba             1532 drivers/scsi/lpfc/lpfc_init.c 	lpfc_hba_down_post(phba);
phba             1533 drivers/scsi/lpfc/lpfc_init.c 	lpfc_unblock_mgmt_io(phba);
phba             1546 drivers/scsi/lpfc/lpfc_init.c lpfc_handle_deferred_eratt(struct lpfc_hba *phba)
phba             1548 drivers/scsi/lpfc/lpfc_init.c 	uint32_t old_host_status = phba->work_hs;
phba             1549 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_sli *psli = &phba->sli;
phba             1554 drivers/scsi/lpfc/lpfc_init.c 	if (pci_channel_offline(phba->pcidev)) {
phba             1555 drivers/scsi/lpfc/lpfc_init.c 		spin_lock_irq(&phba->hbalock);
phba             1556 drivers/scsi/lpfc/lpfc_init.c 		phba->hba_flag &= ~DEFER_ERATT;
phba             1557 drivers/scsi/lpfc/lpfc_init.c 		spin_unlock_irq(&phba->hbalock);
phba             1561 drivers/scsi/lpfc/lpfc_init.c 	lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             1564 drivers/scsi/lpfc/lpfc_init.c 		phba->work_hs,
phba             1565 drivers/scsi/lpfc/lpfc_init.c 		phba->work_status[0], phba->work_status[1]);
phba             1567 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_irq(&phba->hbalock);
phba             1569 drivers/scsi/lpfc/lpfc_init.c 	spin_unlock_irq(&phba->hbalock);
phba             1577 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli_abort_fcp_rings(phba);
phba             1583 drivers/scsi/lpfc/lpfc_init.c 	lpfc_offline_prep(phba, LPFC_MBX_WAIT);
phba             1584 drivers/scsi/lpfc/lpfc_init.c 	lpfc_offline(phba);
phba             1587 drivers/scsi/lpfc/lpfc_init.c 	while (phba->work_hs & HS_FFER1) {
phba             1589 drivers/scsi/lpfc/lpfc_init.c 		if (lpfc_readl(phba->HSregaddr, &phba->work_hs)) {
phba             1590 drivers/scsi/lpfc/lpfc_init.c 			phba->work_hs = UNPLUG_ERR ;
phba             1594 drivers/scsi/lpfc/lpfc_init.c 		if (phba->pport->load_flag & FC_UNLOADING) {
phba             1595 drivers/scsi/lpfc/lpfc_init.c 			phba->work_hs = 0;
phba             1605 drivers/scsi/lpfc/lpfc_init.c 	if ((!phba->work_hs) && (!(phba->pport->load_flag & FC_UNLOADING)))
phba             1606 drivers/scsi/lpfc/lpfc_init.c 		phba->work_hs = old_host_status & ~HS_FFER1;
phba             1608 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_irq(&phba->hbalock);
phba             1609 drivers/scsi/lpfc/lpfc_init.c 	phba->hba_flag &= ~DEFER_ERATT;
phba             1610 drivers/scsi/lpfc/lpfc_init.c 	spin_unlock_irq(&phba->hbalock);
phba             1611 drivers/scsi/lpfc/lpfc_init.c 	phba->work_status[0] = readl(phba->MBslimaddr + 0xa8);
phba             1612 drivers/scsi/lpfc/lpfc_init.c 	phba->work_status[1] = readl(phba->MBslimaddr + 0xac);
phba             1616 drivers/scsi/lpfc/lpfc_init.c lpfc_board_errevt_to_mgmt(struct lpfc_hba *phba)
phba             1623 drivers/scsi/lpfc/lpfc_init.c 	shost = lpfc_shost_from_vport(phba->pport);
phba             1641 drivers/scsi/lpfc/lpfc_init.c lpfc_handle_eratt_s3(struct lpfc_hba *phba)
phba             1643 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_vport *vport = phba->pport;
phba             1644 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_sli   *psli = &phba->sli;
phba             1653 drivers/scsi/lpfc/lpfc_init.c 	if (pci_channel_offline(phba->pcidev)) {
phba             1654 drivers/scsi/lpfc/lpfc_init.c 		spin_lock_irq(&phba->hbalock);
phba             1655 drivers/scsi/lpfc/lpfc_init.c 		phba->hba_flag &= ~DEFER_ERATT;
phba             1656 drivers/scsi/lpfc/lpfc_init.c 		spin_unlock_irq(&phba->hbalock);
phba             1661 drivers/scsi/lpfc/lpfc_init.c 	if (!phba->cfg_enable_hba_reset)
phba             1665 drivers/scsi/lpfc/lpfc_init.c 	lpfc_board_errevt_to_mgmt(phba);
phba             1667 drivers/scsi/lpfc/lpfc_init.c 	if (phba->hba_flag & DEFER_ERATT)
phba             1668 drivers/scsi/lpfc/lpfc_init.c 		lpfc_handle_deferred_eratt(phba);
phba             1670 drivers/scsi/lpfc/lpfc_init.c 	if ((phba->work_hs & HS_FFER6) || (phba->work_hs & HS_FFER8)) {
phba             1671 drivers/scsi/lpfc/lpfc_init.c 		if (phba->work_hs & HS_FFER6)
phba             1673 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_INFO, LOG_LINK_EVENT,
phba             1676 drivers/scsi/lpfc/lpfc_init.c 					phba->work_hs, phba->work_status[0],
phba             1677 drivers/scsi/lpfc/lpfc_init.c 					phba->work_status[1]);
phba             1678 drivers/scsi/lpfc/lpfc_init.c 		if (phba->work_hs & HS_FFER8)
phba             1680 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_INFO, LOG_LINK_EVENT,
phba             1683 drivers/scsi/lpfc/lpfc_init.c 					phba->work_hs, phba->work_status[0],
phba             1684 drivers/scsi/lpfc/lpfc_init.c 					phba->work_status[1]);
phba             1686 drivers/scsi/lpfc/lpfc_init.c 		spin_lock_irq(&phba->hbalock);
phba             1688 drivers/scsi/lpfc/lpfc_init.c 		spin_unlock_irq(&phba->hbalock);
phba             1696 drivers/scsi/lpfc/lpfc_init.c 		lpfc_sli_abort_fcp_rings(phba);
phba             1702 drivers/scsi/lpfc/lpfc_init.c 		lpfc_offline_prep(phba, LPFC_MBX_NO_WAIT);
phba             1703 drivers/scsi/lpfc/lpfc_init.c 		lpfc_offline(phba);
phba             1704 drivers/scsi/lpfc/lpfc_init.c 		lpfc_sli_brdrestart(phba);
phba             1705 drivers/scsi/lpfc/lpfc_init.c 		if (lpfc_online(phba) == 0) {	/* Initialize the HBA */
phba             1706 drivers/scsi/lpfc/lpfc_init.c 			lpfc_unblock_mgmt_io(phba);
phba             1709 drivers/scsi/lpfc/lpfc_init.c 		lpfc_unblock_mgmt_io(phba);
phba             1710 drivers/scsi/lpfc/lpfc_init.c 	} else if (phba->work_hs & HS_CRIT_TEMP) {
phba             1711 drivers/scsi/lpfc/lpfc_init.c 		temperature = readl(phba->MBslimaddr + TEMPERATURE_OFFSET);
phba             1716 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             1720 drivers/scsi/lpfc/lpfc_init.c 				temperature, phba->work_hs,
phba             1721 drivers/scsi/lpfc/lpfc_init.c 				phba->work_status[0], phba->work_status[1]);
phba             1723 drivers/scsi/lpfc/lpfc_init.c 		shost = lpfc_shost_from_vport(phba->pport);
phba             1730 drivers/scsi/lpfc/lpfc_init.c 		spin_lock_irq(&phba->hbalock);
phba             1731 drivers/scsi/lpfc/lpfc_init.c 		phba->over_temp_state = HBA_OVER_TEMP;
phba             1732 drivers/scsi/lpfc/lpfc_init.c 		spin_unlock_irq(&phba->hbalock);
phba             1733 drivers/scsi/lpfc/lpfc_init.c 		lpfc_offline_eratt(phba);
phba             1740 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             1743 drivers/scsi/lpfc/lpfc_init.c 				phba->work_hs,
phba             1744 drivers/scsi/lpfc/lpfc_init.c 				phba->work_status[0], phba->work_status[1]);
phba             1752 drivers/scsi/lpfc/lpfc_init.c 		lpfc_offline_eratt(phba);
phba             1769 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_port_sta_fn_reset(struct lpfc_hba *phba, int mbx_action,
phba             1775 drivers/scsi/lpfc/lpfc_init.c 	if (bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) >=
phba             1781 drivers/scsi/lpfc/lpfc_init.c 		rc = lpfc_sli4_pdev_status_reg_wait(phba);
phba             1788 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             1791 drivers/scsi/lpfc/lpfc_init.c 	lpfc_offline_prep(phba, mbx_action);
phba             1792 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli_flush_io_rings(phba);
phba             1793 drivers/scsi/lpfc/lpfc_init.c 	lpfc_offline(phba);
phba             1795 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli4_disable_intr(phba);
phba             1796 drivers/scsi/lpfc/lpfc_init.c 	rc = lpfc_sli_brdrestart(phba);
phba             1798 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             1803 drivers/scsi/lpfc/lpfc_init.c 	intr_mode = lpfc_sli4_enable_intr(phba, phba->intr_mode);
phba             1805 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             1809 drivers/scsi/lpfc/lpfc_init.c 	phba->intr_mode = intr_mode;
phba             1810 drivers/scsi/lpfc/lpfc_init.c 	rc = lpfc_online(phba);
phba             1812 drivers/scsi/lpfc/lpfc_init.c 		lpfc_unblock_mgmt_io(phba);
phba             1825 drivers/scsi/lpfc/lpfc_init.c lpfc_handle_eratt_s4(struct lpfc_hba *phba)
phba             1827 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_vport *vport = phba->pport;
phba             1843 drivers/scsi/lpfc/lpfc_init.c 	if (pci_channel_offline(phba->pcidev)) {
phba             1844 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             1846 drivers/scsi/lpfc/lpfc_init.c 		lpfc_sli4_offline_eratt(phba);
phba             1851 drivers/scsi/lpfc/lpfc_init.c 	if_type = bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf);
phba             1855 drivers/scsi/lpfc/lpfc_init.c 				phba->sli4_hba.u.if_type0.UERRLOregaddr,
phba             1858 drivers/scsi/lpfc/lpfc_init.c 				phba->sli4_hba.u.if_type0.UEMASKLOregaddr,
phba             1863 drivers/scsi/lpfc/lpfc_init.c 		if (!(phba->hba_flag & HBA_RECOVERABLE_UE)) {
phba             1864 drivers/scsi/lpfc/lpfc_init.c 			lpfc_sli4_offline_eratt(phba);
phba             1867 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             1870 drivers/scsi/lpfc/lpfc_init.c 		for (i = 0; i < phba->sli4_hba.ue_to_sr / 1000; i++) {
phba             1871 drivers/scsi/lpfc/lpfc_init.c 			if (lpfc_readl(phba->sli4_hba.PSMPHRregaddr,
phba             1884 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             1893 drivers/scsi/lpfc/lpfc_init.c 				if (!lpfc_readl(phba->sli4_hba.PSMPHRregaddr,
phba             1898 drivers/scsi/lpfc/lpfc_init.c 					rc = lpfc_sli4_port_sta_fn_reset(phba,
phba             1902 drivers/scsi/lpfc/lpfc_init.c 					lpfc_printf_log(phba,
phba             1909 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             1912 drivers/scsi/lpfc/lpfc_init.c 		phba->link_state = LPFC_HBA_ERROR;
phba             1918 drivers/scsi/lpfc/lpfc_init.c 				phba->sli4_hba.u.if_type2.STATUSregaddr,
phba             1922 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             1924 drivers/scsi/lpfc/lpfc_init.c 				readl(phba->sli4_hba.u.if_type2.STATUSregaddr));
phba             1925 drivers/scsi/lpfc/lpfc_init.c 			lpfc_sli4_offline_eratt(phba);
phba             1928 drivers/scsi/lpfc/lpfc_init.c 		reg_err1 = readl(phba->sli4_hba.u.if_type2.ERR1regaddr);
phba             1929 drivers/scsi/lpfc/lpfc_init.c 		reg_err2 = readl(phba->sli4_hba.u.if_type2.ERR2regaddr);
phba             1931 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             1936 drivers/scsi/lpfc/lpfc_init.c 			phba->sfp_alarm |= LPFC_TRANSGRESSION_HIGH_TEMPERATURE;
phba             1941 drivers/scsi/lpfc/lpfc_init.c 			shost = lpfc_shost_from_vport(phba->pport);
phba             1948 drivers/scsi/lpfc/lpfc_init.c 			spin_lock_irq(&phba->hbalock);
phba             1949 drivers/scsi/lpfc/lpfc_init.c 			phba->over_temp_state = HBA_OVER_TEMP;
phba             1950 drivers/scsi/lpfc/lpfc_init.c 			spin_unlock_irq(&phba->hbalock);
phba             1951 drivers/scsi/lpfc/lpfc_init.c 			lpfc_sli4_offline_eratt(phba);
phba             1956 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             1962 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             1966 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             1970 drivers/scsi/lpfc/lpfc_init.c 		if (!phba->cfg_enable_hba_reset)
phba             1974 drivers/scsi/lpfc/lpfc_init.c 		rc = lpfc_sli4_port_sta_fn_reset(phba, LPFC_MBX_NO_WAIT,
phba             1985 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             1987 drivers/scsi/lpfc/lpfc_init.c 		phba->link_state = LPFC_HBA_ERROR;
phba             1993 drivers/scsi/lpfc/lpfc_init.c 	lpfc_printf_log(phba, KERN_WARNING, LOG_INIT,
phba             1996 drivers/scsi/lpfc/lpfc_init.c 	lpfc_board_errevt_to_mgmt(phba);
phba             2017 drivers/scsi/lpfc/lpfc_init.c lpfc_handle_eratt(struct lpfc_hba *phba)
phba             2019 drivers/scsi/lpfc/lpfc_init.c 	(*phba->lpfc_handle_eratt)(phba);
phba             2030 drivers/scsi/lpfc/lpfc_init.c lpfc_handle_latt(struct lpfc_hba *phba)
phba             2032 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_vport *vport = phba->pport;
phba             2033 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_sli   *psli = &phba->sli;
phba             2039 drivers/scsi/lpfc/lpfc_init.c 	pmb = (LPFC_MBOXQ_t *)mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             2051 drivers/scsi/lpfc/lpfc_init.c 	mp->virt = lpfc_mbuf_alloc(phba, 0, &mp->phys);
phba             2058 drivers/scsi/lpfc/lpfc_init.c 	lpfc_els_flush_all_cmd(phba);
phba             2061 drivers/scsi/lpfc/lpfc_init.c 	lpfc_read_topology(phba, pmb, mp);
phba             2065 drivers/scsi/lpfc/lpfc_init.c 	phba->sli.sli3_ring[LPFC_ELS_RING].flag |= LPFC_STOP_IOCB_EVENT;
phba             2066 drivers/scsi/lpfc/lpfc_init.c 	rc = lpfc_sli_issue_mbox (phba, pmb, MBX_NOWAIT);
phba             2073 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_irq(&phba->hbalock);
phba             2074 drivers/scsi/lpfc/lpfc_init.c 	writel(HA_LATT, phba->HAregaddr);
phba             2075 drivers/scsi/lpfc/lpfc_init.c 	readl(phba->HAregaddr); /* flush */
phba             2076 drivers/scsi/lpfc/lpfc_init.c 	spin_unlock_irq(&phba->hbalock);
phba             2081 drivers/scsi/lpfc/lpfc_init.c 	phba->sli.sli3_ring[LPFC_ELS_RING].flag &= ~LPFC_STOP_IOCB_EVENT;
phba             2082 drivers/scsi/lpfc/lpfc_init.c 	lpfc_mbuf_free(phba, mp->virt, mp->phys);
phba             2086 drivers/scsi/lpfc/lpfc_init.c 	mempool_free(pmb, phba->mbox_mem_pool);
phba             2089 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_irq(&phba->hbalock);
phba             2091 drivers/scsi/lpfc/lpfc_init.c 	control = readl(phba->HCregaddr);
phba             2093 drivers/scsi/lpfc/lpfc_init.c 	writel(control, phba->HCregaddr);
phba             2094 drivers/scsi/lpfc/lpfc_init.c 	readl(phba->HCregaddr); /* flush */
phba             2097 drivers/scsi/lpfc/lpfc_init.c 	writel(HA_LATT, phba->HAregaddr);
phba             2098 drivers/scsi/lpfc/lpfc_init.c 	readl(phba->HAregaddr); /* flush */
phba             2099 drivers/scsi/lpfc/lpfc_init.c 	spin_unlock_irq(&phba->hbalock);
phba             2100 drivers/scsi/lpfc/lpfc_init.c 	lpfc_linkdown(phba);
phba             2101 drivers/scsi/lpfc/lpfc_init.c 	phba->link_state = LPFC_HBA_ERROR;
phba             2103 drivers/scsi/lpfc/lpfc_init.c 	lpfc_printf_log(phba, KERN_ERR, LOG_MBOX,
phba             2124 drivers/scsi/lpfc/lpfc_init.c lpfc_parse_vpd(struct lpfc_hba *phba, uint8_t *vpd, int len)
phba             2136 drivers/scsi/lpfc/lpfc_init.c 	lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             2170 drivers/scsi/lpfc/lpfc_init.c 					phba->SerialNumber[j++] = vpd[index++];
phba             2174 drivers/scsi/lpfc/lpfc_init.c 				phba->SerialNumber[j] = 0;
phba             2178 drivers/scsi/lpfc/lpfc_init.c 				phba->vpd_flag |= VPD_MODEL_DESC;
phba             2185 drivers/scsi/lpfc/lpfc_init.c 					phba->ModelDesc[j++] = vpd[index++];
phba             2189 drivers/scsi/lpfc/lpfc_init.c 				phba->ModelDesc[j] = 0;
phba             2193 drivers/scsi/lpfc/lpfc_init.c 				phba->vpd_flag |= VPD_MODEL_NAME;
phba             2200 drivers/scsi/lpfc/lpfc_init.c 					phba->ModelName[j++] = vpd[index++];
phba             2204 drivers/scsi/lpfc/lpfc_init.c 				phba->ModelName[j] = 0;
phba             2208 drivers/scsi/lpfc/lpfc_init.c 				phba->vpd_flag |= VPD_PROGRAM_TYPE;
phba             2215 drivers/scsi/lpfc/lpfc_init.c 					phba->ProgramType[j++] = vpd[index++];
phba             2219 drivers/scsi/lpfc/lpfc_init.c 				phba->ProgramType[j] = 0;
phba             2223 drivers/scsi/lpfc/lpfc_init.c 				phba->vpd_flag |= VPD_PORT;
phba             2230 drivers/scsi/lpfc/lpfc_init.c 					if ((phba->sli_rev == LPFC_SLI_REV4) &&
phba             2231 drivers/scsi/lpfc/lpfc_init.c 					    (phba->sli4_hba.pport_name_sta ==
phba             2236 drivers/scsi/lpfc/lpfc_init.c 						phba->Port[j++] = vpd[index++];
phba             2240 drivers/scsi/lpfc/lpfc_init.c 				if ((phba->sli_rev != LPFC_SLI_REV4) ||
phba             2241 drivers/scsi/lpfc/lpfc_init.c 				    (phba->sli4_hba.pport_name_sta ==
phba             2243 drivers/scsi/lpfc/lpfc_init.c 					phba->Port[j] = 0;
phba             2281 drivers/scsi/lpfc/lpfc_init.c lpfc_get_hba_model_desc(struct lpfc_hba *phba, uint8_t *mdp, uint8_t *descp)
phba             2284 drivers/scsi/lpfc/lpfc_init.c 	uint16_t dev_id = phba->pcidev->device;
phba             2298 drivers/scsi/lpfc/lpfc_init.c 	if (phba->lmt & LMT_64Gb)
phba             2300 drivers/scsi/lpfc/lpfc_init.c 	else if (phba->lmt & LMT_32Gb)
phba             2302 drivers/scsi/lpfc/lpfc_init.c 	else if (phba->lmt & LMT_16Gb)
phba             2304 drivers/scsi/lpfc/lpfc_init.c 	else if (phba->lmt & LMT_10Gb)
phba             2306 drivers/scsi/lpfc/lpfc_init.c 	else if (phba->lmt & LMT_8Gb)
phba             2308 drivers/scsi/lpfc/lpfc_init.c 	else if (phba->lmt & LMT_4Gb)
phba             2310 drivers/scsi/lpfc/lpfc_init.c 	else if (phba->lmt & LMT_2Gb)
phba             2312 drivers/scsi/lpfc/lpfc_init.c 	else if (phba->lmt & LMT_1Gb)
phba             2317 drivers/scsi/lpfc/lpfc_init.c 	vp = &phba->vpd;
phba             2523 drivers/scsi/lpfc/lpfc_init.c 				phba->Port);
phba             2549 drivers/scsi/lpfc/lpfc_init.c lpfc_post_buffer(struct lpfc_hba *phba, struct lpfc_sli_ring *pring, int cnt)
phba             2560 drivers/scsi/lpfc/lpfc_init.c 		iocb = lpfc_sli_get_iocbq(phba);
phba             2571 drivers/scsi/lpfc/lpfc_init.c 		    mp1->virt = lpfc_mbuf_alloc(phba, MEM_PRI, &mp1->phys);
phba             2574 drivers/scsi/lpfc/lpfc_init.c 			lpfc_sli_release_iocbq(phba, iocb);
phba             2584 drivers/scsi/lpfc/lpfc_init.c 				mp2->virt = lpfc_mbuf_alloc(phba, MEM_PRI,
phba             2588 drivers/scsi/lpfc/lpfc_init.c 				lpfc_mbuf_free(phba, mp1->virt, mp1->phys);
phba             2590 drivers/scsi/lpfc/lpfc_init.c 				lpfc_sli_release_iocbq(phba, iocb);
phba             2616 drivers/scsi/lpfc/lpfc_init.c 		if (lpfc_sli_issue_iocb(phba, pring->ringno, iocb, 0) ==
phba             2618 drivers/scsi/lpfc/lpfc_init.c 			lpfc_mbuf_free(phba, mp1->virt, mp1->phys);
phba             2622 drivers/scsi/lpfc/lpfc_init.c 				lpfc_mbuf_free(phba, mp2->virt, mp2->phys);
phba             2626 drivers/scsi/lpfc/lpfc_init.c 			lpfc_sli_release_iocbq(phba, iocb);
phba             2630 drivers/scsi/lpfc/lpfc_init.c 		lpfc_sli_ringpostbuf_put(phba, pring, mp1);
phba             2632 drivers/scsi/lpfc/lpfc_init.c 			lpfc_sli_ringpostbuf_put(phba, pring, mp2);
phba             2650 drivers/scsi/lpfc/lpfc_init.c lpfc_post_rcv_buf(struct lpfc_hba *phba)
phba             2652 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_sli *psli = &phba->sli;
phba             2655 drivers/scsi/lpfc/lpfc_init.c 	lpfc_post_buffer(phba, &psli->sli3_ring[LPFC_ELS_RING], LPFC_BUF_RING0);
phba             2761 drivers/scsi/lpfc/lpfc_init.c lpfc_hba_init(struct lpfc_hba *phba, uint32_t *hbainit)
phba             2765 drivers/scsi/lpfc/lpfc_init.c 	uint32_t *pwwnn = (uint32_t *) phba->wwnn;
phba             2775 drivers/scsi/lpfc/lpfc_init.c 		lpfc_challenge_key(phba->RandomData + t, HashWorking + t);
phba             2794 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_hba   *phba = vport->phba;
phba             2798 drivers/scsi/lpfc/lpfc_init.c 	if (phba->link_state > LPFC_LINK_DOWN)
phba             2807 drivers/scsi/lpfc/lpfc_init.c 			spin_lock_irq(&phba->ndlp_lock);
phba             2809 drivers/scsi/lpfc/lpfc_init.c 			spin_unlock_irq(&phba->ndlp_lock);
phba             2814 drivers/scsi/lpfc/lpfc_init.c 		spin_lock_irq(&phba->ndlp_lock);
phba             2817 drivers/scsi/lpfc/lpfc_init.c 			spin_unlock_irq(&phba->ndlp_lock);
phba             2822 drivers/scsi/lpfc/lpfc_init.c 		spin_unlock_irq(&phba->ndlp_lock);
phba             2899 drivers/scsi/lpfc/lpfc_init.c __lpfc_sli4_stop_fcf_redisc_wait_timer(struct lpfc_hba *phba)
phba             2902 drivers/scsi/lpfc/lpfc_init.c 	phba->fcf.fcf_flag &= ~FCF_REDISC_PEND;
phba             2905 drivers/scsi/lpfc/lpfc_init.c 	del_timer(&phba->fcf.redisc_wait);
phba             2918 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_stop_fcf_redisc_wait_timer(struct lpfc_hba *phba)
phba             2920 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_irq(&phba->hbalock);
phba             2921 drivers/scsi/lpfc/lpfc_init.c 	if (!(phba->fcf.fcf_flag & FCF_REDISC_PEND)) {
phba             2923 drivers/scsi/lpfc/lpfc_init.c 		spin_unlock_irq(&phba->hbalock);
phba             2926 drivers/scsi/lpfc/lpfc_init.c 	__lpfc_sli4_stop_fcf_redisc_wait_timer(phba);
phba             2928 drivers/scsi/lpfc/lpfc_init.c 	phba->fcf.fcf_flag &= ~(FCF_DEAD_DISC | FCF_ACVL_DISC);
phba             2929 drivers/scsi/lpfc/lpfc_init.c 	spin_unlock_irq(&phba->hbalock);
phba             2940 drivers/scsi/lpfc/lpfc_init.c lpfc_stop_hba_timers(struct lpfc_hba *phba)
phba             2942 drivers/scsi/lpfc/lpfc_init.c 	if (phba->pport)
phba             2943 drivers/scsi/lpfc/lpfc_init.c 		lpfc_stop_vport_timers(phba->pport);
phba             2944 drivers/scsi/lpfc/lpfc_init.c 	cancel_delayed_work_sync(&phba->eq_delay_work);
phba             2945 drivers/scsi/lpfc/lpfc_init.c 	del_timer_sync(&phba->sli.mbox_tmo);
phba             2946 drivers/scsi/lpfc/lpfc_init.c 	del_timer_sync(&phba->fabric_block_timer);
phba             2947 drivers/scsi/lpfc/lpfc_init.c 	del_timer_sync(&phba->eratt_poll);
phba             2948 drivers/scsi/lpfc/lpfc_init.c 	del_timer_sync(&phba->hb_tmofunc);
phba             2949 drivers/scsi/lpfc/lpfc_init.c 	if (phba->sli_rev == LPFC_SLI_REV4) {
phba             2950 drivers/scsi/lpfc/lpfc_init.c 		del_timer_sync(&phba->rrq_tmr);
phba             2951 drivers/scsi/lpfc/lpfc_init.c 		phba->hba_flag &= ~HBA_RRQ_ACTIVE;
phba             2953 drivers/scsi/lpfc/lpfc_init.c 	phba->hb_outstanding = 0;
phba             2955 drivers/scsi/lpfc/lpfc_init.c 	switch (phba->pci_dev_grp) {
phba             2958 drivers/scsi/lpfc/lpfc_init.c 		del_timer_sync(&phba->fcp_poll_timer);
phba             2962 drivers/scsi/lpfc/lpfc_init.c 		lpfc_sli4_stop_fcf_redisc_wait_timer(phba);
phba             2965 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             2967 drivers/scsi/lpfc/lpfc_init.c 				phba->pci_dev_grp);
phba             2984 drivers/scsi/lpfc/lpfc_init.c lpfc_block_mgmt_io(struct lpfc_hba *phba, int mbx_action)
phba             2990 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_irqsave(&phba->hbalock, iflag);
phba             2991 drivers/scsi/lpfc/lpfc_init.c 	phba->sli.sli_flag |= LPFC_BLOCK_MGMT_IO;
phba             2992 drivers/scsi/lpfc/lpfc_init.c 	spin_unlock_irqrestore(&phba->hbalock, iflag);
phba             2996 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_irqsave(&phba->hbalock, iflag);
phba             2997 drivers/scsi/lpfc/lpfc_init.c 	if (phba->sli.mbox_active) {
phba             2998 drivers/scsi/lpfc/lpfc_init.c 		actcmd = phba->sli.mbox_active->u.mb.mbxCommand;
phba             3002 drivers/scsi/lpfc/lpfc_init.c 		timeout = msecs_to_jiffies(lpfc_mbox_tmo_val(phba,
phba             3003 drivers/scsi/lpfc/lpfc_init.c 				phba->sli.mbox_active) * 1000) + jiffies;
phba             3005 drivers/scsi/lpfc/lpfc_init.c 	spin_unlock_irqrestore(&phba->hbalock, iflag);
phba             3008 drivers/scsi/lpfc/lpfc_init.c 	while (phba->sli.mbox_active) {
phba             3012 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             3015 drivers/scsi/lpfc/lpfc_init.c 				phba->sli.sli_flag, actcmd);
phba             3030 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_node_prep(struct lpfc_hba *phba)
phba             3037 drivers/scsi/lpfc/lpfc_init.c 	if (phba->sli_rev != LPFC_SLI_REV4)
phba             3040 drivers/scsi/lpfc/lpfc_init.c 	vports = lpfc_create_vport_work_array(phba);
phba             3044 drivers/scsi/lpfc/lpfc_init.c 	for (i = 0; i <= phba->max_vports && vports[i] != NULL; i++) {
phba             3053 drivers/scsi/lpfc/lpfc_init.c 			rpi = lpfc_sli4_alloc_rpi(phba);
phba             3055 drivers/scsi/lpfc/lpfc_init.c 				spin_lock_irqsave(&phba->ndlp_lock, flags);
phba             3057 drivers/scsi/lpfc/lpfc_init.c 				spin_unlock_irqrestore(&phba->ndlp_lock, flags);
phba             3068 drivers/scsi/lpfc/lpfc_init.c 	lpfc_destroy_vport_work_array(phba, vports);
phba             3078 drivers/scsi/lpfc/lpfc_init.c static void lpfc_create_expedite_pool(struct lpfc_hba *phba)
phba             3086 drivers/scsi/lpfc/lpfc_init.c 	epd_pool = &phba->epd_pool;
phba             3087 drivers/scsi/lpfc/lpfc_init.c 	qp = &phba->sli4_hba.hdwq[0];
phba             3113 drivers/scsi/lpfc/lpfc_init.c static void lpfc_destroy_expedite_pool(struct lpfc_hba *phba)
phba             3121 drivers/scsi/lpfc/lpfc_init.c 	epd_pool = &phba->epd_pool;
phba             3122 drivers/scsi/lpfc/lpfc_init.c 	qp = &phba->sli4_hba.hdwq[0];
phba             3146 drivers/scsi/lpfc/lpfc_init.c void lpfc_create_multixri_pools(struct lpfc_hba *phba)
phba             3159 drivers/scsi/lpfc/lpfc_init.c 	lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             3161 drivers/scsi/lpfc/lpfc_init.c 			phba->cfg_hdw_queue, phba->sli4_hba.num_present_cpu,
phba             3162 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.io_xri_cnt);
phba             3164 drivers/scsi/lpfc/lpfc_init.c 	if (phba->cfg_enable_fc4_type & LPFC_ENABLE_NVME)
phba             3165 drivers/scsi/lpfc/lpfc_init.c 		lpfc_create_expedite_pool(phba);
phba             3167 drivers/scsi/lpfc/lpfc_init.c 	hwq_count = phba->cfg_hdw_queue;
phba             3168 drivers/scsi/lpfc/lpfc_init.c 	count_per_hwq = phba->sli4_hba.io_xri_cnt / hwq_count;
phba             3174 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             3178 drivers/scsi/lpfc/lpfc_init.c 			if (phba->cfg_enable_fc4_type & LPFC_ENABLE_NVME)
phba             3179 drivers/scsi/lpfc/lpfc_init.c 				lpfc_destroy_expedite_pool(phba);
phba             3183 drivers/scsi/lpfc/lpfc_init.c 				qp = &phba->sli4_hba.hdwq[j];
phba             3187 drivers/scsi/lpfc/lpfc_init.c 			phba->cfg_xri_rebalancing = 0;
phba             3191 drivers/scsi/lpfc/lpfc_init.c 		qp = &phba->sli4_hba.hdwq[i];
phba             3209 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             3233 drivers/scsi/lpfc/lpfc_init.c static void lpfc_destroy_multixri_pools(struct lpfc_hba *phba)
phba             3245 drivers/scsi/lpfc/lpfc_init.c 	if (phba->cfg_enable_fc4_type & LPFC_ENABLE_NVME)
phba             3246 drivers/scsi/lpfc/lpfc_init.c 		lpfc_destroy_expedite_pool(phba);
phba             3248 drivers/scsi/lpfc/lpfc_init.c 	if (!(phba->pport->load_flag & FC_UNLOADING))
phba             3249 drivers/scsi/lpfc/lpfc_init.c 		lpfc_sli_flush_io_rings(phba);
phba             3251 drivers/scsi/lpfc/lpfc_init.c 	hwq_count = phba->cfg_hdw_queue;
phba             3254 drivers/scsi/lpfc/lpfc_init.c 		qp = &phba->sli4_hba.hdwq[i];
phba             3267 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             3288 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             3323 drivers/scsi/lpfc/lpfc_init.c lpfc_online(struct lpfc_hba *phba)
phba             3330 drivers/scsi/lpfc/lpfc_init.c 	if (!phba)
phba             3332 drivers/scsi/lpfc/lpfc_init.c 	vport = phba->pport;
phba             3337 drivers/scsi/lpfc/lpfc_init.c 	lpfc_printf_log(phba, KERN_WARNING, LOG_INIT,
phba             3340 drivers/scsi/lpfc/lpfc_init.c 	lpfc_block_mgmt_io(phba, LPFC_MBX_WAIT);
phba             3342 drivers/scsi/lpfc/lpfc_init.c 	if (phba->sli_rev == LPFC_SLI_REV4) {
phba             3343 drivers/scsi/lpfc/lpfc_init.c 		if (lpfc_sli4_hba_setup(phba)) { /* Initialize SLI4 HBA */
phba             3344 drivers/scsi/lpfc/lpfc_init.c 			lpfc_unblock_mgmt_io(phba);
phba             3347 drivers/scsi/lpfc/lpfc_init.c 		spin_lock_irq(&phba->hbalock);
phba             3348 drivers/scsi/lpfc/lpfc_init.c 		if (!phba->sli4_hba.max_cfg_param.vpi_used)
phba             3350 drivers/scsi/lpfc/lpfc_init.c 		spin_unlock_irq(&phba->hbalock);
phba             3355 drivers/scsi/lpfc/lpfc_init.c 		if (phba->cfg_enable_fc4_type & LPFC_ENABLE_NVME &&
phba             3356 drivers/scsi/lpfc/lpfc_init.c 				!phba->nvmet_support) {
phba             3357 drivers/scsi/lpfc/lpfc_init.c 			error = lpfc_nvme_create_localport(phba->pport);
phba             3359 drivers/scsi/lpfc/lpfc_init.c 				lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             3364 drivers/scsi/lpfc/lpfc_init.c 		lpfc_sli_queue_init(phba);
phba             3365 drivers/scsi/lpfc/lpfc_init.c 		if (lpfc_sli_hba_setup(phba)) {	/* Initialize SLI2/SLI3 HBA */
phba             3366 drivers/scsi/lpfc/lpfc_init.c 			lpfc_unblock_mgmt_io(phba);
phba             3371 drivers/scsi/lpfc/lpfc_init.c 	vports = lpfc_create_vport_work_array(phba);
phba             3373 drivers/scsi/lpfc/lpfc_init.c 		for (i = 0; i <= phba->max_vports && vports[i] != NULL; i++) {
phba             3378 drivers/scsi/lpfc/lpfc_init.c 			if (phba->sli3_options & LPFC_SLI3_NPIV_ENABLED)
phba             3380 drivers/scsi/lpfc/lpfc_init.c 			if (phba->sli_rev == LPFC_SLI_REV4) {
phba             3390 drivers/scsi/lpfc/lpfc_init.c 	lpfc_destroy_vport_work_array(phba, vports);
phba             3392 drivers/scsi/lpfc/lpfc_init.c 	if (phba->cfg_xri_rebalancing)
phba             3393 drivers/scsi/lpfc/lpfc_init.c 		lpfc_create_multixri_pools(phba);
phba             3395 drivers/scsi/lpfc/lpfc_init.c 	lpfc_cpuhp_add(phba);
phba             3397 drivers/scsi/lpfc/lpfc_init.c 	lpfc_unblock_mgmt_io(phba);
phba             3413 drivers/scsi/lpfc/lpfc_init.c lpfc_unblock_mgmt_io(struct lpfc_hba * phba)
phba             3417 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_irqsave(&phba->hbalock, iflag);
phba             3418 drivers/scsi/lpfc/lpfc_init.c 	phba->sli.sli_flag &= ~LPFC_BLOCK_MGMT_IO;
phba             3419 drivers/scsi/lpfc/lpfc_init.c 	spin_unlock_irqrestore(&phba->hbalock, iflag);
phba             3431 drivers/scsi/lpfc/lpfc_init.c lpfc_offline_prep(struct lpfc_hba *phba, int mbx_action)
phba             3433 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_vport *vport = phba->pport;
phba             3442 drivers/scsi/lpfc/lpfc_init.c 	lpfc_block_mgmt_io(phba, mbx_action);
phba             3444 drivers/scsi/lpfc/lpfc_init.c 	lpfc_linkdown(phba);
phba             3447 drivers/scsi/lpfc/lpfc_init.c 	vports = lpfc_create_vport_work_array(phba);
phba             3449 drivers/scsi/lpfc/lpfc_init.c 		for (i = 0; i <= phba->max_vports && vports[i] != NULL; i++) {
phba             3481 drivers/scsi/lpfc/lpfc_init.c 				if (phba->sli_rev == LPFC_SLI_REV4) {
phba             3491 drivers/scsi/lpfc/lpfc_init.c 					lpfc_sli4_free_rpi(phba, ndlp->nlp_rpi);
phba             3497 drivers/scsi/lpfc/lpfc_init.c 	lpfc_destroy_vport_work_array(phba, vports);
phba             3499 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli_mbox_sys_shutdown(phba, mbx_action);
phba             3501 drivers/scsi/lpfc/lpfc_init.c 	if (phba->wq)
phba             3502 drivers/scsi/lpfc/lpfc_init.c 		flush_workqueue(phba->wq);
phba             3514 drivers/scsi/lpfc/lpfc_init.c lpfc_offline(struct lpfc_hba *phba)
phba             3520 drivers/scsi/lpfc/lpfc_init.c 	if (phba->pport->fc_flag & FC_OFFLINE_MODE)
phba             3524 drivers/scsi/lpfc/lpfc_init.c 	lpfc_stop_port(phba);
phba             3529 drivers/scsi/lpfc/lpfc_init.c 	lpfc_nvmet_destroy_targetport(phba);
phba             3530 drivers/scsi/lpfc/lpfc_init.c 	lpfc_nvme_destroy_localport(phba->pport);
phba             3532 drivers/scsi/lpfc/lpfc_init.c 	vports = lpfc_create_vport_work_array(phba);
phba             3534 drivers/scsi/lpfc/lpfc_init.c 		for (i = 0; i <= phba->max_vports && vports[i] != NULL; i++)
phba             3536 drivers/scsi/lpfc/lpfc_init.c 	lpfc_destroy_vport_work_array(phba, vports);
phba             3537 drivers/scsi/lpfc/lpfc_init.c 	lpfc_printf_log(phba, KERN_WARNING, LOG_INIT,
phba             3541 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli_hba_down(phba);
phba             3542 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_irq(&phba->hbalock);
phba             3543 drivers/scsi/lpfc/lpfc_init.c 	phba->work_ha = 0;
phba             3544 drivers/scsi/lpfc/lpfc_init.c 	spin_unlock_irq(&phba->hbalock);
phba             3545 drivers/scsi/lpfc/lpfc_init.c 	vports = lpfc_create_vport_work_array(phba);
phba             3547 drivers/scsi/lpfc/lpfc_init.c 		for (i = 0; i <= phba->max_vports && vports[i] != NULL; i++) {
phba             3554 drivers/scsi/lpfc/lpfc_init.c 	lpfc_destroy_vport_work_array(phba, vports);
phba             3555 drivers/scsi/lpfc/lpfc_init.c 	__lpfc_cpuhp_remove(phba);
phba             3557 drivers/scsi/lpfc/lpfc_init.c 	if (phba->cfg_xri_rebalancing)
phba             3558 drivers/scsi/lpfc/lpfc_init.c 		lpfc_destroy_multixri_pools(phba);
phba             3570 drivers/scsi/lpfc/lpfc_init.c lpfc_scsi_free(struct lpfc_hba *phba)
phba             3574 drivers/scsi/lpfc/lpfc_init.c 	if (!(phba->cfg_enable_fc4_type & LPFC_ENABLE_FCP))
phba             3577 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_irq(&phba->hbalock);
phba             3581 drivers/scsi/lpfc/lpfc_init.c 	spin_lock(&phba->scsi_buf_list_put_lock);
phba             3582 drivers/scsi/lpfc/lpfc_init.c 	list_for_each_entry_safe(sb, sb_next, &phba->lpfc_scsi_buf_list_put,
phba             3585 drivers/scsi/lpfc/lpfc_init.c 		dma_pool_free(phba->lpfc_sg_dma_buf_pool, sb->data,
phba             3588 drivers/scsi/lpfc/lpfc_init.c 		phba->total_scsi_bufs--;
phba             3590 drivers/scsi/lpfc/lpfc_init.c 	spin_unlock(&phba->scsi_buf_list_put_lock);
phba             3592 drivers/scsi/lpfc/lpfc_init.c 	spin_lock(&phba->scsi_buf_list_get_lock);
phba             3593 drivers/scsi/lpfc/lpfc_init.c 	list_for_each_entry_safe(sb, sb_next, &phba->lpfc_scsi_buf_list_get,
phba             3596 drivers/scsi/lpfc/lpfc_init.c 		dma_pool_free(phba->lpfc_sg_dma_buf_pool, sb->data,
phba             3599 drivers/scsi/lpfc/lpfc_init.c 		phba->total_scsi_bufs--;
phba             3601 drivers/scsi/lpfc/lpfc_init.c 	spin_unlock(&phba->scsi_buf_list_get_lock);
phba             3602 drivers/scsi/lpfc/lpfc_init.c 	spin_unlock_irq(&phba->hbalock);
phba             3614 drivers/scsi/lpfc/lpfc_init.c lpfc_io_free(struct lpfc_hba *phba)
phba             3620 drivers/scsi/lpfc/lpfc_init.c 	for (idx = 0; idx < phba->cfg_hdw_queue; idx++) {
phba             3621 drivers/scsi/lpfc/lpfc_init.c 		qp = &phba->sli4_hba.hdwq[idx];
phba             3629 drivers/scsi/lpfc/lpfc_init.c 			dma_pool_free(phba->lpfc_sg_dma_buf_pool,
phba             3631 drivers/scsi/lpfc/lpfc_init.c 			if (phba->cfg_xpsgl && !phba->nvmet_support)
phba             3632 drivers/scsi/lpfc/lpfc_init.c 				lpfc_put_sgl_per_hdwq(phba, lpfc_ncmd);
phba             3633 drivers/scsi/lpfc/lpfc_init.c 			lpfc_put_cmd_rsp_buf_per_hdwq(phba, lpfc_ncmd);
phba             3645 drivers/scsi/lpfc/lpfc_init.c 			dma_pool_free(phba->lpfc_sg_dma_buf_pool,
phba             3647 drivers/scsi/lpfc/lpfc_init.c 			if (phba->cfg_xpsgl && !phba->nvmet_support)
phba             3648 drivers/scsi/lpfc/lpfc_init.c 				lpfc_put_sgl_per_hdwq(phba, lpfc_ncmd);
phba             3649 drivers/scsi/lpfc/lpfc_init.c 			lpfc_put_cmd_rsp_buf_per_hdwq(phba, lpfc_ncmd);
phba             3670 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_els_sgl_update(struct lpfc_hba *phba)
phba             3680 drivers/scsi/lpfc/lpfc_init.c 	els_xri_cnt = lpfc_sli4_get_els_iocb_cnt(phba);
phba             3682 drivers/scsi/lpfc/lpfc_init.c 	if (els_xri_cnt > phba->sli4_hba.els_xri_cnt) {
phba             3684 drivers/scsi/lpfc/lpfc_init.c 		xri_cnt = els_xri_cnt - phba->sli4_hba.els_xri_cnt;
phba             3685 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_INFO, LOG_SLI,
phba             3687 drivers/scsi/lpfc/lpfc_init.c 				"%d to %d\n", phba->sli4_hba.els_xri_cnt,
phba             3694 drivers/scsi/lpfc/lpfc_init.c 				lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             3701 drivers/scsi/lpfc/lpfc_init.c 			sglq_entry->virt = lpfc_mbuf_alloc(phba, 0,
phba             3705 drivers/scsi/lpfc/lpfc_init.c 				lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             3716 drivers/scsi/lpfc/lpfc_init.c 		spin_lock_irq(&phba->hbalock);
phba             3717 drivers/scsi/lpfc/lpfc_init.c 		spin_lock(&phba->sli4_hba.sgl_list_lock);
phba             3719 drivers/scsi/lpfc/lpfc_init.c 				 &phba->sli4_hba.lpfc_els_sgl_list);
phba             3720 drivers/scsi/lpfc/lpfc_init.c 		spin_unlock(&phba->sli4_hba.sgl_list_lock);
phba             3721 drivers/scsi/lpfc/lpfc_init.c 		spin_unlock_irq(&phba->hbalock);
phba             3722 drivers/scsi/lpfc/lpfc_init.c 	} else if (els_xri_cnt < phba->sli4_hba.els_xri_cnt) {
phba             3724 drivers/scsi/lpfc/lpfc_init.c 		xri_cnt = phba->sli4_hba.els_xri_cnt - els_xri_cnt;
phba             3725 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_INFO, LOG_SLI,
phba             3727 drivers/scsi/lpfc/lpfc_init.c 				"%d to %d\n", phba->sli4_hba.els_xri_cnt,
phba             3729 drivers/scsi/lpfc/lpfc_init.c 		spin_lock_irq(&phba->hbalock);
phba             3730 drivers/scsi/lpfc/lpfc_init.c 		spin_lock(&phba->sli4_hba.sgl_list_lock);
phba             3731 drivers/scsi/lpfc/lpfc_init.c 		list_splice_init(&phba->sli4_hba.lpfc_els_sgl_list,
phba             3738 drivers/scsi/lpfc/lpfc_init.c 				__lpfc_mbuf_free(phba, sglq_entry->virt,
phba             3744 drivers/scsi/lpfc/lpfc_init.c 				 &phba->sli4_hba.lpfc_els_sgl_list);
phba             3745 drivers/scsi/lpfc/lpfc_init.c 		spin_unlock(&phba->sli4_hba.sgl_list_lock);
phba             3746 drivers/scsi/lpfc/lpfc_init.c 		spin_unlock_irq(&phba->hbalock);
phba             3748 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_INFO, LOG_SLI,
phba             3751 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.els_xri_cnt = els_xri_cnt;
phba             3757 drivers/scsi/lpfc/lpfc_init.c 				 &phba->sli4_hba.lpfc_els_sgl_list, list) {
phba             3758 drivers/scsi/lpfc/lpfc_init.c 		lxri = lpfc_sli4_next_xritag(phba);
phba             3760 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             3767 drivers/scsi/lpfc/lpfc_init.c 		sglq_entry->sli4_xritag = phba->sli4_hba.xri_ids[lxri];
phba             3772 drivers/scsi/lpfc/lpfc_init.c 	lpfc_free_els_sgl_list(phba);
phba             3789 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_nvmet_sgl_update(struct lpfc_hba *phba)
phba             3800 drivers/scsi/lpfc/lpfc_init.c 	els_xri_cnt = lpfc_sli4_get_els_iocb_cnt(phba);
phba             3803 drivers/scsi/lpfc/lpfc_init.c 	nvmet_xri_cnt = phba->sli4_hba.max_cfg_param.max_xri - els_xri_cnt;
phba             3804 drivers/scsi/lpfc/lpfc_init.c 	if (nvmet_xri_cnt > phba->sli4_hba.nvmet_xri_cnt) {
phba             3806 drivers/scsi/lpfc/lpfc_init.c 		xri_cnt = nvmet_xri_cnt - phba->sli4_hba.nvmet_xri_cnt;
phba             3807 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_INFO, LOG_SLI,
phba             3809 drivers/scsi/lpfc/lpfc_init.c 				phba->sli4_hba.nvmet_xri_cnt, nvmet_xri_cnt);
phba             3815 drivers/scsi/lpfc/lpfc_init.c 				lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             3822 drivers/scsi/lpfc/lpfc_init.c 			sglq_entry->virt = lpfc_nvmet_buf_alloc(phba, 0,
phba             3826 drivers/scsi/lpfc/lpfc_init.c 				lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             3834 drivers/scsi/lpfc/lpfc_init.c 			       phba->cfg_sg_dma_buf_size);
phba             3838 drivers/scsi/lpfc/lpfc_init.c 		spin_lock_irq(&phba->hbalock);
phba             3839 drivers/scsi/lpfc/lpfc_init.c 		spin_lock(&phba->sli4_hba.sgl_list_lock);
phba             3841 drivers/scsi/lpfc/lpfc_init.c 				 &phba->sli4_hba.lpfc_nvmet_sgl_list);
phba             3842 drivers/scsi/lpfc/lpfc_init.c 		spin_unlock(&phba->sli4_hba.sgl_list_lock);
phba             3843 drivers/scsi/lpfc/lpfc_init.c 		spin_unlock_irq(&phba->hbalock);
phba             3844 drivers/scsi/lpfc/lpfc_init.c 	} else if (nvmet_xri_cnt < phba->sli4_hba.nvmet_xri_cnt) {
phba             3846 drivers/scsi/lpfc/lpfc_init.c 		xri_cnt = phba->sli4_hba.nvmet_xri_cnt - nvmet_xri_cnt;
phba             3847 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_INFO, LOG_SLI,
phba             3849 drivers/scsi/lpfc/lpfc_init.c 				"%d to %d\n", phba->sli4_hba.nvmet_xri_cnt,
phba             3851 drivers/scsi/lpfc/lpfc_init.c 		spin_lock_irq(&phba->hbalock);
phba             3852 drivers/scsi/lpfc/lpfc_init.c 		spin_lock(&phba->sli4_hba.sgl_list_lock);
phba             3853 drivers/scsi/lpfc/lpfc_init.c 		list_splice_init(&phba->sli4_hba.lpfc_nvmet_sgl_list,
phba             3860 drivers/scsi/lpfc/lpfc_init.c 				lpfc_nvmet_buf_free(phba, sglq_entry->virt,
phba             3866 drivers/scsi/lpfc/lpfc_init.c 				 &phba->sli4_hba.lpfc_nvmet_sgl_list);
phba             3867 drivers/scsi/lpfc/lpfc_init.c 		spin_unlock(&phba->sli4_hba.sgl_list_lock);
phba             3868 drivers/scsi/lpfc/lpfc_init.c 		spin_unlock_irq(&phba->hbalock);
phba             3870 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_INFO, LOG_SLI,
phba             3873 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.nvmet_xri_cnt = nvmet_xri_cnt;
phba             3879 drivers/scsi/lpfc/lpfc_init.c 				 &phba->sli4_hba.lpfc_nvmet_sgl_list, list) {
phba             3880 drivers/scsi/lpfc/lpfc_init.c 		lxri = lpfc_sli4_next_xritag(phba);
phba             3882 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             3889 drivers/scsi/lpfc/lpfc_init.c 		sglq_entry->sli4_xritag = phba->sli4_hba.xri_ids[lxri];
phba             3894 drivers/scsi/lpfc/lpfc_init.c 	lpfc_free_nvmet_sgl_list(phba);
phba             3899 drivers/scsi/lpfc/lpfc_init.c lpfc_io_buf_flush(struct lpfc_hba *phba, struct list_head *cbuf)
phba             3908 drivers/scsi/lpfc/lpfc_init.c 	for (idx = 0; idx < phba->cfg_hdw_queue; idx++) {
phba             3909 drivers/scsi/lpfc/lpfc_init.c 		qp = &phba->sli4_hba.hdwq[idx];
phba             3961 drivers/scsi/lpfc/lpfc_init.c lpfc_io_buf_replenish(struct lpfc_hba *phba, struct list_head *cbuf)
phba             3967 drivers/scsi/lpfc/lpfc_init.c 	qp = phba->sli4_hba.hdwq;
phba             3970 drivers/scsi/lpfc/lpfc_init.c 		for (idx = 0; idx < phba->cfg_hdw_queue; idx++) {
phba             3976 drivers/scsi/lpfc/lpfc_init.c 			qp = &phba->sli4_hba.hdwq[idx];
phba             4005 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_io_sgl_update(struct lpfc_hba *phba)
phba             4018 drivers/scsi/lpfc/lpfc_init.c 	els_xri_cnt = lpfc_sli4_get_els_iocb_cnt(phba);
phba             4019 drivers/scsi/lpfc/lpfc_init.c 	io_xri_max = phba->sli4_hba.max_cfg_param.max_xri - els_xri_cnt;
phba             4020 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.io_xri_max = io_xri_max;
phba             4022 drivers/scsi/lpfc/lpfc_init.c 	lpfc_printf_log(phba, KERN_INFO, LOG_SLI,
phba             4025 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.io_xri_cnt,
phba             4026 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.io_xri_max);
phba             4028 drivers/scsi/lpfc/lpfc_init.c 	cnt = lpfc_io_buf_flush(phba, &io_sgl_list);
phba             4030 drivers/scsi/lpfc/lpfc_init.c 	if (phba->sli4_hba.io_xri_cnt > phba->sli4_hba.io_xri_max) {
phba             4032 drivers/scsi/lpfc/lpfc_init.c 		io_xri_cnt = phba->sli4_hba.io_xri_cnt -
phba             4033 drivers/scsi/lpfc/lpfc_init.c 					phba->sli4_hba.io_xri_max;
phba             4039 drivers/scsi/lpfc/lpfc_init.c 				dma_pool_free(phba->lpfc_sg_dma_buf_pool,
phba             4045 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.io_xri_cnt -= io_xri_cnt;
phba             4051 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.io_xri_cnt = cnt;
phba             4054 drivers/scsi/lpfc/lpfc_init.c 		lxri = lpfc_sli4_next_xritag(phba);
phba             4056 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             4063 drivers/scsi/lpfc/lpfc_init.c 		lpfc_ncmd->cur_iocbq.sli4_xritag = phba->sli4_hba.xri_ids[lxri];
phba             4065 drivers/scsi/lpfc/lpfc_init.c 	cnt = lpfc_io_buf_replenish(phba, &io_sgl_list);
phba             4069 drivers/scsi/lpfc/lpfc_init.c 	lpfc_io_free(phba);
phba             4088 drivers/scsi/lpfc/lpfc_init.c lpfc_new_io_buf(struct lpfc_hba *phba, int num_to_alloc)
phba             4098 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.io_xri_cnt = 0;
phba             4108 drivers/scsi/lpfc/lpfc_init.c 		lpfc_ncmd->data = dma_pool_zalloc(phba->lpfc_sg_dma_buf_pool,
phba             4116 drivers/scsi/lpfc/lpfc_init.c 		if (phba->cfg_xpsgl && !phba->nvmet_support) {
phba             4123 drivers/scsi/lpfc/lpfc_init.c 			if ((phba->sli3_options & LPFC_SLI3_BG_ENABLED) &&
phba             4126 drivers/scsi/lpfc/lpfc_init.c 				lpfc_printf_log(phba, KERN_ERR, LOG_FCP,
phba             4130 drivers/scsi/lpfc/lpfc_init.c 				dma_pool_free(phba->lpfc_sg_dma_buf_pool,
phba             4140 drivers/scsi/lpfc/lpfc_init.c 		lxri = lpfc_sli4_next_xritag(phba);
phba             4142 drivers/scsi/lpfc/lpfc_init.c 			dma_pool_free(phba->lpfc_sg_dma_buf_pool,
phba             4150 drivers/scsi/lpfc/lpfc_init.c 		iotag = lpfc_sli_next_iotag(phba, pwqeq);
phba             4152 drivers/scsi/lpfc/lpfc_init.c 			dma_pool_free(phba->lpfc_sg_dma_buf_pool,
phba             4155 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_ERR, LOG_NVME_IOERR,
phba             4158 drivers/scsi/lpfc/lpfc_init.c 			lpfc_sli4_free_xri(phba, lxri);
phba             4162 drivers/scsi/lpfc/lpfc_init.c 		pwqeq->sli4_xritag = phba->sli4_hba.xri_ids[lxri];
phba             4173 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.io_xri_cnt++;
phba             4175 drivers/scsi/lpfc/lpfc_init.c 	lpfc_printf_log(phba, KERN_INFO, LOG_NVME,
phba             4182 drivers/scsi/lpfc/lpfc_init.c 				phba, &post_nblist, bcnt);
phba             4190 drivers/scsi/lpfc/lpfc_init.c lpfc_get_wwpn(struct lpfc_hba *phba)
phba             4197 drivers/scsi/lpfc/lpfc_init.c 	mboxq = (LPFC_MBOXQ_t *) mempool_alloc(phba->mbox_mem_pool,
phba             4203 drivers/scsi/lpfc/lpfc_init.c 	lpfc_read_nv(phba, mboxq);
phba             4204 drivers/scsi/lpfc/lpfc_init.c 	rc = lpfc_sli_issue_mbox(phba, mboxq, MBX_POLL);
phba             4206 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             4211 drivers/scsi/lpfc/lpfc_init.c 		mempool_free(mboxq, phba->mbox_mem_pool);
phba             4217 drivers/scsi/lpfc/lpfc_init.c 	mempool_free(mboxq, phba->mbox_mem_pool);
phba             4218 drivers/scsi/lpfc/lpfc_init.c 	if (phba->sli_rev == LPFC_SLI_REV4)
phba             4241 drivers/scsi/lpfc/lpfc_init.c lpfc_create_port(struct lpfc_hba *phba, int instance, struct device *dev)
phba             4252 drivers/scsi/lpfc/lpfc_init.c 		if (phba->sli_rev < LPFC_SLI_REV4 &&
phba             4253 drivers/scsi/lpfc/lpfc_init.c 		    dev == &phba->pcidev->dev) {
phba             4255 drivers/scsi/lpfc/lpfc_init.c 			lpfc_sli_brdrestart(phba);
phba             4256 drivers/scsi/lpfc/lpfc_init.c 			rc = lpfc_sli_chipset_init(phba);
phba             4260 drivers/scsi/lpfc/lpfc_init.c 		wwn = lpfc_get_wwpn(phba);
phba             4265 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             4273 drivers/scsi/lpfc/lpfc_init.c 	if (phba->cfg_enable_fc4_type & LPFC_ENABLE_FCP) {
phba             4274 drivers/scsi/lpfc/lpfc_init.c 		if (dev != &phba->pcidev->dev) {
phba             4285 drivers/scsi/lpfc/lpfc_init.c 	} else if (phba->cfg_enable_fc4_type & LPFC_ENABLE_NVME) {
phba             4293 drivers/scsi/lpfc/lpfc_init.c 	vport->phba = phba;
phba             4300 drivers/scsi/lpfc/lpfc_init.c 	vport->cfg_enable_fc4_type = phba->cfg_enable_fc4_type;
phba             4308 drivers/scsi/lpfc/lpfc_init.c 	if (phba->sli_rev == LPFC_SLI_REV4) {
phba             4309 drivers/scsi/lpfc/lpfc_init.c 		if (!phba->cfg_fcp_mq_threshold ||
phba             4310 drivers/scsi/lpfc/lpfc_init.c 		    phba->cfg_fcp_mq_threshold > phba->cfg_hdw_queue)
phba             4311 drivers/scsi/lpfc/lpfc_init.c 			phba->cfg_fcp_mq_threshold = phba->cfg_hdw_queue;
phba             4314 drivers/scsi/lpfc/lpfc_init.c 					    phba->cfg_fcp_mq_threshold);
phba             4317 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.pc_sli4_params.sge_supp_len-1;
phba             4319 drivers/scsi/lpfc/lpfc_init.c 		if (phba->cfg_xpsgl && !phba->nvmet_support)
phba             4322 drivers/scsi/lpfc/lpfc_init.c 			shost->sg_tablesize = phba->cfg_scsi_seg_cnt;
phba             4334 drivers/scsi/lpfc/lpfc_init.c 	shost->can_queue = phba->cfg_hba_queue_depth - 10;
phba             4335 drivers/scsi/lpfc/lpfc_init.c 	if (dev != &phba->pcidev->dev) {
phba             4354 drivers/scsi/lpfc/lpfc_init.c 	if (phba->sli3_options & LPFC_SLI3_BG_ENABLED)
phba             4355 drivers/scsi/lpfc/lpfc_init.c 		lpfc_setup_bg(phba, shost);
phba             4357 drivers/scsi/lpfc/lpfc_init.c 	error = scsi_add_host_with_dma(shost, dev, &phba->pcidev->dev);
phba             4361 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_irq(&phba->port_list_lock);
phba             4362 drivers/scsi/lpfc/lpfc_init.c 	list_add_tail(&vport->listentry, &phba->port_list);
phba             4363 drivers/scsi/lpfc/lpfc_init.c 	spin_unlock_irq(&phba->port_list_lock);
phba             4383 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_hba  *phba = vport->phba;
phba             4389 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_irq(&phba->port_list_lock);
phba             4391 drivers/scsi/lpfc/lpfc_init.c 	spin_unlock_irq(&phba->port_list_lock);
phba             4434 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_hba   *phba = vport->phba;
phba             4444 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             4451 drivers/scsi/lpfc/lpfc_init.c 	    phba->link_state <= LPFC_LINK_DOWN) {
phba             4452 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             4465 drivers/scsi/lpfc/lpfc_init.c 	if ((phba->sli.sli_flag & LPFC_SLI_MBOX_ACTIVE) != 0)
phba             4478 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_hba   *phba = vport->phba;
phba             4481 drivers/scsi/lpfc/lpfc_init.c 	if (phba->lmt & LMT_128Gb)
phba             4483 drivers/scsi/lpfc/lpfc_init.c 	if (phba->lmt & LMT_64Gb)
phba             4485 drivers/scsi/lpfc/lpfc_init.c 	if (phba->lmt & LMT_32Gb)
phba             4487 drivers/scsi/lpfc/lpfc_init.c 	if (phba->lmt & LMT_16Gb)
phba             4489 drivers/scsi/lpfc/lpfc_init.c 	if (phba->lmt & LMT_10Gb)
phba             4491 drivers/scsi/lpfc/lpfc_init.c 	if (phba->lmt & LMT_8Gb)
phba             4493 drivers/scsi/lpfc/lpfc_init.c 	if (phba->lmt & LMT_4Gb)
phba             4495 drivers/scsi/lpfc/lpfc_init.c 	if (phba->lmt & LMT_2Gb)
phba             4497 drivers/scsi/lpfc/lpfc_init.c 	if (phba->lmt & LMT_1Gb)
phba             4511 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_hba   *phba = vport->phba;
phba             4542 drivers/scsi/lpfc/lpfc_init.c 	fc_host_max_npiv_vports(shost) = phba->max_vpi;
phba             4557 drivers/scsi/lpfc/lpfc_init.c lpfc_stop_port_s3(struct lpfc_hba *phba)
phba             4560 drivers/scsi/lpfc/lpfc_init.c 	writel(0, phba->HCregaddr);
phba             4561 drivers/scsi/lpfc/lpfc_init.c 	readl(phba->HCregaddr); /* flush */
phba             4563 drivers/scsi/lpfc/lpfc_init.c 	writel(0xffffffff, phba->HAregaddr);
phba             4564 drivers/scsi/lpfc/lpfc_init.c 	readl(phba->HAregaddr); /* flush */
phba             4567 drivers/scsi/lpfc/lpfc_init.c 	lpfc_stop_hba_timers(phba);
phba             4568 drivers/scsi/lpfc/lpfc_init.c 	phba->pport->work_port_events = 0;
phba             4580 drivers/scsi/lpfc/lpfc_init.c lpfc_stop_port_s4(struct lpfc_hba *phba)
phba             4583 drivers/scsi/lpfc/lpfc_init.c 	lpfc_stop_hba_timers(phba);
phba             4584 drivers/scsi/lpfc/lpfc_init.c 	if (phba->pport)
phba             4585 drivers/scsi/lpfc/lpfc_init.c 		phba->pport->work_port_events = 0;
phba             4586 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.intr_enable = 0;
phba             4597 drivers/scsi/lpfc/lpfc_init.c lpfc_stop_port(struct lpfc_hba *phba)
phba             4599 drivers/scsi/lpfc/lpfc_init.c 	phba->lpfc_stop_port(phba);
phba             4601 drivers/scsi/lpfc/lpfc_init.c 	if (phba->wq)
phba             4602 drivers/scsi/lpfc/lpfc_init.c 		flush_workqueue(phba->wq);
phba             4612 drivers/scsi/lpfc/lpfc_init.c lpfc_fcf_redisc_wait_start_timer(struct lpfc_hba *phba)
phba             4617 drivers/scsi/lpfc/lpfc_init.c 	mod_timer(&phba->fcf.redisc_wait, fcf_redisc_wait_tmo);
phba             4618 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_irq(&phba->hbalock);
phba             4620 drivers/scsi/lpfc/lpfc_init.c 	phba->fcf.fcf_flag &= ~(FCF_AVAILABLE | FCF_SCAN_DONE);
phba             4622 drivers/scsi/lpfc/lpfc_init.c 	phba->fcf.fcf_flag |= FCF_REDISC_PEND;
phba             4623 drivers/scsi/lpfc/lpfc_init.c 	spin_unlock_irq(&phba->hbalock);
phba             4639 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_hba *phba = from_timer(phba, t, fcf.redisc_wait);
phba             4642 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_irq(&phba->hbalock);
phba             4643 drivers/scsi/lpfc/lpfc_init.c 	if (!(phba->fcf.fcf_flag & FCF_REDISC_PEND)) {
phba             4644 drivers/scsi/lpfc/lpfc_init.c 		spin_unlock_irq(&phba->hbalock);
phba             4648 drivers/scsi/lpfc/lpfc_init.c 	phba->fcf.fcf_flag &= ~FCF_REDISC_PEND;
phba             4650 drivers/scsi/lpfc/lpfc_init.c 	phba->fcf.fcf_flag |= FCF_REDISC_EVT;
phba             4651 drivers/scsi/lpfc/lpfc_init.c 	spin_unlock_irq(&phba->hbalock);
phba             4652 drivers/scsi/lpfc/lpfc_init.c 	lpfc_printf_log(phba, KERN_INFO, LOG_FIP,
phba             4655 drivers/scsi/lpfc/lpfc_init.c 	lpfc_worker_wake_up(phba);
phba             4666 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_parse_latt_fault(struct lpfc_hba *phba,
phba             4676 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             4694 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_parse_latt_type(struct lpfc_hba *phba,
phba             4712 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             4730 drivers/scsi/lpfc/lpfc_init.c lpfc_sli_port_speed_get(struct lpfc_hba *phba)
phba             4734 drivers/scsi/lpfc/lpfc_init.c 	if (!lpfc_is_link_up(phba))
phba             4737 drivers/scsi/lpfc/lpfc_init.c 	if (phba->sli_rev <= LPFC_SLI_REV3) {
phba             4738 drivers/scsi/lpfc/lpfc_init.c 		switch (phba->fc_linkspeed) {
phba             4761 drivers/scsi/lpfc/lpfc_init.c 		if (phba->sli4_hba.link_state.logical_speed)
phba             4763 drivers/scsi/lpfc/lpfc_init.c 			      phba->sli4_hba.link_state.logical_speed;
phba             4765 drivers/scsi/lpfc/lpfc_init.c 			link_speed = phba->sli4_hba.link_state.speed;
phba             4782 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_port_speed_parse(struct lpfc_hba *phba, uint32_t evt_code,
phba             4868 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_async_link_evt(struct lpfc_hba *phba,
phba             4878 drivers/scsi/lpfc/lpfc_init.c 	att_type = lpfc_sli4_parse_latt_type(phba, acqe_link);
phba             4881 drivers/scsi/lpfc/lpfc_init.c 	phba->fcoe_eventtag = acqe_link->event_tag;
phba             4882 drivers/scsi/lpfc/lpfc_init.c 	pmb = (LPFC_MBOXQ_t *)mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             4884 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             4890 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             4894 drivers/scsi/lpfc/lpfc_init.c 	mp->virt = lpfc_mbuf_alloc(phba, 0, &mp->phys);
phba             4896 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             4902 drivers/scsi/lpfc/lpfc_init.c 	lpfc_els_flush_all_cmd(phba);
phba             4905 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.els_wq->pring->flag |= LPFC_STOP_IOCB_EVENT;
phba             4908 drivers/scsi/lpfc/lpfc_init.c 	phba->sli.slistat.link_event++;
phba             4911 drivers/scsi/lpfc/lpfc_init.c 	lpfc_read_topology(phba, pmb, mp);
phba             4913 drivers/scsi/lpfc/lpfc_init.c 	pmb->vport = phba->pport;
phba             4916 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.link_state.speed =
phba             4917 drivers/scsi/lpfc/lpfc_init.c 			lpfc_sli4_port_speed_parse(phba, LPFC_TRAILER_CODE_LINK,
phba             4919 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.link_state.duplex =
phba             4921 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.link_state.status =
phba             4923 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.link_state.type =
phba             4925 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.link_state.number =
phba             4927 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.link_state.fault =
phba             4929 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.link_state.logical_speed =
phba             4932 drivers/scsi/lpfc/lpfc_init.c 	lpfc_printf_log(phba, KERN_INFO, LOG_SLI,
phba             4936 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.link_state.speed,
phba             4937 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.link_state.topology,
phba             4938 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.link_state.status,
phba             4939 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.link_state.type,
phba             4940 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.link_state.number,
phba             4941 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.link_state.logical_speed,
phba             4942 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.link_state.fault);
phba             4947 drivers/scsi/lpfc/lpfc_init.c 	if (!(phba->hba_flag & HBA_FCOE_MODE)) {
phba             4948 drivers/scsi/lpfc/lpfc_init.c 		rc = lpfc_sli_issue_mbox(phba, pmb, MBX_NOWAIT);
phba             4963 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli4_parse_latt_fault(phba, acqe_link);
phba             4981 drivers/scsi/lpfc/lpfc_init.c 	lpfc_mbx_cmpl_read_topology(phba, pmb);
phba             4988 drivers/scsi/lpfc/lpfc_init.c 	mempool_free(pmb, phba->mbox_mem_pool);
phba             5004 drivers/scsi/lpfc/lpfc_init.c lpfc_async_link_speed_to_read_top(struct lpfc_hba *phba, uint8_t speed_code)
phba             5046 drivers/scsi/lpfc/lpfc_init.c 	       ((phba->trunk_link.link##__idx.state == LPFC_LINK_UP) ?\
phba             5054 drivers/scsi/lpfc/lpfc_init.c lpfc_update_trunk_link_status(struct lpfc_hba *phba,
phba             5060 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.link_state.speed =
phba             5061 drivers/scsi/lpfc/lpfc_init.c 		lpfc_sli4_port_speed_parse(phba, LPFC_TRAILER_CODE_FC,
phba             5064 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.link_state.logical_speed =
phba             5067 drivers/scsi/lpfc/lpfc_init.c 	phba->fc_linkspeed =
phba             5069 drivers/scsi/lpfc/lpfc_init.c 				phba,
phba             5073 drivers/scsi/lpfc/lpfc_init.c 		phba->trunk_link.link0.state =
phba             5076 drivers/scsi/lpfc/lpfc_init.c 		phba->trunk_link.link0.fault = port_fault & 0x1 ? err : 0;
phba             5079 drivers/scsi/lpfc/lpfc_init.c 		phba->trunk_link.link1.state =
phba             5082 drivers/scsi/lpfc/lpfc_init.c 		phba->trunk_link.link1.fault = port_fault & 0x2 ? err : 0;
phba             5085 drivers/scsi/lpfc/lpfc_init.c 		phba->trunk_link.link2.state =
phba             5088 drivers/scsi/lpfc/lpfc_init.c 		phba->trunk_link.link2.fault = port_fault & 0x4 ? err : 0;
phba             5091 drivers/scsi/lpfc/lpfc_init.c 		phba->trunk_link.link3.state =
phba             5094 drivers/scsi/lpfc/lpfc_init.c 		phba->trunk_link.link3.fault = port_fault & 0x8 ? err : 0;
phba             5097 drivers/scsi/lpfc/lpfc_init.c 	lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             5101 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.link_state.speed,
phba             5102 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.link_state.logical_speed,
phba             5107 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             5131 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_async_fc_evt(struct lpfc_hba *phba, struct lpfc_acqe_fc_la *acqe_fc)
phba             5141 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             5149 drivers/scsi/lpfc/lpfc_init.c 		lpfc_update_trunk_link_status(phba, acqe_fc);
phba             5154 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.link_state.speed =
phba             5155 drivers/scsi/lpfc/lpfc_init.c 			lpfc_sli4_port_speed_parse(phba, LPFC_TRAILER_CODE_FC,
phba             5157 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.link_state.duplex = LPFC_ASYNC_LINK_DUPLEX_FULL;
phba             5158 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.link_state.topology =
phba             5160 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.link_state.status =
phba             5162 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.link_state.type =
phba             5164 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.link_state.number =
phba             5166 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.link_state.fault =
phba             5171 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.link_state.logical_speed = 0;
phba             5172 drivers/scsi/lpfc/lpfc_init.c 	else if	(!phba->sli4_hba.conf_trunk)
phba             5173 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.link_state.logical_speed =
phba             5176 drivers/scsi/lpfc/lpfc_init.c 	lpfc_printf_log(phba, KERN_INFO, LOG_SLI,
phba             5180 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.link_state.speed,
phba             5181 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.link_state.topology,
phba             5182 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.link_state.status,
phba             5183 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.link_state.type,
phba             5184 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.link_state.number,
phba             5185 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.link_state.logical_speed,
phba             5186 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.link_state.fault);
phba             5187 drivers/scsi/lpfc/lpfc_init.c 	pmb = (LPFC_MBOXQ_t *)mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             5189 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             5195 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             5199 drivers/scsi/lpfc/lpfc_init.c 	mp->virt = lpfc_mbuf_alloc(phba, 0, &mp->phys);
phba             5201 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             5207 drivers/scsi/lpfc/lpfc_init.c 	lpfc_els_flush_all_cmd(phba);
phba             5210 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.els_wq->pring->flag |= LPFC_STOP_IOCB_EVENT;
phba             5213 drivers/scsi/lpfc/lpfc_init.c 	phba->sli.slistat.link_event++;
phba             5216 drivers/scsi/lpfc/lpfc_init.c 	lpfc_read_topology(phba, pmb, mp);
phba             5218 drivers/scsi/lpfc/lpfc_init.c 	pmb->vport = phba->pport;
phba             5220 drivers/scsi/lpfc/lpfc_init.c 	if (phba->sli4_hba.link_state.status != LPFC_FC_LA_TYPE_LINK_UP) {
phba             5221 drivers/scsi/lpfc/lpfc_init.c 		phba->link_flag &= ~(LS_MDS_LINK_DOWN | LS_MDS_LOOPBACK);
phba             5223 drivers/scsi/lpfc/lpfc_init.c 		switch (phba->sli4_hba.link_state.status) {
phba             5225 drivers/scsi/lpfc/lpfc_init.c 			phba->link_flag |= LS_MDS_LINK_DOWN;
phba             5228 drivers/scsi/lpfc/lpfc_init.c 			phba->link_flag |= LS_MDS_LOOPBACK;
phba             5239 drivers/scsi/lpfc/lpfc_init.c 		lpfc_sli4_parse_latt_fault(phba, (void *)acqe_fc);
phba             5245 drivers/scsi/lpfc/lpfc_init.c 		if (phba->sli4_hba.link_state.status ==
phba             5254 drivers/scsi/lpfc/lpfc_init.c 		lpfc_mbx_cmpl_read_topology(phba, pmb);
phba             5259 drivers/scsi/lpfc/lpfc_init.c 	rc = lpfc_sli_issue_mbox(phba, pmb, MBX_NOWAIT);
phba             5267 drivers/scsi/lpfc/lpfc_init.c 	mempool_free(pmb, phba->mbox_mem_pool);
phba             5278 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_async_sli_evt(struct lpfc_hba *phba, struct lpfc_acqe_sli *acqe_sli)
phba             5293 drivers/scsi/lpfc/lpfc_init.c 	lpfc_printf_log(phba, KERN_INFO, LOG_SLI,
phba             5299 drivers/scsi/lpfc/lpfc_init.c 	port_name = phba->Port[0];
phba             5309 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_SLI,
phba             5313 drivers/scsi/lpfc/lpfc_init.c 		phba->sfp_warning |= LPFC_TRANSGRESSION_HIGH_TEMPERATURE;
phba             5314 drivers/scsi/lpfc/lpfc_init.c 		shost = lpfc_shost_from_vport(phba->pport);
phba             5326 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_INFO, LOG_SLI,
phba             5330 drivers/scsi/lpfc/lpfc_init.c 		shost = lpfc_shost_from_vport(phba->pport);
phba             5342 drivers/scsi/lpfc/lpfc_init.c 		switch (phba->sli4_hba.lnk_info.lnk_no) {
phba             5368 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             5372 drivers/scsi/lpfc/lpfc_init.c 					phba->sli4_hba.lnk_info.lnk_no);
phba             5377 drivers/scsi/lpfc/lpfc_init.c 		if (phba->sli4_hba.lnk_info.optic_state == status)
phba             5417 drivers/scsi/lpfc/lpfc_init.c 		rc = lpfc_sli4_read_config(phba);
phba             5419 drivers/scsi/lpfc/lpfc_init.c 			phba->lmt = 0;
phba             5420 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             5424 drivers/scsi/lpfc/lpfc_init.c 		vports = lpfc_create_vport_work_array(phba);
phba             5426 drivers/scsi/lpfc/lpfc_init.c 			for (i = 0; i <= phba->max_vports && vports[i] != NULL;
phba             5432 drivers/scsi/lpfc/lpfc_init.c 		lpfc_destroy_vport_work_array(phba, vports);
phba             5434 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.lnk_info.optic_state = status;
phba             5435 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             5439 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_INFO, LOG_SLI,
phba             5445 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_INFO, LOG_SLI,
phba             5469 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_hba *phba;
phba             5473 drivers/scsi/lpfc/lpfc_init.c 	phba = vport->phba;
phba             5474 drivers/scsi/lpfc/lpfc_init.c 	if (!phba)
phba             5492 drivers/scsi/lpfc/lpfc_init.c 	if ((phba->pport->port_state < LPFC_FLOGI) &&
phba             5493 drivers/scsi/lpfc/lpfc_init.c 		(phba->pport->port_state != LPFC_VPORT_FAILED))
phba             5496 drivers/scsi/lpfc/lpfc_init.c 	if ((vport != phba->pport) && (vport->port_state < LPFC_FDISC)
phba             5519 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_perform_all_vport_cvl(struct lpfc_hba *phba)
phba             5524 drivers/scsi/lpfc/lpfc_init.c 	vports = lpfc_create_vport_work_array(phba);
phba             5526 drivers/scsi/lpfc/lpfc_init.c 		for (i = 0; i <= phba->max_vports && vports[i] != NULL; i++)
phba             5528 drivers/scsi/lpfc/lpfc_init.c 	lpfc_destroy_vport_work_array(phba, vports);
phba             5539 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_async_fip_evt(struct lpfc_hba *phba,
phba             5551 drivers/scsi/lpfc/lpfc_init.c 	phba->fc_eventTag = acqe_fip->event_tag;
phba             5552 drivers/scsi/lpfc/lpfc_init.c 	phba->fcoe_eventtag = acqe_fip->event_tag;
phba             5557 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_ERR, LOG_FIP |
phba             5564 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_WARNING, LOG_FIP |
phba             5570 drivers/scsi/lpfc/lpfc_init.c 		if (phba->fcf.fcf_flag & FCF_DISCOVERY) {
phba             5576 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_INFO, LOG_FIP |
phba             5581 drivers/scsi/lpfc/lpfc_init.c 			rc = lpfc_sli4_read_fcf_rec(phba, acqe_fip->index);
phba             5585 drivers/scsi/lpfc/lpfc_init.c 		spin_lock_irq(&phba->hbalock);
phba             5586 drivers/scsi/lpfc/lpfc_init.c 		if (phba->hba_flag & FCF_TS_INPROG) {
phba             5587 drivers/scsi/lpfc/lpfc_init.c 			spin_unlock_irq(&phba->hbalock);
phba             5591 drivers/scsi/lpfc/lpfc_init.c 		if (phba->fcf.fcf_flag & (FCF_REDISC_EVT | FCF_REDISC_PEND)) {
phba             5592 drivers/scsi/lpfc/lpfc_init.c 			spin_unlock_irq(&phba->hbalock);
phba             5597 drivers/scsi/lpfc/lpfc_init.c 		if (phba->fcf.fcf_flag & FCF_SCAN_DONE) {
phba             5598 drivers/scsi/lpfc/lpfc_init.c 			spin_unlock_irq(&phba->hbalock);
phba             5601 drivers/scsi/lpfc/lpfc_init.c 		spin_unlock_irq(&phba->hbalock);
phba             5604 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_INFO, LOG_FIP | LOG_DISCOVERY,
phba             5608 drivers/scsi/lpfc/lpfc_init.c 		rc = lpfc_sli4_fcf_scan_read_fcf_rec(phba,
phba             5611 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_ERR, LOG_FIP | LOG_DISCOVERY,
phba             5617 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             5624 drivers/scsi/lpfc/lpfc_init.c 		phba->fcoe_cvl_eventtag = acqe_fip->event_tag;
phba             5625 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_FIP | LOG_DISCOVERY,
phba             5632 drivers/scsi/lpfc/lpfc_init.c 		spin_lock_irq(&phba->hbalock);
phba             5633 drivers/scsi/lpfc/lpfc_init.c 		if ((phba->fcf.fcf_flag & FCF_DISCOVERY) &&
phba             5634 drivers/scsi/lpfc/lpfc_init.c 		    (phba->fcf.current_rec.fcf_indx != acqe_fip->index)) {
phba             5635 drivers/scsi/lpfc/lpfc_init.c 			spin_unlock_irq(&phba->hbalock);
phba             5637 drivers/scsi/lpfc/lpfc_init.c 			lpfc_sli4_fcf_rr_index_clear(phba, acqe_fip->index);
phba             5640 drivers/scsi/lpfc/lpfc_init.c 		spin_unlock_irq(&phba->hbalock);
phba             5643 drivers/scsi/lpfc/lpfc_init.c 		if (phba->fcf.current_rec.fcf_indx != acqe_fip->index)
phba             5652 drivers/scsi/lpfc/lpfc_init.c 		spin_lock_irq(&phba->hbalock);
phba             5654 drivers/scsi/lpfc/lpfc_init.c 		phba->fcf.fcf_flag |= FCF_DEAD_DISC;
phba             5655 drivers/scsi/lpfc/lpfc_init.c 		spin_unlock_irq(&phba->hbalock);
phba             5657 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_INFO, LOG_FIP | LOG_DISCOVERY,
phba             5661 drivers/scsi/lpfc/lpfc_init.c 		rc = lpfc_sli4_redisc_fcf_table(phba);
phba             5663 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_ERR, LOG_FIP |
phba             5668 drivers/scsi/lpfc/lpfc_init.c 			spin_lock_irq(&phba->hbalock);
phba             5669 drivers/scsi/lpfc/lpfc_init.c 			phba->fcf.fcf_flag &= ~FCF_DEAD_DISC;
phba             5670 drivers/scsi/lpfc/lpfc_init.c 			spin_unlock_irq(&phba->hbalock);
phba             5675 drivers/scsi/lpfc/lpfc_init.c 			lpfc_sli4_fcf_dead_failthrough(phba);
phba             5678 drivers/scsi/lpfc/lpfc_init.c 			lpfc_sli4_clear_fcf_rr_bmask(phba);
phba             5683 drivers/scsi/lpfc/lpfc_init.c 			lpfc_sli4_perform_all_vport_cvl(phba);
phba             5687 drivers/scsi/lpfc/lpfc_init.c 		phba->fcoe_cvl_eventtag = acqe_fip->event_tag;
phba             5688 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_FIP | LOG_DISCOVERY,
phba             5692 drivers/scsi/lpfc/lpfc_init.c 		vport = lpfc_find_vport_by_vpid(phba,
phba             5699 drivers/scsi/lpfc/lpfc_init.c 		vports = lpfc_create_vport_work_array(phba);
phba             5701 drivers/scsi/lpfc/lpfc_init.c 			for (i = 0; i <= phba->max_vports && vports[i] != NULL;
phba             5710 drivers/scsi/lpfc/lpfc_init.c 			lpfc_destroy_vport_work_array(phba, vports);
phba             5740 drivers/scsi/lpfc/lpfc_init.c 			spin_lock_irq(&phba->hbalock);
phba             5741 drivers/scsi/lpfc/lpfc_init.c 			if (phba->fcf.fcf_flag & FCF_DISCOVERY) {
phba             5742 drivers/scsi/lpfc/lpfc_init.c 				spin_unlock_irq(&phba->hbalock);
phba             5746 drivers/scsi/lpfc/lpfc_init.c 			phba->fcf.fcf_flag |= FCF_ACVL_DISC;
phba             5747 drivers/scsi/lpfc/lpfc_init.c 			spin_unlock_irq(&phba->hbalock);
phba             5748 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_INFO, LOG_FIP |
phba             5752 drivers/scsi/lpfc/lpfc_init.c 			rc = lpfc_sli4_redisc_fcf_table(phba);
phba             5754 drivers/scsi/lpfc/lpfc_init.c 				lpfc_printf_log(phba, KERN_ERR, LOG_FIP |
phba             5759 drivers/scsi/lpfc/lpfc_init.c 				spin_lock_irq(&phba->hbalock);
phba             5760 drivers/scsi/lpfc/lpfc_init.c 				phba->fcf.fcf_flag &= ~FCF_ACVL_DISC;
phba             5761 drivers/scsi/lpfc/lpfc_init.c 				spin_unlock_irq(&phba->hbalock);
phba             5766 drivers/scsi/lpfc/lpfc_init.c 				lpfc_retry_pport_discovery(phba);
phba             5772 drivers/scsi/lpfc/lpfc_init.c 				lpfc_sli4_clear_fcf_rr_bmask(phba);
phba             5776 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             5791 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_async_dcbx_evt(struct lpfc_hba *phba,
phba             5794 drivers/scsi/lpfc/lpfc_init.c 	phba->fc_eventTag = acqe_dcbx->event_tag;
phba             5795 drivers/scsi/lpfc/lpfc_init.c 	lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             5810 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_async_grp5_evt(struct lpfc_hba *phba,
phba             5815 drivers/scsi/lpfc/lpfc_init.c 	phba->fc_eventTag = acqe_grp5->event_tag;
phba             5816 drivers/scsi/lpfc/lpfc_init.c 	phba->fcoe_eventtag = acqe_grp5->event_tag;
phba             5817 drivers/scsi/lpfc/lpfc_init.c 	prev_ll_spd = phba->sli4_hba.link_state.logical_speed;
phba             5818 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.link_state.logical_speed =
phba             5820 drivers/scsi/lpfc/lpfc_init.c 	lpfc_printf_log(phba, KERN_INFO, LOG_SLI,
phba             5823 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.link_state.logical_speed);
phba             5833 drivers/scsi/lpfc/lpfc_init.c void lpfc_sli4_async_event_proc(struct lpfc_hba *phba)
phba             5838 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_irq(&phba->hbalock);
phba             5839 drivers/scsi/lpfc/lpfc_init.c 	phba->hba_flag &= ~ASYNC_EVENT;
phba             5840 drivers/scsi/lpfc/lpfc_init.c 	spin_unlock_irq(&phba->hbalock);
phba             5842 drivers/scsi/lpfc/lpfc_init.c 	while (!list_empty(&phba->sli4_hba.sp_asynce_work_queue)) {
phba             5844 drivers/scsi/lpfc/lpfc_init.c 		spin_lock_irq(&phba->hbalock);
phba             5845 drivers/scsi/lpfc/lpfc_init.c 		list_remove_head(&phba->sli4_hba.sp_asynce_work_queue,
phba             5847 drivers/scsi/lpfc/lpfc_init.c 		spin_unlock_irq(&phba->hbalock);
phba             5851 drivers/scsi/lpfc/lpfc_init.c 			lpfc_sli4_async_link_evt(phba,
phba             5855 drivers/scsi/lpfc/lpfc_init.c 			lpfc_sli4_async_fip_evt(phba, &cq_event->cqe.acqe_fip);
phba             5858 drivers/scsi/lpfc/lpfc_init.c 			lpfc_sli4_async_dcbx_evt(phba,
phba             5862 drivers/scsi/lpfc/lpfc_init.c 			lpfc_sli4_async_grp5_evt(phba,
phba             5866 drivers/scsi/lpfc/lpfc_init.c 			lpfc_sli4_async_fc_evt(phba, &cq_event->cqe.acqe_fc);
phba             5869 drivers/scsi/lpfc/lpfc_init.c 			lpfc_sli4_async_sli_evt(phba, &cq_event->cqe.acqe_sli);
phba             5872 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             5879 drivers/scsi/lpfc/lpfc_init.c 		lpfc_sli4_cq_event_release(phba, cq_event);
phba             5890 drivers/scsi/lpfc/lpfc_init.c void lpfc_sli4_fcf_redisc_event_proc(struct lpfc_hba *phba)
phba             5894 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_irq(&phba->hbalock);
phba             5896 drivers/scsi/lpfc/lpfc_init.c 	phba->fcf.fcf_flag &= ~FCF_REDISC_EVT;
phba             5898 drivers/scsi/lpfc/lpfc_init.c 	phba->fcf.failover_rec.flag = 0;
phba             5900 drivers/scsi/lpfc/lpfc_init.c 	phba->fcf.fcf_flag |= FCF_REDISC_FOV;
phba             5901 drivers/scsi/lpfc/lpfc_init.c 	spin_unlock_irq(&phba->hbalock);
phba             5904 drivers/scsi/lpfc/lpfc_init.c 	lpfc_printf_log(phba, KERN_INFO, LOG_FIP | LOG_DISCOVERY,
phba             5906 drivers/scsi/lpfc/lpfc_init.c 	rc = lpfc_sli4_fcf_scan_read_fcf_rec(phba, LPFC_FCOE_FCF_GET_FIRST);
phba             5908 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_FIP | LOG_DISCOVERY,
phba             5924 drivers/scsi/lpfc/lpfc_init.c lpfc_api_table_setup(struct lpfc_hba *phba, uint8_t dev_grp)
phba             5929 drivers/scsi/lpfc/lpfc_init.c 	phba->pci_dev_grp = dev_grp;
phba             5933 drivers/scsi/lpfc/lpfc_init.c 		phba->sli_rev = LPFC_SLI_REV4;
phba             5936 drivers/scsi/lpfc/lpfc_init.c 	rc = lpfc_init_api_table_setup(phba, dev_grp);
phba             5940 drivers/scsi/lpfc/lpfc_init.c 	rc = lpfc_scsi_api_table_setup(phba, dev_grp);
phba             5944 drivers/scsi/lpfc/lpfc_init.c 	rc = lpfc_sli_api_table_setup(phba, dev_grp);
phba             5948 drivers/scsi/lpfc/lpfc_init.c 	rc = lpfc_mbox_api_table_setup(phba, dev_grp);
phba             5963 drivers/scsi/lpfc/lpfc_init.c static void lpfc_log_intr_mode(struct lpfc_hba *phba, uint32_t intr_mode)
phba             5967 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             5971 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             5975 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             5979 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             5998 drivers/scsi/lpfc/lpfc_init.c lpfc_enable_pci_dev(struct lpfc_hba *phba)
phba             6003 drivers/scsi/lpfc/lpfc_init.c 	if (!phba->pcidev)
phba             6006 drivers/scsi/lpfc/lpfc_init.c 		pdev = phba->pcidev;
phba             6027 drivers/scsi/lpfc/lpfc_init.c 	lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             6040 drivers/scsi/lpfc/lpfc_init.c lpfc_disable_pci_dev(struct lpfc_hba *phba)
phba             6045 drivers/scsi/lpfc/lpfc_init.c 	if (!phba->pcidev)
phba             6048 drivers/scsi/lpfc/lpfc_init.c 		pdev = phba->pcidev;
phba             6066 drivers/scsi/lpfc/lpfc_init.c lpfc_reset_hba(struct lpfc_hba *phba)
phba             6069 drivers/scsi/lpfc/lpfc_init.c 	if (!phba->cfg_enable_hba_reset) {
phba             6070 drivers/scsi/lpfc/lpfc_init.c 		phba->link_state = LPFC_HBA_ERROR;
phba             6073 drivers/scsi/lpfc/lpfc_init.c 	if (phba->sli.sli_flag & LPFC_SLI_ACTIVE)
phba             6074 drivers/scsi/lpfc/lpfc_init.c 		lpfc_offline_prep(phba, LPFC_MBX_WAIT);
phba             6076 drivers/scsi/lpfc/lpfc_init.c 		lpfc_offline_prep(phba, LPFC_MBX_NO_WAIT);
phba             6077 drivers/scsi/lpfc/lpfc_init.c 	lpfc_offline(phba);
phba             6078 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli_brdrestart(phba);
phba             6079 drivers/scsi/lpfc/lpfc_init.c 	lpfc_online(phba);
phba             6080 drivers/scsi/lpfc/lpfc_init.c 	lpfc_unblock_mgmt_io(phba);
phba             6094 drivers/scsi/lpfc/lpfc_init.c lpfc_sli_sriov_nr_virtfn_get(struct lpfc_hba *phba)
phba             6096 drivers/scsi/lpfc/lpfc_init.c 	struct pci_dev *pdev = phba->pcidev;
phba             6120 drivers/scsi/lpfc/lpfc_init.c lpfc_sli_probe_sriov_nr_virtfn(struct lpfc_hba *phba, int nr_vfn)
phba             6122 drivers/scsi/lpfc/lpfc_init.c 	struct pci_dev *pdev = phba->pcidev;
phba             6126 drivers/scsi/lpfc/lpfc_init.c 	max_nr_vfn = lpfc_sli_sriov_nr_virtfn_get(phba);
phba             6128 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             6136 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_INIT,
phba             6141 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_INIT,
phba             6159 drivers/scsi/lpfc/lpfc_init.c lpfc_setup_driver_resource_phase1(struct lpfc_hba *phba)
phba             6161 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_sli *psli = &phba->sli;
phba             6166 drivers/scsi/lpfc/lpfc_init.c 	atomic_set(&phba->fast_event_count, 0);
phba             6167 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_init(&phba->hbalock);
phba             6170 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_init(&phba->ndlp_lock);
phba             6173 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_init(&phba->port_list_lock);
phba             6174 drivers/scsi/lpfc/lpfc_init.c 	INIT_LIST_HEAD(&phba->port_list);
phba             6176 drivers/scsi/lpfc/lpfc_init.c 	INIT_LIST_HEAD(&phba->work_list);
phba             6177 drivers/scsi/lpfc/lpfc_init.c 	init_waitqueue_head(&phba->wait_4_mlo_m_q);
phba             6180 drivers/scsi/lpfc/lpfc_init.c 	init_waitqueue_head(&phba->work_waitq);
phba             6182 drivers/scsi/lpfc/lpfc_init.c 	lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             6184 drivers/scsi/lpfc/lpfc_init.c 			((phba->cfg_enable_fc4_type & LPFC_ENABLE_FCP) ?
phba             6186 drivers/scsi/lpfc/lpfc_init.c 			((phba->cfg_enable_fc4_type & LPFC_ENABLE_NVME) ?
phba             6188 drivers/scsi/lpfc/lpfc_init.c 			(phba->nvmet_support ? "NVMET" : " "));
phba             6191 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_init(&phba->scsi_buf_list_get_lock);
phba             6192 drivers/scsi/lpfc/lpfc_init.c 	INIT_LIST_HEAD(&phba->lpfc_scsi_buf_list_get);
phba             6193 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_init(&phba->scsi_buf_list_put_lock);
phba             6194 drivers/scsi/lpfc/lpfc_init.c 	INIT_LIST_HEAD(&phba->lpfc_scsi_buf_list_put);
phba             6197 drivers/scsi/lpfc/lpfc_init.c 	INIT_LIST_HEAD(&phba->fabric_iocb_list);
phba             6200 drivers/scsi/lpfc/lpfc_init.c 	INIT_LIST_HEAD(&phba->elsbuf);
phba             6203 drivers/scsi/lpfc/lpfc_init.c 	INIT_LIST_HEAD(&phba->fcf_conn_rec_list);
phba             6206 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_init(&phba->devicelock);
phba             6207 drivers/scsi/lpfc/lpfc_init.c 	INIT_LIST_HEAD(&phba->luns);
phba             6212 drivers/scsi/lpfc/lpfc_init.c 	timer_setup(&phba->fabric_block_timer, lpfc_fabric_block_timeout, 0);
phba             6214 drivers/scsi/lpfc/lpfc_init.c 	timer_setup(&phba->eratt_poll, lpfc_poll_eratt, 0);
phba             6216 drivers/scsi/lpfc/lpfc_init.c 	timer_setup(&phba->hb_tmofunc, lpfc_hb_timeout, 0);
phba             6218 drivers/scsi/lpfc/lpfc_init.c 	INIT_DELAYED_WORK(&phba->eq_delay_work, lpfc_hb_eq_delay_work);
phba             6235 drivers/scsi/lpfc/lpfc_init.c lpfc_sli_driver_resource_setup(struct lpfc_hba *phba)
phba             6244 drivers/scsi/lpfc/lpfc_init.c 	timer_setup(&phba->fcp_poll_timer, lpfc_poll_timeout, 0);
phba             6247 drivers/scsi/lpfc/lpfc_init.c 	phba->work_ha_mask = (HA_ERATT | HA_MBATT | HA_LATT);
phba             6248 drivers/scsi/lpfc/lpfc_init.c 	phba->work_ha_mask |= (HA_RXMASK << (LPFC_ELS_RING * 4));
phba             6251 drivers/scsi/lpfc/lpfc_init.c 	lpfc_get_cfgparam(phba);
phba             6254 drivers/scsi/lpfc/lpfc_init.c 	rc = lpfc_setup_driver_resource_phase1(phba);
phba             6258 drivers/scsi/lpfc/lpfc_init.c 	if (phba->pcidev->device == PCI_DEVICE_ID_HORNET) {
phba             6259 drivers/scsi/lpfc/lpfc_init.c 		phba->menlo_flag |= HBA_MENLO_SUPPORT;
phba             6261 drivers/scsi/lpfc/lpfc_init.c 		if (phba->cfg_sg_seg_cnt < LPFC_DEFAULT_MENLO_SG_SEG_CNT)
phba             6262 drivers/scsi/lpfc/lpfc_init.c 			phba->cfg_sg_seg_cnt = LPFC_DEFAULT_MENLO_SG_SEG_CNT;
phba             6265 drivers/scsi/lpfc/lpfc_init.c 	if (!phba->sli.sli3_ring)
phba             6266 drivers/scsi/lpfc/lpfc_init.c 		phba->sli.sli3_ring = kcalloc(LPFC_SLI3_MAX_RING,
phba             6269 drivers/scsi/lpfc/lpfc_init.c 	if (!phba->sli.sli3_ring)
phba             6278 drivers/scsi/lpfc/lpfc_init.c 	lpfc_vport_template.sg_tablesize = phba->cfg_sg_seg_cnt;
phba             6279 drivers/scsi/lpfc/lpfc_init.c 	lpfc_template_no_hr.sg_tablesize = phba->cfg_sg_seg_cnt;
phba             6280 drivers/scsi/lpfc/lpfc_init.c 	lpfc_template.sg_tablesize = phba->cfg_sg_seg_cnt;
phba             6282 drivers/scsi/lpfc/lpfc_init.c 	if (phba->sli_rev == LPFC_SLI_REV4)
phba             6288 drivers/scsi/lpfc/lpfc_init.c 	if (phba->cfg_enable_bg) {
phba             6298 drivers/scsi/lpfc/lpfc_init.c 		phba->cfg_sg_dma_buf_size = sizeof(struct fcp_cmnd) +
phba             6302 drivers/scsi/lpfc/lpfc_init.c 		if (phba->cfg_sg_seg_cnt > LPFC_MAX_SG_SEG_CNT_DIF)
phba             6303 drivers/scsi/lpfc/lpfc_init.c 			phba->cfg_sg_seg_cnt = LPFC_MAX_SG_SEG_CNT_DIF;
phba             6306 drivers/scsi/lpfc/lpfc_init.c 		phba->cfg_total_seg_cnt = LPFC_MAX_SG_SEG_CNT;
phba             6313 drivers/scsi/lpfc/lpfc_init.c 		phba->cfg_sg_dma_buf_size = sizeof(struct fcp_cmnd) +
phba             6315 drivers/scsi/lpfc/lpfc_init.c 			((phba->cfg_sg_seg_cnt + 2) * entry_sz);
phba             6318 drivers/scsi/lpfc/lpfc_init.c 		phba->cfg_total_seg_cnt = phba->cfg_sg_seg_cnt + 2;
phba             6321 drivers/scsi/lpfc/lpfc_init.c 	lpfc_printf_log(phba, KERN_INFO, LOG_INIT | LOG_FCP,
phba             6323 drivers/scsi/lpfc/lpfc_init.c 			phba->cfg_sg_seg_cnt, phba->cfg_sg_dma_buf_size,
phba             6324 drivers/scsi/lpfc/lpfc_init.c 			phba->cfg_total_seg_cnt);
phba             6326 drivers/scsi/lpfc/lpfc_init.c 	phba->max_vpi = LPFC_MAX_VPI;
phba             6328 drivers/scsi/lpfc/lpfc_init.c 	phba->max_vports = 0;
phba             6333 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli_setup(phba);
phba             6334 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli_queue_init(phba);
phba             6337 drivers/scsi/lpfc/lpfc_init.c 	if (lpfc_mem_alloc(phba, BPL_ALIGN_SZ))
phba             6340 drivers/scsi/lpfc/lpfc_init.c 	phba->lpfc_sg_dma_buf_pool =
phba             6342 drivers/scsi/lpfc/lpfc_init.c 				&phba->pcidev->dev, phba->cfg_sg_dma_buf_size,
phba             6345 drivers/scsi/lpfc/lpfc_init.c 	if (!phba->lpfc_sg_dma_buf_pool)
phba             6348 drivers/scsi/lpfc/lpfc_init.c 	phba->lpfc_cmd_rsp_buf_pool =
phba             6350 drivers/scsi/lpfc/lpfc_init.c 					&phba->pcidev->dev,
phba             6355 drivers/scsi/lpfc/lpfc_init.c 	if (!phba->lpfc_cmd_rsp_buf_pool)
phba             6362 drivers/scsi/lpfc/lpfc_init.c 	if (phba->cfg_sriov_nr_virtfn > 0) {
phba             6363 drivers/scsi/lpfc/lpfc_init.c 		rc = lpfc_sli_probe_sriov_nr_virtfn(phba,
phba             6364 drivers/scsi/lpfc/lpfc_init.c 						 phba->cfg_sriov_nr_virtfn);
phba             6366 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_WARNING, LOG_INIT,
phba             6370 drivers/scsi/lpfc/lpfc_init.c 					phba->cfg_sriov_nr_virtfn);
phba             6371 drivers/scsi/lpfc/lpfc_init.c 			phba->cfg_sriov_nr_virtfn = 0;
phba             6378 drivers/scsi/lpfc/lpfc_init.c 	dma_pool_destroy(phba->lpfc_sg_dma_buf_pool);
phba             6379 drivers/scsi/lpfc/lpfc_init.c 	phba->lpfc_sg_dma_buf_pool = NULL;
phba             6381 drivers/scsi/lpfc/lpfc_init.c 	lpfc_mem_free(phba);
phba             6393 drivers/scsi/lpfc/lpfc_init.c lpfc_sli_driver_resource_unset(struct lpfc_hba *phba)
phba             6396 drivers/scsi/lpfc/lpfc_init.c 	lpfc_mem_free_all(phba);
phba             6413 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_driver_resource_setup(struct lpfc_hba *phba)
phba             6426 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.num_present_cpu = lpfc_present_cpu;
phba             6427 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.num_possible_cpu = num_possible_cpus();
phba             6428 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.curr_disp_cpu = 0;
phba             6431 drivers/scsi/lpfc/lpfc_init.c 	lpfc_get_cfgparam(phba);
phba             6434 drivers/scsi/lpfc/lpfc_init.c 	rc = lpfc_setup_driver_resource_phase1(phba);
phba             6439 drivers/scsi/lpfc/lpfc_init.c 	rc = lpfc_sli4_post_status_check(phba);
phba             6446 drivers/scsi/lpfc/lpfc_init.c 	phba->wq = alloc_workqueue("lpfc_wq", WQ_MEM_RECLAIM, 0);
phba             6452 drivers/scsi/lpfc/lpfc_init.c 	timer_setup(&phba->rrq_tmr, lpfc_rrq_timeout, 0);
phba             6455 drivers/scsi/lpfc/lpfc_init.c 	timer_setup(&phba->fcf.redisc_wait, lpfc_sli4_fcf_redisc_wait_tmo, 0);
phba             6461 drivers/scsi/lpfc/lpfc_init.c 	memset((uint8_t *)&phba->mbox_ext_buf_ctx, 0,
phba             6463 drivers/scsi/lpfc/lpfc_init.c 	INIT_LIST_HEAD(&phba->mbox_ext_buf_ctx.ext_dmabuf_list);
phba             6465 drivers/scsi/lpfc/lpfc_init.c 	phba->max_vpi = LPFC_MAX_VPI;
phba             6468 drivers/scsi/lpfc/lpfc_init.c 	phba->max_vports = 0;
phba             6471 drivers/scsi/lpfc/lpfc_init.c 	phba->valid_vlan = 0;
phba             6472 drivers/scsi/lpfc/lpfc_init.c 	phba->fc_map[0] = LPFC_FCOE_FCF_MAP0;
phba             6473 drivers/scsi/lpfc/lpfc_init.c 	phba->fc_map[1] = LPFC_FCOE_FCF_MAP1;
phba             6474 drivers/scsi/lpfc/lpfc_init.c 	phba->fc_map[2] = LPFC_FCOE_FCF_MAP2;
phba             6483 drivers/scsi/lpfc/lpfc_init.c 	INIT_LIST_HEAD(&phba->hbqs[LPFC_ELS_HBQ].hbq_buffer_list);
phba             6484 drivers/scsi/lpfc/lpfc_init.c 	phba->hbqs[LPFC_ELS_HBQ].hbq_alloc_buffer = lpfc_sli4_rb_alloc;
phba             6485 drivers/scsi/lpfc/lpfc_init.c 	phba->hbqs[LPFC_ELS_HBQ].hbq_free_buffer = lpfc_sli4_rb_free;
phba             6491 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_init(&phba->sli4_hba.abts_io_buf_list_lock);
phba             6492 drivers/scsi/lpfc/lpfc_init.c 	INIT_LIST_HEAD(&phba->sli4_hba.lpfc_abts_io_buf_list);
phba             6494 drivers/scsi/lpfc/lpfc_init.c 	if (phba->cfg_enable_fc4_type & LPFC_ENABLE_NVME) {
phba             6496 drivers/scsi/lpfc/lpfc_init.c 		spin_lock_init(&phba->sli4_hba.abts_nvmet_buf_list_lock);
phba             6497 drivers/scsi/lpfc/lpfc_init.c 		INIT_LIST_HEAD(&phba->sli4_hba.lpfc_abts_nvmet_ctx_list);
phba             6498 drivers/scsi/lpfc/lpfc_init.c 		INIT_LIST_HEAD(&phba->sli4_hba.lpfc_nvmet_io_wait_list);
phba             6499 drivers/scsi/lpfc/lpfc_init.c 		spin_lock_init(&phba->sli4_hba.t_active_list_lock);
phba             6500 drivers/scsi/lpfc/lpfc_init.c 		INIT_LIST_HEAD(&phba->sli4_hba.t_active_ctx_list);
phba             6504 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_init(&phba->sli4_hba.sgl_list_lock);
phba             6505 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_init(&phba->sli4_hba.nvmet_io_wait_lock);
phba             6512 drivers/scsi/lpfc/lpfc_init.c 	INIT_LIST_HEAD(&phba->sli4_hba.sp_cqe_event_pool);
phba             6514 drivers/scsi/lpfc/lpfc_init.c 	INIT_LIST_HEAD(&phba->sli4_hba.sp_queue_event);
phba             6516 drivers/scsi/lpfc/lpfc_init.c 	INIT_LIST_HEAD(&phba->sli4_hba.sp_asynce_work_queue);
phba             6518 drivers/scsi/lpfc/lpfc_init.c 	INIT_LIST_HEAD(&phba->sli4_hba.sp_fcp_xri_aborted_work_queue);
phba             6520 drivers/scsi/lpfc/lpfc_init.c 	INIT_LIST_HEAD(&phba->sli4_hba.sp_els_xri_aborted_work_queue);
phba             6522 drivers/scsi/lpfc/lpfc_init.c 	INIT_LIST_HEAD(&phba->sli4_hba.sp_unsol_work_queue);
phba             6525 drivers/scsi/lpfc/lpfc_init.c 	INIT_LIST_HEAD(&phba->sli4_hba.lpfc_rpi_blk_list);
phba             6526 drivers/scsi/lpfc/lpfc_init.c 	INIT_LIST_HEAD(&phba->sli4_hba.lpfc_xri_blk_list);
phba             6527 drivers/scsi/lpfc/lpfc_init.c 	INIT_LIST_HEAD(&phba->sli4_hba.lpfc_vfi_blk_list);
phba             6528 drivers/scsi/lpfc/lpfc_init.c 	INIT_LIST_HEAD(&phba->lpfc_vpi_blk_list);
phba             6533 drivers/scsi/lpfc/lpfc_init.c 	INIT_LIST_HEAD(&phba->sli.mboxq);
phba             6534 drivers/scsi/lpfc/lpfc_init.c 	INIT_LIST_HEAD(&phba->sli.mboxq_cmpl);
phba             6537 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.lnk_info.optic_state = 0xff;
phba             6540 drivers/scsi/lpfc/lpfc_init.c 	rc = lpfc_mem_alloc(phba, SGL_ALIGN_SZ);
phba             6545 drivers/scsi/lpfc/lpfc_init.c 	if (bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) >=
phba             6547 drivers/scsi/lpfc/lpfc_init.c 		rc = lpfc_pci_function_reset(phba);
phba             6552 drivers/scsi/lpfc/lpfc_init.c 		phba->temp_sensor_support = 1;
phba             6556 drivers/scsi/lpfc/lpfc_init.c 	rc = lpfc_create_bootstrap_mbox(phba);
phba             6561 drivers/scsi/lpfc/lpfc_init.c 	rc = lpfc_setup_endian_order(phba);
phba             6566 drivers/scsi/lpfc/lpfc_init.c 	rc = lpfc_sli4_read_config(phba);
phba             6569 drivers/scsi/lpfc/lpfc_init.c 	rc = lpfc_mem_alloc_active_rrq_pool_s4(phba);
phba             6574 drivers/scsi/lpfc/lpfc_init.c 	if (bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) ==
phba             6576 drivers/scsi/lpfc/lpfc_init.c 		rc = lpfc_pci_function_reset(phba);
phba             6581 drivers/scsi/lpfc/lpfc_init.c 	mboxq = (LPFC_MBOXQ_t *) mempool_alloc(phba->mbox_mem_pool,
phba             6589 drivers/scsi/lpfc/lpfc_init.c 	phba->nvmet_support = 0;
phba             6593 drivers/scsi/lpfc/lpfc_init.c 		lpfc_read_nv(phba, mboxq);
phba             6594 drivers/scsi/lpfc/lpfc_init.c 		rc = lpfc_sli_issue_mbox(phba, mboxq, MBX_POLL);
phba             6596 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             6601 drivers/scsi/lpfc/lpfc_init.c 			mempool_free(mboxq, phba->mbox_mem_pool);
phba             6609 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.wwnn.u.name = wwn;
phba             6614 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.wwpn.u.name = wwn;
phba             6620 drivers/scsi/lpfc/lpfc_init.c 				if (lpfc_nvmet_mem_alloc(phba))
phba             6623 drivers/scsi/lpfc/lpfc_init.c 				phba->nvmet_support = 1; /* a match */
phba             6625 drivers/scsi/lpfc/lpfc_init.c 				lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             6629 drivers/scsi/lpfc/lpfc_init.c 				lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             6635 drivers/scsi/lpfc/lpfc_init.c 				phba->cfg_xri_rebalancing = 0;
phba             6641 drivers/scsi/lpfc/lpfc_init.c 	lpfc_nvme_mod_param_dep(phba);
phba             6645 drivers/scsi/lpfc/lpfc_init.c 	rc = lpfc_sli_issue_mbox(phba, mboxq, MBX_POLL);
phba             6653 drivers/scsi/lpfc/lpfc_init.c 				phba->sli4_hba.pc_sli4_params.supported = 1;
phba             6660 drivers/scsi/lpfc/lpfc_init.c 		if (phba->sli4_hba.pc_sli4_params.supported)
phba             6661 drivers/scsi/lpfc/lpfc_init.c 			rc = lpfc_pc_sli4_params_get(phba, mboxq);
phba             6663 drivers/scsi/lpfc/lpfc_init.c 			mempool_free(mboxq, phba->mbox_mem_pool);
phba             6674 drivers/scsi/lpfc/lpfc_init.c 	rc = lpfc_get_sli4_parameters(phba, mboxq);
phba             6677 drivers/scsi/lpfc/lpfc_init.c 				 &phba->sli4_hba.sli_intf);
phba             6679 drivers/scsi/lpfc/lpfc_init.c 				&phba->sli4_hba.sli_intf);
phba             6680 drivers/scsi/lpfc/lpfc_init.c 		if (phba->sli4_hba.extents_in_use &&
phba             6681 drivers/scsi/lpfc/lpfc_init.c 		    phba->sli4_hba.rpi_hdrs_in_use) {
phba             6682 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             6687 drivers/scsi/lpfc/lpfc_init.c 				mempool_free(mboxq, phba->mbox_mem_pool);
phba             6694 drivers/scsi/lpfc/lpfc_init.c 			mempool_free(mboxq, phba->mbox_mem_pool);
phba             6705 drivers/scsi/lpfc/lpfc_init.c 	if (phba->cfg_enable_fc4_type & LPFC_ENABLE_NVME)
phba             6719 drivers/scsi/lpfc/lpfc_init.c 	if (phba->sli3_options & LPFC_SLI3_BG_ENABLED) {
phba             6731 drivers/scsi/lpfc/lpfc_init.c 		phba->cfg_sg_dma_buf_size = sizeof(struct fcp_cmnd) +
phba             6735 drivers/scsi/lpfc/lpfc_init.c 		phba->cfg_total_seg_cnt = LPFC_MAX_SGL_SEG_CNT;
phba             6741 drivers/scsi/lpfc/lpfc_init.c 		if (phba->cfg_enable_bg &&
phba             6742 drivers/scsi/lpfc/lpfc_init.c 		    phba->cfg_sg_seg_cnt > LPFC_MAX_BG_SLI4_SEG_CNT_DIF)
phba             6743 drivers/scsi/lpfc/lpfc_init.c 			phba->cfg_scsi_seg_cnt = LPFC_MAX_BG_SLI4_SEG_CNT_DIF;
phba             6745 drivers/scsi/lpfc/lpfc_init.c 			phba->cfg_scsi_seg_cnt = phba->cfg_sg_seg_cnt;
phba             6753 drivers/scsi/lpfc/lpfc_init.c 		phba->cfg_sg_dma_buf_size = sizeof(struct fcp_cmnd) +
phba             6755 drivers/scsi/lpfc/lpfc_init.c 				((phba->cfg_sg_seg_cnt + extra) *
phba             6759 drivers/scsi/lpfc/lpfc_init.c 		phba->cfg_total_seg_cnt = phba->cfg_sg_seg_cnt + extra;
phba             6760 drivers/scsi/lpfc/lpfc_init.c 		phba->cfg_scsi_seg_cnt = phba->cfg_sg_seg_cnt;
phba             6768 drivers/scsi/lpfc/lpfc_init.c 	if (phba->cfg_xpsgl && !phba->nvmet_support)
phba             6769 drivers/scsi/lpfc/lpfc_init.c 		phba->cfg_sg_dma_buf_size = LPFC_DEFAULT_XPSGL_SIZE;
phba             6770 drivers/scsi/lpfc/lpfc_init.c 	else if (phba->cfg_sg_dma_buf_size  <= LPFC_MIN_SG_SLI4_BUF_SZ)
phba             6771 drivers/scsi/lpfc/lpfc_init.c 		phba->cfg_sg_dma_buf_size = LPFC_MIN_SG_SLI4_BUF_SZ;
phba             6773 drivers/scsi/lpfc/lpfc_init.c 		phba->cfg_sg_dma_buf_size =
phba             6774 drivers/scsi/lpfc/lpfc_init.c 				SLI4_PAGE_ALIGN(phba->cfg_sg_dma_buf_size);
phba             6776 drivers/scsi/lpfc/lpfc_init.c 	phba->border_sge_num = phba->cfg_sg_dma_buf_size /
phba             6780 drivers/scsi/lpfc/lpfc_init.c 	if (phba->cfg_enable_fc4_type & LPFC_ENABLE_NVME) {
phba             6781 drivers/scsi/lpfc/lpfc_init.c 		if (phba->cfg_sg_seg_cnt > LPFC_MAX_NVME_SEG_CNT) {
phba             6782 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_INFO, LOG_NVME | LOG_INIT,
phba             6786 drivers/scsi/lpfc/lpfc_init.c 			phba->cfg_nvme_seg_cnt = LPFC_MAX_NVME_SEG_CNT;
phba             6788 drivers/scsi/lpfc/lpfc_init.c 			phba->cfg_nvme_seg_cnt = phba->cfg_sg_seg_cnt;
phba             6792 drivers/scsi/lpfc/lpfc_init.c 	lpfc_vport_template.sg_tablesize = phba->cfg_scsi_seg_cnt;
phba             6793 drivers/scsi/lpfc/lpfc_init.c 	lpfc_template.sg_tablesize = phba->cfg_scsi_seg_cnt;
phba             6794 drivers/scsi/lpfc/lpfc_init.c 	lpfc_template_no_hr.sg_tablesize = phba->cfg_scsi_seg_cnt;
phba             6796 drivers/scsi/lpfc/lpfc_init.c 	lpfc_printf_log(phba, KERN_INFO, LOG_INIT | LOG_FCP,
phba             6799 drivers/scsi/lpfc/lpfc_init.c 			phba->cfg_sg_seg_cnt, phba->cfg_sg_dma_buf_size,
phba             6800 drivers/scsi/lpfc/lpfc_init.c 			phba->cfg_total_seg_cnt,  phba->cfg_scsi_seg_cnt,
phba             6801 drivers/scsi/lpfc/lpfc_init.c 			phba->cfg_nvme_seg_cnt);
phba             6803 drivers/scsi/lpfc/lpfc_init.c 	if (phba->cfg_sg_dma_buf_size < SLI4_PAGE_SIZE)
phba             6804 drivers/scsi/lpfc/lpfc_init.c 		i = phba->cfg_sg_dma_buf_size;
phba             6808 drivers/scsi/lpfc/lpfc_init.c 	phba->lpfc_sg_dma_buf_pool =
phba             6810 drivers/scsi/lpfc/lpfc_init.c 					&phba->pcidev->dev,
phba             6811 drivers/scsi/lpfc/lpfc_init.c 					phba->cfg_sg_dma_buf_size,
phba             6813 drivers/scsi/lpfc/lpfc_init.c 	if (!phba->lpfc_sg_dma_buf_pool)
phba             6816 drivers/scsi/lpfc/lpfc_init.c 	phba->lpfc_cmd_rsp_buf_pool =
phba             6818 drivers/scsi/lpfc/lpfc_init.c 					&phba->pcidev->dev,
phba             6822 drivers/scsi/lpfc/lpfc_init.c 	if (!phba->lpfc_cmd_rsp_buf_pool)
phba             6825 drivers/scsi/lpfc/lpfc_init.c 	mempool_free(mboxq, phba->mbox_mem_pool);
phba             6828 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli4_oas_verify(phba);
phba             6831 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli4_ras_init(phba);
phba             6834 drivers/scsi/lpfc/lpfc_init.c 	rc = lpfc_sli4_queue_verify(phba);
phba             6839 drivers/scsi/lpfc/lpfc_init.c 	rc = lpfc_sli4_cq_event_pool_create(phba);
phba             6844 drivers/scsi/lpfc/lpfc_init.c 	lpfc_init_sgl_list(phba);
phba             6847 drivers/scsi/lpfc/lpfc_init.c 	rc = lpfc_init_active_sgl_array(phba);
phba             6849 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             6853 drivers/scsi/lpfc/lpfc_init.c 	rc = lpfc_sli4_init_rpi_hdrs(phba);
phba             6855 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             6862 drivers/scsi/lpfc/lpfc_init.c 	phba->fcf.fcf_rr_bmask = kcalloc(longs, sizeof(unsigned long),
phba             6864 drivers/scsi/lpfc/lpfc_init.c 	if (!phba->fcf.fcf_rr_bmask) {
phba             6865 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             6872 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.hba_eq_hdl = kcalloc(phba->cfg_irq_chann,
phba             6875 drivers/scsi/lpfc/lpfc_init.c 	if (!phba->sli4_hba.hba_eq_hdl) {
phba             6876 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             6883 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.cpu_map = kcalloc(phba->sli4_hba.num_possible_cpu,
phba             6886 drivers/scsi/lpfc/lpfc_init.c 	if (!phba->sli4_hba.cpu_map) {
phba             6887 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             6894 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.eq_info = alloc_percpu(struct lpfc_eq_intr_info);
phba             6895 drivers/scsi/lpfc/lpfc_init.c 	if (!phba->sli4_hba.eq_info) {
phba             6896 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             6905 drivers/scsi/lpfc/lpfc_init.c 	if (phba->cfg_sriov_nr_virtfn > 0) {
phba             6906 drivers/scsi/lpfc/lpfc_init.c 		rc = lpfc_sli_probe_sriov_nr_virtfn(phba,
phba             6907 drivers/scsi/lpfc/lpfc_init.c 						 phba->cfg_sriov_nr_virtfn);
phba             6909 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_WARNING, LOG_INIT,
phba             6913 drivers/scsi/lpfc/lpfc_init.c 					phba->cfg_sriov_nr_virtfn);
phba             6914 drivers/scsi/lpfc/lpfc_init.c 			phba->cfg_sriov_nr_virtfn = 0;
phba             6921 drivers/scsi/lpfc/lpfc_init.c 	kfree(phba->sli4_hba.cpu_map);
phba             6923 drivers/scsi/lpfc/lpfc_init.c 	kfree(phba->sli4_hba.hba_eq_hdl);
phba             6925 drivers/scsi/lpfc/lpfc_init.c 	kfree(phba->fcf.fcf_rr_bmask);
phba             6927 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli4_remove_rpi_hdrs(phba);
phba             6929 drivers/scsi/lpfc/lpfc_init.c 	lpfc_free_active_sgl(phba);
phba             6931 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli4_cq_event_pool_destroy(phba);
phba             6933 drivers/scsi/lpfc/lpfc_init.c 	dma_pool_destroy(phba->lpfc_cmd_rsp_buf_pool);
phba             6934 drivers/scsi/lpfc/lpfc_init.c 	phba->lpfc_cmd_rsp_buf_pool = NULL;
phba             6936 drivers/scsi/lpfc/lpfc_init.c 	dma_pool_destroy(phba->lpfc_sg_dma_buf_pool);
phba             6937 drivers/scsi/lpfc/lpfc_init.c 	phba->lpfc_sg_dma_buf_pool = NULL;
phba             6939 drivers/scsi/lpfc/lpfc_init.c 	lpfc_destroy_bootstrap_mbox(phba);
phba             6941 drivers/scsi/lpfc/lpfc_init.c 	lpfc_mem_free(phba);
phba             6953 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_driver_resource_unset(struct lpfc_hba *phba)
phba             6957 drivers/scsi/lpfc/lpfc_init.c 	free_percpu(phba->sli4_hba.eq_info);
phba             6960 drivers/scsi/lpfc/lpfc_init.c 	kfree(phba->sli4_hba.cpu_map);
phba             6961 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.num_possible_cpu = 0;
phba             6962 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.num_present_cpu = 0;
phba             6963 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.curr_disp_cpu = 0;
phba             6966 drivers/scsi/lpfc/lpfc_init.c 	kfree(phba->sli4_hba.hba_eq_hdl);
phba             6969 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli4_remove_rpi_hdrs(phba);
phba             6970 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli4_remove_rpis(phba);
phba             6973 drivers/scsi/lpfc/lpfc_init.c 	kfree(phba->fcf.fcf_rr_bmask);
phba             6976 drivers/scsi/lpfc/lpfc_init.c 	lpfc_free_active_sgl(phba);
phba             6977 drivers/scsi/lpfc/lpfc_init.c 	lpfc_free_els_sgl_list(phba);
phba             6978 drivers/scsi/lpfc/lpfc_init.c 	lpfc_free_nvmet_sgl_list(phba);
phba             6981 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli4_cq_event_release_all(phba);
phba             6982 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli4_cq_event_pool_destroy(phba);
phba             6985 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli4_dealloc_resource_identifiers(phba);
phba             6988 drivers/scsi/lpfc/lpfc_init.c 	lpfc_destroy_bootstrap_mbox(phba);
phba             6991 drivers/scsi/lpfc/lpfc_init.c 	lpfc_mem_free_all(phba);
phba             6995 drivers/scsi/lpfc/lpfc_init.c 		&phba->fcf_conn_rec_list, list) {
phba             7014 drivers/scsi/lpfc/lpfc_init.c lpfc_init_api_table_setup(struct lpfc_hba *phba, uint8_t dev_grp)
phba             7016 drivers/scsi/lpfc/lpfc_init.c 	phba->lpfc_hba_init_link = lpfc_hba_init_link;
phba             7017 drivers/scsi/lpfc/lpfc_init.c 	phba->lpfc_hba_down_link = lpfc_hba_down_link;
phba             7018 drivers/scsi/lpfc/lpfc_init.c 	phba->lpfc_selective_reset = lpfc_selective_reset;
phba             7021 drivers/scsi/lpfc/lpfc_init.c 		phba->lpfc_hba_down_post = lpfc_hba_down_post_s3;
phba             7022 drivers/scsi/lpfc/lpfc_init.c 		phba->lpfc_handle_eratt = lpfc_handle_eratt_s3;
phba             7023 drivers/scsi/lpfc/lpfc_init.c 		phba->lpfc_stop_port = lpfc_stop_port_s3;
phba             7026 drivers/scsi/lpfc/lpfc_init.c 		phba->lpfc_hba_down_post = lpfc_hba_down_post_s4;
phba             7027 drivers/scsi/lpfc/lpfc_init.c 		phba->lpfc_handle_eratt = lpfc_handle_eratt_s4;
phba             7028 drivers/scsi/lpfc/lpfc_init.c 		phba->lpfc_stop_port = lpfc_stop_port_s4;
phba             7031 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             7052 drivers/scsi/lpfc/lpfc_init.c lpfc_setup_driver_resource_phase2(struct lpfc_hba *phba)
phba             7057 drivers/scsi/lpfc/lpfc_init.c 	phba->worker_thread = kthread_run(lpfc_do_work, phba,
phba             7058 drivers/scsi/lpfc/lpfc_init.c 					  "lpfc_worker_%d", phba->brd_no);
phba             7059 drivers/scsi/lpfc/lpfc_init.c 	if (IS_ERR(phba->worker_thread)) {
phba             7060 drivers/scsi/lpfc/lpfc_init.c 		error = PTR_ERR(phba->worker_thread);
phba             7076 drivers/scsi/lpfc/lpfc_init.c lpfc_unset_driver_resource_phase2(struct lpfc_hba *phba)
phba             7078 drivers/scsi/lpfc/lpfc_init.c 	if (phba->wq) {
phba             7079 drivers/scsi/lpfc/lpfc_init.c 		flush_workqueue(phba->wq);
phba             7080 drivers/scsi/lpfc/lpfc_init.c 		destroy_workqueue(phba->wq);
phba             7081 drivers/scsi/lpfc/lpfc_init.c 		phba->wq = NULL;
phba             7085 drivers/scsi/lpfc/lpfc_init.c 	if (phba->worker_thread)
phba             7086 drivers/scsi/lpfc/lpfc_init.c 		kthread_stop(phba->worker_thread);
phba             7096 drivers/scsi/lpfc/lpfc_init.c lpfc_free_iocb_list(struct lpfc_hba *phba)
phba             7100 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_irq(&phba->hbalock);
phba             7102 drivers/scsi/lpfc/lpfc_init.c 				 &phba->lpfc_iocb_list, list) {
phba             7105 drivers/scsi/lpfc/lpfc_init.c 		phba->total_iocbq_bufs--;
phba             7107 drivers/scsi/lpfc/lpfc_init.c 	spin_unlock_irq(&phba->hbalock);
phba             7124 drivers/scsi/lpfc/lpfc_init.c lpfc_init_iocb_list(struct lpfc_hba *phba, int iocb_count)
phba             7131 drivers/scsi/lpfc/lpfc_init.c 	INIT_LIST_HEAD(&phba->lpfc_iocb_list);
phba             7141 drivers/scsi/lpfc/lpfc_init.c 		iotag = lpfc_sli_next_iotag(phba, iocbq_entry);
phba             7151 drivers/scsi/lpfc/lpfc_init.c 		spin_lock_irq(&phba->hbalock);
phba             7152 drivers/scsi/lpfc/lpfc_init.c 		list_add(&iocbq_entry->list, &phba->lpfc_iocb_list);
phba             7153 drivers/scsi/lpfc/lpfc_init.c 		phba->total_iocbq_bufs++;
phba             7154 drivers/scsi/lpfc/lpfc_init.c 		spin_unlock_irq(&phba->hbalock);
phba             7160 drivers/scsi/lpfc/lpfc_init.c 	lpfc_free_iocb_list(phba);
phba             7173 drivers/scsi/lpfc/lpfc_init.c lpfc_free_sgl_list(struct lpfc_hba *phba, struct list_head *sglq_list)
phba             7179 drivers/scsi/lpfc/lpfc_init.c 		lpfc_mbuf_free(phba, sglq_entry->virt, sglq_entry->phys);
phba             7191 drivers/scsi/lpfc/lpfc_init.c lpfc_free_els_sgl_list(struct lpfc_hba *phba)
phba             7196 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_irq(&phba->hbalock);
phba             7197 drivers/scsi/lpfc/lpfc_init.c 	spin_lock(&phba->sli4_hba.sgl_list_lock);
phba             7198 drivers/scsi/lpfc/lpfc_init.c 	list_splice_init(&phba->sli4_hba.lpfc_els_sgl_list, &sglq_list);
phba             7199 drivers/scsi/lpfc/lpfc_init.c 	spin_unlock(&phba->sli4_hba.sgl_list_lock);
phba             7200 drivers/scsi/lpfc/lpfc_init.c 	spin_unlock_irq(&phba->hbalock);
phba             7203 drivers/scsi/lpfc/lpfc_init.c 	lpfc_free_sgl_list(phba, &sglq_list);
phba             7213 drivers/scsi/lpfc/lpfc_init.c lpfc_free_nvmet_sgl_list(struct lpfc_hba *phba)
phba             7219 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_irq(&phba->hbalock);
phba             7220 drivers/scsi/lpfc/lpfc_init.c 	spin_lock(&phba->sli4_hba.sgl_list_lock);
phba             7221 drivers/scsi/lpfc/lpfc_init.c 	list_splice_init(&phba->sli4_hba.lpfc_nvmet_sgl_list, &sglq_list);
phba             7222 drivers/scsi/lpfc/lpfc_init.c 	spin_unlock(&phba->sli4_hba.sgl_list_lock);
phba             7223 drivers/scsi/lpfc/lpfc_init.c 	spin_unlock_irq(&phba->hbalock);
phba             7228 drivers/scsi/lpfc/lpfc_init.c 		lpfc_nvmet_buf_free(phba, sglq_entry->virt, sglq_entry->phys);
phba             7236 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.nvmet_xri_cnt = 0;
phba             7247 drivers/scsi/lpfc/lpfc_init.c lpfc_init_active_sgl_array(struct lpfc_hba *phba)
phba             7251 drivers/scsi/lpfc/lpfc_init.c 	size *= phba->sli4_hba.max_cfg_param.max_xri;
phba             7253 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.lpfc_sglq_active_list =
phba             7255 drivers/scsi/lpfc/lpfc_init.c 	if (!phba->sli4_hba.lpfc_sglq_active_list)
phba             7269 drivers/scsi/lpfc/lpfc_init.c lpfc_free_active_sgl(struct lpfc_hba *phba)
phba             7271 drivers/scsi/lpfc/lpfc_init.c 	kfree(phba->sli4_hba.lpfc_sglq_active_list);
phba             7283 drivers/scsi/lpfc/lpfc_init.c lpfc_init_sgl_list(struct lpfc_hba *phba)
phba             7286 drivers/scsi/lpfc/lpfc_init.c 	INIT_LIST_HEAD(&phba->sli4_hba.lpfc_els_sgl_list);
phba             7287 drivers/scsi/lpfc/lpfc_init.c 	INIT_LIST_HEAD(&phba->sli4_hba.lpfc_abts_els_sgl_list);
phba             7288 drivers/scsi/lpfc/lpfc_init.c 	INIT_LIST_HEAD(&phba->sli4_hba.lpfc_nvmet_sgl_list);
phba             7289 drivers/scsi/lpfc/lpfc_init.c 	INIT_LIST_HEAD(&phba->sli4_hba.lpfc_abts_nvmet_ctx_list);
phba             7292 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.els_xri_cnt = 0;
phba             7295 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.io_xri_cnt = 0;
phba             7313 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_init_rpi_hdrs(struct lpfc_hba *phba)
phba             7318 drivers/scsi/lpfc/lpfc_init.c 	INIT_LIST_HEAD(&phba->sli4_hba.lpfc_rpi_hdr_list);
phba             7319 drivers/scsi/lpfc/lpfc_init.c 	if (!phba->sli4_hba.rpi_hdrs_in_use)
phba             7321 drivers/scsi/lpfc/lpfc_init.c 	if (phba->sli4_hba.extents_in_use)
phba             7324 drivers/scsi/lpfc/lpfc_init.c 	rpi_hdr = lpfc_sli4_create_rpi_hdr(phba);
phba             7326 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_MBOX | LOG_SLI,
phba             7328 drivers/scsi/lpfc/lpfc_init.c 		lpfc_sli4_remove_rpis(phba);
phba             7349 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_create_rpi_hdr(struct lpfc_hba *phba)
phba             7360 drivers/scsi/lpfc/lpfc_init.c 	if (!phba->sli4_hba.rpi_hdrs_in_use)
phba             7362 drivers/scsi/lpfc/lpfc_init.c 	if (phba->sli4_hba.extents_in_use)
phba             7366 drivers/scsi/lpfc/lpfc_init.c 	rpi_limit = phba->sli4_hba.max_cfg_param.max_rpi;
phba             7368 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_irq(&phba->hbalock);
phba             7374 drivers/scsi/lpfc/lpfc_init.c 	curr_rpi_range = phba->sli4_hba.next_rpi;
phba             7375 drivers/scsi/lpfc/lpfc_init.c 	spin_unlock_irq(&phba->hbalock);
phba             7389 drivers/scsi/lpfc/lpfc_init.c 	dmabuf->virt = dma_alloc_coherent(&phba->pcidev->dev,
phba             7410 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_irq(&phba->hbalock);
phba             7414 drivers/scsi/lpfc/lpfc_init.c 	rpi_hdr->next_rpi = phba->sli4_hba.next_rpi + LPFC_RPI_HDR_COUNT;
phba             7415 drivers/scsi/lpfc/lpfc_init.c 	list_add_tail(&rpi_hdr->list, &phba->sli4_hba.lpfc_rpi_hdr_list);
phba             7417 drivers/scsi/lpfc/lpfc_init.c 	spin_unlock_irq(&phba->hbalock);
phba             7421 drivers/scsi/lpfc/lpfc_init.c 	dma_free_coherent(&phba->pcidev->dev, LPFC_HDR_TEMPLATE_SIZE,
phba             7438 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_remove_rpi_hdrs(struct lpfc_hba *phba)
phba             7442 drivers/scsi/lpfc/lpfc_init.c 	if (!phba->sli4_hba.rpi_hdrs_in_use)
phba             7446 drivers/scsi/lpfc/lpfc_init.c 				 &phba->sli4_hba.lpfc_rpi_hdr_list, list) {
phba             7448 drivers/scsi/lpfc/lpfc_init.c 		dma_free_coherent(&phba->pcidev->dev, rpi_hdr->len,
phba             7455 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.next_rpi = 0;
phba             7473 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_hba *phba;
phba             7476 drivers/scsi/lpfc/lpfc_init.c 	phba = kzalloc(sizeof(struct lpfc_hba), GFP_KERNEL);
phba             7477 drivers/scsi/lpfc/lpfc_init.c 	if (!phba) {
phba             7483 drivers/scsi/lpfc/lpfc_init.c 	phba->pcidev = pdev;
phba             7486 drivers/scsi/lpfc/lpfc_init.c 	phba->brd_no = lpfc_get_instance();
phba             7487 drivers/scsi/lpfc/lpfc_init.c 	if (phba->brd_no < 0) {
phba             7488 drivers/scsi/lpfc/lpfc_init.c 		kfree(phba);
phba             7491 drivers/scsi/lpfc/lpfc_init.c 	phba->eratt_poll_interval = LPFC_ERATT_POLL_INTERVAL;
phba             7493 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_init(&phba->ct_ev_lock);
phba             7494 drivers/scsi/lpfc/lpfc_init.c 	INIT_LIST_HEAD(&phba->ct_ev_waiters);
phba             7496 drivers/scsi/lpfc/lpfc_init.c 	return phba;
phba             7507 drivers/scsi/lpfc/lpfc_init.c lpfc_hba_free(struct lpfc_hba *phba)
phba             7509 drivers/scsi/lpfc/lpfc_init.c 	if (phba->sli_rev == LPFC_SLI_REV4)
phba             7510 drivers/scsi/lpfc/lpfc_init.c 		kfree(phba->sli4_hba.hdwq);
phba             7513 drivers/scsi/lpfc/lpfc_init.c 	idr_remove(&lpfc_hba_index, phba->brd_no);
phba             7516 drivers/scsi/lpfc/lpfc_init.c 	kfree(phba->sli.sli3_ring);
phba             7517 drivers/scsi/lpfc/lpfc_init.c 	phba->sli.sli3_ring = NULL;
phba             7519 drivers/scsi/lpfc/lpfc_init.c 	kfree(phba);
phba             7535 drivers/scsi/lpfc/lpfc_init.c lpfc_create_shost(struct lpfc_hba *phba)
phba             7541 drivers/scsi/lpfc/lpfc_init.c 	phba->fc_edtov = FF_DEF_EDTOV;
phba             7542 drivers/scsi/lpfc/lpfc_init.c 	phba->fc_ratov = FF_DEF_RATOV;
phba             7543 drivers/scsi/lpfc/lpfc_init.c 	phba->fc_altov = FF_DEF_ALTOV;
phba             7544 drivers/scsi/lpfc/lpfc_init.c 	phba->fc_arbtov = FF_DEF_ARBTOV;
phba             7546 drivers/scsi/lpfc/lpfc_init.c 	atomic_set(&phba->sdev_cnt, 0);
phba             7547 drivers/scsi/lpfc/lpfc_init.c 	vport = lpfc_create_port(phba, phba->brd_no, &phba->pcidev->dev);
phba             7552 drivers/scsi/lpfc/lpfc_init.c 	phba->pport = vport;
phba             7554 drivers/scsi/lpfc/lpfc_init.c 	if (phba->nvmet_support) {
phba             7556 drivers/scsi/lpfc/lpfc_init.c 		if (phba->txrdy_payload_pool == NULL) {
phba             7557 drivers/scsi/lpfc/lpfc_init.c 			phba->txrdy_payload_pool = dma_pool_create(
phba             7558 drivers/scsi/lpfc/lpfc_init.c 				"txrdy_pool", &phba->pcidev->dev,
phba             7560 drivers/scsi/lpfc/lpfc_init.c 			if (phba->txrdy_payload_pool) {
phba             7561 drivers/scsi/lpfc/lpfc_init.c 				phba->targetport = NULL;
phba             7562 drivers/scsi/lpfc/lpfc_init.c 				phba->cfg_enable_fc4_type = LPFC_ENABLE_NVME;
phba             7563 drivers/scsi/lpfc/lpfc_init.c 				lpfc_printf_log(phba, KERN_INFO,
phba             7572 drivers/scsi/lpfc/lpfc_init.c 	pci_set_drvdata(phba->pcidev, shost);
phba             7579 drivers/scsi/lpfc/lpfc_init.c 	if (phba->cfg_enable_SmartSAN ||
phba             7580 drivers/scsi/lpfc/lpfc_init.c 	    (phba->cfg_fdmi_on == LPFC_FDMI_SUPPORT)) {
phba             7584 drivers/scsi/lpfc/lpfc_init.c 		if (phba->cfg_enable_SmartSAN)
phba             7600 drivers/scsi/lpfc/lpfc_init.c lpfc_destroy_shost(struct lpfc_hba *phba)
phba             7602 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_vport *vport = phba->pport;
phba             7619 drivers/scsi/lpfc/lpfc_init.c lpfc_setup_bg(struct lpfc_hba *phba, struct Scsi_Host *shost)
phba             7624 drivers/scsi/lpfc/lpfc_init.c 	if (phba->cfg_prot_mask && phba->cfg_prot_guard) {
phba             7625 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             7629 drivers/scsi/lpfc/lpfc_init.c 		old_mask = phba->cfg_prot_mask;
phba             7630 drivers/scsi/lpfc/lpfc_init.c 		old_guard = phba->cfg_prot_guard;
phba             7633 drivers/scsi/lpfc/lpfc_init.c 		phba->cfg_prot_mask &= (SHOST_DIF_TYPE1_PROTECTION |
phba             7636 drivers/scsi/lpfc/lpfc_init.c 		phba->cfg_prot_guard &= (SHOST_DIX_GUARD_IP |
phba             7640 drivers/scsi/lpfc/lpfc_init.c 		if (phba->cfg_prot_mask == SHOST_DIX_TYPE1_PROTECTION)
phba             7641 drivers/scsi/lpfc/lpfc_init.c 			phba->cfg_prot_mask |= SHOST_DIF_TYPE1_PROTECTION;
phba             7643 drivers/scsi/lpfc/lpfc_init.c 		if (phba->cfg_prot_mask && phba->cfg_prot_guard) {
phba             7644 drivers/scsi/lpfc/lpfc_init.c 			if ((old_mask != phba->cfg_prot_mask) ||
phba             7645 drivers/scsi/lpfc/lpfc_init.c 				(old_guard != phba->cfg_prot_guard))
phba             7646 drivers/scsi/lpfc/lpfc_init.c 				lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             7649 drivers/scsi/lpfc/lpfc_init.c 					phba->cfg_prot_mask,
phba             7650 drivers/scsi/lpfc/lpfc_init.c 					phba->cfg_prot_guard);
phba             7652 drivers/scsi/lpfc/lpfc_init.c 			scsi_host_set_prot(shost, phba->cfg_prot_mask);
phba             7653 drivers/scsi/lpfc/lpfc_init.c 			scsi_host_set_guard(shost, phba->cfg_prot_guard);
phba             7655 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             7670 drivers/scsi/lpfc/lpfc_init.c lpfc_post_init_setup(struct lpfc_hba *phba)
phba             7676 drivers/scsi/lpfc/lpfc_init.c 	lpfc_get_hba_model_desc(phba, phba->ModelName, phba->ModelDesc);
phba             7682 drivers/scsi/lpfc/lpfc_init.c 	shost = pci_get_drvdata(phba->pcidev);
phba             7683 drivers/scsi/lpfc/lpfc_init.c 	shost->can_queue = phba->cfg_hba_queue_depth - 10;
phba             7687 drivers/scsi/lpfc/lpfc_init.c 	if (phba->cfg_poll & DISABLE_FCP_RING_INT) {
phba             7689 drivers/scsi/lpfc/lpfc_init.c 		lpfc_poll_start_timer(phba);
phba             7693 drivers/scsi/lpfc/lpfc_init.c 	lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             7717 drivers/scsi/lpfc/lpfc_init.c lpfc_sli_pci_mem_setup(struct lpfc_hba *phba)
phba             7719 drivers/scsi/lpfc/lpfc_init.c 	struct pci_dev *pdev = phba->pcidev;
phba             7739 drivers/scsi/lpfc/lpfc_init.c 	phba->pci_bar0_map = pci_resource_start(pdev, 0);
phba             7742 drivers/scsi/lpfc/lpfc_init.c 	phba->pci_bar2_map = pci_resource_start(pdev, 2);
phba             7746 drivers/scsi/lpfc/lpfc_init.c 	phba->slim_memmap_p = ioremap(phba->pci_bar0_map, bar0map_len);
phba             7747 drivers/scsi/lpfc/lpfc_init.c 	if (!phba->slim_memmap_p) {
phba             7754 drivers/scsi/lpfc/lpfc_init.c 	phba->ctrl_regs_memmap_p = ioremap(phba->pci_bar2_map, bar2map_len);
phba             7755 drivers/scsi/lpfc/lpfc_init.c 	if (!phba->ctrl_regs_memmap_p) {
phba             7762 drivers/scsi/lpfc/lpfc_init.c 	phba->slim2p.virt = dma_alloc_coherent(&pdev->dev, SLI2_SLIM_SIZE,
phba             7763 drivers/scsi/lpfc/lpfc_init.c 					       &phba->slim2p.phys, GFP_KERNEL);
phba             7764 drivers/scsi/lpfc/lpfc_init.c 	if (!phba->slim2p.virt)
phba             7767 drivers/scsi/lpfc/lpfc_init.c 	phba->mbox = phba->slim2p.virt + offsetof(struct lpfc_sli2_slim, mbx);
phba             7768 drivers/scsi/lpfc/lpfc_init.c 	phba->mbox_ext = (phba->slim2p.virt +
phba             7770 drivers/scsi/lpfc/lpfc_init.c 	phba->pcb = (phba->slim2p.virt + offsetof(struct lpfc_sli2_slim, pcb));
phba             7771 drivers/scsi/lpfc/lpfc_init.c 	phba->IOCBs = (phba->slim2p.virt +
phba             7774 drivers/scsi/lpfc/lpfc_init.c 	phba->hbqslimp.virt = dma_alloc_coherent(&pdev->dev,
phba             7776 drivers/scsi/lpfc/lpfc_init.c 						 &phba->hbqslimp.phys,
phba             7778 drivers/scsi/lpfc/lpfc_init.c 	if (!phba->hbqslimp.virt)
phba             7782 drivers/scsi/lpfc/lpfc_init.c 	ptr = phba->hbqslimp.virt;
phba             7784 drivers/scsi/lpfc/lpfc_init.c 		phba->hbqs[i].hbq_virt = ptr;
phba             7785 drivers/scsi/lpfc/lpfc_init.c 		INIT_LIST_HEAD(&phba->hbqs[i].hbq_buffer_list);
phba             7789 drivers/scsi/lpfc/lpfc_init.c 	phba->hbqs[LPFC_ELS_HBQ].hbq_alloc_buffer = lpfc_els_hbq_alloc;
phba             7790 drivers/scsi/lpfc/lpfc_init.c 	phba->hbqs[LPFC_ELS_HBQ].hbq_free_buffer = lpfc_els_hbq_free;
phba             7792 drivers/scsi/lpfc/lpfc_init.c 	memset(phba->hbqslimp.virt, 0, lpfc_sli_hbq_size());
phba             7794 drivers/scsi/lpfc/lpfc_init.c 	phba->MBslimaddr = phba->slim_memmap_p;
phba             7795 drivers/scsi/lpfc/lpfc_init.c 	phba->HAregaddr = phba->ctrl_regs_memmap_p + HA_REG_OFFSET;
phba             7796 drivers/scsi/lpfc/lpfc_init.c 	phba->CAregaddr = phba->ctrl_regs_memmap_p + CA_REG_OFFSET;
phba             7797 drivers/scsi/lpfc/lpfc_init.c 	phba->HSregaddr = phba->ctrl_regs_memmap_p + HS_REG_OFFSET;
phba             7798 drivers/scsi/lpfc/lpfc_init.c 	phba->HCregaddr = phba->ctrl_regs_memmap_p + HC_REG_OFFSET;
phba             7804 drivers/scsi/lpfc/lpfc_init.c 			  phba->slim2p.virt, phba->slim2p.phys);
phba             7806 drivers/scsi/lpfc/lpfc_init.c 	iounmap(phba->ctrl_regs_memmap_p);
phba             7808 drivers/scsi/lpfc/lpfc_init.c 	iounmap(phba->slim_memmap_p);
phba             7821 drivers/scsi/lpfc/lpfc_init.c lpfc_sli_pci_mem_unset(struct lpfc_hba *phba)
phba             7826 drivers/scsi/lpfc/lpfc_init.c 	if (!phba->pcidev)
phba             7829 drivers/scsi/lpfc/lpfc_init.c 		pdev = phba->pcidev;
phba             7833 drivers/scsi/lpfc/lpfc_init.c 			  phba->hbqslimp.virt, phba->hbqslimp.phys);
phba             7835 drivers/scsi/lpfc/lpfc_init.c 			  phba->slim2p.virt, phba->slim2p.phys);
phba             7838 drivers/scsi/lpfc/lpfc_init.c 	iounmap(phba->ctrl_regs_memmap_p);
phba             7839 drivers/scsi/lpfc/lpfc_init.c 	iounmap(phba->slim_memmap_p);
phba             7854 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_post_status_check(struct lpfc_hba *phba)
phba             7863 drivers/scsi/lpfc/lpfc_init.c 	if (!phba->sli4_hba.PSMPHRregaddr)
phba             7868 drivers/scsi/lpfc/lpfc_init.c 		if (lpfc_readl(phba->sli4_hba.PSMPHRregaddr,
phba             7886 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             7900 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             7905 drivers/scsi/lpfc/lpfc_init.c 				       &phba->sli4_hba.sli_intf),
phba             7907 drivers/scsi/lpfc/lpfc_init.c 				       &phba->sli4_hba.sli_intf),
phba             7909 drivers/scsi/lpfc/lpfc_init.c 				       &phba->sli4_hba.sli_intf),
phba             7911 drivers/scsi/lpfc/lpfc_init.c 				       &phba->sli4_hba.sli_intf),
phba             7913 drivers/scsi/lpfc/lpfc_init.c 				       &phba->sli4_hba.sli_intf),
phba             7915 drivers/scsi/lpfc/lpfc_init.c 				       &phba->sli4_hba.sli_intf));
phba             7922 drivers/scsi/lpfc/lpfc_init.c 				 &phba->sli4_hba.sli_intf);
phba             7925 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.ue_mask_lo =
phba             7926 drivers/scsi/lpfc/lpfc_init.c 			      readl(phba->sli4_hba.u.if_type0.UEMASKLOregaddr);
phba             7927 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.ue_mask_hi =
phba             7928 drivers/scsi/lpfc/lpfc_init.c 			      readl(phba->sli4_hba.u.if_type0.UEMASKHIregaddr);
phba             7930 drivers/scsi/lpfc/lpfc_init.c 			      readl(phba->sli4_hba.u.if_type0.UERRLOregaddr);
phba             7932 drivers/scsi/lpfc/lpfc_init.c 				readl(phba->sli4_hba.u.if_type0.UERRHIregaddr);
phba             7933 drivers/scsi/lpfc/lpfc_init.c 			if ((~phba->sli4_hba.ue_mask_lo & uerrlo_reg.word0) ||
phba             7934 drivers/scsi/lpfc/lpfc_init.c 			    (~phba->sli4_hba.ue_mask_hi & uerrhi_reg.word0)) {
phba             7935 drivers/scsi/lpfc/lpfc_init.c 				lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             7944 drivers/scsi/lpfc/lpfc_init.c 						phba->sli4_hba.ue_mask_lo,
phba             7945 drivers/scsi/lpfc/lpfc_init.c 						phba->sli4_hba.ue_mask_hi);
phba             7952 drivers/scsi/lpfc/lpfc_init.c 			if (lpfc_readl(phba->sli4_hba.u.if_type2.STATUSregaddr,
phba             7956 drivers/scsi/lpfc/lpfc_init.c 				phba->work_status[0] =
phba             7957 drivers/scsi/lpfc/lpfc_init.c 					readl(phba->sli4_hba.u.if_type2.
phba             7959 drivers/scsi/lpfc/lpfc_init.c 				phba->work_status[1] =
phba             7960 drivers/scsi/lpfc/lpfc_init.c 					readl(phba->sli4_hba.u.if_type2.
phba             7962 drivers/scsi/lpfc/lpfc_init.c 				lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             7969 drivers/scsi/lpfc/lpfc_init.c 					phba->work_status[0],
phba             7970 drivers/scsi/lpfc/lpfc_init.c 					phba->work_status[1]);
phba             7991 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_bar0_register_memmap(struct lpfc_hba *phba, uint32_t if_type)
phba             7995 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.u.if_type0.UERRLOregaddr =
phba             7996 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.conf_regs_memmap_p + LPFC_UERR_STATUS_LO;
phba             7997 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.u.if_type0.UERRHIregaddr =
phba             7998 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.conf_regs_memmap_p + LPFC_UERR_STATUS_HI;
phba             7999 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.u.if_type0.UEMASKLOregaddr =
phba             8000 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.conf_regs_memmap_p + LPFC_UE_MASK_LO;
phba             8001 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.u.if_type0.UEMASKHIregaddr =
phba             8002 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.conf_regs_memmap_p + LPFC_UE_MASK_HI;
phba             8003 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.SLIINTFregaddr =
phba             8004 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.conf_regs_memmap_p + LPFC_SLI_INTF;
phba             8007 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.u.if_type2.EQDregaddr =
phba             8008 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.conf_regs_memmap_p +
phba             8010 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.u.if_type2.ERR1regaddr =
phba             8011 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.conf_regs_memmap_p +
phba             8013 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.u.if_type2.ERR2regaddr =
phba             8014 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.conf_regs_memmap_p +
phba             8016 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.u.if_type2.CTRLregaddr =
phba             8017 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.conf_regs_memmap_p +
phba             8019 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.u.if_type2.STATUSregaddr =
phba             8020 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.conf_regs_memmap_p +
phba             8022 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.SLIINTFregaddr =
phba             8023 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.conf_regs_memmap_p + LPFC_SLI_INTF;
phba             8024 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.PSMPHRregaddr =
phba             8025 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.conf_regs_memmap_p +
phba             8027 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.RQDBregaddr =
phba             8028 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.conf_regs_memmap_p +
phba             8030 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.WQDBregaddr =
phba             8031 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.conf_regs_memmap_p +
phba             8033 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.CQDBregaddr =
phba             8034 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.conf_regs_memmap_p + LPFC_EQCQ_DOORBELL;
phba             8035 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.EQDBregaddr = phba->sli4_hba.CQDBregaddr;
phba             8036 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.MQDBregaddr =
phba             8037 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.conf_regs_memmap_p + LPFC_MQ_DOORBELL;
phba             8038 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.BMBXregaddr =
phba             8039 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.conf_regs_memmap_p + LPFC_BMBX;
phba             8042 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.u.if_type2.EQDregaddr =
phba             8043 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.conf_regs_memmap_p +
phba             8045 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.u.if_type2.ERR1regaddr =
phba             8046 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.conf_regs_memmap_p +
phba             8048 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.u.if_type2.ERR2regaddr =
phba             8049 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.conf_regs_memmap_p +
phba             8051 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.u.if_type2.CTRLregaddr =
phba             8052 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.conf_regs_memmap_p +
phba             8054 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.u.if_type2.STATUSregaddr =
phba             8055 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.conf_regs_memmap_p +
phba             8057 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.PSMPHRregaddr =
phba             8058 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.conf_regs_memmap_p +
phba             8060 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.BMBXregaddr =
phba             8061 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.conf_regs_memmap_p + LPFC_BMBX;
phba             8065 drivers/scsi/lpfc/lpfc_init.c 		dev_printk(KERN_ERR, &phba->pcidev->dev,
phba             8079 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_bar1_register_memmap(struct lpfc_hba *phba, uint32_t if_type)
phba             8083 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.PSMPHRregaddr =
phba             8084 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.ctrl_regs_memmap_p +
phba             8086 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.ISRregaddr = phba->sli4_hba.ctrl_regs_memmap_p +
phba             8088 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.IMRregaddr = phba->sli4_hba.ctrl_regs_memmap_p +
phba             8090 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.ISCRregaddr = phba->sli4_hba.ctrl_regs_memmap_p +
phba             8094 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.RQDBregaddr = phba->sli4_hba.drbl_regs_memmap_p +
phba             8096 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.WQDBregaddr = phba->sli4_hba.drbl_regs_memmap_p +
phba             8098 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.CQDBregaddr = phba->sli4_hba.drbl_regs_memmap_p +
phba             8100 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.EQDBregaddr = phba->sli4_hba.drbl_regs_memmap_p +
phba             8102 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.MQDBregaddr = phba->sli4_hba.drbl_regs_memmap_p +
phba             8108 drivers/scsi/lpfc/lpfc_init.c 		dev_err(&phba->pcidev->dev,
phba             8126 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_bar2_register_memmap(struct lpfc_hba *phba, uint32_t vf)
phba             8131 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.RQDBregaddr = (phba->sli4_hba.drbl_regs_memmap_p +
phba             8134 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.WQDBregaddr = (phba->sli4_hba.drbl_regs_memmap_p +
phba             8137 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.CQDBregaddr = (phba->sli4_hba.drbl_regs_memmap_p +
phba             8140 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.EQDBregaddr = phba->sli4_hba.CQDBregaddr;
phba             8141 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.MQDBregaddr = (phba->sli4_hba.drbl_regs_memmap_p +
phba             8143 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.BMBXregaddr = (phba->sli4_hba.drbl_regs_memmap_p +
phba             8164 drivers/scsi/lpfc/lpfc_init.c lpfc_create_bootstrap_mbox(struct lpfc_hba *phba)
phba             8181 drivers/scsi/lpfc/lpfc_init.c 	dmabuf->virt = dma_alloc_coherent(&phba->pcidev->dev, bmbx_size,
phba             8195 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.bmbx.dmabuf = dmabuf;
phba             8196 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.bmbx.bmbx_size = bmbx_size;
phba             8198 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.bmbx.avirt = PTR_ALIGN(dmabuf->virt,
phba             8200 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.bmbx.aphys = ALIGN(dmabuf->phys,
phba             8211 drivers/scsi/lpfc/lpfc_init.c 	dma_address = &phba->sli4_hba.bmbx.dma_address;
phba             8212 drivers/scsi/lpfc/lpfc_init.c 	phys_addr = (uint64_t)phba->sli4_hba.bmbx.aphys;
phba             8217 drivers/scsi/lpfc/lpfc_init.c 	pa_addr = (uint32_t) ((phba->sli4_hba.bmbx.aphys >> 4) & 0x3fffffff);
phba             8235 drivers/scsi/lpfc/lpfc_init.c lpfc_destroy_bootstrap_mbox(struct lpfc_hba *phba)
phba             8237 drivers/scsi/lpfc/lpfc_init.c 	dma_free_coherent(&phba->pcidev->dev,
phba             8238 drivers/scsi/lpfc/lpfc_init.c 			  phba->sli4_hba.bmbx.bmbx_size,
phba             8239 drivers/scsi/lpfc/lpfc_init.c 			  phba->sli4_hba.bmbx.dmabuf->virt,
phba             8240 drivers/scsi/lpfc/lpfc_init.c 			  phba->sli4_hba.bmbx.dmabuf->phys);
phba             8242 drivers/scsi/lpfc/lpfc_init.c 	kfree(phba->sli4_hba.bmbx.dmabuf);
phba             8243 drivers/scsi/lpfc/lpfc_init.c 	memset(&phba->sli4_hba.bmbx, 0, sizeof(struct lpfc_bmbx));
phba             8261 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_read_config(struct lpfc_hba *phba)
phba             8274 drivers/scsi/lpfc/lpfc_init.c 	pmb = (LPFC_MBOXQ_t *) mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             8276 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             8282 drivers/scsi/lpfc/lpfc_init.c 	lpfc_read_config(phba, pmb);
phba             8284 drivers/scsi/lpfc/lpfc_init.c 	rc = lpfc_sli_issue_mbox(phba, pmb, MBX_POLL);
phba             8286 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             8295 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.lnk_info.lnk_dv = LPFC_LNK_DAT_VAL;
phba             8296 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.lnk_info.lnk_tp =
phba             8298 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.lnk_info.lnk_no =
phba             8300 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_INFO, LOG_SLI,
phba             8302 drivers/scsi/lpfc/lpfc_init.c 					phba->sli4_hba.lnk_info.lnk_tp,
phba             8303 drivers/scsi/lpfc/lpfc_init.c 					phba->sli4_hba.lnk_info.lnk_no);
phba             8305 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_WARNING, LOG_SLI,
phba             8309 drivers/scsi/lpfc/lpfc_init.c 			phba->bbcredit_support = 1;
phba             8310 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.bbscn_params.word0 = rd_config->word8;
phba             8313 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.conf_trunk =
phba             8315 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.extents_in_use =
phba             8317 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.max_cfg_param.max_xri =
phba             8321 drivers/scsi/lpfc/lpfc_init.c 		    phba->sli4_hba.max_cfg_param.max_xri > 512)
phba             8322 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.max_cfg_param.max_xri = 512;
phba             8323 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.max_cfg_param.xri_base =
phba             8325 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.max_cfg_param.max_vpi =
phba             8328 drivers/scsi/lpfc/lpfc_init.c 		if (phba->sli4_hba.max_cfg_param.max_vpi > LPFC_MAX_VPORTS)
phba             8329 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.max_cfg_param.max_vpi = LPFC_MAX_VPORTS;
phba             8330 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.max_cfg_param.vpi_base =
phba             8332 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.max_cfg_param.max_rpi =
phba             8334 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.max_cfg_param.rpi_base =
phba             8336 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.max_cfg_param.max_vfi =
phba             8338 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.max_cfg_param.vfi_base =
phba             8340 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.max_cfg_param.max_fcfi =
phba             8342 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.max_cfg_param.max_eq =
phba             8344 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.max_cfg_param.max_rq =
phba             8346 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.max_cfg_param.max_wq =
phba             8348 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.max_cfg_param.max_cq =
phba             8350 drivers/scsi/lpfc/lpfc_init.c 		phba->lmt = bf_get(lpfc_mbx_rd_conf_lmt, rd_config);
phba             8351 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.next_xri = phba->sli4_hba.max_cfg_param.xri_base;
phba             8352 drivers/scsi/lpfc/lpfc_init.c 		phba->vpi_base = phba->sli4_hba.max_cfg_param.vpi_base;
phba             8353 drivers/scsi/lpfc/lpfc_init.c 		phba->vfi_base = phba->sli4_hba.max_cfg_param.vfi_base;
phba             8354 drivers/scsi/lpfc/lpfc_init.c 		phba->max_vpi = (phba->sli4_hba.max_cfg_param.max_vpi > 0) ?
phba             8355 drivers/scsi/lpfc/lpfc_init.c 				(phba->sli4_hba.max_cfg_param.max_vpi - 1) : 0;
phba             8356 drivers/scsi/lpfc/lpfc_init.c 		phba->max_vports = phba->max_vpi;
phba             8357 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_INFO, LOG_SLI,
phba             8364 drivers/scsi/lpfc/lpfc_init.c 				phba->sli4_hba.extents_in_use,
phba             8365 drivers/scsi/lpfc/lpfc_init.c 				phba->sli4_hba.max_cfg_param.xri_base,
phba             8366 drivers/scsi/lpfc/lpfc_init.c 				phba->sli4_hba.max_cfg_param.max_xri,
phba             8367 drivers/scsi/lpfc/lpfc_init.c 				phba->sli4_hba.max_cfg_param.vpi_base,
phba             8368 drivers/scsi/lpfc/lpfc_init.c 				phba->sli4_hba.max_cfg_param.max_vpi,
phba             8369 drivers/scsi/lpfc/lpfc_init.c 				phba->sli4_hba.max_cfg_param.vfi_base,
phba             8370 drivers/scsi/lpfc/lpfc_init.c 				phba->sli4_hba.max_cfg_param.max_vfi,
phba             8371 drivers/scsi/lpfc/lpfc_init.c 				phba->sli4_hba.max_cfg_param.rpi_base,
phba             8372 drivers/scsi/lpfc/lpfc_init.c 				phba->sli4_hba.max_cfg_param.max_rpi,
phba             8373 drivers/scsi/lpfc/lpfc_init.c 				phba->sli4_hba.max_cfg_param.max_fcfi,
phba             8374 drivers/scsi/lpfc/lpfc_init.c 				phba->sli4_hba.max_cfg_param.max_eq,
phba             8375 drivers/scsi/lpfc/lpfc_init.c 				phba->sli4_hba.max_cfg_param.max_cq,
phba             8376 drivers/scsi/lpfc/lpfc_init.c 				phba->sli4_hba.max_cfg_param.max_wq,
phba             8377 drivers/scsi/lpfc/lpfc_init.c 				phba->sli4_hba.max_cfg_param.max_rq);
phba             8383 drivers/scsi/lpfc/lpfc_init.c 		qmin = phba->sli4_hba.max_cfg_param.max_wq;
phba             8384 drivers/scsi/lpfc/lpfc_init.c 		if (phba->sli4_hba.max_cfg_param.max_cq < qmin)
phba             8385 drivers/scsi/lpfc/lpfc_init.c 			qmin = phba->sli4_hba.max_cfg_param.max_cq;
phba             8386 drivers/scsi/lpfc/lpfc_init.c 		if (phba->sli4_hba.max_cfg_param.max_eq < qmin)
phba             8387 drivers/scsi/lpfc/lpfc_init.c 			qmin = phba->sli4_hba.max_cfg_param.max_eq;
phba             8397 drivers/scsi/lpfc/lpfc_init.c 		if ((phba->cfg_irq_chann > qmin) ||
phba             8398 drivers/scsi/lpfc/lpfc_init.c 		    (phba->cfg_hdw_queue > qmin)) {
phba             8399 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             8403 drivers/scsi/lpfc/lpfc_init.c 					phba->sli4_hba.max_cfg_param.max_wq,
phba             8404 drivers/scsi/lpfc/lpfc_init.c 					phba->sli4_hba.max_cfg_param.max_cq,
phba             8405 drivers/scsi/lpfc/lpfc_init.c 					phba->sli4_hba.max_cfg_param.max_eq,
phba             8406 drivers/scsi/lpfc/lpfc_init.c 					qmin, phba->cfg_irq_chann,
phba             8407 drivers/scsi/lpfc/lpfc_init.c 					phba->cfg_hdw_queue);
phba             8409 drivers/scsi/lpfc/lpfc_init.c 			if (phba->cfg_irq_chann > qmin)
phba             8410 drivers/scsi/lpfc/lpfc_init.c 				phba->cfg_irq_chann = qmin;
phba             8411 drivers/scsi/lpfc/lpfc_init.c 			if (phba->cfg_hdw_queue > qmin)
phba             8412 drivers/scsi/lpfc/lpfc_init.c 				phba->cfg_hdw_queue = qmin;
phba             8420 drivers/scsi/lpfc/lpfc_init.c 	if_type = bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf);
phba             8425 drivers/scsi/lpfc/lpfc_init.c 			phba->hba_flag |= HBA_FORCED_LINK_SPEED;
phba             8429 drivers/scsi/lpfc/lpfc_init.c 				phba->cfg_link_speed =
phba             8433 drivers/scsi/lpfc/lpfc_init.c 				phba->cfg_link_speed =
phba             8437 drivers/scsi/lpfc/lpfc_init.c 				phba->cfg_link_speed =
phba             8441 drivers/scsi/lpfc/lpfc_init.c 				phba->cfg_link_speed =
phba             8445 drivers/scsi/lpfc/lpfc_init.c 				phba->cfg_link_speed =
phba             8449 drivers/scsi/lpfc/lpfc_init.c 				phba->cfg_link_speed =
phba             8453 drivers/scsi/lpfc/lpfc_init.c 				phba->cfg_link_speed =
phba             8457 drivers/scsi/lpfc/lpfc_init.c 				phba->cfg_link_speed =
phba             8461 drivers/scsi/lpfc/lpfc_init.c 				phba->cfg_link_speed =
phba             8465 drivers/scsi/lpfc/lpfc_init.c 				lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             8469 drivers/scsi/lpfc/lpfc_init.c 				phba->cfg_link_speed =
phba             8476 drivers/scsi/lpfc/lpfc_init.c 	length = phba->sli4_hba.max_cfg_param.max_xri -
phba             8477 drivers/scsi/lpfc/lpfc_init.c 			lpfc_sli4_get_els_iocb_cnt(phba);
phba             8478 drivers/scsi/lpfc/lpfc_init.c 	if (phba->cfg_hba_queue_depth > length) {
phba             8479 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_INIT,
phba             8481 drivers/scsi/lpfc/lpfc_init.c 				phba->cfg_hba_queue_depth, length);
phba             8482 drivers/scsi/lpfc/lpfc_init.c 		phba->cfg_hba_queue_depth = length;
phba             8485 drivers/scsi/lpfc/lpfc_init.c 	if (bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) <
phba             8492 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli4_config(phba, pmb, LPFC_MBOX_SUBSYSTEM_COMMON,
phba             8496 drivers/scsi/lpfc/lpfc_init.c 	rc2 = lpfc_sli_issue_mbox(phba, pmb, MBX_POLL);
phba             8502 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             8525 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.iov.pf_number =
phba             8527 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.iov.vf_number =
phba             8534 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_INFO, LOG_SLI,
phba             8536 drivers/scsi/lpfc/lpfc_init.c 				"vf_number:%d\n", phba->sli4_hba.iov.pf_number,
phba             8537 drivers/scsi/lpfc/lpfc_init.c 				phba->sli4_hba.iov.vf_number);
phba             8539 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             8545 drivers/scsi/lpfc/lpfc_init.c 	mempool_free(pmb, phba->mbox_mem_pool);
phba             8563 drivers/scsi/lpfc/lpfc_init.c lpfc_setup_endian_order(struct lpfc_hba *phba)
phba             8570 drivers/scsi/lpfc/lpfc_init.c 	if_type = bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf);
phba             8573 drivers/scsi/lpfc/lpfc_init.c 		mboxq = (LPFC_MBOXQ_t *) mempool_alloc(phba->mbox_mem_pool,
phba             8576 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             8589 drivers/scsi/lpfc/lpfc_init.c 		rc = lpfc_sli_issue_mbox(phba, mboxq, MBX_POLL);
phba             8591 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             8597 drivers/scsi/lpfc/lpfc_init.c 		mempool_free(mboxq, phba->mbox_mem_pool);
phba             8622 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_queue_verify(struct lpfc_hba *phba)
phba             8629 drivers/scsi/lpfc/lpfc_init.c 	if (phba->nvmet_support) {
phba             8630 drivers/scsi/lpfc/lpfc_init.c 		if (phba->cfg_irq_chann < phba->cfg_nvmet_mrq)
phba             8631 drivers/scsi/lpfc/lpfc_init.c 			phba->cfg_nvmet_mrq = phba->cfg_irq_chann;
phba             8632 drivers/scsi/lpfc/lpfc_init.c 		if (phba->cfg_nvmet_mrq > LPFC_NVMET_MRQ_MAX)
phba             8633 drivers/scsi/lpfc/lpfc_init.c 			phba->cfg_nvmet_mrq = LPFC_NVMET_MRQ_MAX;
phba             8636 drivers/scsi/lpfc/lpfc_init.c 	lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             8638 drivers/scsi/lpfc/lpfc_init.c 			phba->cfg_hdw_queue, phba->cfg_irq_chann,
phba             8639 drivers/scsi/lpfc/lpfc_init.c 			phba->cfg_nvmet_mrq);
phba             8642 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.eq_esize = LPFC_EQE_SIZE_4B;
phba             8643 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.eq_ecount = LPFC_EQE_DEF_COUNT;
phba             8646 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.cq_esize = LPFC_CQE_SIZE;
phba             8647 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.cq_ecount = LPFC_CQE_DEF_COUNT;
phba             8652 drivers/scsi/lpfc/lpfc_init.c lpfc_alloc_io_wq_cq(struct lpfc_hba *phba, int idx)
phba             8658 drivers/scsi/lpfc/lpfc_init.c 	cpu = lpfc_find_cpu_handle(phba, idx, LPFC_FIND_BY_HDWQ);
phba             8660 drivers/scsi/lpfc/lpfc_init.c 	if (phba->enab_exp_wqcq_pages)
phba             8662 drivers/scsi/lpfc/lpfc_init.c 		qdesc = lpfc_sli4_queue_alloc(phba, LPFC_EXPANDED_PAGE_SIZE,
phba             8663 drivers/scsi/lpfc/lpfc_init.c 					      phba->sli4_hba.cq_esize,
phba             8667 drivers/scsi/lpfc/lpfc_init.c 		qdesc = lpfc_sli4_queue_alloc(phba, LPFC_DEFAULT_PAGE_SIZE,
phba             8668 drivers/scsi/lpfc/lpfc_init.c 					      phba->sli4_hba.cq_esize,
phba             8669 drivers/scsi/lpfc/lpfc_init.c 					      phba->sli4_hba.cq_ecount, cpu);
phba             8671 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             8678 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.hdwq[idx].io_cq = qdesc;
phba             8681 drivers/scsi/lpfc/lpfc_init.c 	if (phba->enab_exp_wqcq_pages) {
phba             8683 drivers/scsi/lpfc/lpfc_init.c 		wqesize = (phba->fcp_embed_io) ?
phba             8684 drivers/scsi/lpfc/lpfc_init.c 			LPFC_WQE128_SIZE : phba->sli4_hba.wq_esize;
phba             8685 drivers/scsi/lpfc/lpfc_init.c 		qdesc = lpfc_sli4_queue_alloc(phba, LPFC_EXPANDED_PAGE_SIZE,
phba             8689 drivers/scsi/lpfc/lpfc_init.c 		qdesc = lpfc_sli4_queue_alloc(phba, LPFC_DEFAULT_PAGE_SIZE,
phba             8690 drivers/scsi/lpfc/lpfc_init.c 					      phba->sli4_hba.wq_esize,
phba             8691 drivers/scsi/lpfc/lpfc_init.c 					      phba->sli4_hba.wq_ecount, cpu);
phba             8694 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             8701 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.hdwq[idx].io_wq = qdesc;
phba             8702 drivers/scsi/lpfc/lpfc_init.c 	list_add_tail(&qdesc->wq_list, &phba->sli4_hba.lpfc_wq_list);
phba             8721 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_queue_create(struct lpfc_hba *phba)
phba             8734 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.mq_esize = LPFC_MQE_SIZE;
phba             8735 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.mq_ecount = LPFC_MQE_DEF_COUNT;
phba             8736 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.wq_esize = LPFC_WQE_SIZE;
phba             8737 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.wq_ecount = LPFC_WQE_DEF_COUNT;
phba             8738 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.rq_esize = LPFC_RQE_SIZE;
phba             8739 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.rq_ecount = LPFC_RQE_DEF_COUNT;
phba             8740 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.eq_esize = LPFC_EQE_SIZE_4B;
phba             8741 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.eq_ecount = LPFC_EQE_DEF_COUNT;
phba             8742 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.cq_esize = LPFC_CQE_SIZE;
phba             8743 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.cq_ecount = LPFC_CQE_DEF_COUNT;
phba             8745 drivers/scsi/lpfc/lpfc_init.c 	if (!phba->sli4_hba.hdwq) {
phba             8746 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.hdwq = kcalloc(
phba             8747 drivers/scsi/lpfc/lpfc_init.c 			phba->cfg_hdw_queue, sizeof(struct lpfc_sli4_hdw_queue),
phba             8749 drivers/scsi/lpfc/lpfc_init.c 		if (!phba->sli4_hba.hdwq) {
phba             8750 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             8756 drivers/scsi/lpfc/lpfc_init.c 		for (idx = 0; idx < phba->cfg_hdw_queue; idx++) {
phba             8757 drivers/scsi/lpfc/lpfc_init.c 			qp = &phba->sli4_hba.hdwq[idx];
phba             8775 drivers/scsi/lpfc/lpfc_init.c 	if (phba->cfg_enable_fc4_type & LPFC_ENABLE_NVME) {
phba             8776 drivers/scsi/lpfc/lpfc_init.c 		if (phba->nvmet_support) {
phba             8777 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.nvmet_cqset = kcalloc(
phba             8778 drivers/scsi/lpfc/lpfc_init.c 					phba->cfg_nvmet_mrq,
phba             8781 drivers/scsi/lpfc/lpfc_init.c 			if (!phba->sli4_hba.nvmet_cqset) {
phba             8782 drivers/scsi/lpfc/lpfc_init.c 				lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             8787 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.nvmet_mrq_hdr = kcalloc(
phba             8788 drivers/scsi/lpfc/lpfc_init.c 					phba->cfg_nvmet_mrq,
phba             8791 drivers/scsi/lpfc/lpfc_init.c 			if (!phba->sli4_hba.nvmet_mrq_hdr) {
phba             8792 drivers/scsi/lpfc/lpfc_init.c 				lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             8797 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.nvmet_mrq_data = kcalloc(
phba             8798 drivers/scsi/lpfc/lpfc_init.c 					phba->cfg_nvmet_mrq,
phba             8801 drivers/scsi/lpfc/lpfc_init.c 			if (!phba->sli4_hba.nvmet_mrq_data) {
phba             8802 drivers/scsi/lpfc/lpfc_init.c 				lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             8810 drivers/scsi/lpfc/lpfc_init.c 	INIT_LIST_HEAD(&phba->sli4_hba.lpfc_wq_list);
phba             8818 drivers/scsi/lpfc/lpfc_init.c 		cpup = &phba->sli4_hba.cpu_map[cpu];
phba             8823 drivers/scsi/lpfc/lpfc_init.c 		qp = &phba->sli4_hba.hdwq[cpup->hdwq];
phba             8826 drivers/scsi/lpfc/lpfc_init.c 		qdesc = lpfc_sli4_queue_alloc(phba, LPFC_DEFAULT_PAGE_SIZE,
phba             8827 drivers/scsi/lpfc/lpfc_init.c 					      phba->sli4_hba.eq_esize,
phba             8828 drivers/scsi/lpfc/lpfc_init.c 					      phba->sli4_hba.eq_ecount, cpu);
phba             8830 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             8843 drivers/scsi/lpfc/lpfc_init.c 		eqi = per_cpu_ptr(phba->sli4_hba.eq_info, qdesc->last_cpu);
phba             8851 drivers/scsi/lpfc/lpfc_init.c 		cpup = &phba->sli4_hba.cpu_map[cpu];
phba             8858 drivers/scsi/lpfc/lpfc_init.c 		qp = &phba->sli4_hba.hdwq[cpup->hdwq];
phba             8863 drivers/scsi/lpfc/lpfc_init.c 		eqcpu = lpfc_find_cpu_handle(phba, cpup->eq, LPFC_FIND_BY_EQ);
phba             8864 drivers/scsi/lpfc/lpfc_init.c 		eqcpup = &phba->sli4_hba.cpu_map[eqcpu];
phba             8865 drivers/scsi/lpfc/lpfc_init.c 		qp->hba_eq = phba->sli4_hba.hdwq[eqcpup->hdwq].hba_eq;
phba             8869 drivers/scsi/lpfc/lpfc_init.c 	for (idx = 0; idx < phba->cfg_hdw_queue; idx++) {
phba             8870 drivers/scsi/lpfc/lpfc_init.c 		if (lpfc_alloc_io_wq_cq(phba, idx))
phba             8874 drivers/scsi/lpfc/lpfc_init.c 	if (phba->nvmet_support) {
phba             8875 drivers/scsi/lpfc/lpfc_init.c 		for (idx = 0; idx < phba->cfg_nvmet_mrq; idx++) {
phba             8876 drivers/scsi/lpfc/lpfc_init.c 			cpu = lpfc_find_cpu_handle(phba, idx,
phba             8878 drivers/scsi/lpfc/lpfc_init.c 			qdesc = lpfc_sli4_queue_alloc(phba,
phba             8880 drivers/scsi/lpfc/lpfc_init.c 						      phba->sli4_hba.cq_esize,
phba             8881 drivers/scsi/lpfc/lpfc_init.c 						      phba->sli4_hba.cq_ecount,
phba             8884 drivers/scsi/lpfc/lpfc_init.c 				lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             8892 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.nvmet_cqset[idx] = qdesc;
phba             8900 drivers/scsi/lpfc/lpfc_init.c 	cpu = lpfc_find_cpu_handle(phba, 0, LPFC_FIND_BY_EQ);
phba             8902 drivers/scsi/lpfc/lpfc_init.c 	qdesc = lpfc_sli4_queue_alloc(phba, LPFC_DEFAULT_PAGE_SIZE,
phba             8903 drivers/scsi/lpfc/lpfc_init.c 				      phba->sli4_hba.cq_esize,
phba             8904 drivers/scsi/lpfc/lpfc_init.c 				      phba->sli4_hba.cq_ecount, cpu);
phba             8906 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             8911 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.mbx_cq = qdesc;
phba             8914 drivers/scsi/lpfc/lpfc_init.c 	qdesc = lpfc_sli4_queue_alloc(phba, LPFC_DEFAULT_PAGE_SIZE,
phba             8915 drivers/scsi/lpfc/lpfc_init.c 				      phba->sli4_hba.cq_esize,
phba             8916 drivers/scsi/lpfc/lpfc_init.c 				      phba->sli4_hba.cq_ecount, cpu);
phba             8918 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             8924 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.els_cq = qdesc;
phba             8933 drivers/scsi/lpfc/lpfc_init.c 	qdesc = lpfc_sli4_queue_alloc(phba, LPFC_DEFAULT_PAGE_SIZE,
phba             8934 drivers/scsi/lpfc/lpfc_init.c 				      phba->sli4_hba.mq_esize,
phba             8935 drivers/scsi/lpfc/lpfc_init.c 				      phba->sli4_hba.mq_ecount, cpu);
phba             8937 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             8942 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.mbx_wq = qdesc;
phba             8949 drivers/scsi/lpfc/lpfc_init.c 	qdesc = lpfc_sli4_queue_alloc(phba, LPFC_DEFAULT_PAGE_SIZE,
phba             8950 drivers/scsi/lpfc/lpfc_init.c 				      phba->sli4_hba.wq_esize,
phba             8951 drivers/scsi/lpfc/lpfc_init.c 				      phba->sli4_hba.wq_ecount, cpu);
phba             8953 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             8958 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.els_wq = qdesc;
phba             8959 drivers/scsi/lpfc/lpfc_init.c 	list_add_tail(&qdesc->wq_list, &phba->sli4_hba.lpfc_wq_list);
phba             8961 drivers/scsi/lpfc/lpfc_init.c 	if (phba->cfg_enable_fc4_type & LPFC_ENABLE_NVME) {
phba             8963 drivers/scsi/lpfc/lpfc_init.c 		qdesc = lpfc_sli4_queue_alloc(phba, LPFC_DEFAULT_PAGE_SIZE,
phba             8964 drivers/scsi/lpfc/lpfc_init.c 					      phba->sli4_hba.cq_esize,
phba             8965 drivers/scsi/lpfc/lpfc_init.c 					      phba->sli4_hba.cq_ecount, cpu);
phba             8967 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             8973 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.nvmels_cq = qdesc;
phba             8976 drivers/scsi/lpfc/lpfc_init.c 		qdesc = lpfc_sli4_queue_alloc(phba, LPFC_DEFAULT_PAGE_SIZE,
phba             8977 drivers/scsi/lpfc/lpfc_init.c 					      phba->sli4_hba.wq_esize,
phba             8978 drivers/scsi/lpfc/lpfc_init.c 					      phba->sli4_hba.wq_ecount, cpu);
phba             8980 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             8985 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.nvmels_wq = qdesc;
phba             8986 drivers/scsi/lpfc/lpfc_init.c 		list_add_tail(&qdesc->wq_list, &phba->sli4_hba.lpfc_wq_list);
phba             8994 drivers/scsi/lpfc/lpfc_init.c 	qdesc = lpfc_sli4_queue_alloc(phba, LPFC_DEFAULT_PAGE_SIZE,
phba             8995 drivers/scsi/lpfc/lpfc_init.c 				      phba->sli4_hba.rq_esize,
phba             8996 drivers/scsi/lpfc/lpfc_init.c 				      phba->sli4_hba.rq_ecount, cpu);
phba             8998 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             9002 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.hdr_rq = qdesc;
phba             9005 drivers/scsi/lpfc/lpfc_init.c 	qdesc = lpfc_sli4_queue_alloc(phba, LPFC_DEFAULT_PAGE_SIZE,
phba             9006 drivers/scsi/lpfc/lpfc_init.c 				      phba->sli4_hba.rq_esize,
phba             9007 drivers/scsi/lpfc/lpfc_init.c 				      phba->sli4_hba.rq_ecount, cpu);
phba             9009 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             9013 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.dat_rq = qdesc;
phba             9015 drivers/scsi/lpfc/lpfc_init.c 	if ((phba->cfg_enable_fc4_type & LPFC_ENABLE_NVME) &&
phba             9016 drivers/scsi/lpfc/lpfc_init.c 	    phba->nvmet_support) {
phba             9017 drivers/scsi/lpfc/lpfc_init.c 		for (idx = 0; idx < phba->cfg_nvmet_mrq; idx++) {
phba             9018 drivers/scsi/lpfc/lpfc_init.c 			cpu = lpfc_find_cpu_handle(phba, idx,
phba             9021 drivers/scsi/lpfc/lpfc_init.c 			qdesc = lpfc_sli4_queue_alloc(phba,
phba             9023 drivers/scsi/lpfc/lpfc_init.c 						      phba->sli4_hba.rq_esize,
phba             9027 drivers/scsi/lpfc/lpfc_init.c 				lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             9033 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.nvmet_mrq_hdr[idx] = qdesc;
phba             9040 drivers/scsi/lpfc/lpfc_init.c 				lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             9050 drivers/scsi/lpfc/lpfc_init.c 			qdesc = lpfc_sli4_queue_alloc(phba,
phba             9052 drivers/scsi/lpfc/lpfc_init.c 						      phba->sli4_hba.rq_esize,
phba             9056 drivers/scsi/lpfc/lpfc_init.c 				lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             9062 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.nvmet_mrq_data[idx] = qdesc;
phba             9067 drivers/scsi/lpfc/lpfc_init.c 	if (phba->cfg_enable_fc4_type & LPFC_ENABLE_NVME) {
phba             9068 drivers/scsi/lpfc/lpfc_init.c 		for (idx = 0; idx < phba->cfg_hdw_queue; idx++) {
phba             9069 drivers/scsi/lpfc/lpfc_init.c 			memset(&phba->sli4_hba.hdwq[idx].nvme_cstat, 0,
phba             9070 drivers/scsi/lpfc/lpfc_init.c 			       sizeof(phba->sli4_hba.hdwq[idx].nvme_cstat));
phba             9075 drivers/scsi/lpfc/lpfc_init.c 	if (phba->cfg_enable_fc4_type & LPFC_ENABLE_FCP) {
phba             9076 drivers/scsi/lpfc/lpfc_init.c 		for (idx = 0; idx < phba->cfg_hdw_queue; idx++) {
phba             9077 drivers/scsi/lpfc/lpfc_init.c 			memset(&phba->sli4_hba.hdwq[idx].scsi_cstat, 0,
phba             9078 drivers/scsi/lpfc/lpfc_init.c 			       sizeof(phba->sli4_hba.hdwq[idx].scsi_cstat));
phba             9085 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli4_queue_destroy(phba);
phba             9114 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_release_hdwq(struct lpfc_hba *phba)
phba             9120 drivers/scsi/lpfc/lpfc_init.c 	hdwq = phba->sli4_hba.hdwq;
phba             9123 drivers/scsi/lpfc/lpfc_init.c 	for (idx = 0; idx < phba->cfg_hdw_queue; idx++) {
phba             9129 drivers/scsi/lpfc/lpfc_init.c 		if (phba->cfg_xpsgl && !phba->nvmet_support)
phba             9130 drivers/scsi/lpfc/lpfc_init.c 			lpfc_free_sgl_per_hdwq(phba, &hdwq[idx]);
phba             9131 drivers/scsi/lpfc/lpfc_init.c 		lpfc_free_cmd_rsp_buf_per_hdwq(phba, &hdwq[idx]);
phba             9134 drivers/scsi/lpfc/lpfc_init.c 	for (idx = 0; idx < phba->cfg_irq_chann; idx++) {
phba             9136 drivers/scsi/lpfc/lpfc_init.c 		eq = phba->sli4_hba.hba_eq_hdl[idx].eq;
phba             9138 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.hba_eq_hdl[idx].eq = NULL;
phba             9155 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_queue_destroy(struct lpfc_hba *phba)
phba             9162 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_irq(&phba->hbalock);
phba             9163 drivers/scsi/lpfc/lpfc_init.c 	phba->sli.sli_flag |= LPFC_QUEUE_FREE_INIT;
phba             9164 drivers/scsi/lpfc/lpfc_init.c 	while (phba->sli.sli_flag & LPFC_QUEUE_FREE_WAIT) {
phba             9165 drivers/scsi/lpfc/lpfc_init.c 		spin_unlock_irq(&phba->hbalock);
phba             9167 drivers/scsi/lpfc/lpfc_init.c 		spin_lock_irq(&phba->hbalock);
phba             9169 drivers/scsi/lpfc/lpfc_init.c 	spin_unlock_irq(&phba->hbalock);
phba             9171 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli4_cleanup_poll_list(phba);
phba             9174 drivers/scsi/lpfc/lpfc_init.c 	if (phba->sli4_hba.hdwq)
phba             9175 drivers/scsi/lpfc/lpfc_init.c 		lpfc_sli4_release_hdwq(phba);
phba             9177 drivers/scsi/lpfc/lpfc_init.c 	if (phba->nvmet_support) {
phba             9178 drivers/scsi/lpfc/lpfc_init.c 		lpfc_sli4_release_queues(&phba->sli4_hba.nvmet_cqset,
phba             9179 drivers/scsi/lpfc/lpfc_init.c 					 phba->cfg_nvmet_mrq);
phba             9181 drivers/scsi/lpfc/lpfc_init.c 		lpfc_sli4_release_queues(&phba->sli4_hba.nvmet_mrq_hdr,
phba             9182 drivers/scsi/lpfc/lpfc_init.c 					 phba->cfg_nvmet_mrq);
phba             9183 drivers/scsi/lpfc/lpfc_init.c 		lpfc_sli4_release_queues(&phba->sli4_hba.nvmet_mrq_data,
phba             9184 drivers/scsi/lpfc/lpfc_init.c 					 phba->cfg_nvmet_mrq);
phba             9188 drivers/scsi/lpfc/lpfc_init.c 	__lpfc_sli4_release_queue(&phba->sli4_hba.mbx_wq);
phba             9191 drivers/scsi/lpfc/lpfc_init.c 	__lpfc_sli4_release_queue(&phba->sli4_hba.els_wq);
phba             9194 drivers/scsi/lpfc/lpfc_init.c 	__lpfc_sli4_release_queue(&phba->sli4_hba.nvmels_wq);
phba             9197 drivers/scsi/lpfc/lpfc_init.c 	__lpfc_sli4_release_queue(&phba->sli4_hba.hdr_rq);
phba             9198 drivers/scsi/lpfc/lpfc_init.c 	__lpfc_sli4_release_queue(&phba->sli4_hba.dat_rq);
phba             9201 drivers/scsi/lpfc/lpfc_init.c 	__lpfc_sli4_release_queue(&phba->sli4_hba.els_cq);
phba             9204 drivers/scsi/lpfc/lpfc_init.c 	__lpfc_sli4_release_queue(&phba->sli4_hba.nvmels_cq);
phba             9207 drivers/scsi/lpfc/lpfc_init.c 	__lpfc_sli4_release_queue(&phba->sli4_hba.mbx_cq);
phba             9210 drivers/scsi/lpfc/lpfc_init.c 	INIT_LIST_HEAD(&phba->sli4_hba.lpfc_wq_list);
phba             9213 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_irq(&phba->hbalock);
phba             9214 drivers/scsi/lpfc/lpfc_init.c 	phba->sli.sli_flag &= ~LPFC_QUEUE_FREE_INIT;
phba             9215 drivers/scsi/lpfc/lpfc_init.c 	spin_unlock_irq(&phba->hbalock);
phba             9219 drivers/scsi/lpfc/lpfc_init.c lpfc_free_rq_buffer(struct lpfc_hba *phba, struct lpfc_queue *rq)
phba             9231 drivers/scsi/lpfc/lpfc_init.c 		(rqbp->rqb_free_buffer)(phba, rqb_buffer);
phba             9238 drivers/scsi/lpfc/lpfc_init.c lpfc_create_wq_cq(struct lpfc_hba *phba, struct lpfc_queue *eq,
phba             9246 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             9253 drivers/scsi/lpfc/lpfc_init.c 	rc = lpfc_cq_create(phba, cq, eq,
phba             9256 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             9267 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             9272 drivers/scsi/lpfc/lpfc_init.c 		rc = lpfc_wq_create(phba, wq, cq, qtype);
phba             9274 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             9286 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             9290 drivers/scsi/lpfc/lpfc_init.c 		rc = lpfc_mq_create(phba, wq, cq, LPFC_MBOX);
phba             9292 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             9299 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             9301 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.mbx_wq->queue_id,
phba             9302 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.mbx_cq->queue_id);
phba             9316 drivers/scsi/lpfc/lpfc_init.c lpfc_setup_cq_lookup(struct lpfc_hba *phba)
phba             9321 drivers/scsi/lpfc/lpfc_init.c 	memset(phba->sli4_hba.cq_lookup, 0,
phba             9322 drivers/scsi/lpfc/lpfc_init.c 	       (sizeof(struct lpfc_queue *) * (phba->sli4_hba.cq_max + 1)));
phba             9324 drivers/scsi/lpfc/lpfc_init.c 	for (qidx = 0; qidx < phba->cfg_irq_chann; qidx++) {
phba             9326 drivers/scsi/lpfc/lpfc_init.c 		eq = phba->sli4_hba.hba_eq_hdl[qidx].eq;
phba             9331 drivers/scsi/lpfc/lpfc_init.c 			if (childq->queue_id > phba->sli4_hba.cq_max)
phba             9334 drivers/scsi/lpfc/lpfc_init.c 				phba->sli4_hba.cq_lookup[childq->queue_id] =
phba             9353 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_queue_setup(struct lpfc_hba *phba)
phba             9365 drivers/scsi/lpfc/lpfc_init.c 	mboxq = (LPFC_MBOXQ_t *)mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             9367 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             9374 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli4_config(phba, mboxq, LPFC_MBOX_SUBSYSTEM_COMMON,
phba             9378 drivers/scsi/lpfc/lpfc_init.c 	rc = lpfc_sli_issue_mbox(phba, mboxq, MBX_POLL);
phba             9385 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             9390 drivers/scsi/lpfc/lpfc_init.c 			mempool_free(mboxq, phba->mbox_mem_pool);
phba             9395 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.fw_func_mode =
phba             9397 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.ulp0_mode = mboxq->u.mqe.un.query_fw_cfg.rsp.ulp0_mode;
phba             9398 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.ulp1_mode = mboxq->u.mqe.un.query_fw_cfg.rsp.ulp1_mode;
phba             9399 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.physical_port =
phba             9401 drivers/scsi/lpfc/lpfc_init.c 	lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             9403 drivers/scsi/lpfc/lpfc_init.c 			"ulp1_mode:x%x\n", phba->sli4_hba.fw_func_mode,
phba             9404 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.ulp0_mode, phba->sli4_hba.ulp1_mode);
phba             9407 drivers/scsi/lpfc/lpfc_init.c 		mempool_free(mboxq, phba->mbox_mem_pool);
phba             9412 drivers/scsi/lpfc/lpfc_init.c 	qp = phba->sli4_hba.hdwq;
phba             9416 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             9423 drivers/scsi/lpfc/lpfc_init.c 	for (qidx = 0; qidx < phba->cfg_irq_chann; qidx++) {
phba             9426 drivers/scsi/lpfc/lpfc_init.c 			cpup = &phba->sli4_hba.cpu_map[cpu];
phba             9437 drivers/scsi/lpfc/lpfc_init.c 			rc = lpfc_eq_create(phba, qp[cpup->hdwq].hba_eq,
phba             9438 drivers/scsi/lpfc/lpfc_init.c 					    phba->cfg_fcp_imax);
phba             9440 drivers/scsi/lpfc/lpfc_init.c 				lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             9448 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.hba_eq_hdl[cpup->eq].eq =
phba             9451 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             9459 drivers/scsi/lpfc/lpfc_init.c 	for (qidx = 0; qidx < phba->cfg_hdw_queue; qidx++) {
phba             9460 drivers/scsi/lpfc/lpfc_init.c 		cpu = lpfc_find_cpu_handle(phba, qidx, LPFC_FIND_BY_HDWQ);
phba             9461 drivers/scsi/lpfc/lpfc_init.c 		cpup = &phba->sli4_hba.cpu_map[cpu];
phba             9464 drivers/scsi/lpfc/lpfc_init.c 		rc = lpfc_create_wq_cq(phba,
phba             9465 drivers/scsi/lpfc/lpfc_init.c 				       phba->sli4_hba.hdwq[cpup->hdwq].hba_eq,
phba             9468 drivers/scsi/lpfc/lpfc_init.c 				       &phba->sli4_hba.hdwq[qidx].io_cq_map,
phba             9472 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             9486 drivers/scsi/lpfc/lpfc_init.c 	if (!phba->sli4_hba.mbx_cq || !phba->sli4_hba.mbx_wq) {
phba             9487 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             9489 drivers/scsi/lpfc/lpfc_init.c 				phba->sli4_hba.mbx_cq ?
phba             9495 drivers/scsi/lpfc/lpfc_init.c 	rc = lpfc_create_wq_cq(phba, qp[0].hba_eq,
phba             9496 drivers/scsi/lpfc/lpfc_init.c 			       phba->sli4_hba.mbx_cq,
phba             9497 drivers/scsi/lpfc/lpfc_init.c 			       phba->sli4_hba.mbx_wq,
phba             9500 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             9505 drivers/scsi/lpfc/lpfc_init.c 	if (phba->nvmet_support) {
phba             9506 drivers/scsi/lpfc/lpfc_init.c 		if (!phba->sli4_hba.nvmet_cqset) {
phba             9507 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             9513 drivers/scsi/lpfc/lpfc_init.c 		if (phba->cfg_nvmet_mrq > 1) {
phba             9514 drivers/scsi/lpfc/lpfc_init.c 			rc = lpfc_cq_create_set(phba,
phba             9515 drivers/scsi/lpfc/lpfc_init.c 					phba->sli4_hba.nvmet_cqset,
phba             9519 drivers/scsi/lpfc/lpfc_init.c 				lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             9527 drivers/scsi/lpfc/lpfc_init.c 			rc = lpfc_cq_create(phba, phba->sli4_hba.nvmet_cqset[0],
phba             9531 drivers/scsi/lpfc/lpfc_init.c 				lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             9536 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.nvmet_cqset[0]->chann = 0;
phba             9538 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             9541 drivers/scsi/lpfc/lpfc_init.c 					phba->sli4_hba.nvmet_cqset[0]->queue_id,
phba             9547 drivers/scsi/lpfc/lpfc_init.c 	if (!phba->sli4_hba.els_cq || !phba->sli4_hba.els_wq) {
phba             9548 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             9550 drivers/scsi/lpfc/lpfc_init.c 				phba->sli4_hba.els_cq ? "WQ" : "CQ");
phba             9554 drivers/scsi/lpfc/lpfc_init.c 	rc = lpfc_create_wq_cq(phba, qp[0].hba_eq,
phba             9555 drivers/scsi/lpfc/lpfc_init.c 			       phba->sli4_hba.els_cq,
phba             9556 drivers/scsi/lpfc/lpfc_init.c 			       phba->sli4_hba.els_wq,
phba             9559 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             9564 drivers/scsi/lpfc/lpfc_init.c 	lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             9566 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.els_wq->queue_id,
phba             9567 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.els_cq->queue_id);
phba             9569 drivers/scsi/lpfc/lpfc_init.c 	if (phba->cfg_enable_fc4_type & LPFC_ENABLE_NVME) {
phba             9571 drivers/scsi/lpfc/lpfc_init.c 		if (!phba->sli4_hba.nvmels_cq || !phba->sli4_hba.nvmels_wq) {
phba             9572 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             9574 drivers/scsi/lpfc/lpfc_init.c 					phba->sli4_hba.nvmels_cq ? "WQ" : "CQ");
phba             9578 drivers/scsi/lpfc/lpfc_init.c 		rc = lpfc_create_wq_cq(phba, qp[0].hba_eq,
phba             9579 drivers/scsi/lpfc/lpfc_init.c 				       phba->sli4_hba.nvmels_cq,
phba             9580 drivers/scsi/lpfc/lpfc_init.c 				       phba->sli4_hba.nvmels_wq,
phba             9583 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             9589 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             9592 drivers/scsi/lpfc/lpfc_init.c 				phba->sli4_hba.nvmels_wq->queue_id,
phba             9593 drivers/scsi/lpfc/lpfc_init.c 				phba->sli4_hba.nvmels_cq->queue_id);
phba             9599 drivers/scsi/lpfc/lpfc_init.c 	if (phba->nvmet_support) {
phba             9600 drivers/scsi/lpfc/lpfc_init.c 		if ((!phba->sli4_hba.nvmet_cqset) ||
phba             9601 drivers/scsi/lpfc/lpfc_init.c 		    (!phba->sli4_hba.nvmet_mrq_hdr) ||
phba             9602 drivers/scsi/lpfc/lpfc_init.c 		    (!phba->sli4_hba.nvmet_mrq_data)) {
phba             9603 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             9609 drivers/scsi/lpfc/lpfc_init.c 		if (phba->cfg_nvmet_mrq > 1) {
phba             9610 drivers/scsi/lpfc/lpfc_init.c 			rc = lpfc_mrq_create(phba,
phba             9611 drivers/scsi/lpfc/lpfc_init.c 					     phba->sli4_hba.nvmet_mrq_hdr,
phba             9612 drivers/scsi/lpfc/lpfc_init.c 					     phba->sli4_hba.nvmet_mrq_data,
phba             9613 drivers/scsi/lpfc/lpfc_init.c 					     phba->sli4_hba.nvmet_cqset,
phba             9616 drivers/scsi/lpfc/lpfc_init.c 				lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             9624 drivers/scsi/lpfc/lpfc_init.c 			rc = lpfc_rq_create(phba,
phba             9625 drivers/scsi/lpfc/lpfc_init.c 					    phba->sli4_hba.nvmet_mrq_hdr[0],
phba             9626 drivers/scsi/lpfc/lpfc_init.c 					    phba->sli4_hba.nvmet_mrq_data[0],
phba             9627 drivers/scsi/lpfc/lpfc_init.c 					    phba->sli4_hba.nvmet_cqset[0],
phba             9630 drivers/scsi/lpfc/lpfc_init.c 				lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             9638 drivers/scsi/lpfc/lpfc_init.c 				phba, KERN_INFO, LOG_INIT,
phba             9641 drivers/scsi/lpfc/lpfc_init.c 				phba->sli4_hba.nvmet_mrq_hdr[0]->queue_id,
phba             9642 drivers/scsi/lpfc/lpfc_init.c 				phba->sli4_hba.nvmet_mrq_data[0]->queue_id,
phba             9643 drivers/scsi/lpfc/lpfc_init.c 				phba->sli4_hba.nvmet_cqset[0]->queue_id);
phba             9648 drivers/scsi/lpfc/lpfc_init.c 	if (!phba->sli4_hba.hdr_rq || !phba->sli4_hba.dat_rq) {
phba             9649 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             9655 drivers/scsi/lpfc/lpfc_init.c 	rc = lpfc_rq_create(phba, phba->sli4_hba.hdr_rq, phba->sli4_hba.dat_rq,
phba             9656 drivers/scsi/lpfc/lpfc_init.c 			    phba->sli4_hba.els_cq, LPFC_USOL);
phba             9658 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             9664 drivers/scsi/lpfc/lpfc_init.c 	lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             9667 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.hdr_rq->queue_id,
phba             9668 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.dat_rq->queue_id,
phba             9669 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.els_cq->queue_id);
phba             9671 drivers/scsi/lpfc/lpfc_init.c 	if (phba->cfg_fcp_imax)
phba             9672 drivers/scsi/lpfc/lpfc_init.c 		usdelay = LPFC_SEC_TO_USEC / phba->cfg_fcp_imax;
phba             9676 drivers/scsi/lpfc/lpfc_init.c 	for (qidx = 0; qidx < phba->cfg_irq_chann;
phba             9678 drivers/scsi/lpfc/lpfc_init.c 		lpfc_modify_hba_eq_delay(phba, qidx, LPFC_MAX_EQ_DELAY_EQID_CNT,
phba             9681 drivers/scsi/lpfc/lpfc_init.c 	if (phba->sli4_hba.cq_max) {
phba             9682 drivers/scsi/lpfc/lpfc_init.c 		kfree(phba->sli4_hba.cq_lookup);
phba             9683 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.cq_lookup = kcalloc((phba->sli4_hba.cq_max + 1),
phba             9685 drivers/scsi/lpfc/lpfc_init.c 		if (!phba->sli4_hba.cq_lookup) {
phba             9686 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             9688 drivers/scsi/lpfc/lpfc_init.c 					"size 0x%x\n", phba->sli4_hba.cq_max);
phba             9692 drivers/scsi/lpfc/lpfc_init.c 		lpfc_setup_cq_lookup(phba);
phba             9697 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli4_queue_unset(phba);
phba             9715 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_queue_unset(struct lpfc_hba *phba)
phba             9722 drivers/scsi/lpfc/lpfc_init.c 	if (phba->sli4_hba.mbx_wq)
phba             9723 drivers/scsi/lpfc/lpfc_init.c 		lpfc_mq_destroy(phba, phba->sli4_hba.mbx_wq);
phba             9726 drivers/scsi/lpfc/lpfc_init.c 	if (phba->sli4_hba.nvmels_wq)
phba             9727 drivers/scsi/lpfc/lpfc_init.c 		lpfc_wq_destroy(phba, phba->sli4_hba.nvmels_wq);
phba             9730 drivers/scsi/lpfc/lpfc_init.c 	if (phba->sli4_hba.els_wq)
phba             9731 drivers/scsi/lpfc/lpfc_init.c 		lpfc_wq_destroy(phba, phba->sli4_hba.els_wq);
phba             9734 drivers/scsi/lpfc/lpfc_init.c 	if (phba->sli4_hba.hdr_rq)
phba             9735 drivers/scsi/lpfc/lpfc_init.c 		lpfc_rq_destroy(phba, phba->sli4_hba.hdr_rq,
phba             9736 drivers/scsi/lpfc/lpfc_init.c 				phba->sli4_hba.dat_rq);
phba             9739 drivers/scsi/lpfc/lpfc_init.c 	if (phba->sli4_hba.mbx_cq)
phba             9740 drivers/scsi/lpfc/lpfc_init.c 		lpfc_cq_destroy(phba, phba->sli4_hba.mbx_cq);
phba             9743 drivers/scsi/lpfc/lpfc_init.c 	if (phba->sli4_hba.els_cq)
phba             9744 drivers/scsi/lpfc/lpfc_init.c 		lpfc_cq_destroy(phba, phba->sli4_hba.els_cq);
phba             9747 drivers/scsi/lpfc/lpfc_init.c 	if (phba->sli4_hba.nvmels_cq)
phba             9748 drivers/scsi/lpfc/lpfc_init.c 		lpfc_cq_destroy(phba, phba->sli4_hba.nvmels_cq);
phba             9750 drivers/scsi/lpfc/lpfc_init.c 	if (phba->nvmet_support) {
phba             9752 drivers/scsi/lpfc/lpfc_init.c 		if (phba->sli4_hba.nvmet_mrq_hdr) {
phba             9753 drivers/scsi/lpfc/lpfc_init.c 			for (qidx = 0; qidx < phba->cfg_nvmet_mrq; qidx++)
phba             9755 drivers/scsi/lpfc/lpfc_init.c 					phba,
phba             9756 drivers/scsi/lpfc/lpfc_init.c 					phba->sli4_hba.nvmet_mrq_hdr[qidx],
phba             9757 drivers/scsi/lpfc/lpfc_init.c 					phba->sli4_hba.nvmet_mrq_data[qidx]);
phba             9761 drivers/scsi/lpfc/lpfc_init.c 		if (phba->sli4_hba.nvmet_cqset) {
phba             9762 drivers/scsi/lpfc/lpfc_init.c 			for (qidx = 0; qidx < phba->cfg_nvmet_mrq; qidx++)
phba             9764 drivers/scsi/lpfc/lpfc_init.c 					phba, phba->sli4_hba.nvmet_cqset[qidx]);
phba             9769 drivers/scsi/lpfc/lpfc_init.c 	if (phba->sli4_hba.hdwq) {
phba             9771 drivers/scsi/lpfc/lpfc_init.c 		for (qidx = 0; qidx < phba->cfg_hdw_queue; qidx++) {
phba             9773 drivers/scsi/lpfc/lpfc_init.c 			qp = &phba->sli4_hba.hdwq[qidx];
phba             9774 drivers/scsi/lpfc/lpfc_init.c 			lpfc_wq_destroy(phba, qp->io_wq);
phba             9775 drivers/scsi/lpfc/lpfc_init.c 			lpfc_cq_destroy(phba, qp->io_cq);
phba             9778 drivers/scsi/lpfc/lpfc_init.c 		for (qidx = 0; qidx < phba->cfg_irq_chann; qidx++) {
phba             9780 drivers/scsi/lpfc/lpfc_init.c 			eq = phba->sli4_hba.hba_eq_hdl[qidx].eq;
phba             9781 drivers/scsi/lpfc/lpfc_init.c 			lpfc_eq_destroy(phba, eq);
phba             9785 drivers/scsi/lpfc/lpfc_init.c 	kfree(phba->sli4_hba.cq_lookup);
phba             9786 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.cq_lookup = NULL;
phba             9787 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.cq_max = 0;
phba             9807 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_cq_event_pool_create(struct lpfc_hba *phba)
phba             9812 drivers/scsi/lpfc/lpfc_init.c 	for (i = 0; i < (4 * phba->sli4_hba.cq_ecount); i++) {
phba             9817 drivers/scsi/lpfc/lpfc_init.c 			      &phba->sli4_hba.sp_cqe_event_pool);
phba             9822 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli4_cq_event_pool_destroy(phba);
phba             9837 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_cq_event_pool_destroy(struct lpfc_hba *phba)
phba             9842 drivers/scsi/lpfc/lpfc_init.c 				 &phba->sli4_hba.sp_cqe_event_pool, list) {
phba             9859 drivers/scsi/lpfc/lpfc_init.c __lpfc_sli4_cq_event_alloc(struct lpfc_hba *phba)
phba             9863 drivers/scsi/lpfc/lpfc_init.c 	list_remove_head(&phba->sli4_hba.sp_cqe_event_pool, cq_event,
phba             9879 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_cq_event_alloc(struct lpfc_hba *phba)
phba             9884 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_irqsave(&phba->hbalock, iflags);
phba             9885 drivers/scsi/lpfc/lpfc_init.c 	cq_event = __lpfc_sli4_cq_event_alloc(phba);
phba             9886 drivers/scsi/lpfc/lpfc_init.c 	spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             9899 drivers/scsi/lpfc/lpfc_init.c __lpfc_sli4_cq_event_release(struct lpfc_hba *phba,
phba             9902 drivers/scsi/lpfc/lpfc_init.c 	list_add_tail(&cq_event->list, &phba->sli4_hba.sp_cqe_event_pool);
phba             9914 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_cq_event_release(struct lpfc_hba *phba,
phba             9918 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_irqsave(&phba->hbalock, iflags);
phba             9919 drivers/scsi/lpfc/lpfc_init.c 	__lpfc_sli4_cq_event_release(phba, cq_event);
phba             9920 drivers/scsi/lpfc/lpfc_init.c 	spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             9931 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_cq_event_release_all(struct lpfc_hba *phba)
phba             9938 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_irqsave(&phba->hbalock, iflags);
phba             9940 drivers/scsi/lpfc/lpfc_init.c 	list_splice_init(&phba->sli4_hba.sp_fcp_xri_aborted_work_queue,
phba             9943 drivers/scsi/lpfc/lpfc_init.c 	list_splice_init(&phba->sli4_hba.sp_els_xri_aborted_work_queue,
phba             9946 drivers/scsi/lpfc/lpfc_init.c 	list_splice_init(&phba->sli4_hba.sp_asynce_work_queue,
phba             9948 drivers/scsi/lpfc/lpfc_init.c 	spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             9952 drivers/scsi/lpfc/lpfc_init.c 		lpfc_sli4_cq_event_release(phba, cqe);
phba             9969 drivers/scsi/lpfc/lpfc_init.c lpfc_pci_function_reset(struct lpfc_hba *phba)
phba             9980 drivers/scsi/lpfc/lpfc_init.c 	if_type = bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf);
phba             9983 drivers/scsi/lpfc/lpfc_init.c 		mboxq = (LPFC_MBOXQ_t *) mempool_alloc(phba->mbox_mem_pool,
phba             9986 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             9994 drivers/scsi/lpfc/lpfc_init.c 		lpfc_sli4_config(phba, mboxq, LPFC_MBOX_SUBSYSTEM_COMMON,
phba             9997 drivers/scsi/lpfc/lpfc_init.c 		rc = lpfc_sli_issue_mbox(phba, mboxq, MBX_POLL);
phba             10004 drivers/scsi/lpfc/lpfc_init.c 			mempool_free(mboxq, phba->mbox_mem_pool);
phba             10006 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             10023 drivers/scsi/lpfc/lpfc_init.c 			if (lpfc_readl(phba->sli4_hba.u.if_type2.
phba             10034 drivers/scsi/lpfc/lpfc_init.c 			phba->work_status[0] = readl(
phba             10035 drivers/scsi/lpfc/lpfc_init.c 				phba->sli4_hba.u.if_type2.ERR1regaddr);
phba             10036 drivers/scsi/lpfc/lpfc_init.c 			phba->work_status[1] = readl(
phba             10037 drivers/scsi/lpfc/lpfc_init.c 				phba->sli4_hba.u.if_type2.ERR2regaddr);
phba             10038 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             10042 drivers/scsi/lpfc/lpfc_init.c 					phba->work_status[0],
phba             10043 drivers/scsi/lpfc/lpfc_init.c 					phba->work_status[1]);
phba             10057 drivers/scsi/lpfc/lpfc_init.c 			writel(reg_data.word0, phba->sli4_hba.u.if_type2.
phba             10060 drivers/scsi/lpfc/lpfc_init.c 			pci_read_config_word(phba->pcidev,
phba             10080 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             10101 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_pci_mem_setup(struct lpfc_hba *phba)
phba             10103 drivers/scsi/lpfc/lpfc_init.c 	struct pci_dev *pdev = phba->pcidev;
phba             10123 drivers/scsi/lpfc/lpfc_init.c 				  &phba->sli4_hba.sli_intf.word0)) {
phba             10128 drivers/scsi/lpfc/lpfc_init.c 	if (bf_get(lpfc_sli_intf_valid, &phba->sli4_hba.sli_intf) !=
phba             10130 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             10133 drivers/scsi/lpfc/lpfc_init.c 				phba->sli4_hba.sli_intf.word0);
phba             10137 drivers/scsi/lpfc/lpfc_init.c 	if_type = bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf);
phba             10145 drivers/scsi/lpfc/lpfc_init.c 		phba->pci_bar0_map = pci_resource_start(pdev, PCI_64BIT_BAR0);
phba             10152 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.conf_regs_memmap_p =
phba             10153 drivers/scsi/lpfc/lpfc_init.c 			ioremap(phba->pci_bar0_map, bar0map_len);
phba             10154 drivers/scsi/lpfc/lpfc_init.c 		if (!phba->sli4_hba.conf_regs_memmap_p) {
phba             10160 drivers/scsi/lpfc/lpfc_init.c 		phba->pci_bar0_memmap_p = phba->sli4_hba.conf_regs_memmap_p;
phba             10162 drivers/scsi/lpfc/lpfc_init.c 		lpfc_sli4_bar0_register_memmap(phba, if_type);
phba             10164 drivers/scsi/lpfc/lpfc_init.c 		phba->pci_bar0_map = pci_resource_start(pdev, 1);
phba             10171 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.conf_regs_memmap_p =
phba             10172 drivers/scsi/lpfc/lpfc_init.c 				ioremap(phba->pci_bar0_map, bar0map_len);
phba             10173 drivers/scsi/lpfc/lpfc_init.c 		if (!phba->sli4_hba.conf_regs_memmap_p) {
phba             10179 drivers/scsi/lpfc/lpfc_init.c 		lpfc_sli4_bar0_register_memmap(phba, if_type);
phba             10188 drivers/scsi/lpfc/lpfc_init.c 			phba->pci_bar1_map = pci_resource_start(pdev,
phba             10191 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.ctrl_regs_memmap_p =
phba             10192 drivers/scsi/lpfc/lpfc_init.c 					ioremap(phba->pci_bar1_map,
phba             10194 drivers/scsi/lpfc/lpfc_init.c 			if (!phba->sli4_hba.ctrl_regs_memmap_p) {
phba             10201 drivers/scsi/lpfc/lpfc_init.c 			phba->pci_bar2_memmap_p =
phba             10202 drivers/scsi/lpfc/lpfc_init.c 					 phba->sli4_hba.ctrl_regs_memmap_p;
phba             10203 drivers/scsi/lpfc/lpfc_init.c 			lpfc_sli4_bar1_register_memmap(phba, if_type);
phba             10216 drivers/scsi/lpfc/lpfc_init.c 		phba->pci_bar1_map = pci_resource_start(pdev, PCI_64BIT_BAR2);
phba             10218 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.drbl_regs_memmap_p =
phba             10219 drivers/scsi/lpfc/lpfc_init.c 				ioremap(phba->pci_bar1_map, bar1map_len);
phba             10220 drivers/scsi/lpfc/lpfc_init.c 		if (!phba->sli4_hba.drbl_regs_memmap_p) {
phba             10226 drivers/scsi/lpfc/lpfc_init.c 		phba->pci_bar2_memmap_p = phba->sli4_hba.drbl_regs_memmap_p;
phba             10227 drivers/scsi/lpfc/lpfc_init.c 		lpfc_sli4_bar1_register_memmap(phba, if_type);
phba             10236 drivers/scsi/lpfc/lpfc_init.c 			phba->pci_bar2_map = pci_resource_start(pdev,
phba             10239 drivers/scsi/lpfc/lpfc_init.c 			phba->sli4_hba.drbl_regs_memmap_p =
phba             10240 drivers/scsi/lpfc/lpfc_init.c 					ioremap(phba->pci_bar2_map,
phba             10242 drivers/scsi/lpfc/lpfc_init.c 			if (!phba->sli4_hba.drbl_regs_memmap_p) {
phba             10249 drivers/scsi/lpfc/lpfc_init.c 			phba->pci_bar4_memmap_p =
phba             10250 drivers/scsi/lpfc/lpfc_init.c 					phba->sli4_hba.drbl_regs_memmap_p;
phba             10251 drivers/scsi/lpfc/lpfc_init.c 			error = lpfc_sli4_bar2_register_memmap(phba, LPFC_VF0);
phba             10266 drivers/scsi/lpfc/lpfc_init.c 		phba->pci_bar2_map = pci_resource_start(pdev, PCI_64BIT_BAR4);
phba             10268 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.dpp_regs_memmap_p =
phba             10269 drivers/scsi/lpfc/lpfc_init.c 				ioremap(phba->pci_bar2_map, bar2map_len);
phba             10270 drivers/scsi/lpfc/lpfc_init.c 		if (!phba->sli4_hba.dpp_regs_memmap_p) {
phba             10276 drivers/scsi/lpfc/lpfc_init.c 		phba->pci_bar4_memmap_p = phba->sli4_hba.dpp_regs_memmap_p;
phba             10283 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.sli4_eq_clr_intr = lpfc_sli4_eq_clr_intr;
phba             10284 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.sli4_write_eq_db = lpfc_sli4_write_eq_db;
phba             10285 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.sli4_write_cq_db = lpfc_sli4_write_cq_db;
phba             10288 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.sli4_eq_clr_intr = lpfc_sli4_if6_eq_clr_intr;
phba             10289 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.sli4_write_eq_db = lpfc_sli4_if6_write_eq_db;
phba             10290 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.sli4_write_cq_db = lpfc_sli4_if6_write_cq_db;
phba             10299 drivers/scsi/lpfc/lpfc_init.c 	iounmap(phba->sli4_hba.drbl_regs_memmap_p);
phba             10301 drivers/scsi/lpfc/lpfc_init.c 	iounmap(phba->sli4_hba.ctrl_regs_memmap_p);
phba             10303 drivers/scsi/lpfc/lpfc_init.c 	iounmap(phba->sli4_hba.conf_regs_memmap_p);
phba             10316 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_pci_mem_unset(struct lpfc_hba *phba)
phba             10319 drivers/scsi/lpfc/lpfc_init.c 	if_type = bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf);
phba             10323 drivers/scsi/lpfc/lpfc_init.c 		iounmap(phba->sli4_hba.drbl_regs_memmap_p);
phba             10324 drivers/scsi/lpfc/lpfc_init.c 		iounmap(phba->sli4_hba.ctrl_regs_memmap_p);
phba             10325 drivers/scsi/lpfc/lpfc_init.c 		iounmap(phba->sli4_hba.conf_regs_memmap_p);
phba             10328 drivers/scsi/lpfc/lpfc_init.c 		iounmap(phba->sli4_hba.conf_regs_memmap_p);
phba             10331 drivers/scsi/lpfc/lpfc_init.c 		iounmap(phba->sli4_hba.drbl_regs_memmap_p);
phba             10332 drivers/scsi/lpfc/lpfc_init.c 		iounmap(phba->sli4_hba.conf_regs_memmap_p);
phba             10336 drivers/scsi/lpfc/lpfc_init.c 		dev_printk(KERN_ERR, &phba->pcidev->dev,
phba             10355 drivers/scsi/lpfc/lpfc_init.c lpfc_sli_enable_msix(struct lpfc_hba *phba)
phba             10361 drivers/scsi/lpfc/lpfc_init.c 	rc = pci_alloc_irq_vectors(phba->pcidev,
phba             10364 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             10374 drivers/scsi/lpfc/lpfc_init.c 	rc = request_irq(pci_irq_vector(phba->pcidev, 0),
phba             10376 drivers/scsi/lpfc/lpfc_init.c 			 LPFC_SP_DRIVER_HANDLER_NAME, phba);
phba             10378 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_INIT,
phba             10385 drivers/scsi/lpfc/lpfc_init.c 	rc = request_irq(pci_irq_vector(phba->pcidev, 1),
phba             10387 drivers/scsi/lpfc/lpfc_init.c 			 LPFC_FP_DRIVER_HANDLER_NAME, phba);
phba             10390 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_INIT,
phba             10399 drivers/scsi/lpfc/lpfc_init.c 	pmb = (LPFC_MBOXQ_t *) mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             10403 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             10408 drivers/scsi/lpfc/lpfc_init.c 	rc = lpfc_config_msi(phba, pmb);
phba             10411 drivers/scsi/lpfc/lpfc_init.c 	rc = lpfc_sli_issue_mbox(phba, pmb, MBX_POLL);
phba             10413 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_MBOX,
phba             10421 drivers/scsi/lpfc/lpfc_init.c 	mempool_free(pmb, phba->mbox_mem_pool);
phba             10426 drivers/scsi/lpfc/lpfc_init.c 	mempool_free(pmb, phba->mbox_mem_pool);
phba             10430 drivers/scsi/lpfc/lpfc_init.c 	free_irq(pci_irq_vector(phba->pcidev, 1), phba);
phba             10434 drivers/scsi/lpfc/lpfc_init.c 	free_irq(pci_irq_vector(phba->pcidev, 0), phba);
phba             10438 drivers/scsi/lpfc/lpfc_init.c 	pci_free_irq_vectors(phba->pcidev);
phba             10459 drivers/scsi/lpfc/lpfc_init.c lpfc_sli_enable_msi(struct lpfc_hba *phba)
phba             10463 drivers/scsi/lpfc/lpfc_init.c 	rc = pci_enable_msi(phba->pcidev);
phba             10465 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             10468 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             10473 drivers/scsi/lpfc/lpfc_init.c 	rc = request_irq(phba->pcidev->irq, lpfc_sli_intr_handler,
phba             10474 drivers/scsi/lpfc/lpfc_init.c 			 0, LPFC_DRIVER_NAME, phba);
phba             10476 drivers/scsi/lpfc/lpfc_init.c 		pci_disable_msi(phba->pcidev);
phba             10477 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_INIT,
phba             10500 drivers/scsi/lpfc/lpfc_init.c lpfc_sli_enable_intr(struct lpfc_hba *phba, uint32_t cfg_mode)
phba             10507 drivers/scsi/lpfc/lpfc_init.c 		retval = lpfc_sli_config_port(phba, LPFC_SLI_REV3);
phba             10510 drivers/scsi/lpfc/lpfc_init.c 			retval = lpfc_sli_enable_msix(phba);
phba             10513 drivers/scsi/lpfc/lpfc_init.c 				phba->intr_type = MSIX;
phba             10520 drivers/scsi/lpfc/lpfc_init.c 	if (cfg_mode >= 1 && phba->intr_type == NONE) {
phba             10521 drivers/scsi/lpfc/lpfc_init.c 		retval = lpfc_sli_enable_msi(phba);
phba             10524 drivers/scsi/lpfc/lpfc_init.c 			phba->intr_type = MSI;
phba             10530 drivers/scsi/lpfc/lpfc_init.c 	if (phba->intr_type == NONE) {
phba             10531 drivers/scsi/lpfc/lpfc_init.c 		retval = request_irq(phba->pcidev->irq, lpfc_sli_intr_handler,
phba             10532 drivers/scsi/lpfc/lpfc_init.c 				     IRQF_SHARED, LPFC_DRIVER_NAME, phba);
phba             10535 drivers/scsi/lpfc/lpfc_init.c 			phba->intr_type = INTx;
phba             10552 drivers/scsi/lpfc/lpfc_init.c lpfc_sli_disable_intr(struct lpfc_hba *phba)
phba             10556 drivers/scsi/lpfc/lpfc_init.c 	if (phba->intr_type == MSIX)
phba             10562 drivers/scsi/lpfc/lpfc_init.c 		free_irq(pci_irq_vector(phba->pcidev, i), phba);
phba             10563 drivers/scsi/lpfc/lpfc_init.c 	pci_free_irq_vectors(phba->pcidev);
phba             10566 drivers/scsi/lpfc/lpfc_init.c 	phba->intr_type = NONE;
phba             10567 drivers/scsi/lpfc/lpfc_init.c 	phba->sli.slistat.sli_intr = 0;
phba             10579 drivers/scsi/lpfc/lpfc_init.c lpfc_find_cpu_handle(struct lpfc_hba *phba, uint16_t id, int match)
phba             10586 drivers/scsi/lpfc/lpfc_init.c 		cpup = &phba->sli4_hba.cpu_map[cpu];
phba             10614 drivers/scsi/lpfc/lpfc_init.c lpfc_find_hyper(struct lpfc_hba *phba, int cpu,
phba             10621 drivers/scsi/lpfc/lpfc_init.c 		cpup = &phba->sli4_hba.cpu_map[idx];
phba             10643 drivers/scsi/lpfc/lpfc_init.c lpfc_cpu_affinity_check(struct lpfc_hba *phba, int vectors)
phba             10657 drivers/scsi/lpfc/lpfc_init.c 		cpup = &phba->sli4_hba.cpu_map[cpu];
phba             10673 drivers/scsi/lpfc/lpfc_init.c 		cpup = &phba->sli4_hba.cpu_map[cpu];
phba             10678 drivers/scsi/lpfc/lpfc_init.c 		if (lpfc_find_hyper(phba, cpu, cpup->phys_id, cpup->core_id))
phba             10686 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             10703 drivers/scsi/lpfc/lpfc_init.c 			per_cpu_ptr(phba->sli4_hba.eq_info, i);
phba             10719 drivers/scsi/lpfc/lpfc_init.c 	for (idx = 0; idx <  phba->cfg_irq_chann; idx++) {
phba             10721 drivers/scsi/lpfc/lpfc_init.c 		maskp = pci_irq_get_affinity(phba->pcidev, idx);
phba             10723 drivers/scsi/lpfc/lpfc_init.c 			if (phba->cfg_irq_chann > 1)
phba             10724 drivers/scsi/lpfc/lpfc_init.c 				lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             10727 drivers/scsi/lpfc/lpfc_init.c 						idx, phba->cfg_irq_chann);
phba             10730 drivers/scsi/lpfc/lpfc_init.c 				cpup = &phba->sli4_hba.cpu_map[cpu];
phba             10732 drivers/scsi/lpfc/lpfc_init.c 				cpup->irq = pci_irq_vector(phba->pcidev, idx);
phba             10742 drivers/scsi/lpfc/lpfc_init.c 			cpup = &phba->sli4_hba.cpu_map[cpu];
phba             10744 drivers/scsi/lpfc/lpfc_init.c 			cpup->irq = pci_irq_vector(phba->pcidev, idx);
phba             10753 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             10769 drivers/scsi/lpfc/lpfc_init.c 		cpup = &phba->sli4_hba.cpu_map[cpu];
phba             10782 drivers/scsi/lpfc/lpfc_init.c 			for (i = 0; i < phba->sli4_hba.num_present_cpu; i++) {
phba             10783 drivers/scsi/lpfc/lpfc_init.c 				new_cpup = &phba->sli4_hba.cpu_map[new_cpu];
phba             10808 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             10820 drivers/scsi/lpfc/lpfc_init.c 		cpup = &phba->sli4_hba.cpu_map[cpu];
phba             10833 drivers/scsi/lpfc/lpfc_init.c 			for (i = 0; i < phba->sli4_hba.num_present_cpu; i++) {
phba             10834 drivers/scsi/lpfc/lpfc_init.c 				new_cpup = &phba->sli4_hba.cpu_map[new_cpu];
phba             10844 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             10862 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             10875 drivers/scsi/lpfc/lpfc_init.c 		cpup = &phba->sli4_hba.cpu_map[cpu];
phba             10884 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             10902 drivers/scsi/lpfc/lpfc_init.c 		cpup = &phba->sli4_hba.cpu_map[cpu];
phba             10912 drivers/scsi/lpfc/lpfc_init.c 		if (next_idx < phba->cfg_hdw_queue) {
phba             10924 drivers/scsi/lpfc/lpfc_init.c 		for (i = 0; i < phba->sli4_hba.num_present_cpu; i++) {
phba             10925 drivers/scsi/lpfc/lpfc_init.c 			new_cpup = &phba->sli4_hba.cpu_map[new_cpu];
phba             10940 drivers/scsi/lpfc/lpfc_init.c 		for (i = 0; i < phba->sli4_hba.num_present_cpu; i++) {
phba             10941 drivers/scsi/lpfc/lpfc_init.c 			new_cpup = &phba->sli4_hba.cpu_map[new_cpu];
phba             10952 drivers/scsi/lpfc/lpfc_init.c 		cpup->hdwq = idx % phba->cfg_hdw_queue;
phba             10962 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             10983 drivers/scsi/lpfc/lpfc_init.c lpfc_cpuhp_get_eq(struct lpfc_hba *phba, unsigned int cpu,
phba             10993 drivers/scsi/lpfc/lpfc_init.c 	for (idx = 0; idx < phba->cfg_irq_chann; idx++) {
phba             10994 drivers/scsi/lpfc/lpfc_init.c 		maskp = pci_irq_get_affinity(phba->pcidev, idx);
phba             11020 drivers/scsi/lpfc/lpfc_init.c 			map = &phba->sli4_hba.cpu_map[i];
phba             11021 drivers/scsi/lpfc/lpfc_init.c 			if (!(map->irq == pci_irq_vector(phba->pcidev, idx)))
phba             11023 drivers/scsi/lpfc/lpfc_init.c 			eq = phba->sli4_hba.hdwq[map->hdwq].hba_eq;
phba             11031 drivers/scsi/lpfc/lpfc_init.c static void __lpfc_cpuhp_remove(struct lpfc_hba *phba)
phba             11033 drivers/scsi/lpfc/lpfc_init.c 	if (phba->sli_rev != LPFC_SLI_REV4)
phba             11037 drivers/scsi/lpfc/lpfc_init.c 					    &phba->cpuhp);
phba             11043 drivers/scsi/lpfc/lpfc_init.c 	del_timer_sync(&phba->cpuhp_poll_timer);
phba             11046 drivers/scsi/lpfc/lpfc_init.c static void lpfc_cpuhp_remove(struct lpfc_hba *phba)
phba             11048 drivers/scsi/lpfc/lpfc_init.c 	if (phba->pport->fc_flag & FC_OFFLINE_MODE)
phba             11051 drivers/scsi/lpfc/lpfc_init.c 	__lpfc_cpuhp_remove(phba);
phba             11054 drivers/scsi/lpfc/lpfc_init.c static void lpfc_cpuhp_add(struct lpfc_hba *phba)
phba             11056 drivers/scsi/lpfc/lpfc_init.c 	if (phba->sli_rev != LPFC_SLI_REV4)
phba             11061 drivers/scsi/lpfc/lpfc_init.c 	if (!list_empty(&phba->poll_list)) {
phba             11062 drivers/scsi/lpfc/lpfc_init.c 		timer_setup(&phba->cpuhp_poll_timer, lpfc_sli4_poll_hbtimer, 0);
phba             11063 drivers/scsi/lpfc/lpfc_init.c 		mod_timer(&phba->cpuhp_poll_timer,
phba             11070 drivers/scsi/lpfc/lpfc_init.c 					 &phba->cpuhp);
phba             11073 drivers/scsi/lpfc/lpfc_init.c static int __lpfc_cpuhp_checks(struct lpfc_hba *phba, int *retval)
phba             11075 drivers/scsi/lpfc/lpfc_init.c 	if (phba->pport->load_flag & FC_UNLOADING) {
phba             11080 drivers/scsi/lpfc/lpfc_init.c 	if (phba->sli_rev != LPFC_SLI_REV4) {
phba             11091 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_hba *phba = hlist_entry_safe(node, struct lpfc_hba, cpuhp);
phba             11096 drivers/scsi/lpfc/lpfc_init.c 	if (!phba) {
phba             11097 drivers/scsi/lpfc/lpfc_init.c 		WARN_ONCE(!phba, "cpu: %u. phba:NULL", raw_smp_processor_id());
phba             11101 drivers/scsi/lpfc/lpfc_init.c 	if (__lpfc_cpuhp_checks(phba, &retval))
phba             11104 drivers/scsi/lpfc/lpfc_init.c 	lpfc_cpuhp_get_eq(phba, cpu, &eqlist);
phba             11117 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_hba *phba = hlist_entry_safe(node, struct lpfc_hba, cpuhp);
phba             11122 drivers/scsi/lpfc/lpfc_init.c 	if (!phba) {
phba             11123 drivers/scsi/lpfc/lpfc_init.c 		WARN_ONCE(!phba, "cpu: %u. phba:NULL", raw_smp_processor_id());
phba             11127 drivers/scsi/lpfc/lpfc_init.c 	if (__lpfc_cpuhp_checks(phba, &retval))
phba             11130 drivers/scsi/lpfc/lpfc_init.c 	list_for_each_entry_safe(eq, next, &phba->poll_list, _poll_list) {
phba             11131 drivers/scsi/lpfc/lpfc_init.c 		n = lpfc_find_cpu_handle(phba, eq->hdwq, LPFC_FIND_BY_HDWQ);
phba             11151 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_enable_msix(struct lpfc_hba *phba)
phba             11157 drivers/scsi/lpfc/lpfc_init.c 	vectors = phba->cfg_irq_chann;
phba             11159 drivers/scsi/lpfc/lpfc_init.c 	rc = pci_alloc_irq_vectors(phba->pcidev,
phba             11163 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             11171 drivers/scsi/lpfc/lpfc_init.c 		name = phba->sli4_hba.hba_eq_hdl[index].handler_name;
phba             11176 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.hba_eq_hdl[index].idx = index;
phba             11177 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.hba_eq_hdl[index].phba = phba;
phba             11178 drivers/scsi/lpfc/lpfc_init.c 		rc = request_irq(pci_irq_vector(phba->pcidev, index),
phba             11181 drivers/scsi/lpfc/lpfc_init.c 			 &phba->sli4_hba.hba_eq_hdl[index]);
phba             11183 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_WARNING, LOG_INIT,
phba             11190 drivers/scsi/lpfc/lpfc_init.c 	if (vectors != phba->cfg_irq_chann) {
phba             11191 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             11194 drivers/scsi/lpfc/lpfc_init.c 				phba->cfg_irq_chann, vectors);
phba             11195 drivers/scsi/lpfc/lpfc_init.c 		if (phba->cfg_irq_chann > vectors)
phba             11196 drivers/scsi/lpfc/lpfc_init.c 			phba->cfg_irq_chann = vectors;
phba             11197 drivers/scsi/lpfc/lpfc_init.c 		if (phba->nvmet_support && (phba->cfg_nvmet_mrq > vectors))
phba             11198 drivers/scsi/lpfc/lpfc_init.c 			phba->cfg_nvmet_mrq = vectors;
phba             11206 drivers/scsi/lpfc/lpfc_init.c 		free_irq(pci_irq_vector(phba->pcidev, index),
phba             11207 drivers/scsi/lpfc/lpfc_init.c 				&phba->sli4_hba.hba_eq_hdl[index]);
phba             11210 drivers/scsi/lpfc/lpfc_init.c 	pci_free_irq_vectors(phba->pcidev);
phba             11231 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_enable_msi(struct lpfc_hba *phba)
phba             11235 drivers/scsi/lpfc/lpfc_init.c 	rc = pci_alloc_irq_vectors(phba->pcidev, 1, 1,
phba             11238 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             11241 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             11246 drivers/scsi/lpfc/lpfc_init.c 	rc = request_irq(phba->pcidev->irq, lpfc_sli4_intr_handler,
phba             11247 drivers/scsi/lpfc/lpfc_init.c 			 0, LPFC_DRIVER_NAME, phba);
phba             11249 drivers/scsi/lpfc/lpfc_init.c 		pci_free_irq_vectors(phba->pcidev);
phba             11250 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_INIT,
phba             11255 drivers/scsi/lpfc/lpfc_init.c 	for (index = 0; index < phba->cfg_irq_chann; index++) {
phba             11256 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.hba_eq_hdl[index].idx = index;
phba             11257 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.hba_eq_hdl[index].phba = phba;
phba             11280 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_enable_intr(struct lpfc_hba *phba, uint32_t cfg_mode)
phba             11290 drivers/scsi/lpfc/lpfc_init.c 			retval = lpfc_sli4_enable_msix(phba);
phba             11293 drivers/scsi/lpfc/lpfc_init.c 				phba->intr_type = MSIX;
phba             11300 drivers/scsi/lpfc/lpfc_init.c 	if (cfg_mode >= 1 && phba->intr_type == NONE) {
phba             11301 drivers/scsi/lpfc/lpfc_init.c 		retval = lpfc_sli4_enable_msi(phba);
phba             11304 drivers/scsi/lpfc/lpfc_init.c 			phba->intr_type = MSI;
phba             11310 drivers/scsi/lpfc/lpfc_init.c 	if (phba->intr_type == NONE) {
phba             11311 drivers/scsi/lpfc/lpfc_init.c 		retval = request_irq(phba->pcidev->irq, lpfc_sli4_intr_handler,
phba             11312 drivers/scsi/lpfc/lpfc_init.c 				     IRQF_SHARED, LPFC_DRIVER_NAME, phba);
phba             11317 drivers/scsi/lpfc/lpfc_init.c 			phba->intr_type = INTx;
phba             11320 drivers/scsi/lpfc/lpfc_init.c 			for (idx = 0; idx < phba->cfg_irq_chann; idx++) {
phba             11321 drivers/scsi/lpfc/lpfc_init.c 				eqhdl = &phba->sli4_hba.hba_eq_hdl[idx];
phba             11323 drivers/scsi/lpfc/lpfc_init.c 				eqhdl->phba = phba;
phba             11340 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_disable_intr(struct lpfc_hba *phba)
phba             11343 drivers/scsi/lpfc/lpfc_init.c 	if (phba->intr_type == MSIX) {
phba             11347 drivers/scsi/lpfc/lpfc_init.c 		for (index = 0; index < phba->cfg_irq_chann; index++) {
phba             11349 drivers/scsi/lpfc/lpfc_init.c 				pci_irq_vector(phba->pcidev, index),
phba             11351 drivers/scsi/lpfc/lpfc_init.c 			free_irq(pci_irq_vector(phba->pcidev, index),
phba             11352 drivers/scsi/lpfc/lpfc_init.c 					&phba->sli4_hba.hba_eq_hdl[index]);
phba             11355 drivers/scsi/lpfc/lpfc_init.c 		free_irq(phba->pcidev->irq, phba);
phba             11358 drivers/scsi/lpfc/lpfc_init.c 	pci_free_irq_vectors(phba->pcidev);
phba             11361 drivers/scsi/lpfc/lpfc_init.c 	phba->intr_type = NONE;
phba             11362 drivers/scsi/lpfc/lpfc_init.c 	phba->sli.slistat.sli_intr = 0;
phba             11373 drivers/scsi/lpfc/lpfc_init.c lpfc_unset_hba(struct lpfc_hba *phba)
phba             11375 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_vport *vport = phba->pport;
phba             11382 drivers/scsi/lpfc/lpfc_init.c 	kfree(phba->vpi_bmask);
phba             11383 drivers/scsi/lpfc/lpfc_init.c 	kfree(phba->vpi_ids);
phba             11385 drivers/scsi/lpfc/lpfc_init.c 	lpfc_stop_hba_timers(phba);
phba             11387 drivers/scsi/lpfc/lpfc_init.c 	phba->pport->work_port_events = 0;
phba             11389 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli_hba_down(phba);
phba             11391 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli_brdrestart(phba);
phba             11393 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli_disable_intr(phba);
phba             11412 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_xri_exchange_busy_wait(struct lpfc_hba *phba)
phba             11419 drivers/scsi/lpfc/lpfc_init.c 	int els_xri_cmpl = list_empty(&phba->sli4_hba.lpfc_abts_els_sgl_list);
phba             11428 drivers/scsi/lpfc/lpfc_init.c 	if (phba->cfg_enable_fc4_type & LPFC_ENABLE_NVME)
phba             11429 drivers/scsi/lpfc/lpfc_init.c 		lpfc_nvme_wait_for_io_drain(phba);
phba             11432 drivers/scsi/lpfc/lpfc_init.c 	for (idx = 0; idx < phba->cfg_hdw_queue; idx++) {
phba             11433 drivers/scsi/lpfc/lpfc_init.c 		qp = &phba->sli4_hba.hdwq[idx];
phba             11441 drivers/scsi/lpfc/lpfc_init.c 	if (phba->cfg_enable_fc4_type & LPFC_ENABLE_NVME) {
phba             11443 drivers/scsi/lpfc/lpfc_init.c 			list_empty(&phba->sli4_hba.lpfc_abts_nvmet_ctx_list);
phba             11449 drivers/scsi/lpfc/lpfc_init.c 				lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             11454 drivers/scsi/lpfc/lpfc_init.c 				lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             11459 drivers/scsi/lpfc/lpfc_init.c 				lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             11471 drivers/scsi/lpfc/lpfc_init.c 		for (idx = 0; idx < phba->cfg_hdw_queue; idx++) {
phba             11472 drivers/scsi/lpfc/lpfc_init.c 			qp = &phba->sli4_hba.hdwq[idx];
phba             11481 drivers/scsi/lpfc/lpfc_init.c 		if (phba->cfg_enable_fc4_type & LPFC_ENABLE_NVME) {
phba             11483 drivers/scsi/lpfc/lpfc_init.c 				&phba->sli4_hba.lpfc_abts_nvmet_ctx_list);
phba             11486 drivers/scsi/lpfc/lpfc_init.c 			list_empty(&phba->sli4_hba.lpfc_abts_els_sgl_list);
phba             11502 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_hba_unset(struct lpfc_hba *phba)
phba             11506 drivers/scsi/lpfc/lpfc_init.c 	struct pci_dev *pdev = phba->pcidev;
phba             11508 drivers/scsi/lpfc/lpfc_init.c 	lpfc_stop_hba_timers(phba);
phba             11509 drivers/scsi/lpfc/lpfc_init.c 	if (phba->pport)
phba             11510 drivers/scsi/lpfc/lpfc_init.c 		phba->sli4_hba.intr_enable = 0;
phba             11518 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_irq(&phba->hbalock);
phba             11519 drivers/scsi/lpfc/lpfc_init.c 	phba->sli.sli_flag |= LPFC_SLI_ASYNC_MBX_BLK;
phba             11520 drivers/scsi/lpfc/lpfc_init.c 	spin_unlock_irq(&phba->hbalock);
phba             11522 drivers/scsi/lpfc/lpfc_init.c 	while (phba->sli.sli_flag & LPFC_SLI_MBOX_ACTIVE) {
phba             11528 drivers/scsi/lpfc/lpfc_init.c 	if (phba->sli.sli_flag & LPFC_SLI_MBOX_ACTIVE) {
phba             11529 drivers/scsi/lpfc/lpfc_init.c 		spin_lock_irq(&phba->hbalock);
phba             11530 drivers/scsi/lpfc/lpfc_init.c 		mboxq = phba->sli.mbox_active;
phba             11532 drivers/scsi/lpfc/lpfc_init.c 		__lpfc_mbox_cmpl_put(phba, mboxq);
phba             11533 drivers/scsi/lpfc/lpfc_init.c 		phba->sli.sli_flag &= ~LPFC_SLI_MBOX_ACTIVE;
phba             11534 drivers/scsi/lpfc/lpfc_init.c 		phba->sli.mbox_active = NULL;
phba             11535 drivers/scsi/lpfc/lpfc_init.c 		spin_unlock_irq(&phba->hbalock);
phba             11539 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli_hba_iocb_abort(phba);
phba             11542 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli4_xri_exchange_busy_wait(phba);
phba             11545 drivers/scsi/lpfc/lpfc_init.c 	lpfc_cpuhp_remove(phba);
phba             11548 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli4_disable_intr(phba);
phba             11551 drivers/scsi/lpfc/lpfc_init.c 	if (phba->cfg_sriov_nr_virtfn)
phba             11555 drivers/scsi/lpfc/lpfc_init.c 	kthread_stop(phba->worker_thread);
phba             11558 drivers/scsi/lpfc/lpfc_init.c 	lpfc_ras_stop_fwlog(phba);
phba             11563 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli4_queue_unset(phba);
phba             11564 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli4_queue_destroy(phba);
phba             11567 drivers/scsi/lpfc/lpfc_init.c 	lpfc_pci_function_reset(phba);
phba             11570 drivers/scsi/lpfc/lpfc_init.c 	if (phba->ras_fwlog.ras_enabled)
phba             11571 drivers/scsi/lpfc/lpfc_init.c 		lpfc_sli4_ras_dma_free(phba);
phba             11574 drivers/scsi/lpfc/lpfc_init.c 	if (phba->pport)
phba             11575 drivers/scsi/lpfc/lpfc_init.c 		phba->pport->work_port_events = 0;
phba             11591 drivers/scsi/lpfc/lpfc_init.c lpfc_pc_sli4_params_get(struct lpfc_hba *phba, LPFC_MBOXQ_t *mboxq)
phba             11603 drivers/scsi/lpfc/lpfc_init.c 	if (!phba->sli4_hba.intr_enable)
phba             11604 drivers/scsi/lpfc/lpfc_init.c 		rc = lpfc_sli_issue_mbox(phba, mboxq, MBX_POLL);
phba             11606 drivers/scsi/lpfc/lpfc_init.c 		mbox_tmo = lpfc_mbox_tmo_val(phba, mboxq);
phba             11607 drivers/scsi/lpfc/lpfc_init.c 		rc = lpfc_sli_issue_mbox_wait(phba, mboxq, mbox_tmo);
phba             11613 drivers/scsi/lpfc/lpfc_init.c 	sli4_params = &phba->sli4_hba.pc_sli4_params;
phba             11663 drivers/scsi/lpfc/lpfc_init.c lpfc_get_sli4_parameters(struct lpfc_hba *phba, LPFC_MBOXQ_t *mboxq)
phba             11678 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.rpi_hdrs_in_use = 1;
phba             11683 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli4_config(phba, mboxq, LPFC_MBOX_SUBSYSTEM_COMMON,
phba             11686 drivers/scsi/lpfc/lpfc_init.c 	if (!phba->sli4_hba.intr_enable)
phba             11687 drivers/scsi/lpfc/lpfc_init.c 		rc = lpfc_sli_issue_mbox(phba, mboxq, MBX_POLL);
phba             11689 drivers/scsi/lpfc/lpfc_init.c 		mbox_tmo = lpfc_mbox_tmo_val(phba, mboxq);
phba             11690 drivers/scsi/lpfc/lpfc_init.c 		rc = lpfc_sli_issue_mbox_wait(phba, mboxq, mbox_tmo);
phba             11694 drivers/scsi/lpfc/lpfc_init.c 	sli4_params = &phba->sli4_hba.pc_sli4_params;
phba             11704 drivers/scsi/lpfc/lpfc_init.c 		phba->sli3_options |= LPFC_SLI4_PHWQ_ENABLED;
phba             11706 drivers/scsi/lpfc/lpfc_init.c 		phba->sli3_options &= ~LPFC_SLI4_PHWQ_ENABLED;
phba             11723 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.extents_in_use = bf_get(cfg_ext, mbx_sli4_parameters);
phba             11724 drivers/scsi/lpfc/lpfc_init.c 	phba->sli4_hba.rpi_hdrs_in_use = bf_get(cfg_hdrr, mbx_sli4_parameters);
phba             11727 drivers/scsi/lpfc/lpfc_init.c 	phba->cfg_xpsgl = bf_get(cfg_xpsgl, mbx_sli4_parameters);
phba             11738 drivers/scsi/lpfc/lpfc_init.c 		if (phba->cfg_enable_fc4_type == LPFC_ENABLE_FCP) {
phba             11739 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_INFO, LOG_INIT | LOG_NVME,
phba             11742 drivers/scsi/lpfc/lpfc_init.c 					phba->cfg_enable_fc4_type);
phba             11748 drivers/scsi/lpfc/lpfc_init.c 		if (phba->cfg_enable_fc4_type & LPFC_ENABLE_NVME) {
phba             11749 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_ERR, LOG_INIT | LOG_NVME,
phba             11754 drivers/scsi/lpfc/lpfc_init.c 					phba->cfg_enable_fc4_type);
phba             11756 drivers/scsi/lpfc/lpfc_init.c 			phba->nvme_support = 0;
phba             11757 drivers/scsi/lpfc/lpfc_init.c 			phba->nvmet_support = 0;
phba             11758 drivers/scsi/lpfc/lpfc_init.c 			phba->cfg_nvmet_mrq = 0;
phba             11759 drivers/scsi/lpfc/lpfc_init.c 			phba->cfg_nvme_seg_cnt = 0;
phba             11762 drivers/scsi/lpfc/lpfc_init.c 			if (!(phba->cfg_enable_fc4_type & LPFC_ENABLE_FCP))
phba             11764 drivers/scsi/lpfc/lpfc_init.c 			phba->cfg_enable_fc4_type = LPFC_ENABLE_FCP;
phba             11772 drivers/scsi/lpfc/lpfc_init.c 	if (phba->cfg_enable_fc4_type & LPFC_ENABLE_NVME) {
phba             11773 drivers/scsi/lpfc/lpfc_init.c 		phba->cfg_sg_seg_cnt = LPFC_MAX_NVME_SEG_CNT;
phba             11774 drivers/scsi/lpfc/lpfc_init.c 		phba->cfg_iocb_cnt = 5;
phba             11778 drivers/scsi/lpfc/lpfc_init.c 	if ((bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) !=
phba             11780 drivers/scsi/lpfc/lpfc_init.c 		phba->cfg_enable_pbde = 0;
phba             11790 drivers/scsi/lpfc/lpfc_init.c 	if (phba->cfg_suppress_rsp && bf_get(cfg_xib, mbx_sli4_parameters) &&
phba             11792 drivers/scsi/lpfc/lpfc_init.c 		phba->sli.sli_flag |= LPFC_SLI_SUPPRESS_RSP;
phba             11794 drivers/scsi/lpfc/lpfc_init.c 		phba->cfg_suppress_rsp = 0;
phba             11797 drivers/scsi/lpfc/lpfc_init.c 		phba->sli.sli_flag |= LPFC_SLI_USE_EQDR;
phba             11809 drivers/scsi/lpfc/lpfc_init.c 		phba->fcp_embed_io = 1;
phba             11811 drivers/scsi/lpfc/lpfc_init.c 		phba->fcp_embed_io = 0;
phba             11813 drivers/scsi/lpfc/lpfc_init.c 	lpfc_printf_log(phba, KERN_INFO, LOG_INIT | LOG_NVME,
phba             11816 drivers/scsi/lpfc/lpfc_init.c 			phba->cfg_enable_pbde,
phba             11817 drivers/scsi/lpfc/lpfc_init.c 			phba->fcp_embed_io, phba->nvme_support,
phba             11818 drivers/scsi/lpfc/lpfc_init.c 			phba->cfg_nvme_embed_cmd, phba->cfg_suppress_rsp);
phba             11820 drivers/scsi/lpfc/lpfc_init.c 	if ((bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) ==
phba             11822 drivers/scsi/lpfc/lpfc_init.c 	    (bf_get(lpfc_sli_intf_sli_family, &phba->sli4_hba.sli_intf) ==
phba             11830 drivers/scsi/lpfc/lpfc_init.c 		phba->enab_exp_wqcq_pages = 1;
phba             11832 drivers/scsi/lpfc/lpfc_init.c 		phba->enab_exp_wqcq_pages = 0;
phba             11837 drivers/scsi/lpfc/lpfc_init.c 		phba->mds_diags_support = 1;
phba             11839 drivers/scsi/lpfc/lpfc_init.c 		phba->mds_diags_support = 0;
phba             11845 drivers/scsi/lpfc/lpfc_init.c 		phba->nsler = 1;
phba             11847 drivers/scsi/lpfc/lpfc_init.c 		phba->nsler = 0;
phba             11872 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_hba   *phba;
phba             11879 drivers/scsi/lpfc/lpfc_init.c 	phba = lpfc_hba_alloc(pdev);
phba             11880 drivers/scsi/lpfc/lpfc_init.c 	if (!phba)
phba             11884 drivers/scsi/lpfc/lpfc_init.c 	error = lpfc_enable_pci_dev(phba);
phba             11889 drivers/scsi/lpfc/lpfc_init.c 	error = lpfc_api_table_setup(phba, LPFC_PCI_DEV_LP);
phba             11894 drivers/scsi/lpfc/lpfc_init.c 	error = lpfc_sli_pci_mem_setup(phba);
phba             11896 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             11902 drivers/scsi/lpfc/lpfc_init.c 	error = lpfc_sli_driver_resource_setup(phba);
phba             11904 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             11911 drivers/scsi/lpfc/lpfc_init.c 	error = lpfc_init_iocb_list(phba, LPFC_IOCB_LIST_CNT);
phba             11913 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             11919 drivers/scsi/lpfc/lpfc_init.c 	error = lpfc_setup_driver_resource_phase2(phba);
phba             11921 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             11927 drivers/scsi/lpfc/lpfc_init.c 	lpfc_get_hba_model_desc(phba, phba->ModelName, phba->ModelDesc);
phba             11930 drivers/scsi/lpfc/lpfc_init.c 	error = lpfc_create_shost(phba);
phba             11932 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             11938 drivers/scsi/lpfc/lpfc_init.c 	vport = phba->pport;
phba             11941 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             11948 drivers/scsi/lpfc/lpfc_init.c 	cfg_mode = phba->cfg_use_msi;
phba             11951 drivers/scsi/lpfc/lpfc_init.c 		lpfc_stop_port(phba);
phba             11953 drivers/scsi/lpfc/lpfc_init.c 		intr_mode = lpfc_sli_enable_intr(phba, cfg_mode);
phba             11955 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             11961 drivers/scsi/lpfc/lpfc_init.c 		if (lpfc_sli_hba_setup(phba)) {
phba             11962 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             11972 drivers/scsi/lpfc/lpfc_init.c 		    phba->sli.slistat.sli_intr > LPFC_MSIX_VECTORS) {
phba             11974 drivers/scsi/lpfc/lpfc_init.c 			phba->intr_mode = intr_mode;
phba             11975 drivers/scsi/lpfc/lpfc_init.c 			lpfc_log_intr_mode(phba, intr_mode);
phba             11978 drivers/scsi/lpfc/lpfc_init.c 			lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             11983 drivers/scsi/lpfc/lpfc_init.c 			lpfc_sli_disable_intr(phba);
phba             11990 drivers/scsi/lpfc/lpfc_init.c 	lpfc_post_init_setup(phba);
phba             11993 drivers/scsi/lpfc/lpfc_init.c 	lpfc_create_static_vport(phba);
phba             11998 drivers/scsi/lpfc/lpfc_init.c 	lpfc_unset_hba(phba);
phba             12002 drivers/scsi/lpfc/lpfc_init.c 	lpfc_destroy_shost(phba);
phba             12004 drivers/scsi/lpfc/lpfc_init.c 	lpfc_unset_driver_resource_phase2(phba);
phba             12006 drivers/scsi/lpfc/lpfc_init.c 	lpfc_free_iocb_list(phba);
phba             12008 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli_driver_resource_unset(phba);
phba             12010 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli_pci_mem_unset(phba);
phba             12012 drivers/scsi/lpfc/lpfc_init.c 	lpfc_disable_pci_dev(phba);
phba             12016 drivers/scsi/lpfc/lpfc_init.c 	lpfc_hba_free(phba);
phba             12035 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_hba   *phba = vport->phba;
phba             12038 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_irq(&phba->hbalock);
phba             12040 drivers/scsi/lpfc/lpfc_init.c 	spin_unlock_irq(&phba->hbalock);
phba             12045 drivers/scsi/lpfc/lpfc_init.c 	vports = lpfc_create_vport_work_array(phba);
phba             12047 drivers/scsi/lpfc/lpfc_init.c 		for (i = 0; i <= phba->max_vports && vports[i] != NULL; i++) {
phba             12052 drivers/scsi/lpfc/lpfc_init.c 	lpfc_destroy_vport_work_array(phba, vports);
phba             12067 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli_hba_down(phba);
phba             12069 drivers/scsi/lpfc/lpfc_init.c 	kthread_stop(phba->worker_thread);
phba             12071 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli_brdrestart(phba);
phba             12073 drivers/scsi/lpfc/lpfc_init.c 	kfree(phba->vpi_bmask);
phba             12074 drivers/scsi/lpfc/lpfc_init.c 	kfree(phba->vpi_ids);
phba             12076 drivers/scsi/lpfc/lpfc_init.c 	lpfc_stop_hba_timers(phba);
phba             12077 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_irq(&phba->port_list_lock);
phba             12079 drivers/scsi/lpfc/lpfc_init.c 	spin_unlock_irq(&phba->port_list_lock);
phba             12084 drivers/scsi/lpfc/lpfc_init.c 	if (phba->cfg_sriov_nr_virtfn)
phba             12088 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli_disable_intr(phba);
phba             12096 drivers/scsi/lpfc/lpfc_init.c 	lpfc_scsi_free(phba);
phba             12097 drivers/scsi/lpfc/lpfc_init.c 	lpfc_free_iocb_list(phba);
phba             12099 drivers/scsi/lpfc/lpfc_init.c 	lpfc_mem_free_all(phba);
phba             12102 drivers/scsi/lpfc/lpfc_init.c 			  phba->hbqslimp.virt, phba->hbqslimp.phys);
phba             12106 drivers/scsi/lpfc/lpfc_init.c 			  phba->slim2p.virt, phba->slim2p.phys);
phba             12109 drivers/scsi/lpfc/lpfc_init.c 	iounmap(phba->ctrl_regs_memmap_p);
phba             12110 drivers/scsi/lpfc/lpfc_init.c 	iounmap(phba->slim_memmap_p);
phba             12112 drivers/scsi/lpfc/lpfc_init.c 	lpfc_hba_free(phba);
phba             12143 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_hba *phba = ((struct lpfc_vport *)shost->hostdata)->phba;
phba             12145 drivers/scsi/lpfc/lpfc_init.c 	lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             12149 drivers/scsi/lpfc/lpfc_init.c 	lpfc_offline_prep(phba, LPFC_MBX_WAIT);
phba             12150 drivers/scsi/lpfc/lpfc_init.c 	lpfc_offline(phba);
phba             12151 drivers/scsi/lpfc/lpfc_init.c 	kthread_stop(phba->worker_thread);
phba             12154 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli_disable_intr(phba);
phba             12186 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_hba *phba = ((struct lpfc_vport *)shost->hostdata)->phba;
phba             12190 drivers/scsi/lpfc/lpfc_init.c 	lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             12207 drivers/scsi/lpfc/lpfc_init.c 	phba->worker_thread = kthread_run(lpfc_do_work, phba,
phba             12208 drivers/scsi/lpfc/lpfc_init.c 					"lpfc_worker_%d", phba->brd_no);
phba             12209 drivers/scsi/lpfc/lpfc_init.c 	if (IS_ERR(phba->worker_thread)) {
phba             12210 drivers/scsi/lpfc/lpfc_init.c 		error = PTR_ERR(phba->worker_thread);
phba             12211 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             12218 drivers/scsi/lpfc/lpfc_init.c 	intr_mode = lpfc_sli_enable_intr(phba, phba->intr_mode);
phba             12220 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             12224 drivers/scsi/lpfc/lpfc_init.c 		phba->intr_mode = intr_mode;
phba             12227 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli_brdrestart(phba);
phba             12228 drivers/scsi/lpfc/lpfc_init.c 	lpfc_online(phba);
phba             12231 drivers/scsi/lpfc/lpfc_init.c 	lpfc_log_intr_mode(phba, phba->intr_mode);
phba             12244 drivers/scsi/lpfc/lpfc_init.c lpfc_sli_prep_dev_for_recover(struct lpfc_hba *phba)
phba             12246 drivers/scsi/lpfc/lpfc_init.c 	lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             12253 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli_abort_fcp_rings(phba);
phba             12265 drivers/scsi/lpfc/lpfc_init.c lpfc_sli_prep_dev_for_reset(struct lpfc_hba *phba)
phba             12267 drivers/scsi/lpfc/lpfc_init.c 	lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             12271 drivers/scsi/lpfc/lpfc_init.c 	lpfc_block_mgmt_io(phba, LPFC_MBX_WAIT);
phba             12274 drivers/scsi/lpfc/lpfc_init.c 	lpfc_scsi_dev_block(phba);
phba             12277 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli_flush_io_rings(phba);
phba             12280 drivers/scsi/lpfc/lpfc_init.c 	lpfc_stop_hba_timers(phba);
phba             12283 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli_disable_intr(phba);
phba             12284 drivers/scsi/lpfc/lpfc_init.c 	pci_disable_device(phba->pcidev);
phba             12296 drivers/scsi/lpfc/lpfc_init.c lpfc_sli_prep_dev_for_perm_failure(struct lpfc_hba *phba)
phba             12298 drivers/scsi/lpfc/lpfc_init.c 	lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             12301 drivers/scsi/lpfc/lpfc_init.c 	lpfc_scsi_dev_block(phba);
phba             12304 drivers/scsi/lpfc/lpfc_init.c 	lpfc_stop_hba_timers(phba);
phba             12307 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli_flush_io_rings(phba);
phba             12332 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_hba *phba = ((struct lpfc_vport *)shost->hostdata)->phba;
phba             12337 drivers/scsi/lpfc/lpfc_init.c 		lpfc_sli_prep_dev_for_recover(phba);
phba             12341 drivers/scsi/lpfc/lpfc_init.c 		lpfc_sli_prep_dev_for_reset(phba);
phba             12345 drivers/scsi/lpfc/lpfc_init.c 		lpfc_sli_prep_dev_for_perm_failure(phba);
phba             12349 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             12351 drivers/scsi/lpfc/lpfc_init.c 		lpfc_sli_prep_dev_for_reset(phba);
phba             12378 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_hba *phba = ((struct lpfc_vport *)shost->hostdata)->phba;
phba             12379 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_sli *psli = &phba->sli;
phba             12400 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_irq(&phba->hbalock);
phba             12402 drivers/scsi/lpfc/lpfc_init.c 	spin_unlock_irq(&phba->hbalock);
phba             12405 drivers/scsi/lpfc/lpfc_init.c 	intr_mode = lpfc_sli_enable_intr(phba, phba->intr_mode);
phba             12407 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             12412 drivers/scsi/lpfc/lpfc_init.c 		phba->intr_mode = intr_mode;
phba             12415 drivers/scsi/lpfc/lpfc_init.c 	lpfc_offline_prep(phba, LPFC_MBX_WAIT);
phba             12416 drivers/scsi/lpfc/lpfc_init.c 	lpfc_offline(phba);
phba             12417 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli_brdrestart(phba);
phba             12420 drivers/scsi/lpfc/lpfc_init.c 	lpfc_log_intr_mode(phba, phba->intr_mode);
phba             12439 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_hba *phba = ((struct lpfc_vport *)shost->hostdata)->phba;
phba             12442 drivers/scsi/lpfc/lpfc_init.c 	lpfc_online(phba);
phba             12452 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_get_els_iocb_cnt(struct lpfc_hba *phba)
phba             12454 drivers/scsi/lpfc/lpfc_init.c 	int max_xri = phba->sli4_hba.max_cfg_param.max_xri;
phba             12456 drivers/scsi/lpfc/lpfc_init.c 	if (phba->sli_rev == LPFC_SLI_REV4) {
phba             12482 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_get_iocb_cnt(struct lpfc_hba *phba)
phba             12484 drivers/scsi/lpfc/lpfc_init.c 	int max_xri = lpfc_sli4_get_els_iocb_cnt(phba);
phba             12486 drivers/scsi/lpfc/lpfc_init.c 	if (phba->nvmet_support)
phba             12493 drivers/scsi/lpfc/lpfc_init.c lpfc_log_write_firmware_error(struct lpfc_hba *phba, uint32_t offset,
phba             12498 drivers/scsi/lpfc/lpfc_init.c 	    (phba->pcidev->device == PCI_DEVICE_ID_LANCER_G6_FC &&
phba             12500 drivers/scsi/lpfc/lpfc_init.c 	    (phba->pcidev->device == PCI_DEVICE_ID_LANCER_G7_FC &&
phba             12502 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             12506 drivers/scsi/lpfc/lpfc_init.c 			phba->pcidev->device, magic_number, ftype, fid,
phba             12509 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             12512 drivers/scsi/lpfc/lpfc_init.c 			phba->pcidev->device, magic_number, ftype, fid,
phba             12526 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_hba *phba = (struct lpfc_hba *)context;
phba             12548 drivers/scsi/lpfc/lpfc_init.c 	lpfc_decode_firmware_rev(phba, fwrev, 1);
phba             12550 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             12561 drivers/scsi/lpfc/lpfc_init.c 			dmabuf->virt = dma_alloc_coherent(&phba->pcidev->dev,
phba             12586 drivers/scsi/lpfc/lpfc_init.c 			rc = lpfc_wr_object(phba, &dma_buffer_list,
phba             12589 drivers/scsi/lpfc/lpfc_init.c 				lpfc_log_write_firmware_error(phba, offset,
phba             12596 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             12604 drivers/scsi/lpfc/lpfc_init.c 		dma_free_coherent(&phba->pcidev->dev, SLI4_PAGE_SIZE,
phba             12610 drivers/scsi/lpfc/lpfc_init.c 	lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             12623 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_request_firmware_update(struct lpfc_hba *phba, uint8_t fw_upgrade)
phba             12630 drivers/scsi/lpfc/lpfc_init.c 	if (bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) <
phba             12634 drivers/scsi/lpfc/lpfc_init.c 	snprintf(file_name, ELX_MODEL_NAME_SIZE, "%s.grp", phba->ModelName);
phba             12638 drivers/scsi/lpfc/lpfc_init.c 					file_name, &phba->pcidev->dev,
phba             12639 drivers/scsi/lpfc/lpfc_init.c 					GFP_KERNEL, (void *)phba,
phba             12642 drivers/scsi/lpfc/lpfc_init.c 		ret = request_firmware(&fw, file_name, &phba->pcidev->dev);
phba             12644 drivers/scsi/lpfc/lpfc_init.c 			lpfc_write_firmware(fw, (void *)phba);
phba             12673 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_hba   *phba;
phba             12680 drivers/scsi/lpfc/lpfc_init.c 	phba = lpfc_hba_alloc(pdev);
phba             12681 drivers/scsi/lpfc/lpfc_init.c 	if (!phba)
phba             12685 drivers/scsi/lpfc/lpfc_init.c 	error = lpfc_enable_pci_dev(phba);
phba             12690 drivers/scsi/lpfc/lpfc_init.c 	error = lpfc_api_table_setup(phba, LPFC_PCI_DEV_OC);
phba             12695 drivers/scsi/lpfc/lpfc_init.c 	error = lpfc_sli4_pci_mem_setup(phba);
phba             12697 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             12703 drivers/scsi/lpfc/lpfc_init.c 	error = lpfc_sli4_driver_resource_setup(phba);
phba             12705 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             12710 drivers/scsi/lpfc/lpfc_init.c 	INIT_LIST_HEAD(&phba->active_rrq_list);
phba             12711 drivers/scsi/lpfc/lpfc_init.c 	INIT_LIST_HEAD(&phba->fcf.fcf_pri_list);
phba             12714 drivers/scsi/lpfc/lpfc_init.c 	error = lpfc_setup_driver_resource_phase2(phba);
phba             12716 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             12722 drivers/scsi/lpfc/lpfc_init.c 	lpfc_get_hba_model_desc(phba, phba->ModelName, phba->ModelDesc);
phba             12725 drivers/scsi/lpfc/lpfc_init.c 	cfg_mode = phba->cfg_use_msi;
phba             12728 drivers/scsi/lpfc/lpfc_init.c 	phba->pport = NULL;
phba             12729 drivers/scsi/lpfc/lpfc_init.c 	lpfc_stop_port(phba);
phba             12732 drivers/scsi/lpfc/lpfc_init.c 	intr_mode = lpfc_sli4_enable_intr(phba, cfg_mode);
phba             12734 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             12740 drivers/scsi/lpfc/lpfc_init.c 	if (phba->intr_type != MSIX) {
phba             12741 drivers/scsi/lpfc/lpfc_init.c 		phba->cfg_irq_chann = 1;
phba             12742 drivers/scsi/lpfc/lpfc_init.c 		if (phba->cfg_enable_fc4_type & LPFC_ENABLE_NVME) {
phba             12743 drivers/scsi/lpfc/lpfc_init.c 			if (phba->nvmet_support)
phba             12744 drivers/scsi/lpfc/lpfc_init.c 				phba->cfg_nvmet_mrq = 1;
phba             12747 drivers/scsi/lpfc/lpfc_init.c 	lpfc_cpu_affinity_check(phba, phba->cfg_irq_chann);
phba             12750 drivers/scsi/lpfc/lpfc_init.c 	error = lpfc_create_shost(phba);
phba             12752 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             12756 drivers/scsi/lpfc/lpfc_init.c 	vport = phba->pport;
phba             12762 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             12768 drivers/scsi/lpfc/lpfc_init.c 	if (lpfc_sli4_hba_setup(phba)) {
phba             12769 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             12776 drivers/scsi/lpfc/lpfc_init.c 	phba->intr_mode = intr_mode;
phba             12777 drivers/scsi/lpfc/lpfc_init.c 	lpfc_log_intr_mode(phba, intr_mode);
phba             12780 drivers/scsi/lpfc/lpfc_init.c 	lpfc_post_init_setup(phba);
phba             12785 drivers/scsi/lpfc/lpfc_init.c 	if (phba->nvmet_support == 0) {
phba             12786 drivers/scsi/lpfc/lpfc_init.c 		if (phba->cfg_enable_fc4_type & LPFC_ENABLE_NVME) {
phba             12794 drivers/scsi/lpfc/lpfc_init.c 				lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             12803 drivers/scsi/lpfc/lpfc_init.c 	if (phba->cfg_request_firmware_upgrade)
phba             12804 drivers/scsi/lpfc/lpfc_init.c 		lpfc_sli4_request_firmware_update(phba, INT_FW_UPGRADE);
phba             12807 drivers/scsi/lpfc/lpfc_init.c 	lpfc_create_static_vport(phba);
phba             12810 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli4_ras_setup(phba);
phba             12812 drivers/scsi/lpfc/lpfc_init.c 	INIT_LIST_HEAD(&phba->poll_list);
phba             12813 drivers/scsi/lpfc/lpfc_init.c 	cpuhp_state_add_instance_nocalls(lpfc_cpuhp_state, &phba->cpuhp);
phba             12820 drivers/scsi/lpfc/lpfc_init.c 	lpfc_destroy_shost(phba);
phba             12822 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli4_disable_intr(phba);
phba             12824 drivers/scsi/lpfc/lpfc_init.c 	lpfc_unset_driver_resource_phase2(phba);
phba             12826 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli4_driver_resource_unset(phba);
phba             12828 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli4_pci_mem_unset(phba);
phba             12830 drivers/scsi/lpfc/lpfc_init.c 	lpfc_disable_pci_dev(phba);
phba             12834 drivers/scsi/lpfc/lpfc_init.c 	lpfc_hba_free(phba);
phba             12853 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_hba *phba = vport->phba;
phba             12857 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_irq(&phba->hbalock);
phba             12859 drivers/scsi/lpfc/lpfc_init.c 	spin_unlock_irq(&phba->hbalock);
phba             12865 drivers/scsi/lpfc/lpfc_init.c 	vports = lpfc_create_vport_work_array(phba);
phba             12867 drivers/scsi/lpfc/lpfc_init.c 		for (i = 0; i <= phba->max_vports && vports[i] != NULL; i++) {
phba             12872 drivers/scsi/lpfc/lpfc_init.c 	lpfc_destroy_vport_work_array(phba, vports);
phba             12882 drivers/scsi/lpfc/lpfc_init.c 	lpfc_nvmet_destroy_targetport(phba);
phba             12886 drivers/scsi/lpfc/lpfc_init.c 	if (phba->cfg_xri_rebalancing)
phba             12887 drivers/scsi/lpfc/lpfc_init.c 		lpfc_destroy_multixri_pools(phba);
phba             12896 drivers/scsi/lpfc/lpfc_init.c 	lpfc_stop_hba_timers(phba);
phba             12897 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_irq(&phba->port_list_lock);
phba             12899 drivers/scsi/lpfc/lpfc_init.c 	spin_unlock_irq(&phba->port_list_lock);
phba             12904 drivers/scsi/lpfc/lpfc_init.c 	lpfc_io_free(phba);
phba             12905 drivers/scsi/lpfc/lpfc_init.c 	lpfc_free_iocb_list(phba);
phba             12906 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli4_hba_unset(phba);
phba             12908 drivers/scsi/lpfc/lpfc_init.c 	lpfc_unset_driver_resource_phase2(phba);
phba             12909 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli4_driver_resource_unset(phba);
phba             12912 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli4_pci_mem_unset(phba);
phba             12916 drivers/scsi/lpfc/lpfc_init.c 	lpfc_disable_pci_dev(phba);
phba             12919 drivers/scsi/lpfc/lpfc_init.c 	lpfc_hba_free(phba);
phba             12949 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_hba *phba = ((struct lpfc_vport *)shost->hostdata)->phba;
phba             12951 drivers/scsi/lpfc/lpfc_init.c 	lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             12955 drivers/scsi/lpfc/lpfc_init.c 	lpfc_offline_prep(phba, LPFC_MBX_WAIT);
phba             12956 drivers/scsi/lpfc/lpfc_init.c 	lpfc_offline(phba);
phba             12957 drivers/scsi/lpfc/lpfc_init.c 	kthread_stop(phba->worker_thread);
phba             12960 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli4_disable_intr(phba);
phba             12961 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli4_queue_destroy(phba);
phba             12993 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_hba *phba = ((struct lpfc_vport *)shost->hostdata)->phba;
phba             12997 drivers/scsi/lpfc/lpfc_init.c 	lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             13014 drivers/scsi/lpfc/lpfc_init.c 	phba->worker_thread = kthread_run(lpfc_do_work, phba,
phba             13015 drivers/scsi/lpfc/lpfc_init.c 					"lpfc_worker_%d", phba->brd_no);
phba             13016 drivers/scsi/lpfc/lpfc_init.c 	if (IS_ERR(phba->worker_thread)) {
phba             13017 drivers/scsi/lpfc/lpfc_init.c 		error = PTR_ERR(phba->worker_thread);
phba             13018 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             13025 drivers/scsi/lpfc/lpfc_init.c 	intr_mode = lpfc_sli4_enable_intr(phba, phba->intr_mode);
phba             13027 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             13031 drivers/scsi/lpfc/lpfc_init.c 		phba->intr_mode = intr_mode;
phba             13034 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli_brdrestart(phba);
phba             13035 drivers/scsi/lpfc/lpfc_init.c 	lpfc_online(phba);
phba             13038 drivers/scsi/lpfc/lpfc_init.c 	lpfc_log_intr_mode(phba, phba->intr_mode);
phba             13051 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_prep_dev_for_recover(struct lpfc_hba *phba)
phba             13053 drivers/scsi/lpfc/lpfc_init.c 	lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             13059 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli_abort_fcp_rings(phba);
phba             13071 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_prep_dev_for_reset(struct lpfc_hba *phba)
phba             13073 drivers/scsi/lpfc/lpfc_init.c 	lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             13077 drivers/scsi/lpfc/lpfc_init.c 	lpfc_block_mgmt_io(phba, LPFC_MBX_NO_WAIT);
phba             13080 drivers/scsi/lpfc/lpfc_init.c 	lpfc_scsi_dev_block(phba);
phba             13083 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli_flush_io_rings(phba);
phba             13086 drivers/scsi/lpfc/lpfc_init.c 	lpfc_stop_hba_timers(phba);
phba             13089 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli4_disable_intr(phba);
phba             13090 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli4_queue_destroy(phba);
phba             13091 drivers/scsi/lpfc/lpfc_init.c 	pci_disable_device(phba->pcidev);
phba             13103 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_prep_dev_for_perm_failure(struct lpfc_hba *phba)
phba             13105 drivers/scsi/lpfc/lpfc_init.c 	lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             13109 drivers/scsi/lpfc/lpfc_init.c 	lpfc_scsi_dev_block(phba);
phba             13112 drivers/scsi/lpfc/lpfc_init.c 	lpfc_stop_hba_timers(phba);
phba             13115 drivers/scsi/lpfc/lpfc_init.c 	lpfc_sli_flush_io_rings(phba);
phba             13138 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_hba *phba = ((struct lpfc_vport *)shost->hostdata)->phba;
phba             13143 drivers/scsi/lpfc/lpfc_init.c 		lpfc_sli4_prep_dev_for_recover(phba);
phba             13147 drivers/scsi/lpfc/lpfc_init.c 		lpfc_sli4_prep_dev_for_reset(phba);
phba             13151 drivers/scsi/lpfc/lpfc_init.c 		lpfc_sli4_prep_dev_for_perm_failure(phba);
phba             13155 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             13157 drivers/scsi/lpfc/lpfc_init.c 		lpfc_sli4_prep_dev_for_reset(phba);
phba             13184 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_hba *phba = ((struct lpfc_vport *)shost->hostdata)->phba;
phba             13185 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_sli *psli = &phba->sli;
phba             13206 drivers/scsi/lpfc/lpfc_init.c 	spin_lock_irq(&phba->hbalock);
phba             13208 drivers/scsi/lpfc/lpfc_init.c 	spin_unlock_irq(&phba->hbalock);
phba             13211 drivers/scsi/lpfc/lpfc_init.c 	intr_mode = lpfc_sli4_enable_intr(phba, phba->intr_mode);
phba             13213 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             13218 drivers/scsi/lpfc/lpfc_init.c 		phba->intr_mode = intr_mode;
phba             13221 drivers/scsi/lpfc/lpfc_init.c 	lpfc_log_intr_mode(phba, phba->intr_mode);
phba             13240 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_hba *phba = ((struct lpfc_vport *)shost->hostdata)->phba;
phba             13248 drivers/scsi/lpfc/lpfc_init.c 	if (!(phba->sli.sli_flag & LPFC_SLI_ACTIVE)) {
phba             13250 drivers/scsi/lpfc/lpfc_init.c 		lpfc_offline_prep(phba, LPFC_MBX_WAIT);
phba             13251 drivers/scsi/lpfc/lpfc_init.c 		lpfc_offline(phba);
phba             13252 drivers/scsi/lpfc/lpfc_init.c 		lpfc_sli_brdrestart(phba);
phba             13254 drivers/scsi/lpfc/lpfc_init.c 		lpfc_online(phba);
phba             13308 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_hba *phba = ((struct lpfc_vport *)shost->hostdata)->phba;
phba             13310 drivers/scsi/lpfc/lpfc_init.c 	switch (phba->pci_dev_grp) {
phba             13318 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             13320 drivers/scsi/lpfc/lpfc_init.c 				phba->pci_dev_grp);
phba             13344 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_hba *phba = ((struct lpfc_vport *)shost->hostdata)->phba;
phba             13347 drivers/scsi/lpfc/lpfc_init.c 	switch (phba->pci_dev_grp) {
phba             13355 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             13357 drivers/scsi/lpfc/lpfc_init.c 				phba->pci_dev_grp);
phba             13380 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_hba *phba = ((struct lpfc_vport *)shost->hostdata)->phba;
phba             13383 drivers/scsi/lpfc/lpfc_init.c 	switch (phba->pci_dev_grp) {
phba             13391 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             13393 drivers/scsi/lpfc/lpfc_init.c 				phba->pci_dev_grp);
phba             13418 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_hba *phba = ((struct lpfc_vport *)shost->hostdata)->phba;
phba             13421 drivers/scsi/lpfc/lpfc_init.c 	switch (phba->pci_dev_grp) {
phba             13429 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             13431 drivers/scsi/lpfc/lpfc_init.c 				phba->pci_dev_grp);
phba             13455 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_hba *phba = ((struct lpfc_vport *)shost->hostdata)->phba;
phba             13458 drivers/scsi/lpfc/lpfc_init.c 	switch (phba->pci_dev_grp) {
phba             13466 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             13468 drivers/scsi/lpfc/lpfc_init.c 				phba->pci_dev_grp);
phba             13488 drivers/scsi/lpfc/lpfc_init.c 	struct lpfc_hba *phba = ((struct lpfc_vport *)shost->hostdata)->phba;
phba             13490 drivers/scsi/lpfc/lpfc_init.c 	switch (phba->pci_dev_grp) {
phba             13498 drivers/scsi/lpfc/lpfc_init.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             13500 drivers/scsi/lpfc/lpfc_init.c 				phba->pci_dev_grp);
phba             13517 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_oas_verify(struct lpfc_hba *phba)
phba             13520 drivers/scsi/lpfc/lpfc_init.c 	if (!phba->cfg_EnableXLane)
phba             13523 drivers/scsi/lpfc/lpfc_init.c 	if (phba->sli4_hba.pc_sli4_params.oas_supported) {
phba             13524 drivers/scsi/lpfc/lpfc_init.c 		phba->cfg_fof = 1;
phba             13526 drivers/scsi/lpfc/lpfc_init.c 		phba->cfg_fof = 0;
phba             13527 drivers/scsi/lpfc/lpfc_init.c 		if (phba->device_data_mem_pool)
phba             13528 drivers/scsi/lpfc/lpfc_init.c 			mempool_destroy(phba->device_data_mem_pool);
phba             13529 drivers/scsi/lpfc/lpfc_init.c 		phba->device_data_mem_pool = NULL;
phba             13543 drivers/scsi/lpfc/lpfc_init.c lpfc_sli4_ras_init(struct lpfc_hba *phba)
phba             13545 drivers/scsi/lpfc/lpfc_init.c 	switch (phba->pcidev->device) {
phba             13548 drivers/scsi/lpfc/lpfc_init.c 		phba->ras_fwlog.ras_hwsupport = true;
phba             13549 drivers/scsi/lpfc/lpfc_init.c 		if (phba->cfg_ras_fwlog_func == PCI_FUNC(phba->pcidev->devfn) &&
phba             13550 drivers/scsi/lpfc/lpfc_init.c 		    phba->cfg_ras_fwlog_buffsize)
phba             13551 drivers/scsi/lpfc/lpfc_init.c 			phba->ras_fwlog.ras_enabled = true;
phba             13553 drivers/scsi/lpfc/lpfc_init.c 			phba->ras_fwlog.ras_enabled = false;
phba             13556 drivers/scsi/lpfc/lpfc_init.c 		phba->ras_fwlog.ras_hwsupport = false;
phba               52 drivers/scsi/lpfc/lpfc_logmsg.h 		dev_printk(level, &((vport)->phba->pcidev)->dev, "%d:(%d):" \
phba               53 drivers/scsi/lpfc/lpfc_logmsg.h 			   fmt, (vport)->phba->brd_no, vport->vpi, ##arg); } \
phba               56 drivers/scsi/lpfc/lpfc_logmsg.h #define lpfc_printf_log(phba, level, mask, fmt, arg...) \
phba               58 drivers/scsi/lpfc/lpfc_logmsg.h 	{ uint32_t log_verbose = (phba)->pport ? \
phba               59 drivers/scsi/lpfc/lpfc_logmsg.h 				 (phba)->pport->cfg_log_verbose : \
phba               60 drivers/scsi/lpfc/lpfc_logmsg.h 				 (phba)->cfg_log_verbose; \
phba               62 drivers/scsi/lpfc/lpfc_logmsg.h 		dev_printk(level, &((phba)->pcidev)->dev, "%d:" \
phba               63 drivers/scsi/lpfc/lpfc_logmsg.h 			   fmt, phba->brd_no, ##arg); \
phba               59 drivers/scsi/lpfc/lpfc_mbox.c lpfc_dump_static_vport(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb,
phba               76 drivers/scsi/lpfc/lpfc_mbox.c 	if (phba->sli_rev != LPFC_SLI_REV4) {
phba               85 drivers/scsi/lpfc/lpfc_mbox.c 		mp->virt = lpfc_mbuf_alloc(phba, 0, &mp->phys);
phba               89 drivers/scsi/lpfc/lpfc_mbox.c 		lpfc_printf_log(phba, KERN_ERR, LOG_MBOX,
phba              113 drivers/scsi/lpfc/lpfc_mbox.c lpfc_down_link(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb)
phba              135 drivers/scsi/lpfc/lpfc_mbox.c lpfc_dump_mem(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb, uint16_t offset,
phba              168 drivers/scsi/lpfc/lpfc_mbox.c lpfc_dump_wakeup_param(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb)
phba              183 drivers/scsi/lpfc/lpfc_mbox.c 	if (phba->sli_rev < LPFC_SLI_REV4)
phba              205 drivers/scsi/lpfc/lpfc_mbox.c lpfc_read_nv(struct lpfc_hba * phba, LPFC_MBOXQ_t * pmb)
phba              230 drivers/scsi/lpfc/lpfc_mbox.c lpfc_config_async(struct lpfc_hba * phba, LPFC_MBOXQ_t * pmb,
phba              257 drivers/scsi/lpfc/lpfc_mbox.c lpfc_heart_beat(struct lpfc_hba * phba, LPFC_MBOXQ_t * pmb)
phba              290 drivers/scsi/lpfc/lpfc_mbox.c lpfc_read_topology(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb,
phba              328 drivers/scsi/lpfc/lpfc_mbox.c lpfc_clear_la(struct lpfc_hba * phba, LPFC_MBOXQ_t * pmb)
phba              335 drivers/scsi/lpfc/lpfc_mbox.c 	mb->un.varClearLA.eventTag = phba->fc_eventTag;
phba              356 drivers/scsi/lpfc/lpfc_mbox.c lpfc_config_link(struct lpfc_hba * phba, LPFC_MBOXQ_t * pmb)
phba              358 drivers/scsi/lpfc/lpfc_mbox.c 	struct lpfc_vport  *vport = phba->pport;
phba              365 drivers/scsi/lpfc/lpfc_mbox.c 	if (phba->cfg_cr_delay && (phba->sli_rev < LPFC_SLI_REV4)) {
phba              368 drivers/scsi/lpfc/lpfc_mbox.c 		mb->un.varCfgLnk.cr_delay = phba->cfg_cr_delay;
phba              369 drivers/scsi/lpfc/lpfc_mbox.c 		mb->un.varCfgLnk.cr_count = phba->cfg_cr_count;
phba              373 drivers/scsi/lpfc/lpfc_mbox.c 	mb->un.varCfgLnk.edtov = phba->fc_edtov;
phba              374 drivers/scsi/lpfc/lpfc_mbox.c 	mb->un.varCfgLnk.arbtov = phba->fc_arbtov;
phba              375 drivers/scsi/lpfc/lpfc_mbox.c 	mb->un.varCfgLnk.ratov = phba->fc_ratov;
phba              376 drivers/scsi/lpfc/lpfc_mbox.c 	mb->un.varCfgLnk.rttov = phba->fc_rttov;
phba              377 drivers/scsi/lpfc/lpfc_mbox.c 	mb->un.varCfgLnk.altov = phba->fc_altov;
phba              378 drivers/scsi/lpfc/lpfc_mbox.c 	mb->un.varCfgLnk.crtov = phba->fc_crtov;
phba              380 drivers/scsi/lpfc/lpfc_mbox.c 	if (phba->bbcredit_support && phba->cfg_enable_bbcr) {
phba              383 drivers/scsi/lpfc/lpfc_mbox.c 						 &phba->sli4_hba.bbscn_params);
phba              386 drivers/scsi/lpfc/lpfc_mbox.c 	if (phba->cfg_ack0 && (phba->sli_rev < LPFC_SLI_REV4))
phba              408 drivers/scsi/lpfc/lpfc_mbox.c lpfc_config_msi(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb)
phba              414 drivers/scsi/lpfc/lpfc_mbox.c 	if (phba->cfg_use_msi != 2) {
phba              415 drivers/scsi/lpfc/lpfc_mbox.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba              417 drivers/scsi/lpfc/lpfc_mbox.c 				"cfg_use_msi: 0x%x\n", phba->cfg_use_msi);
phba              421 drivers/scsi/lpfc/lpfc_mbox.c 	if (phba->sli_rev < 3) {
phba              422 drivers/scsi/lpfc/lpfc_mbox.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba              424 drivers/scsi/lpfc/lpfc_mbox.c 				"SLI Revision: 0x%x\n", phba->sli_rev);
phba              487 drivers/scsi/lpfc/lpfc_mbox.c lpfc_init_link(struct lpfc_hba * phba,
phba              516 drivers/scsi/lpfc/lpfc_mbox.c 	if ((phba->pcidev->device == PCI_DEVICE_ID_LANCER_G6_FC ||
phba              517 drivers/scsi/lpfc/lpfc_mbox.c 	     phba->pcidev->device == PCI_DEVICE_ID_LANCER_G7_FC) &&
phba              520 drivers/scsi/lpfc/lpfc_mbox.c 		phba->cfg_topology = FLAGS_TOPOLOGY_MODE_PT_PT;
phba              529 drivers/scsi/lpfc/lpfc_mbox.c 	vpd = &phba->vpd;
phba              576 drivers/scsi/lpfc/lpfc_mbox.c 	mb->un.varInitLnk.fabric_AL_PA = phba->fc_pref_ALPA;
phba              602 drivers/scsi/lpfc/lpfc_mbox.c lpfc_read_sparam(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb, int vpi)
phba              616 drivers/scsi/lpfc/lpfc_mbox.c 		mp->virt = lpfc_mbuf_alloc(phba, 0, &mp->phys);
phba              621 drivers/scsi/lpfc/lpfc_mbox.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_MBOX,
phba              630 drivers/scsi/lpfc/lpfc_mbox.c 	if (phba->sli_rev >= LPFC_SLI_REV3)
phba              631 drivers/scsi/lpfc/lpfc_mbox.c 		mb->un.varRdSparm.vpi = phba->vpi_ids[vpi];
phba              655 drivers/scsi/lpfc/lpfc_mbox.c lpfc_unreg_did(struct lpfc_hba * phba, uint16_t vpi, uint32_t did,
phba              666 drivers/scsi/lpfc/lpfc_mbox.c 	    (phba->sli_rev == LPFC_SLI_REV4))
phba              667 drivers/scsi/lpfc/lpfc_mbox.c 		mb->un.varUnregDID.vpi = phba->vpi_ids[vpi];
phba              688 drivers/scsi/lpfc/lpfc_mbox.c lpfc_read_config(struct lpfc_hba * phba, LPFC_MBOXQ_t * pmb)
phba              713 drivers/scsi/lpfc/lpfc_mbox.c lpfc_read_lnk_stat(struct lpfc_hba * phba, LPFC_MBOXQ_t * pmb)
phba              750 drivers/scsi/lpfc/lpfc_mbox.c lpfc_reg_rpi(struct lpfc_hba *phba, uint16_t vpi, uint32_t did,
phba              760 drivers/scsi/lpfc/lpfc_mbox.c 	if (phba->sli_rev == LPFC_SLI_REV4)
phba              761 drivers/scsi/lpfc/lpfc_mbox.c 		mb->un.varRegLogin.rpi = phba->sli4_hba.rpi_ids[rpi];
phba              762 drivers/scsi/lpfc/lpfc_mbox.c 	if (phba->sli_rev >= LPFC_SLI_REV3)
phba              763 drivers/scsi/lpfc/lpfc_mbox.c 		mb->un.varRegLogin.vpi = phba->vpi_ids[vpi];
phba              769 drivers/scsi/lpfc/lpfc_mbox.c 		mp->virt = lpfc_mbuf_alloc(phba, 0, &mp->phys);
phba              774 drivers/scsi/lpfc/lpfc_mbox.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_MBOX,
phba              814 drivers/scsi/lpfc/lpfc_mbox.c lpfc_unreg_login(struct lpfc_hba *phba, uint16_t vpi, uint32_t rpi,
phba              824 drivers/scsi/lpfc/lpfc_mbox.c 	if (phba->sli_rev >= LPFC_SLI_REV3)
phba              825 drivers/scsi/lpfc/lpfc_mbox.c 		mb->un.varUnregLogin.vpi = phba->vpi_ids[vpi];
phba              843 drivers/scsi/lpfc/lpfc_mbox.c 	struct lpfc_hba  *phba  = vport->phba;
phba              847 drivers/scsi/lpfc/lpfc_mbox.c 	mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba              856 drivers/scsi/lpfc/lpfc_mbox.c 		lpfc_unreg_login(phba, vport->vpi, phba->vpi_ids[vport->vpi],
phba              862 drivers/scsi/lpfc/lpfc_mbox.c 		rc = lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT);
phba              864 drivers/scsi/lpfc/lpfc_mbox.c 			mempool_free(mbox, phba->mbox_mem_pool);
phba              887 drivers/scsi/lpfc/lpfc_mbox.c 	struct lpfc_hba *phba = vport->phba;
phba              893 drivers/scsi/lpfc/lpfc_mbox.c 	if ((phba->sli_rev == LPFC_SLI_REV4) &&
phba              897 drivers/scsi/lpfc/lpfc_mbox.c 	mb->un.varRegVpi.vpi = phba->vpi_ids[vport->vpi];
phba              899 drivers/scsi/lpfc/lpfc_mbox.c 	if (phba->sli_rev == LPFC_SLI_REV4)
phba              900 drivers/scsi/lpfc/lpfc_mbox.c 		mb->un.varRegVpi.vfi = phba->sli4_hba.vfi_ids[vport->vfi];
phba              902 drivers/scsi/lpfc/lpfc_mbox.c 		mb->un.varRegVpi.vfi = vport->vfi + vport->phba->vfi_base;
phba              931 drivers/scsi/lpfc/lpfc_mbox.c lpfc_unreg_vpi(struct lpfc_hba *phba, uint16_t vpi, LPFC_MBOXQ_t *pmb)
phba              936 drivers/scsi/lpfc/lpfc_mbox.c 	if (phba->sli_rev == LPFC_SLI_REV3)
phba              937 drivers/scsi/lpfc/lpfc_mbox.c 		mb->un.varUnregVpi.vpi = phba->vpi_ids[vpi];
phba              938 drivers/scsi/lpfc/lpfc_mbox.c 	else if (phba->sli_rev >= LPFC_SLI_REV4)
phba              939 drivers/scsi/lpfc/lpfc_mbox.c 		mb->un.varUnregVpi.sli4_vpi = phba->vpi_ids[vpi];
phba              955 drivers/scsi/lpfc/lpfc_mbox.c lpfc_config_pcb_setup(struct lpfc_hba * phba)
phba              957 drivers/scsi/lpfc/lpfc_mbox.c 	struct lpfc_sli *psli = &phba->sli;
phba              959 drivers/scsi/lpfc/lpfc_mbox.c 	PCB_t *pcbp = phba->pcb;
phba              971 drivers/scsi/lpfc/lpfc_mbox.c 			phba->sli_rev == 3 ? SLI3_IOCB_CMD_SIZE :
phba              974 drivers/scsi/lpfc/lpfc_mbox.c 			phba->sli_rev == 3 ? SLI3_IOCB_RSP_SIZE :
phba              991 drivers/scsi/lpfc/lpfc_mbox.c 		pring->sli.sli3.cmdringaddr = (void *)&phba->IOCBs[iocbCnt];
phba              994 drivers/scsi/lpfc/lpfc_mbox.c 		offset = (uint8_t *) &phba->IOCBs[iocbCnt] -
phba              995 drivers/scsi/lpfc/lpfc_mbox.c 			 (uint8_t *) phba->slim2p.virt;
phba              996 drivers/scsi/lpfc/lpfc_mbox.c 		pdma_addr = phba->slim2p.phys + offset;
phba             1002 drivers/scsi/lpfc/lpfc_mbox.c 		pring->sli.sli3.rspringaddr = (void *) &phba->IOCBs[iocbCnt];
phba             1005 drivers/scsi/lpfc/lpfc_mbox.c 		offset = (uint8_t *)&phba->IOCBs[iocbCnt] -
phba             1006 drivers/scsi/lpfc/lpfc_mbox.c 			 (uint8_t *)phba->slim2p.virt;
phba             1007 drivers/scsi/lpfc/lpfc_mbox.c 		pdma_addr = phba->slim2p.phys + offset;
phba             1029 drivers/scsi/lpfc/lpfc_mbox.c lpfc_read_rev(struct lpfc_hba * phba, LPFC_MBOXQ_t * pmb)
phba             1041 drivers/scsi/lpfc/lpfc_mbox.c lpfc_sli4_swap_str(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb)
phba             1139 drivers/scsi/lpfc/lpfc_mbox.c lpfc_config_hbq(struct lpfc_hba *phba, uint32_t id,
phba             1166 drivers/scsi/lpfc/lpfc_mbox.c 	hbqmb->hbqaddrLow = putPaddrLow(phba->hbqslimp.phys) +
phba             1168 drivers/scsi/lpfc/lpfc_mbox.c 	hbqmb->hbqaddrHigh = putPaddrHigh(phba->hbqslimp.phys);
phba             1216 drivers/scsi/lpfc/lpfc_mbox.c lpfc_config_ring(struct lpfc_hba * phba, int ring, LPFC_MBOXQ_t * pmb)
phba             1230 drivers/scsi/lpfc/lpfc_mbox.c 	psli = &phba->sli;
phba             1271 drivers/scsi/lpfc/lpfc_mbox.c lpfc_config_port(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb)
phba             1273 drivers/scsi/lpfc/lpfc_mbox.c 	MAILBOX_t __iomem *mb_slim = (MAILBOX_t __iomem *) phba->MBslimaddr;
phba             1288 drivers/scsi/lpfc/lpfc_mbox.c 	offset = (uint8_t *)phba->pcb - (uint8_t *)phba->slim2p.virt;
phba             1289 drivers/scsi/lpfc/lpfc_mbox.c 	pdma_addr = phba->slim2p.phys + offset;
phba             1298 drivers/scsi/lpfc/lpfc_mbox.c 	if (phba->sli_rev == LPFC_SLI_REV3 && phba->vpd.sli3Feat.cerbm) {
phba             1299 drivers/scsi/lpfc/lpfc_mbox.c 		if (phba->cfg_enable_bg)
phba             1301 drivers/scsi/lpfc/lpfc_mbox.c 		if (phba->cfg_enable_dss)
phba             1306 drivers/scsi/lpfc/lpfc_mbox.c 		if (phba->max_vpi && phba->cfg_enable_npiv &&
phba             1307 drivers/scsi/lpfc/lpfc_mbox.c 		    phba->vpd.sli3Feat.cmv) {
phba             1311 drivers/scsi/lpfc/lpfc_mbox.c 			mb->un.varCfgPort.max_vpi = phba->max_vpi = 0;
phba             1313 drivers/scsi/lpfc/lpfc_mbox.c 		phba->sli_rev = LPFC_SLI_REV2;
phba             1314 drivers/scsi/lpfc/lpfc_mbox.c 	mb->un.varCfgPort.sli_mode = phba->sli_rev;
phba             1317 drivers/scsi/lpfc/lpfc_mbox.c 	if (phba->sli_rev == LPFC_SLI_REV3)
phba             1321 drivers/scsi/lpfc/lpfc_mbox.c 	phba->pcb->type = TYPE_NATIVE_SLI2;
phba             1322 drivers/scsi/lpfc/lpfc_mbox.c 	phba->pcb->feature = FEATURE_INITIAL_SLI2;
phba             1325 drivers/scsi/lpfc/lpfc_mbox.c 	phba->pcb->mailBoxSize = sizeof(MAILBOX_t) + MAILBOX_EXT_SIZE;
phba             1326 drivers/scsi/lpfc/lpfc_mbox.c 	offset = (uint8_t *)phba->mbox - (uint8_t *)phba->slim2p.virt;
phba             1327 drivers/scsi/lpfc/lpfc_mbox.c 	pdma_addr = phba->slim2p.phys + offset;
phba             1328 drivers/scsi/lpfc/lpfc_mbox.c 	phba->pcb->mbAddrHigh = putPaddrHigh(pdma_addr);
phba             1329 drivers/scsi/lpfc/lpfc_mbox.c 	phba->pcb->mbAddrLow = putPaddrLow(pdma_addr);
phba             1350 drivers/scsi/lpfc/lpfc_mbox.c 	pci_read_config_dword(phba->pcidev, PCI_BASE_ADDRESS_0, &bar_low);
phba             1351 drivers/scsi/lpfc/lpfc_mbox.c 	pci_read_config_dword(phba->pcidev, PCI_BASE_ADDRESS_1, &bar_high);
phba             1381 drivers/scsi/lpfc/lpfc_mbox.c 	if (phba->cfg_hostmem_hgp && phba->sli_rev != 3) {
phba             1382 drivers/scsi/lpfc/lpfc_mbox.c 		phba->host_gp = &phba->mbox->us.s2.host[0];
phba             1383 drivers/scsi/lpfc/lpfc_mbox.c 		phba->hbq_put = NULL;
phba             1384 drivers/scsi/lpfc/lpfc_mbox.c 		offset = (uint8_t *)&phba->mbox->us.s2.host -
phba             1385 drivers/scsi/lpfc/lpfc_mbox.c 			(uint8_t *)phba->slim2p.virt;
phba             1386 drivers/scsi/lpfc/lpfc_mbox.c 		pdma_addr = phba->slim2p.phys + offset;
phba             1387 drivers/scsi/lpfc/lpfc_mbox.c 		phba->pcb->hgpAddrHigh = putPaddrHigh(pdma_addr);
phba             1388 drivers/scsi/lpfc/lpfc_mbox.c 		phba->pcb->hgpAddrLow = putPaddrLow(pdma_addr);
phba             1393 drivers/scsi/lpfc/lpfc_mbox.c 		if (phba->sli_rev == 3) {
phba             1394 drivers/scsi/lpfc/lpfc_mbox.c 			phba->host_gp = &mb_slim->us.s3.host[0];
phba             1395 drivers/scsi/lpfc/lpfc_mbox.c 			phba->hbq_put = &mb_slim->us.s3.hbq_put[0];
phba             1397 drivers/scsi/lpfc/lpfc_mbox.c 			phba->host_gp = &mb_slim->us.s2.host[0];
phba             1398 drivers/scsi/lpfc/lpfc_mbox.c 			phba->hbq_put = NULL;
phba             1402 drivers/scsi/lpfc/lpfc_mbox.c 		phba->pcb->hgpAddrLow = (bar_low & PCI_BASE_ADDRESS_MEM_MASK) +
phba             1403 drivers/scsi/lpfc/lpfc_mbox.c 			(void __iomem *)phba->host_gp -
phba             1404 drivers/scsi/lpfc/lpfc_mbox.c 			(void __iomem *)phba->MBslimaddr;
phba             1406 drivers/scsi/lpfc/lpfc_mbox.c 			phba->pcb->hgpAddrHigh = bar_high;
phba             1408 drivers/scsi/lpfc/lpfc_mbox.c 			phba->pcb->hgpAddrHigh = 0;
phba             1412 drivers/scsi/lpfc/lpfc_mbox.c 		for (i = 0; i < phba->sli.num_rings; i++) {
phba             1413 drivers/scsi/lpfc/lpfc_mbox.c 			lpfc_memcpy_to_slim(phba->host_gp + i, &hgp,
phba             1414 drivers/scsi/lpfc/lpfc_mbox.c 				    sizeof(*phba->host_gp));
phba             1419 drivers/scsi/lpfc/lpfc_mbox.c 	if (phba->sli_rev == 3)
phba             1424 drivers/scsi/lpfc/lpfc_mbox.c 	pdma_addr = phba->slim2p.phys + pgp_offset;
phba             1425 drivers/scsi/lpfc/lpfc_mbox.c 	phba->pcb->pgpAddrHigh = putPaddrHigh(pdma_addr);
phba             1426 drivers/scsi/lpfc/lpfc_mbox.c 	phba->pcb->pgpAddrLow = putPaddrLow(pdma_addr);
phba             1429 drivers/scsi/lpfc/lpfc_mbox.c 	lpfc_config_pcb_setup(phba);
phba             1432 drivers/scsi/lpfc/lpfc_mbox.c 	if (lpfc_is_LC_HBA(phba->pcidev->device)) {
phba             1435 drivers/scsi/lpfc/lpfc_mbox.c 		lpfc_hba_init(phba, hbainit);
phba             1441 drivers/scsi/lpfc/lpfc_mbox.c 	lpfc_sli_pcimem_bcopy(phba->pcb, phba->pcb, sizeof(PCB_t));
phba             1460 drivers/scsi/lpfc/lpfc_mbox.c lpfc_kill_board(struct lpfc_hba * phba, LPFC_MBOXQ_t * pmb)
phba             1481 drivers/scsi/lpfc/lpfc_mbox.c lpfc_mbox_put(struct lpfc_hba * phba, LPFC_MBOXQ_t * mbq)
phba             1485 drivers/scsi/lpfc/lpfc_mbox.c 	psli = &phba->sli;
phba             1509 drivers/scsi/lpfc/lpfc_mbox.c lpfc_mbox_get(struct lpfc_hba * phba)
phba             1512 drivers/scsi/lpfc/lpfc_mbox.c 	struct lpfc_sli *psli = &phba->sli;
phba             1532 drivers/scsi/lpfc/lpfc_mbox.c __lpfc_mbox_cmpl_put(struct lpfc_hba *phba, LPFC_MBOXQ_t *mbq)
phba             1534 drivers/scsi/lpfc/lpfc_mbox.c 	list_add_tail(&mbq->list, &phba->sli.mboxq_cmpl);
phba             1548 drivers/scsi/lpfc/lpfc_mbox.c lpfc_mbox_cmpl_put(struct lpfc_hba *phba, LPFC_MBOXQ_t *mbq)
phba             1553 drivers/scsi/lpfc/lpfc_mbox.c 	spin_lock_irqsave(&phba->hbalock, iflag);
phba             1554 drivers/scsi/lpfc/lpfc_mbox.c 	__lpfc_mbox_cmpl_put(phba, mbq);
phba             1555 drivers/scsi/lpfc/lpfc_mbox.c 	spin_unlock_irqrestore(&phba->hbalock, iflag);
phba             1571 drivers/scsi/lpfc/lpfc_mbox.c lpfc_mbox_cmd_check(struct lpfc_hba *phba, LPFC_MBOXQ_t *mboxq)
phba             1579 drivers/scsi/lpfc/lpfc_mbox.c 			lpfc_printf_log(phba, KERN_ERR, LOG_MBOX | LOG_VPORT,
phba             1600 drivers/scsi/lpfc/lpfc_mbox.c lpfc_mbox_dev_check(struct lpfc_hba *phba)
phba             1603 drivers/scsi/lpfc/lpfc_mbox.c 	if (unlikely(pci_channel_offline(phba->pcidev)))
phba             1607 drivers/scsi/lpfc/lpfc_mbox.c 	if (phba->link_state == LPFC_HBA_ERROR)
phba             1625 drivers/scsi/lpfc/lpfc_mbox.c lpfc_mbox_tmo_val(struct lpfc_hba *phba, LPFC_MBOXQ_t *mboxq)
phba             1643 drivers/scsi/lpfc/lpfc_mbox.c 		subsys = lpfc_sli_config_mbox_subsys_get(phba, mboxq);
phba             1644 drivers/scsi/lpfc/lpfc_mbox.c 		opcode = lpfc_sli_config_mbox_opcode_get(phba, mboxq);
phba             1728 drivers/scsi/lpfc/lpfc_mbox.c lpfc_sli4_mbox_cmd_free(struct lpfc_hba *phba, struct lpfcMboxq *mbox)
phba             1739 drivers/scsi/lpfc/lpfc_mbox.c 		mempool_free(mbox, phba->mbox_mem_pool);
phba             1747 drivers/scsi/lpfc/lpfc_mbox.c 		mempool_free(mbox, phba->mbox_mem_pool);
phba             1754 drivers/scsi/lpfc/lpfc_mbox.c 		dma_free_coherent(&phba->pcidev->dev, SLI4_PAGE_SIZE,
phba             1760 drivers/scsi/lpfc/lpfc_mbox.c 	mempool_free(mbox, phba->mbox_mem_pool);
phba             1778 drivers/scsi/lpfc/lpfc_mbox.c lpfc_sli4_config(struct lpfc_hba *phba, struct lpfcMboxq *mbox,
phba             1819 drivers/scsi/lpfc/lpfc_mbox.c 		lpfc_printf_log(phba, KERN_ERR, LOG_MBOX,
phba             1830 drivers/scsi/lpfc/lpfc_mbox.c 		viraddr = dma_alloc_coherent(&phba->pcidev->dev,
phba             1886 drivers/scsi/lpfc/lpfc_mbox.c lpfc_sli4_mbox_rsrc_extent(struct lpfc_hba *phba, struct lpfcMboxq *mbox,
phba             1920 drivers/scsi/lpfc/lpfc_mbox.c 	opcode = lpfc_sli_config_mbox_opcode_get(phba, mbox);
phba             1937 drivers/scsi/lpfc/lpfc_mbox.c 		lpfc_printf_log(phba, KERN_ERR, LOG_MBOX,
phba             1957 drivers/scsi/lpfc/lpfc_mbox.c lpfc_sli_config_mbox_subsys_get(struct lpfc_hba *phba, LPFC_MBOXQ_t *mbox)
phba             1990 drivers/scsi/lpfc/lpfc_mbox.c lpfc_sli_config_mbox_opcode_get(struct lpfc_hba *phba, LPFC_MBOXQ_t *mbox)
phba             2024 drivers/scsi/lpfc/lpfc_mbox.c lpfc_sli4_mbx_read_fcf_rec(struct lpfc_hba *phba,
phba             2041 drivers/scsi/lpfc/lpfc_mbox.c 	alloc_len = lpfc_sli4_config(phba, mboxq, LPFC_MBOX_SUBSYSTEM_FCOE,
phba             2046 drivers/scsi/lpfc/lpfc_mbox.c 		lpfc_printf_log(phba, KERN_ERR, LOG_MBOX,
phba             2077 drivers/scsi/lpfc/lpfc_mbox.c lpfc_request_features(struct lpfc_hba *phba, struct lpfcMboxq *mboxq)
phba             2088 drivers/scsi/lpfc/lpfc_mbox.c 	if (phba->cfg_enable_bg)
phba             2092 drivers/scsi/lpfc/lpfc_mbox.c 	if (phba->max_vpi && phba->cfg_enable_npiv)
phba             2095 drivers/scsi/lpfc/lpfc_mbox.c 	if (phba->nvmet_support) {
phba             2128 drivers/scsi/lpfc/lpfc_mbox.c 	       vport->phba->sli4_hba.vfi_ids[vport->vfi]);
phba             2130 drivers/scsi/lpfc/lpfc_mbox.c 	       vport->phba->vpi_ids[vport->vpi]);
phba             2132 drivers/scsi/lpfc/lpfc_mbox.c 	       vport->phba->fcf.fcfi);
phba             2150 drivers/scsi/lpfc/lpfc_mbox.c 	struct lpfc_hba *phba = vport->phba;
phba             2158 drivers/scsi/lpfc/lpfc_mbox.c 	       phba->sli4_hba.vfi_ids[vport->vfi]);
phba             2159 drivers/scsi/lpfc/lpfc_mbox.c 	bf_set(lpfc_reg_vfi_fcfi, reg_vfi, phba->fcf.fcfi);
phba             2160 drivers/scsi/lpfc/lpfc_mbox.c 	bf_set(lpfc_reg_vfi_vpi, reg_vfi, phba->vpi_ids[vport->vpi]);
phba             2164 drivers/scsi/lpfc/lpfc_mbox.c 	reg_vfi->e_d_tov = phba->fc_edtov;
phba             2165 drivers/scsi/lpfc/lpfc_mbox.c 	reg_vfi->r_a_tov = phba->fc_ratov;
phba             2175 drivers/scsi/lpfc/lpfc_mbox.c 	if ((phba->sli4_hba.lnk_info.lnk_tp == LPFC_LNK_TYPE_FC) &&
phba             2177 drivers/scsi/lpfc/lpfc_mbox.c 	    (!phba->fc_topology_changed))
phba             2182 drivers/scsi/lpfc/lpfc_mbox.c 	bbscn_fabric = (phba->fc_fabparam.cmn.bbRcvSizeMsb >> 4) & 0xF;
phba             2184 drivers/scsi/lpfc/lpfc_mbox.c 	if (phba->bbcredit_support && phba->cfg_enable_bbcr  &&
phba             2187 drivers/scsi/lpfc/lpfc_mbox.c 				   &phba->sli4_hba.bbscn_params);
phba             2190 drivers/scsi/lpfc/lpfc_mbox.c 					   &phba->sli4_hba.bbscn_params);
phba             2206 drivers/scsi/lpfc/lpfc_mbox.c 			phba->fcf.fcfi,
phba             2207 drivers/scsi/lpfc/lpfc_mbox.c 			phba->sli4_hba.vfi_ids[vport->vfi],
phba             2208 drivers/scsi/lpfc/lpfc_mbox.c 			phba->vpi_ids[vport->vpi],
phba             2210 drivers/scsi/lpfc/lpfc_mbox.c 			vport->port_state, phba->fc_topology_changed,
phba             2227 drivers/scsi/lpfc/lpfc_mbox.c lpfc_init_vpi(struct lpfc_hba *phba, struct lpfcMboxq *mbox, uint16_t vpi)
phba             2232 drivers/scsi/lpfc/lpfc_mbox.c 	       phba->vpi_ids[vpi]);
phba             2234 drivers/scsi/lpfc/lpfc_mbox.c 	       phba->sli4_hba.vfi_ids[phba->pport->vfi]);
phba             2254 drivers/scsi/lpfc/lpfc_mbox.c 	       vport->phba->sli4_hba.vfi_ids[vport->vfi]);
phba             2266 drivers/scsi/lpfc/lpfc_mbox.c lpfc_sli4_dump_cfg_rg23(struct lpfc_hba *phba, struct lpfcMboxq *mbox)
phba             2276 drivers/scsi/lpfc/lpfc_mbox.c 		mp->virt = lpfc_mbuf_alloc(phba, 0, &mp->phys);
phba             2281 drivers/scsi/lpfc/lpfc_mbox.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_MBOX,
phba             2303 drivers/scsi/lpfc/lpfc_mbox.c lpfc_mbx_cmpl_rdp_link_stat(struct lpfc_hba *phba, LPFC_MBOXQ_t *mboxq)
phba             2319 drivers/scsi/lpfc/lpfc_mbox.c 	lpfc_sli4_mbox_cmd_free(phba, mboxq);
phba             2320 drivers/scsi/lpfc/lpfc_mbox.c 	rdp_context->cmpl(phba, rdp_context, rc);
phba             2324 drivers/scsi/lpfc/lpfc_mbox.c lpfc_mbx_cmpl_rdp_page_a2(struct lpfc_hba *phba, LPFC_MBOXQ_t *mbox)
phba             2337 drivers/scsi/lpfc/lpfc_mbox.c 	lpfc_mbuf_free(phba, mp->virt, mp->phys);
phba             2341 drivers/scsi/lpfc/lpfc_mbox.c 	lpfc_read_lnk_stat(phba, mbox);
phba             2345 drivers/scsi/lpfc/lpfc_mbox.c 	if (lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT) == MBX_NOT_FINISHED)
phba             2351 drivers/scsi/lpfc/lpfc_mbox.c 	lpfc_mbuf_free(phba, mp->virt, mp->phys);
phba             2354 drivers/scsi/lpfc/lpfc_mbox.c 	lpfc_sli4_mbox_cmd_free(phba, mbox);
phba             2355 drivers/scsi/lpfc/lpfc_mbox.c 	rdp_context->cmpl(phba, rdp_context, FAILURE);
phba             2359 drivers/scsi/lpfc/lpfc_mbox.c lpfc_mbx_cmpl_rdp_page_a0(struct lpfc_hba *phba, LPFC_MBOXQ_t *mbox)
phba             2385 drivers/scsi/lpfc/lpfc_mbox.c 		&mbox->u.mqe.un.mem_dump_type3, phba->sli4_hba.physical_port);
phba             2395 drivers/scsi/lpfc/lpfc_mbox.c 	rc = lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT);
phba             2402 drivers/scsi/lpfc/lpfc_mbox.c 	lpfc_mbuf_free(phba, mp->virt, mp->phys);
phba             2404 drivers/scsi/lpfc/lpfc_mbox.c 	lpfc_sli4_mbox_cmd_free(phba, mbox);
phba             2405 drivers/scsi/lpfc/lpfc_mbox.c 	rdp_context->cmpl(phba, rdp_context, FAILURE);
phba             2418 drivers/scsi/lpfc/lpfc_mbox.c lpfc_sli4_dump_page_a0(struct lpfc_hba *phba, struct lpfcMboxq *mbox)
phba             2426 drivers/scsi/lpfc/lpfc_mbox.c 		mp->virt = lpfc_mbuf_alloc(phba, 0, &mp->phys);
phba             2429 drivers/scsi/lpfc/lpfc_mbox.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_MBOX,
phba             2444 drivers/scsi/lpfc/lpfc_mbox.c 		&mbox->u.mqe.un.mem_dump_type3, phba->sli4_hba.physical_port);
phba             2469 drivers/scsi/lpfc/lpfc_mbox.c lpfc_reg_fcfi(struct lpfc_hba *phba, struct lpfcMboxq *mbox)
phba             2476 drivers/scsi/lpfc/lpfc_mbox.c 	if (phba->nvmet_support == 0) {
phba             2478 drivers/scsi/lpfc/lpfc_mbox.c 		       phba->sli4_hba.hdr_rq->queue_id);
phba             2489 drivers/scsi/lpfc/lpfc_mbox.c 		       (~phba->fcf.addr_mode) & 0x3);
phba             2492 drivers/scsi/lpfc/lpfc_mbox.c 		if (phba->cfg_nvmet_mrq != 1)
phba             2496 drivers/scsi/lpfc/lpfc_mbox.c 		       phba->sli4_hba.nvmet_mrq_hdr[0]->queue_id);
phba             2504 drivers/scsi/lpfc/lpfc_mbox.c 		       phba->sli4_hba.hdr_rq->queue_id);
phba             2514 drivers/scsi/lpfc/lpfc_mbox.c 	       phba->fcf.current_rec.fcf_indx);
phba             2515 drivers/scsi/lpfc/lpfc_mbox.c 	if (phba->fcf.current_rec.vlan_id != LPFC_FCOE_NULL_VID) {
phba             2518 drivers/scsi/lpfc/lpfc_mbox.c 		       phba->fcf.current_rec.vlan_id);
phba             2537 drivers/scsi/lpfc/lpfc_mbox.c lpfc_reg_fcfi_mrq(struct lpfc_hba *phba, struct lpfcMboxq *mbox, int mode)
phba             2542 drivers/scsi/lpfc/lpfc_mbox.c 	if (phba->cfg_nvmet_mrq <= 1)
phba             2550 drivers/scsi/lpfc/lpfc_mbox.c 		       phba->fcf.current_rec.fcf_indx);
phba             2551 drivers/scsi/lpfc/lpfc_mbox.c 		if (phba->fcf.current_rec.vlan_id != LPFC_FCOE_NULL_VID) {
phba             2554 drivers/scsi/lpfc/lpfc_mbox.c 			       phba->fcf.current_rec.vlan_id);
phba             2560 drivers/scsi/lpfc/lpfc_mbox.c 	       phba->sli4_hba.nvmet_mrq_hdr[0]->queue_id);
phba             2572 drivers/scsi/lpfc/lpfc_mbox.c 	bf_set(lpfc_reg_fcfi_mrq_npairs, reg_fcfi, phba->cfg_nvmet_mrq);
phba             2575 drivers/scsi/lpfc/lpfc_mbox.c 	       phba->sli4_hba.hdr_rq->queue_id);
phba             2613 drivers/scsi/lpfc/lpfc_mbox.c 	struct lpfc_hba *phba = ndlp->phba;
phba             2620 drivers/scsi/lpfc/lpfc_mbox.c 	       phba->sli4_hba.rpi_ids[ndlp->nlp_rpi]);
phba             2622 drivers/scsi/lpfc/lpfc_mbox.c 	resume_rpi->event_tag = ndlp->phba->fc_eventTag;
phba               54 drivers/scsi/lpfc/lpfc_mem.c lpfc_mem_alloc_active_rrq_pool_s4(struct lpfc_hba *phba) {
phba               56 drivers/scsi/lpfc/lpfc_mem.c 	int max_xri = phba->sli4_hba.max_cfg_param.max_xri;
phba               62 drivers/scsi/lpfc/lpfc_mem.c 	phba->cfg_rrq_xri_bitmap_sz = bytes;
phba               63 drivers/scsi/lpfc/lpfc_mem.c 	phba->active_rrq_pool = mempool_create_kmalloc_pool(LPFC_MEM_POOL_SIZE,
phba               65 drivers/scsi/lpfc/lpfc_mem.c 	if (!phba->active_rrq_pool)
phba               87 drivers/scsi/lpfc/lpfc_mem.c lpfc_mem_alloc(struct lpfc_hba *phba, int align)
phba               89 drivers/scsi/lpfc/lpfc_mem.c 	struct lpfc_dma_pool *pool = &phba->lpfc_mbuf_safety_pool;
phba               93 drivers/scsi/lpfc/lpfc_mem.c 	phba->lpfc_mbuf_pool = dma_pool_create("lpfc_mbuf_pool", &phba->pcidev->dev,
phba               96 drivers/scsi/lpfc/lpfc_mem.c 	if (!phba->lpfc_mbuf_pool)
phba              108 drivers/scsi/lpfc/lpfc_mem.c 		pool->elements[i].virt = dma_pool_alloc(phba->lpfc_mbuf_pool,
phba              116 drivers/scsi/lpfc/lpfc_mem.c 	phba->mbox_mem_pool = mempool_create_kmalloc_pool(LPFC_MEM_POOL_SIZE,
phba              118 drivers/scsi/lpfc/lpfc_mem.c 	if (!phba->mbox_mem_pool)
phba              121 drivers/scsi/lpfc/lpfc_mem.c 	phba->nlp_mem_pool = mempool_create_kmalloc_pool(LPFC_MEM_POOL_SIZE,
phba              123 drivers/scsi/lpfc/lpfc_mem.c 	if (!phba->nlp_mem_pool)
phba              126 drivers/scsi/lpfc/lpfc_mem.c 	if (phba->sli_rev == LPFC_SLI_REV4) {
phba              127 drivers/scsi/lpfc/lpfc_mem.c 		phba->rrq_pool =
phba              130 drivers/scsi/lpfc/lpfc_mem.c 		if (!phba->rrq_pool)
phba              132 drivers/scsi/lpfc/lpfc_mem.c 		phba->lpfc_hrb_pool = dma_pool_create("lpfc_hrb_pool",
phba              133 drivers/scsi/lpfc/lpfc_mem.c 					      &phba->pcidev->dev,
phba              135 drivers/scsi/lpfc/lpfc_mem.c 		if (!phba->lpfc_hrb_pool)
phba              138 drivers/scsi/lpfc/lpfc_mem.c 		phba->lpfc_drb_pool = dma_pool_create("lpfc_drb_pool",
phba              139 drivers/scsi/lpfc/lpfc_mem.c 					      &phba->pcidev->dev,
phba              141 drivers/scsi/lpfc/lpfc_mem.c 		if (!phba->lpfc_drb_pool)
phba              143 drivers/scsi/lpfc/lpfc_mem.c 		phba->lpfc_hbq_pool = NULL;
phba              145 drivers/scsi/lpfc/lpfc_mem.c 		phba->lpfc_hbq_pool = dma_pool_create("lpfc_hbq_pool",
phba              146 drivers/scsi/lpfc/lpfc_mem.c 			&phba->pcidev->dev, LPFC_BPL_SIZE, align, 0);
phba              147 drivers/scsi/lpfc/lpfc_mem.c 		if (!phba->lpfc_hbq_pool)
phba              149 drivers/scsi/lpfc/lpfc_mem.c 		phba->lpfc_hrb_pool = NULL;
phba              150 drivers/scsi/lpfc/lpfc_mem.c 		phba->lpfc_drb_pool = NULL;
phba              153 drivers/scsi/lpfc/lpfc_mem.c 	if (phba->cfg_EnableXLane) {
phba              154 drivers/scsi/lpfc/lpfc_mem.c 		phba->device_data_mem_pool = mempool_create_kmalloc_pool(
phba              157 drivers/scsi/lpfc/lpfc_mem.c 		if (!phba->device_data_mem_pool)
phba              160 drivers/scsi/lpfc/lpfc_mem.c 		phba->device_data_mem_pool = NULL;
phba              165 drivers/scsi/lpfc/lpfc_mem.c 	dma_pool_destroy(phba->lpfc_drb_pool);
phba              166 drivers/scsi/lpfc/lpfc_mem.c 	phba->lpfc_drb_pool = NULL;
phba              168 drivers/scsi/lpfc/lpfc_mem.c 	dma_pool_destroy(phba->lpfc_hrb_pool);
phba              169 drivers/scsi/lpfc/lpfc_mem.c 	phba->lpfc_hrb_pool = NULL;
phba              171 drivers/scsi/lpfc/lpfc_mem.c 	mempool_destroy(phba->rrq_pool);
phba              172 drivers/scsi/lpfc/lpfc_mem.c 	phba->rrq_pool = NULL;
phba              174 drivers/scsi/lpfc/lpfc_mem.c 	mempool_destroy(phba->nlp_mem_pool);
phba              175 drivers/scsi/lpfc/lpfc_mem.c 	phba->nlp_mem_pool = NULL;
phba              177 drivers/scsi/lpfc/lpfc_mem.c 	mempool_destroy(phba->mbox_mem_pool);
phba              178 drivers/scsi/lpfc/lpfc_mem.c 	phba->mbox_mem_pool = NULL;
phba              181 drivers/scsi/lpfc/lpfc_mem.c 		dma_pool_free(phba->lpfc_mbuf_pool, pool->elements[i].virt,
phba              185 drivers/scsi/lpfc/lpfc_mem.c 	dma_pool_destroy(phba->lpfc_mbuf_pool);
phba              186 drivers/scsi/lpfc/lpfc_mem.c 	phba->lpfc_mbuf_pool = NULL;
phba              192 drivers/scsi/lpfc/lpfc_mem.c lpfc_nvmet_mem_alloc(struct lpfc_hba *phba)
phba              194 drivers/scsi/lpfc/lpfc_mem.c 	phba->lpfc_nvmet_drb_pool =
phba              196 drivers/scsi/lpfc/lpfc_mem.c 				&phba->pcidev->dev, LPFC_NVMET_DATA_BUF_SIZE,
phba              198 drivers/scsi/lpfc/lpfc_mem.c 	if (!phba->lpfc_nvmet_drb_pool) {
phba              199 drivers/scsi/lpfc/lpfc_mem.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba              216 drivers/scsi/lpfc/lpfc_mem.c lpfc_mem_free(struct lpfc_hba *phba)
phba              219 drivers/scsi/lpfc/lpfc_mem.c 	struct lpfc_dma_pool *pool = &phba->lpfc_mbuf_safety_pool;
phba              223 drivers/scsi/lpfc/lpfc_mem.c 	lpfc_sli_hbqbuf_free_all(phba);
phba              224 drivers/scsi/lpfc/lpfc_mem.c 	dma_pool_destroy(phba->lpfc_nvmet_drb_pool);
phba              225 drivers/scsi/lpfc/lpfc_mem.c 	phba->lpfc_nvmet_drb_pool = NULL;
phba              227 drivers/scsi/lpfc/lpfc_mem.c 	dma_pool_destroy(phba->lpfc_drb_pool);
phba              228 drivers/scsi/lpfc/lpfc_mem.c 	phba->lpfc_drb_pool = NULL;
phba              230 drivers/scsi/lpfc/lpfc_mem.c 	dma_pool_destroy(phba->lpfc_hrb_pool);
phba              231 drivers/scsi/lpfc/lpfc_mem.c 	phba->lpfc_hrb_pool = NULL;
phba              233 drivers/scsi/lpfc/lpfc_mem.c 	dma_pool_destroy(phba->txrdy_payload_pool);
phba              234 drivers/scsi/lpfc/lpfc_mem.c 	phba->txrdy_payload_pool = NULL;
phba              236 drivers/scsi/lpfc/lpfc_mem.c 	dma_pool_destroy(phba->lpfc_hbq_pool);
phba              237 drivers/scsi/lpfc/lpfc_mem.c 	phba->lpfc_hbq_pool = NULL;
phba              239 drivers/scsi/lpfc/lpfc_mem.c 	mempool_destroy(phba->rrq_pool);
phba              240 drivers/scsi/lpfc/lpfc_mem.c 	phba->rrq_pool = NULL;
phba              243 drivers/scsi/lpfc/lpfc_mem.c 	mempool_destroy(phba->nlp_mem_pool);
phba              244 drivers/scsi/lpfc/lpfc_mem.c 	phba->nlp_mem_pool = NULL;
phba              245 drivers/scsi/lpfc/lpfc_mem.c 	if (phba->sli_rev == LPFC_SLI_REV4 && phba->active_rrq_pool) {
phba              246 drivers/scsi/lpfc/lpfc_mem.c 		mempool_destroy(phba->active_rrq_pool);
phba              247 drivers/scsi/lpfc/lpfc_mem.c 		phba->active_rrq_pool = NULL;
phba              251 drivers/scsi/lpfc/lpfc_mem.c 	mempool_destroy(phba->mbox_mem_pool);
phba              252 drivers/scsi/lpfc/lpfc_mem.c 	phba->mbox_mem_pool = NULL;
phba              256 drivers/scsi/lpfc/lpfc_mem.c 		dma_pool_free(phba->lpfc_mbuf_pool, pool->elements[i].virt,
phba              260 drivers/scsi/lpfc/lpfc_mem.c 	dma_pool_destroy(phba->lpfc_mbuf_pool);
phba              261 drivers/scsi/lpfc/lpfc_mem.c 	phba->lpfc_mbuf_pool = NULL;
phba              264 drivers/scsi/lpfc/lpfc_mem.c 	if (phba->device_data_mem_pool) {
phba              266 drivers/scsi/lpfc/lpfc_mem.c 		while (!list_empty(&phba->luns)) {
phba              267 drivers/scsi/lpfc/lpfc_mem.c 			device_data = list_first_entry(&phba->luns,
phba              271 drivers/scsi/lpfc/lpfc_mem.c 			mempool_free(device_data, phba->device_data_mem_pool);
phba              273 drivers/scsi/lpfc/lpfc_mem.c 		mempool_destroy(phba->device_data_mem_pool);
phba              275 drivers/scsi/lpfc/lpfc_mem.c 	phba->device_data_mem_pool = NULL;
phba              291 drivers/scsi/lpfc/lpfc_mem.c lpfc_mem_free_all(struct lpfc_hba *phba)
phba              293 drivers/scsi/lpfc/lpfc_mem.c 	struct lpfc_sli *psli = &phba->sli;
phba              301 drivers/scsi/lpfc/lpfc_mem.c 			lpfc_mbuf_free(phba, mp->virt, mp->phys);
phba              305 drivers/scsi/lpfc/lpfc_mem.c 		mempool_free(mbox, phba->mbox_mem_pool);
phba              311 drivers/scsi/lpfc/lpfc_mem.c 			lpfc_mbuf_free(phba, mp->virt, mp->phys);
phba              315 drivers/scsi/lpfc/lpfc_mem.c 		mempool_free(mbox, phba->mbox_mem_pool);
phba              318 drivers/scsi/lpfc/lpfc_mem.c 	spin_lock_irq(&phba->hbalock);
phba              320 drivers/scsi/lpfc/lpfc_mem.c 	spin_unlock_irq(&phba->hbalock);
phba              325 drivers/scsi/lpfc/lpfc_mem.c 			lpfc_mbuf_free(phba, mp->virt, mp->phys);
phba              328 drivers/scsi/lpfc/lpfc_mem.c 		mempool_free(mbox, phba->mbox_mem_pool);
phba              333 drivers/scsi/lpfc/lpfc_mem.c 	lpfc_mem_free(phba);
phba              336 drivers/scsi/lpfc/lpfc_mem.c 	dma_pool_destroy(phba->lpfc_sg_dma_buf_pool);
phba              337 drivers/scsi/lpfc/lpfc_mem.c 	phba->lpfc_sg_dma_buf_pool = NULL;
phba              339 drivers/scsi/lpfc/lpfc_mem.c 	dma_pool_destroy(phba->lpfc_cmd_rsp_buf_pool);
phba              340 drivers/scsi/lpfc/lpfc_mem.c 	phba->lpfc_cmd_rsp_buf_pool = NULL;
phba              368 drivers/scsi/lpfc/lpfc_mem.c lpfc_mbuf_alloc(struct lpfc_hba *phba, int mem_flags, dma_addr_t *handle)
phba              370 drivers/scsi/lpfc/lpfc_mem.c 	struct lpfc_dma_pool *pool = &phba->lpfc_mbuf_safety_pool;
phba              374 drivers/scsi/lpfc/lpfc_mem.c 	ret = dma_pool_alloc(phba->lpfc_mbuf_pool, GFP_KERNEL, handle);
phba              376 drivers/scsi/lpfc/lpfc_mem.c 	spin_lock_irqsave(&phba->hbalock, iflags);
phba              382 drivers/scsi/lpfc/lpfc_mem.c 	spin_unlock_irqrestore(&phba->hbalock, iflags);
phba              401 drivers/scsi/lpfc/lpfc_mem.c __lpfc_mbuf_free(struct lpfc_hba * phba, void *virt, dma_addr_t dma)
phba              403 drivers/scsi/lpfc/lpfc_mem.c 	struct lpfc_dma_pool *pool = &phba->lpfc_mbuf_safety_pool;
phba              410 drivers/scsi/lpfc/lpfc_mem.c 		dma_pool_free(phba->lpfc_mbuf_pool, virt, dma);
phba              429 drivers/scsi/lpfc/lpfc_mem.c lpfc_mbuf_free(struct lpfc_hba * phba, void *virt, dma_addr_t dma)
phba              433 drivers/scsi/lpfc/lpfc_mem.c 	spin_lock_irqsave(&phba->hbalock, iflags);
phba              434 drivers/scsi/lpfc/lpfc_mem.c 	__lpfc_mbuf_free(phba, virt, dma);
phba              435 drivers/scsi/lpfc/lpfc_mem.c 	spin_unlock_irqrestore(&phba->hbalock, iflags);
phba              454 drivers/scsi/lpfc/lpfc_mem.c lpfc_nvmet_buf_alloc(struct lpfc_hba *phba, int mem_flags, dma_addr_t *handle)
phba              458 drivers/scsi/lpfc/lpfc_mem.c 	ret = dma_pool_alloc(phba->lpfc_sg_dma_buf_pool, GFP_KERNEL, handle);
phba              472 drivers/scsi/lpfc/lpfc_mem.c lpfc_nvmet_buf_free(struct lpfc_hba *phba, void *virt, dma_addr_t dma)
phba              474 drivers/scsi/lpfc/lpfc_mem.c 	dma_pool_free(phba->lpfc_sg_dma_buf_pool, virt, dma);
phba              491 drivers/scsi/lpfc/lpfc_mem.c lpfc_els_hbq_alloc(struct lpfc_hba *phba)
phba              499 drivers/scsi/lpfc/lpfc_mem.c 	hbqbp->dbuf.virt = dma_pool_alloc(phba->lpfc_hbq_pool, GFP_KERNEL,
phba              522 drivers/scsi/lpfc/lpfc_mem.c lpfc_els_hbq_free(struct lpfc_hba *phba, struct hbq_dmabuf *hbqbp)
phba              524 drivers/scsi/lpfc/lpfc_mem.c 	dma_pool_free(phba->lpfc_hbq_pool, hbqbp->dbuf.virt, hbqbp->dbuf.phys);
phba              543 drivers/scsi/lpfc/lpfc_mem.c lpfc_sli4_rb_alloc(struct lpfc_hba *phba)
phba              551 drivers/scsi/lpfc/lpfc_mem.c 	dma_buf->hbuf.virt = dma_pool_alloc(phba->lpfc_hrb_pool, GFP_KERNEL,
phba              557 drivers/scsi/lpfc/lpfc_mem.c 	dma_buf->dbuf.virt = dma_pool_alloc(phba->lpfc_drb_pool, GFP_KERNEL,
phba              560 drivers/scsi/lpfc/lpfc_mem.c 		dma_pool_free(phba->lpfc_hrb_pool, dma_buf->hbuf.virt,
phba              582 drivers/scsi/lpfc/lpfc_mem.c lpfc_sli4_rb_free(struct lpfc_hba *phba, struct hbq_dmabuf *dmab)
phba              584 drivers/scsi/lpfc/lpfc_mem.c 	dma_pool_free(phba->lpfc_hrb_pool, dmab->hbuf.virt, dmab->hbuf.phys);
phba              585 drivers/scsi/lpfc/lpfc_mem.c 	dma_pool_free(phba->lpfc_drb_pool, dmab->dbuf.virt, dmab->dbuf.phys);
phba              603 drivers/scsi/lpfc/lpfc_mem.c lpfc_sli4_nvmet_alloc(struct lpfc_hba *phba)
phba              611 drivers/scsi/lpfc/lpfc_mem.c 	dma_buf->hbuf.virt = dma_pool_alloc(phba->lpfc_hrb_pool, GFP_KERNEL,
phba              617 drivers/scsi/lpfc/lpfc_mem.c 	dma_buf->dbuf.virt = dma_pool_alloc(phba->lpfc_nvmet_drb_pool,
phba              620 drivers/scsi/lpfc/lpfc_mem.c 		dma_pool_free(phba->lpfc_hrb_pool, dma_buf->hbuf.virt,
phba              642 drivers/scsi/lpfc/lpfc_mem.c lpfc_sli4_nvmet_free(struct lpfc_hba *phba, struct rqb_dmabuf *dmab)
phba              644 drivers/scsi/lpfc/lpfc_mem.c 	dma_pool_free(phba->lpfc_hrb_pool, dmab->hbuf.virt, dmab->hbuf.phys);
phba              645 drivers/scsi/lpfc/lpfc_mem.c 	dma_pool_free(phba->lpfc_nvmet_drb_pool,
phba              663 drivers/scsi/lpfc/lpfc_mem.c lpfc_in_buf_free(struct lpfc_hba *phba, struct lpfc_dmabuf *mp)
phba              671 drivers/scsi/lpfc/lpfc_mem.c 	if (phba->sli3_options & LPFC_SLI3_HBQ_ENABLED) {
phba              674 drivers/scsi/lpfc/lpfc_mem.c 		spin_lock_irqsave(&phba->hbalock, flags);
phba              675 drivers/scsi/lpfc/lpfc_mem.c 		if (!phba->hbq_in_use) {
phba              676 drivers/scsi/lpfc/lpfc_mem.c 			spin_unlock_irqrestore(&phba->hbalock, flags);
phba              681 drivers/scsi/lpfc/lpfc_mem.c 			(phba->hbqs[LPFC_ELS_HBQ].hbq_free_buffer)
phba              682 drivers/scsi/lpfc/lpfc_mem.c 				(phba, hbq_entry);
phba              684 drivers/scsi/lpfc/lpfc_mem.c 			lpfc_sli_free_hbq(phba, hbq_entry);
phba              686 drivers/scsi/lpfc/lpfc_mem.c 		spin_unlock_irqrestore(&phba->hbalock, flags);
phba              688 drivers/scsi/lpfc/lpfc_mem.c 		lpfc_mbuf_free(phba, mp->virt, mp->phys);
phba              707 drivers/scsi/lpfc/lpfc_mem.c lpfc_rq_buf_free(struct lpfc_hba *phba, struct lpfc_dmabuf *mp)
phba              722 drivers/scsi/lpfc/lpfc_mem.c 	spin_lock_irqsave(&phba->hbalock, flags);
phba              730 drivers/scsi/lpfc/lpfc_mem.c 		(rqbp->rqb_free_buffer)(phba, rqb_entry);
phba              731 drivers/scsi/lpfc/lpfc_mem.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba              745 drivers/scsi/lpfc/lpfc_mem.c 	spin_unlock_irqrestore(&phba->hbalock, flags);
phba              170 drivers/scsi/lpfc/lpfc_nportdisc.c lpfc_check_elscmpl_iocb(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
phba              210 drivers/scsi/lpfc/lpfc_nportdisc.c lpfc_els_abort(struct lpfc_hba *phba, struct lpfc_nodelist *ndlp)
phba              216 drivers/scsi/lpfc/lpfc_nportdisc.c 	pring = lpfc_phba_elsring(phba);
phba              236 drivers/scsi/lpfc/lpfc_nportdisc.c 	spin_lock_irq(&phba->hbalock);
phba              237 drivers/scsi/lpfc/lpfc_nportdisc.c 	if (phba->sli_rev == LPFC_SLI_REV4)
phba              241 drivers/scsi/lpfc/lpfc_nportdisc.c 		if (lpfc_check_sli_ndlp(phba, pring, iocb, ndlp))
phba              244 drivers/scsi/lpfc/lpfc_nportdisc.c 	if (phba->sli_rev == LPFC_SLI_REV4)
phba              246 drivers/scsi/lpfc/lpfc_nportdisc.c 	spin_unlock_irq(&phba->hbalock);
phba              250 drivers/scsi/lpfc/lpfc_nportdisc.c 			spin_lock_irq(&phba->hbalock);
phba              252 drivers/scsi/lpfc/lpfc_nportdisc.c 			lpfc_sli_issue_abort_iotag(phba, pring, iocb);
phba              253 drivers/scsi/lpfc/lpfc_nportdisc.c 			spin_unlock_irq(&phba->hbalock);
phba              259 drivers/scsi/lpfc/lpfc_nportdisc.c 	spin_lock_irq(&phba->hbalock);
phba              260 drivers/scsi/lpfc/lpfc_nportdisc.c 	if (phba->sli_rev == LPFC_SLI_REV4)
phba              265 drivers/scsi/lpfc/lpfc_nportdisc.c 		if (lpfc_check_sli_ndlp(phba, pring, iocb, ndlp)) {
phba              271 drivers/scsi/lpfc/lpfc_nportdisc.c 	if (phba->sli_rev == LPFC_SLI_REV4)
phba              273 drivers/scsi/lpfc/lpfc_nportdisc.c 	spin_unlock_irq(&phba->hbalock);
phba              276 drivers/scsi/lpfc/lpfc_nportdisc.c 	lpfc_sli_cancel_iocbs(phba, &abort_list,
phba              279 drivers/scsi/lpfc/lpfc_nportdisc.c 	lpfc_cancel_retry_delay_tmo(phba->pport, ndlp);
phba              287 drivers/scsi/lpfc/lpfc_nportdisc.c 	struct lpfc_hba    *phba = vport->phba;
phba              373 drivers/scsi/lpfc/lpfc_nportdisc.c 		    !(phba->nvmet_support)) {
phba              408 drivers/scsi/lpfc/lpfc_nportdisc.c 			ed_tov = (phba->fc_edtov + 999999) / 1000000;
phba              415 drivers/scsi/lpfc/lpfc_nportdisc.c 		if (ed_tov > phba->fc_edtov)
phba              416 drivers/scsi/lpfc/lpfc_nportdisc.c 			phba->fc_edtov = ed_tov;
phba              417 drivers/scsi/lpfc/lpfc_nportdisc.c 		phba->fc_ratov = (2 * phba->fc_edtov) / 1000;
phba              419 drivers/scsi/lpfc/lpfc_nportdisc.c 		memcpy(&phba->fc_fabparam, sp, sizeof(struct serv_parm));
phba              423 drivers/scsi/lpfc/lpfc_nportdisc.c 		if (phba->sli_rev == LPFC_SLI_REV4)
phba              426 drivers/scsi/lpfc/lpfc_nportdisc.c 			mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba              429 drivers/scsi/lpfc/lpfc_nportdisc.c 			lpfc_config_link(phba, mbox);
phba              432 drivers/scsi/lpfc/lpfc_nportdisc.c 			rc = lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT);
phba              434 drivers/scsi/lpfc/lpfc_nportdisc.c 				mempool_free(mbox, phba->mbox_mem_pool);
phba              443 drivers/scsi/lpfc/lpfc_nportdisc.c 	if ((phba->sli.sli_flag & LPFC_SLI_SUPPRESS_RSP) &&
phba              451 drivers/scsi/lpfc/lpfc_nportdisc.c 	mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba              456 drivers/scsi/lpfc/lpfc_nportdisc.c 	if (phba->sli_rev == LPFC_SLI_REV4)
phba              459 drivers/scsi/lpfc/lpfc_nportdisc.c 	rc = lpfc_reg_rpi(phba, vport->vpi, icmd->un.rcvels.remoteID,
phba              462 drivers/scsi/lpfc/lpfc_nportdisc.c 		mempool_free(mbox, phba->mbox_mem_pool);
phba              492 drivers/scsi/lpfc/lpfc_nportdisc.c 		lpfc_els_abort(phba, ndlp);
phba              511 drivers/scsi/lpfc/lpfc_nportdisc.c 			mempool_free(mbox, phba->mbox_mem_pool);
phba              516 drivers/scsi/lpfc/lpfc_nportdisc.c 		mempool_free(mbox, phba->mbox_mem_pool);
phba              534 drivers/scsi/lpfc/lpfc_nportdisc.c lpfc_mbx_cmpl_resume_rpi(struct lpfc_hba *phba, LPFC_MBOXQ_t *mboxq)
phba              553 drivers/scsi/lpfc/lpfc_nportdisc.c 	mempool_free(mboxq, phba->mbox_mem_pool);
phba              593 drivers/scsi/lpfc/lpfc_nportdisc.c 		if (vport->phba->sli_rev == LPFC_SLI_REV4) {
phba              650 drivers/scsi/lpfc/lpfc_nportdisc.c 	struct lpfc_hba    *phba = vport->phba;
phba              672 drivers/scsi/lpfc/lpfc_nportdisc.c 		vports = lpfc_create_vport_work_array(phba);
phba              674 drivers/scsi/lpfc/lpfc_nportdisc.c 			for (i = 0; i <= phba->max_vports && vports[i] != NULL;
phba              683 drivers/scsi/lpfc/lpfc_nportdisc.c 			lpfc_destroy_vport_work_array(phba, vports);
phba              706 drivers/scsi/lpfc/lpfc_nportdisc.c 			phba->pport->fc_flag &= ~FC_LOGO_RCVD_DID_CHNG;
phba              708 drivers/scsi/lpfc/lpfc_nportdisc.c 			lpfc_retry_pport_discovery(phba);
phba              749 drivers/scsi/lpfc/lpfc_nportdisc.c 	if (vport->phba->nvmet_support) {
phba              777 drivers/scsi/lpfc/lpfc_nportdisc.c 	struct lpfc_hba  *phba = vport->phba;
phba              808 drivers/scsi/lpfc/lpfc_nportdisc.c 		if (npr->Retry && phba->nsler &&
phba              818 drivers/scsi/lpfc/lpfc_nportdisc.c 		if (phba->nvmet_support && (npr->prliType == PRLI_NVME_TYPE)) {
phba              883 drivers/scsi/lpfc/lpfc_nportdisc.c lpfc_release_rpi(struct lpfc_hba *phba, struct lpfc_vport *vport,
phba              903 drivers/scsi/lpfc/lpfc_nportdisc.c 	pmb = (LPFC_MBOXQ_t *) mempool_alloc(phba->mbox_mem_pool,
phba              909 drivers/scsi/lpfc/lpfc_nportdisc.c 		lpfc_unreg_login(phba, vport->vpi, rpi, pmb);
phba              923 drivers/scsi/lpfc/lpfc_nportdisc.c 		rc = lpfc_sli_issue_mbox(phba, pmb, MBX_NOWAIT);
phba              925 drivers/scsi/lpfc/lpfc_nportdisc.c 			mempool_free(pmb, phba->mbox_mem_pool);
phba              933 drivers/scsi/lpfc/lpfc_nportdisc.c 	struct lpfc_hba *phba;
phba              937 drivers/scsi/lpfc/lpfc_nportdisc.c 	phba = vport->phba;
phba              939 drivers/scsi/lpfc/lpfc_nportdisc.c 	if (!(phba->pport->load_flag & FC_UNLOADING) &&
phba              943 drivers/scsi/lpfc/lpfc_nportdisc.c 		lpfc_release_rpi(phba, vport, ndlp, rpi);
phba             1038 drivers/scsi/lpfc/lpfc_nportdisc.c 	struct lpfc_hba   *phba = vport->phba;
phba             1051 drivers/scsi/lpfc/lpfc_nportdisc.c 	phba->fc_stat.elsLogiCol++;
phba             1105 drivers/scsi/lpfc/lpfc_nportdisc.c 	if (vport->phba->sli_rev == LPFC_SLI_REV3)
phba             1108 drivers/scsi/lpfc/lpfc_nportdisc.c 	lpfc_els_abort(vport->phba, ndlp);
phba             1119 drivers/scsi/lpfc/lpfc_nportdisc.c 	struct lpfc_hba   *phba = vport->phba;
phba             1123 drivers/scsi/lpfc/lpfc_nportdisc.c 	lpfc_els_abort(phba, ndlp);
phba             1149 drivers/scsi/lpfc/lpfc_nportdisc.c 	struct lpfc_hba    *phba = vport->phba;
phba             1220 drivers/scsi/lpfc/lpfc_nportdisc.c 			ed_tov = (phba->fc_edtov + 999999) / 1000000;
phba             1224 drivers/scsi/lpfc/lpfc_nportdisc.c 		if ((phba->sli.sli_flag & LPFC_SLI_SUPPRESS_RSP) &&
phba             1237 drivers/scsi/lpfc/lpfc_nportdisc.c 		if (ed_tov > phba->fc_edtov)
phba             1238 drivers/scsi/lpfc/lpfc_nportdisc.c 			phba->fc_edtov = ed_tov;
phba             1239 drivers/scsi/lpfc/lpfc_nportdisc.c 		phba->fc_ratov = (2 * phba->fc_edtov) / 1000;
phba             1241 drivers/scsi/lpfc/lpfc_nportdisc.c 		memcpy(&phba->fc_fabparam, sp, sizeof(struct serv_parm));
phba             1244 drivers/scsi/lpfc/lpfc_nportdisc.c 		if (phba->sli_rev == LPFC_SLI_REV4) {
phba             1247 drivers/scsi/lpfc/lpfc_nportdisc.c 			mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             1258 drivers/scsi/lpfc/lpfc_nportdisc.c 			lpfc_config_link(phba, mbox);
phba             1262 drivers/scsi/lpfc/lpfc_nportdisc.c 			rc = lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT);
phba             1264 drivers/scsi/lpfc/lpfc_nportdisc.c 				mempool_free(mbox, phba->mbox_mem_pool);
phba             1272 drivers/scsi/lpfc/lpfc_nportdisc.c 	mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             1282 drivers/scsi/lpfc/lpfc_nportdisc.c 	if (lpfc_reg_rpi(phba, vport->vpi, irsp->un.elsreq64.remoteID,
phba             1297 drivers/scsi/lpfc/lpfc_nportdisc.c 		if (lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT)
phba             1310 drivers/scsi/lpfc/lpfc_nportdisc.c 		lpfc_mbuf_free(phba, mp->virt, mp->phys);
phba             1312 drivers/scsi/lpfc/lpfc_nportdisc.c 		mempool_free(mbox, phba->mbox_mem_pool);
phba             1320 drivers/scsi/lpfc/lpfc_nportdisc.c 		mempool_free(mbox, phba->mbox_mem_pool);
phba             1361 drivers/scsi/lpfc/lpfc_nportdisc.c 	struct lpfc_hba *phba;
phba             1366 drivers/scsi/lpfc/lpfc_nportdisc.c 	phba = vport->phba;
phba             1368 drivers/scsi/lpfc/lpfc_nportdisc.c 	if (!(phba->pport->load_flag & FC_UNLOADING) &&
phba             1371 drivers/scsi/lpfc/lpfc_nportdisc.c 		lpfc_release_rpi(phba, vport, ndlp, rpi);
phba             1389 drivers/scsi/lpfc/lpfc_nportdisc.c 		lpfc_els_abort(vport->phba, ndlp);
phba             1403 drivers/scsi/lpfc/lpfc_nportdisc.c 	struct lpfc_hba  *phba = vport->phba;
phba             1412 drivers/scsi/lpfc/lpfc_nportdisc.c 	lpfc_els_abort(phba, ndlp);
phba             1428 drivers/scsi/lpfc/lpfc_nportdisc.c 	struct lpfc_hba   *phba = vport->phba;
phba             1432 drivers/scsi/lpfc/lpfc_nportdisc.c 	lpfc_els_abort(phba, ndlp);
phba             1468 drivers/scsi/lpfc/lpfc_nportdisc.c 	struct lpfc_hba *phba = vport->phba;
phba             1474 drivers/scsi/lpfc/lpfc_nportdisc.c 	lpfc_els_abort(phba, ndlp);
phba             1512 drivers/scsi/lpfc/lpfc_nportdisc.c 	struct lpfc_hba   *phba = vport->phba;
phba             1521 drivers/scsi/lpfc/lpfc_nportdisc.c 	ap = (ADISC *)lpfc_check_elscmpl_iocb(phba, cmdiocb, rspiocb);
phba             1543 drivers/scsi/lpfc/lpfc_nportdisc.c 	if (phba->sli_rev == LPFC_SLI_REV4) {
phba             1576 drivers/scsi/lpfc/lpfc_nportdisc.c 		lpfc_els_abort(vport->phba, ndlp);
phba             1590 drivers/scsi/lpfc/lpfc_nportdisc.c 	struct lpfc_hba  *phba = vport->phba;
phba             1599 drivers/scsi/lpfc/lpfc_nportdisc.c 	lpfc_els_abort(phba, ndlp);
phba             1634 drivers/scsi/lpfc/lpfc_nportdisc.c 	if (vport->phba->nvmet_support) {
phba             1667 drivers/scsi/lpfc/lpfc_nportdisc.c 	struct lpfc_hba   *phba = vport->phba;
phba             1677 drivers/scsi/lpfc/lpfc_nportdisc.c 	if ((mb = phba->sli.mbox_active)) {
phba             1687 drivers/scsi/lpfc/lpfc_nportdisc.c 	spin_lock_irq(&phba->hbalock);
phba             1688 drivers/scsi/lpfc/lpfc_nportdisc.c 	list_for_each_entry_safe(mb, nextmb, &phba->sli.mboxq, list) {
phba             1693 drivers/scsi/lpfc/lpfc_nportdisc.c 				__lpfc_mbuf_free(phba, mp->virt, mp->phys);
phba             1699 drivers/scsi/lpfc/lpfc_nportdisc.c 			phba->sli.mboxq_cnt--;
phba             1700 drivers/scsi/lpfc/lpfc_nportdisc.c 			mempool_free(mb, phba->mbox_mem_pool);
phba             1703 drivers/scsi/lpfc/lpfc_nportdisc.c 	spin_unlock_irq(&phba->hbalock);
phba             1709 drivers/scsi/lpfc/lpfc_nportdisc.c 			lpfc_els_abort(phba, ns_ndlp);
phba             1748 drivers/scsi/lpfc/lpfc_nportdisc.c 	struct lpfc_hba *phba = vport->phba;
phba             1786 drivers/scsi/lpfc/lpfc_nportdisc.c 	if (phba->sli_rev < LPFC_SLI_REV4)
phba             1796 drivers/scsi/lpfc/lpfc_nportdisc.c 	    (phba->nvmet_support == 0)) {
phba             1815 drivers/scsi/lpfc/lpfc_nportdisc.c 		} else if (phba->fc_topology == LPFC_TOPOLOGY_LOOP) {
phba             1839 drivers/scsi/lpfc/lpfc_nportdisc.c 		if ((vport->fc_flag & FC_PT2PT) && phba->nvmet_support)
phba             1840 drivers/scsi/lpfc/lpfc_nportdisc.c 			phba->targetport->port_id = vport->fc_myDID;
phba             1894 drivers/scsi/lpfc/lpfc_nportdisc.c 	    !vport->phba->nvmet_support)
phba             1934 drivers/scsi/lpfc/lpfc_nportdisc.c 	lpfc_els_abort(vport->phba, ndlp);
phba             1971 drivers/scsi/lpfc/lpfc_nportdisc.c 	struct lpfc_hba   *phba = vport->phba;
phba             1986 drivers/scsi/lpfc/lpfc_nportdisc.c 	temp_ptr = lpfc_check_elscmpl_iocb(phba, cmdiocb, rspiocb);
phba             2035 drivers/scsi/lpfc/lpfc_nportdisc.c 		if (phba->nsler && bf_get_be32(prli_nsler, nvpr))
phba             2057 drivers/scsi/lpfc/lpfc_nportdisc.c 			    (phba->cfg_nvme_enable_fb) &&
phba             2058 drivers/scsi/lpfc/lpfc_nportdisc.c 			    (!phba->nvmet_support)) {
phba             2152 drivers/scsi/lpfc/lpfc_nportdisc.c 		lpfc_els_abort(vport->phba, ndlp);
phba             2183 drivers/scsi/lpfc/lpfc_nportdisc.c 	struct lpfc_hba  *phba = vport->phba;
phba             2192 drivers/scsi/lpfc/lpfc_nportdisc.c 	lpfc_els_abort(phba, ndlp);
phba             2299 drivers/scsi/lpfc/lpfc_nportdisc.c 	lpfc_els_abort(vport->phba, ndlp);
phba             2437 drivers/scsi/lpfc/lpfc_nportdisc.c 	struct lpfc_hba  *phba = vport->phba;
phba             2441 drivers/scsi/lpfc/lpfc_nportdisc.c 	lpfc_sli_abort_iocb(vport, &phba->sli.sli3_ring[LPFC_FCP_RING],
phba             2673 drivers/scsi/lpfc/lpfc_nportdisc.c 		if (vport->phba->sli_rev < LPFC_SLI_REV4)
phba               60 drivers/scsi/lpfc/lpfc_nvme.c lpfc_get_nvme_buf(struct lpfc_hba *phba, struct lpfc_nodelist *ndlp,
phba              337 drivers/scsi/lpfc/lpfc_nvme.c 	spin_lock_irq(&vport->phba->hbalock);
phba              345 drivers/scsi/lpfc/lpfc_nvme.c 		spin_unlock_irq(&vport->phba->hbalock);
phba              352 drivers/scsi/lpfc/lpfc_nvme.c 		spin_unlock_irq(&vport->phba->hbalock);
phba              360 drivers/scsi/lpfc/lpfc_nvme.c lpfc_nvme_cmpl_gen_req(struct lpfc_hba *phba, struct lpfc_iocbq *cmdwqe,
phba              395 drivers/scsi/lpfc/lpfc_nvme.c 	lpfc_nvmeio_data(phba, "NVME LS  CMPL: xri x%x stat x%x parm x%x\n",
phba              400 drivers/scsi/lpfc/lpfc_nvme.c 		lpfc_mbuf_free(phba, buf_ptr->virt, buf_ptr->phys);
phba              416 drivers/scsi/lpfc/lpfc_nvme.c 	lpfc_sli_release_iocbq(phba, cmdwqe);
phba              428 drivers/scsi/lpfc/lpfc_nvme.c 	struct lpfc_hba *phba = vport->phba;
phba              436 drivers/scsi/lpfc/lpfc_nvme.c 	genwqe = lpfc_sli_get_iocbq(phba);
phba              454 drivers/scsi/lpfc/lpfc_nvme.c 		tmo = (3 * phba->fc_ratov);
phba              492 drivers/scsi/lpfc/lpfc_nvme.c 	       phba->sli4_hba.rpi_ids[ndlp->nlp_rpi]);
phba              496 drivers/scsi/lpfc/lpfc_nvme.c 	bf_set(wqe_tmo, &wqe->gen_req.wqe_com, (vport->phba->fc_ratov-1));
phba              533 drivers/scsi/lpfc/lpfc_nvme.c 	lpfc_nvmeio_data(phba, "NVME LS  XMIT: xri x%x iotag x%x to x%06x\n",
phba              536 drivers/scsi/lpfc/lpfc_nvme.c 	rc = lpfc_sli4_issue_wqe(phba, &phba->sli4_hba.hdwq[0], genwqe);
phba              543 drivers/scsi/lpfc/lpfc_nvme.c 		lpfc_sli_release_iocbq(phba, genwqe);
phba              629 drivers/scsi/lpfc/lpfc_nvme.c 	bmp->virt = lpfc_mbuf_alloc(vport->phba, MEM_PRI, &(bmp->phys));
phba              676 drivers/scsi/lpfc/lpfc_nvme.c 		lpfc_mbuf_free(vport->phba, bmp->virt, bmp->phys);
phba              705 drivers/scsi/lpfc/lpfc_nvme.c 	struct lpfc_hba *phba;
phba              715 drivers/scsi/lpfc/lpfc_nvme.c 	phba = vport->phba;
phba              742 drivers/scsi/lpfc/lpfc_nvme.c 	pring = phba->sli4_hba.nvmels_wq->pring;
phba              743 drivers/scsi/lpfc/lpfc_nvme.c 	spin_lock_irq(&phba->hbalock);
phba              747 drivers/scsi/lpfc/lpfc_nvme.c 		if (lpfc_check_sli_ndlp(phba, pring, wqe, ndlp)) {
phba              753 drivers/scsi/lpfc/lpfc_nvme.c 	spin_unlock_irq(&phba->hbalock);
phba              758 drivers/scsi/lpfc/lpfc_nvme.c 		spin_lock_irq(&phba->hbalock);
phba              760 drivers/scsi/lpfc/lpfc_nvme.c 		lpfc_sli_issue_abort_iotag(phba, pring, wqe);
phba              761 drivers/scsi/lpfc/lpfc_nvme.c 		spin_unlock_irq(&phba->hbalock);
phba              771 drivers/scsi/lpfc/lpfc_nvme.c 	struct lpfc_hba  *phba = vport->phba;
phba              793 drivers/scsi/lpfc/lpfc_nvme.c 	if (phba->cfg_nvme_embed_cmd) {
phba              864 drivers/scsi/lpfc/lpfc_nvme.c lpfc_nvme_ktime(struct lpfc_hba *phba,
phba              915 drivers/scsi/lpfc/lpfc_nvme.c 	phba->ktime_data_samples++;
phba              916 drivers/scsi/lpfc/lpfc_nvme.c 	phba->ktime_seg1_total += seg1;
phba              917 drivers/scsi/lpfc/lpfc_nvme.c 	if (seg1 < phba->ktime_seg1_min)
phba              918 drivers/scsi/lpfc/lpfc_nvme.c 		phba->ktime_seg1_min = seg1;
phba              919 drivers/scsi/lpfc/lpfc_nvme.c 	else if (seg1 > phba->ktime_seg1_max)
phba              920 drivers/scsi/lpfc/lpfc_nvme.c 		phba->ktime_seg1_max = seg1;
phba              921 drivers/scsi/lpfc/lpfc_nvme.c 	phba->ktime_seg2_total += seg2;
phba              922 drivers/scsi/lpfc/lpfc_nvme.c 	if (seg2 < phba->ktime_seg2_min)
phba              923 drivers/scsi/lpfc/lpfc_nvme.c 		phba->ktime_seg2_min = seg2;
phba              924 drivers/scsi/lpfc/lpfc_nvme.c 	else if (seg2 > phba->ktime_seg2_max)
phba              925 drivers/scsi/lpfc/lpfc_nvme.c 		phba->ktime_seg2_max = seg2;
phba              926 drivers/scsi/lpfc/lpfc_nvme.c 	phba->ktime_seg3_total += seg3;
phba              927 drivers/scsi/lpfc/lpfc_nvme.c 	if (seg3 < phba->ktime_seg3_min)
phba              928 drivers/scsi/lpfc/lpfc_nvme.c 		phba->ktime_seg3_min = seg3;
phba              929 drivers/scsi/lpfc/lpfc_nvme.c 	else if (seg3 > phba->ktime_seg3_max)
phba              930 drivers/scsi/lpfc/lpfc_nvme.c 		phba->ktime_seg3_max = seg3;
phba              931 drivers/scsi/lpfc/lpfc_nvme.c 	phba->ktime_seg4_total += seg4;
phba              932 drivers/scsi/lpfc/lpfc_nvme.c 	if (seg4 < phba->ktime_seg4_min)
phba              933 drivers/scsi/lpfc/lpfc_nvme.c 		phba->ktime_seg4_min = seg4;
phba              934 drivers/scsi/lpfc/lpfc_nvme.c 	else if (seg4 > phba->ktime_seg4_max)
phba              935 drivers/scsi/lpfc/lpfc_nvme.c 		phba->ktime_seg4_max = seg4;
phba              960 drivers/scsi/lpfc/lpfc_nvme.c lpfc_nvme_io_cmd_wqe_cmpl(struct lpfc_hba *phba, struct lpfc_iocbq *pwqeIn,
phba              996 drivers/scsi/lpfc/lpfc_nvme.c 		lpfc_release_nvme_buf(phba, lpfc_ncmd);
phba             1003 drivers/scsi/lpfc/lpfc_nvme.c 	phba->sli4_hba.hdwq[idx].nvme_cstat.io_cmpls++;
phba             1014 drivers/scsi/lpfc/lpfc_nvme.c 	lpfc_nvmeio_data(phba, "NVME FCP CMPL: xri x%x stat x%x parm x%x\n",
phba             1144 drivers/scsi/lpfc/lpfc_nvme.c 		phba->ktime_last_cmd = lpfc_ncmd->ts_data_nvme;
phba             1145 drivers/scsi/lpfc/lpfc_nvme.c 		lpfc_nvme_ktime(phba, lpfc_ncmd);
phba             1147 drivers/scsi/lpfc/lpfc_nvme.c 	if (unlikely(phba->cpucheck_on & LPFC_CHECK_NVME_IO)) {
phba             1158 drivers/scsi/lpfc/lpfc_nvme.c 			phba->sli4_hba.hdwq[idx].cpucheck_cmpl_io[cpu]++;
phba             1177 drivers/scsi/lpfc/lpfc_nvme.c 	lpfc_release_nvme_buf(phba, lpfc_ncmd);
phba             1203 drivers/scsi/lpfc/lpfc_nvme.c 	struct lpfc_hba *phba = vport->phba;
phba             1227 drivers/scsi/lpfc/lpfc_nvme.c 			if ((phba->cfg_nvme_enable_fb) &&
phba             1274 drivers/scsi/lpfc/lpfc_nvme.c 	       phba->sli4_hba.rpi_ids[pnode->nlp_rpi]);
phba             1310 drivers/scsi/lpfc/lpfc_nvme.c 	struct lpfc_hba *phba = vport->phba;
phba             1342 drivers/scsi/lpfc/lpfc_nvme.c 			lpfc_printf_log(phba, KERN_ERR, LOG_NVME_IOERR,
phba             1346 drivers/scsi/lpfc/lpfc_nvme.c 					phba->cfg_nvme_seg_cnt + 1,
phba             1365 drivers/scsi/lpfc/lpfc_nvme.c 				lpfc_printf_log(phba, KERN_ERR, LOG_NVME_IOERR,
phba             1382 drivers/scsi/lpfc/lpfc_nvme.c 				    !((j + 1) % phba->border_sge_num) &&
phba             1389 drivers/scsi/lpfc/lpfc_nvme.c 							phba, lpfc_ncmd);
phba             1432 drivers/scsi/lpfc/lpfc_nvme.c 						     phba->cfg_sg_dma_buf_size);
phba             1442 drivers/scsi/lpfc/lpfc_nvme.c 		if (phba->cfg_enable_pbde) {
phba             1466 drivers/scsi/lpfc/lpfc_nvme.c 			lpfc_printf_log(phba, KERN_ERR, LOG_NVME_IOERR,
phba             1505 drivers/scsi/lpfc/lpfc_nvme.c 	struct lpfc_hba *phba;
phba             1535 drivers/scsi/lpfc/lpfc_nvme.c 	phba = vport->phba;
phba             1560 drivers/scsi/lpfc/lpfc_nvme.c 	if (phba->ktime_on)
phba             1610 drivers/scsi/lpfc/lpfc_nvme.c 	if (lpfc_ndlp_check_qdepth(phba, ndlp)) {
phba             1626 drivers/scsi/lpfc/lpfc_nvme.c 	if (phba->cfg_fcp_io_sched == LPFC_FCP_SCHED_BY_HDWQ) {
phba             1630 drivers/scsi/lpfc/lpfc_nvme.c 		idx = phba->sli4_hba.cpu_map[cpu].hdwq;
phba             1633 drivers/scsi/lpfc/lpfc_nvme.c 	lpfc_ncmd = lpfc_get_nvme_buf(phba, ndlp, idx, expedite);
phba             1646 drivers/scsi/lpfc/lpfc_nvme.c 		lpfc_ncmd->ts_last_cmd = phba->ktime_last_cmd;
phba             1672 drivers/scsi/lpfc/lpfc_nvme.c 	cstat = &phba->sli4_hba.hdwq[idx].nvme_cstat;
phba             1686 drivers/scsi/lpfc/lpfc_nvme.c 	lpfc_nvmeio_data(phba, "NVME FCP XMIT: xri x%x idx %d to %06x\n",
phba             1690 drivers/scsi/lpfc/lpfc_nvme.c 	ret = lpfc_sli4_issue_wqe(phba, lpfc_ncmd->hdwq, &lpfc_ncmd->cur_iocbq);
phba             1701 drivers/scsi/lpfc/lpfc_nvme.c 	if (phba->cfg_xri_rebalancing)
phba             1702 drivers/scsi/lpfc/lpfc_nvme.c 		lpfc_keep_pvt_pool_above_lowwm(phba, lpfc_ncmd->hdwq_no);
phba             1708 drivers/scsi/lpfc/lpfc_nvme.c 	if (phba->cpucheck_on & LPFC_CHECK_NVME_IO) {
phba             1719 drivers/scsi/lpfc/lpfc_nvme.c 			phba->sli4_hba.hdwq[idx].cpucheck_xmt_io[cpu]++;
phba             1733 drivers/scsi/lpfc/lpfc_nvme.c 	lpfc_release_nvme_buf(phba, lpfc_ncmd);
phba             1750 drivers/scsi/lpfc/lpfc_nvme.c lpfc_nvme_abort_fcreq_cmpl(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
phba             1753 drivers/scsi/lpfc/lpfc_nvme.c 	lpfc_printf_log(phba, KERN_INFO, LOG_NVME,
phba             1763 drivers/scsi/lpfc/lpfc_nvme.c 	lpfc_sli_release_iocbq(phba, cmdiocb);
phba             1791 drivers/scsi/lpfc/lpfc_nvme.c 	struct lpfc_hba *phba;
phba             1815 drivers/scsi/lpfc/lpfc_nvme.c 	phba = vport->phba;
phba             1833 drivers/scsi/lpfc/lpfc_nvme.c 	spin_lock_irqsave(&phba->hbalock, flags);
phba             1835 drivers/scsi/lpfc/lpfc_nvme.c 	if (phba->hba_flag & HBA_IOQ_FLUSH) {
phba             1836 drivers/scsi/lpfc/lpfc_nvme.c 		spin_unlock_irqrestore(&phba->hbalock, flags);
phba             1840 drivers/scsi/lpfc/lpfc_nvme.c 				 phba->hba_flag);
phba             1846 drivers/scsi/lpfc/lpfc_nvme.c 		spin_unlock_irqrestore(&phba->hbalock, flags);
phba             1852 drivers/scsi/lpfc/lpfc_nvme.c 		spin_unlock_irqrestore(&phba->hbalock, flags);
phba             1890 drivers/scsi/lpfc/lpfc_nvme.c 	lpfc_nvmeio_data(phba, "NVME FCP ABORT: xri x%x idx %d to %06x\n",
phba             1905 drivers/scsi/lpfc/lpfc_nvme.c 	abts_buf = __lpfc_sli_get_iocbq(phba);
phba             1954 drivers/scsi/lpfc/lpfc_nvme.c 	ret_val = lpfc_sli4_issue_wqe(phba, lpfc_nbuf->hdwq, abts_buf);
phba             1956 drivers/scsi/lpfc/lpfc_nvme.c 	spin_unlock_irqrestore(&phba->hbalock, flags);
phba             1962 drivers/scsi/lpfc/lpfc_nvme.c 		lpfc_sli_release_iocbq(phba, abts_buf);
phba             1975 drivers/scsi/lpfc/lpfc_nvme.c 	spin_unlock_irqrestore(&phba->hbalock, flags);
phba             2017 drivers/scsi/lpfc/lpfc_nvme.c lpfc_get_nvme_buf(struct lpfc_hba *phba, struct lpfc_nodelist *ndlp,
phba             2026 drivers/scsi/lpfc/lpfc_nvme.c 	lpfc_ncmd = lpfc_get_io_buf(phba, NULL, idx, expedite);
phba             2053 drivers/scsi/lpfc/lpfc_nvme.c 		if (lpfc_ndlp_check_qdepth(phba, ndlp)) {
phba             2059 drivers/scsi/lpfc/lpfc_nvme.c 		qp = &phba->sli4_hba.hdwq[idx];
phba             2077 drivers/scsi/lpfc/lpfc_nvme.c lpfc_release_nvme_buf(struct lpfc_hba *phba, struct lpfc_io_buf *lpfc_ncmd)
phba             2090 drivers/scsi/lpfc/lpfc_nvme.c 		lpfc_printf_log(phba, KERN_INFO, LOG_NVME_ABTS,
phba             2102 drivers/scsi/lpfc/lpfc_nvme.c 		lpfc_release_io_buf(phba, (struct lpfc_io_buf *)lpfc_ncmd, qp);
phba             2125 drivers/scsi/lpfc/lpfc_nvme.c 	struct lpfc_hba  *phba = vport->phba;
phba             2142 drivers/scsi/lpfc/lpfc_nvme.c 	lpfc_nvme_template.max_sgl_segments = phba->cfg_nvme_seg_cnt + 1;
phba             2145 drivers/scsi/lpfc/lpfc_nvme.c 	if (phba->cfg_fcp_io_sched == LPFC_FCP_SCHED_BY_HDWQ)
phba             2146 drivers/scsi/lpfc/lpfc_nvme.c 		lpfc_nvme_template.max_hw_queues = phba->cfg_hdw_queue;
phba             2149 drivers/scsi/lpfc/lpfc_nvme.c 			phba->sli4_hba.num_present_cpu;
phba             2159 drivers/scsi/lpfc/lpfc_nvme.c 					 &vport->phba->pcidev->dev, &localport);
phba             2213 drivers/scsi/lpfc/lpfc_nvme.c 	struct lpfc_hba  *phba = vport->phba;
phba             2224 drivers/scsi/lpfc/lpfc_nvme.c 			for (i = 0; i < phba->cfg_hdw_queue; i++) {
phba             2225 drivers/scsi/lpfc/lpfc_nvme.c 				pring = phba->sli4_hba.hdwq[i].io_wq->pring;
phba             2383 drivers/scsi/lpfc/lpfc_nvme.c 	spin_lock_irq(&vport->phba->hbalock);
phba             2387 drivers/scsi/lpfc/lpfc_nvme.c 		spin_unlock_irq(&vport->phba->hbalock);
phba             2389 drivers/scsi/lpfc/lpfc_nvme.c 		spin_unlock_irq(&vport->phba->hbalock);
phba             2402 drivers/scsi/lpfc/lpfc_nvme.c 		spin_lock_irq(&vport->phba->hbalock);
phba             2404 drivers/scsi/lpfc/lpfc_nvme.c 		spin_unlock_irq(&vport->phba->hbalock);
phba             2444 drivers/scsi/lpfc/lpfc_nvme.c 			spin_lock_irq(&vport->phba->hbalock);
phba             2447 drivers/scsi/lpfc/lpfc_nvme.c 			spin_unlock_irq(&vport->phba->hbalock);
phba             2466 drivers/scsi/lpfc/lpfc_nvme.c 		spin_lock_irq(&vport->phba->hbalock);
phba             2468 drivers/scsi/lpfc/lpfc_nvme.c 		spin_unlock_irq(&vport->phba->hbalock);
phba             2507 drivers/scsi/lpfc/lpfc_nvme.c 	spin_lock_irq(&vport->phba->hbalock);
phba             2511 drivers/scsi/lpfc/lpfc_nvme.c 	spin_unlock_irq(&vport->phba->hbalock);
phba             2574 drivers/scsi/lpfc/lpfc_nvme.c 	spin_lock_irq(&vport->phba->hbalock);
phba             2578 drivers/scsi/lpfc/lpfc_nvme.c 	spin_unlock_irq(&vport->phba->hbalock);
phba             2636 drivers/scsi/lpfc/lpfc_nvme.c lpfc_sli4_nvme_xri_aborted(struct lpfc_hba *phba,
phba             2646 drivers/scsi/lpfc/lpfc_nvme.c 		lpfc_sli4_abts_err_handler(phba, ndlp, axri);
phba             2648 drivers/scsi/lpfc/lpfc_nvme.c 	lpfc_printf_log(phba, KERN_INFO, LOG_NVME_ABTS,
phba             2663 drivers/scsi/lpfc/lpfc_nvme.c 	lpfc_release_nvme_buf(phba, lpfc_ncmd);
phba             2677 drivers/scsi/lpfc/lpfc_nvme.c lpfc_nvme_wait_for_io_drain(struct lpfc_hba *phba)
phba             2682 drivers/scsi/lpfc/lpfc_nvme.c 	if (phba->sli_rev < LPFC_SLI_REV4 || !phba->sli4_hba.hdwq)
phba             2688 drivers/scsi/lpfc/lpfc_nvme.c 	for (i = 0; i < phba->cfg_hdw_queue; i++) {
phba             2689 drivers/scsi/lpfc/lpfc_nvme.c 		if (!phba->sli4_hba.hdwq[i].io_wq)
phba             2691 drivers/scsi/lpfc/lpfc_nvme.c 		pring = phba->sli4_hba.hdwq[i].io_wq->pring;
phba             2705 drivers/scsi/lpfc/lpfc_nvme.c 				lpfc_printf_log(phba, KERN_ERR, LOG_NVME_IOERR,
phba             2714 drivers/scsi/lpfc/lpfc_nvme.c lpfc_nvme_cancel_iocb(struct lpfc_hba *phba, struct lpfc_iocbq *pwqeIn)
phba             2722 drivers/scsi/lpfc/lpfc_nvme.c 		lpfc_sli_release_iocbq(phba, pwqeIn);
phba             2728 drivers/scsi/lpfc/lpfc_nvme.c 		lpfc_sli_release_iocbq(phba, pwqeIn);
phba             2736 drivers/scsi/lpfc/lpfc_nvme.c 		lpfc_release_nvme_buf(phba, lpfc_ncmd);
phba             2741 drivers/scsi/lpfc/lpfc_nvme.c 	lpfc_printf_log(phba, KERN_INFO, LOG_NVME_IOERR,
phba             2756 drivers/scsi/lpfc/lpfc_nvme.c 	lpfc_release_nvme_buf(phba, lpfc_ncmd);
phba              225 drivers/scsi/lpfc/lpfc_nvmet.c lpfc_nvmet_get_ctx_for_xri(struct lpfc_hba *phba, u16 xri)
phba              231 drivers/scsi/lpfc/lpfc_nvmet.c 	spin_lock_irqsave(&phba->sli4_hba.t_active_list_lock, iflag);
phba              232 drivers/scsi/lpfc/lpfc_nvmet.c 	list_for_each_entry(ctxp, &phba->sli4_hba.t_active_ctx_list, list) {
phba              239 drivers/scsi/lpfc/lpfc_nvmet.c 	spin_unlock_irqrestore(&phba->sli4_hba.t_active_list_lock, iflag);
phba              247 drivers/scsi/lpfc/lpfc_nvmet.c lpfc_nvmet_get_ctx_for_oxid(struct lpfc_hba *phba, u16 oxid, u32 sid)
phba              253 drivers/scsi/lpfc/lpfc_nvmet.c 	spin_lock_irqsave(&phba->sli4_hba.t_active_list_lock, iflag);
phba              254 drivers/scsi/lpfc/lpfc_nvmet.c 	list_for_each_entry(ctxp, &phba->sli4_hba.t_active_ctx_list, list) {
phba              261 drivers/scsi/lpfc/lpfc_nvmet.c 	spin_unlock_irqrestore(&phba->sli4_hba.t_active_list_lock, iflag);
phba              270 drivers/scsi/lpfc/lpfc_nvmet.c lpfc_nvmet_defer_release(struct lpfc_hba *phba, struct lpfc_nvmet_rcv_ctx *ctxp)
phba              274 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_printf_log(phba, KERN_INFO, LOG_NVME_ABTS,
phba              282 drivers/scsi/lpfc/lpfc_nvmet.c 	spin_lock(&phba->sli4_hba.t_active_list_lock);
phba              284 drivers/scsi/lpfc/lpfc_nvmet.c 	spin_unlock(&phba->sli4_hba.t_active_list_lock);
phba              285 drivers/scsi/lpfc/lpfc_nvmet.c 	spin_lock(&phba->sli4_hba.abts_nvmet_buf_list_lock);
phba              286 drivers/scsi/lpfc/lpfc_nvmet.c 	list_add_tail(&ctxp->list, &phba->sli4_hba.lpfc_abts_nvmet_ctx_list);
phba              287 drivers/scsi/lpfc/lpfc_nvmet.c 	spin_unlock(&phba->sli4_hba.abts_nvmet_buf_list_lock);
phba              301 drivers/scsi/lpfc/lpfc_nvmet.c lpfc_nvmet_xmt_ls_rsp_cmp(struct lpfc_hba *phba, struct lpfc_iocbq *cmdwqe,
phba              314 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_printf_log(phba, KERN_ERR, LOG_NVME_IOERR,
phba              320 drivers/scsi/lpfc/lpfc_nvmet.c 	if (!phba->targetport)
phba              323 drivers/scsi/lpfc/lpfc_nvmet.c 	tgtp = (struct lpfc_nvmet_tgtport *)phba->targetport->private;
phba              340 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_nvmeio_data(phba, "NVMET LS  CMPL: xri x%x stat x%x result x%x\n",
phba              343 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_printf_log(phba, KERN_INFO, LOG_NVME_DISC,
phba              350 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_sli_release_iocbq(phba, cmdwqe);
phba              369 drivers/scsi/lpfc/lpfc_nvmet.c lpfc_nvmet_ctxbuf_post(struct lpfc_hba *phba, struct lpfc_nvmet_ctxbuf *ctx_buf)
phba              382 drivers/scsi/lpfc/lpfc_nvmet.c 		dma_pool_free(phba->txrdy_payload_pool, ctxp->txrdy,
phba              389 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_printf_log(phba, KERN_ERR, LOG_NVME_IOERR,
phba              403 drivers/scsi/lpfc/lpfc_nvmet.c 				nvmebuf->hrq->rqbp->rqb_free_buffer(phba,
phba              408 drivers/scsi/lpfc/lpfc_nvmet.c 				lpfc_rq_buf_free(phba, &nvmebuf->hbuf);
phba              416 drivers/scsi/lpfc/lpfc_nvmet.c 	spin_lock_irqsave(&phba->sli4_hba.nvmet_io_wait_lock, iflag);
phba              417 drivers/scsi/lpfc/lpfc_nvmet.c 	if (phba->sli4_hba.nvmet_io_wait_cnt) {
phba              418 drivers/scsi/lpfc/lpfc_nvmet.c 		list_remove_head(&phba->sli4_hba.lpfc_nvmet_io_wait_list,
phba              421 drivers/scsi/lpfc/lpfc_nvmet.c 		phba->sli4_hba.nvmet_io_wait_cnt--;
phba              422 drivers/scsi/lpfc/lpfc_nvmet.c 		spin_unlock_irqrestore(&phba->sli4_hba.nvmet_io_wait_lock,
phba              427 drivers/scsi/lpfc/lpfc_nvmet.c 		tgtp = (struct lpfc_nvmet_tgtport *)phba->targetport->private;
phba              435 drivers/scsi/lpfc/lpfc_nvmet.c 		ctxp->phba = phba;
phba              467 drivers/scsi/lpfc/lpfc_nvmet.c 		if (!queue_work(phba->wq, &ctx_buf->defer_work)) {
phba              469 drivers/scsi/lpfc/lpfc_nvmet.c 			lpfc_printf_log(phba, KERN_ERR, LOG_NVME,
phba              479 drivers/scsi/lpfc/lpfc_nvmet.c 			lpfc_nvmet_defer_release(phba, ctxp);
phba              481 drivers/scsi/lpfc/lpfc_nvmet.c 			lpfc_nvmet_unsol_fcp_issue_abort(phba, ctxp, sid, oxid);
phba              485 drivers/scsi/lpfc/lpfc_nvmet.c 	spin_unlock_irqrestore(&phba->sli4_hba.nvmet_io_wait_lock, iflag);
phba              491 drivers/scsi/lpfc/lpfc_nvmet.c 	spin_lock_irqsave(&phba->sli4_hba.t_active_list_lock, iflag);
phba              493 drivers/scsi/lpfc/lpfc_nvmet.c 	spin_unlock_irqrestore(&phba->sli4_hba.t_active_list_lock, iflag);
phba              495 drivers/scsi/lpfc/lpfc_nvmet.c 	infop = lpfc_get_ctx_list(phba, cpu, ctxp->idx);
phba              505 drivers/scsi/lpfc/lpfc_nvmet.c lpfc_nvmet_ktime(struct lpfc_hba *phba,
phba              632 drivers/scsi/lpfc/lpfc_nvmet.c 	phba->ktime_seg1_total += seg1;
phba              633 drivers/scsi/lpfc/lpfc_nvmet.c 	if (seg1 < phba->ktime_seg1_min)
phba              634 drivers/scsi/lpfc/lpfc_nvmet.c 		phba->ktime_seg1_min = seg1;
phba              635 drivers/scsi/lpfc/lpfc_nvmet.c 	else if (seg1 > phba->ktime_seg1_max)
phba              636 drivers/scsi/lpfc/lpfc_nvmet.c 		phba->ktime_seg1_max = seg1;
phba              638 drivers/scsi/lpfc/lpfc_nvmet.c 	phba->ktime_seg2_total += seg2;
phba              639 drivers/scsi/lpfc/lpfc_nvmet.c 	if (seg2 < phba->ktime_seg2_min)
phba              640 drivers/scsi/lpfc/lpfc_nvmet.c 		phba->ktime_seg2_min = seg2;
phba              641 drivers/scsi/lpfc/lpfc_nvmet.c 	else if (seg2 > phba->ktime_seg2_max)
phba              642 drivers/scsi/lpfc/lpfc_nvmet.c 		phba->ktime_seg2_max = seg2;
phba              644 drivers/scsi/lpfc/lpfc_nvmet.c 	phba->ktime_seg3_total += seg3;
phba              645 drivers/scsi/lpfc/lpfc_nvmet.c 	if (seg3 < phba->ktime_seg3_min)
phba              646 drivers/scsi/lpfc/lpfc_nvmet.c 		phba->ktime_seg3_min = seg3;
phba              647 drivers/scsi/lpfc/lpfc_nvmet.c 	else if (seg3 > phba->ktime_seg3_max)
phba              648 drivers/scsi/lpfc/lpfc_nvmet.c 		phba->ktime_seg3_max = seg3;
phba              650 drivers/scsi/lpfc/lpfc_nvmet.c 	phba->ktime_seg4_total += seg4;
phba              651 drivers/scsi/lpfc/lpfc_nvmet.c 	if (seg4 < phba->ktime_seg4_min)
phba              652 drivers/scsi/lpfc/lpfc_nvmet.c 		phba->ktime_seg4_min = seg4;
phba              653 drivers/scsi/lpfc/lpfc_nvmet.c 	else if (seg4 > phba->ktime_seg4_max)
phba              654 drivers/scsi/lpfc/lpfc_nvmet.c 		phba->ktime_seg4_max = seg4;
phba              656 drivers/scsi/lpfc/lpfc_nvmet.c 	phba->ktime_seg5_total += seg5;
phba              657 drivers/scsi/lpfc/lpfc_nvmet.c 	if (seg5 < phba->ktime_seg5_min)
phba              658 drivers/scsi/lpfc/lpfc_nvmet.c 		phba->ktime_seg5_min = seg5;
phba              659 drivers/scsi/lpfc/lpfc_nvmet.c 	else if (seg5 > phba->ktime_seg5_max)
phba              660 drivers/scsi/lpfc/lpfc_nvmet.c 		phba->ktime_seg5_max = seg5;
phba              662 drivers/scsi/lpfc/lpfc_nvmet.c 	phba->ktime_data_samples++;
phba              666 drivers/scsi/lpfc/lpfc_nvmet.c 	phba->ktime_seg6_total += seg6;
phba              667 drivers/scsi/lpfc/lpfc_nvmet.c 	if (seg6 < phba->ktime_seg6_min)
phba              668 drivers/scsi/lpfc/lpfc_nvmet.c 		phba->ktime_seg6_min = seg6;
phba              669 drivers/scsi/lpfc/lpfc_nvmet.c 	else if (seg6 > phba->ktime_seg6_max)
phba              670 drivers/scsi/lpfc/lpfc_nvmet.c 		phba->ktime_seg6_max = seg6;
phba              672 drivers/scsi/lpfc/lpfc_nvmet.c 	phba->ktime_seg7_total += seg7;
phba              673 drivers/scsi/lpfc/lpfc_nvmet.c 	if (seg7 < phba->ktime_seg7_min)
phba              674 drivers/scsi/lpfc/lpfc_nvmet.c 		phba->ktime_seg7_min = seg7;
phba              675 drivers/scsi/lpfc/lpfc_nvmet.c 	else if (seg7 > phba->ktime_seg7_max)
phba              676 drivers/scsi/lpfc/lpfc_nvmet.c 		phba->ktime_seg7_max = seg7;
phba              678 drivers/scsi/lpfc/lpfc_nvmet.c 	phba->ktime_seg8_total += seg8;
phba              679 drivers/scsi/lpfc/lpfc_nvmet.c 	if (seg8 < phba->ktime_seg8_min)
phba              680 drivers/scsi/lpfc/lpfc_nvmet.c 		phba->ktime_seg8_min = seg8;
phba              681 drivers/scsi/lpfc/lpfc_nvmet.c 	else if (seg8 > phba->ktime_seg8_max)
phba              682 drivers/scsi/lpfc/lpfc_nvmet.c 		phba->ktime_seg8_max = seg8;
phba              684 drivers/scsi/lpfc/lpfc_nvmet.c 	phba->ktime_seg9_total += seg9;
phba              685 drivers/scsi/lpfc/lpfc_nvmet.c 	if (seg9 < phba->ktime_seg9_min)
phba              686 drivers/scsi/lpfc/lpfc_nvmet.c 		phba->ktime_seg9_min = seg9;
phba              687 drivers/scsi/lpfc/lpfc_nvmet.c 	else if (seg9 > phba->ktime_seg9_max)
phba              688 drivers/scsi/lpfc/lpfc_nvmet.c 		phba->ktime_seg9_max = seg9;
phba              690 drivers/scsi/lpfc/lpfc_nvmet.c 	phba->ktime_seg10_total += seg10;
phba              691 drivers/scsi/lpfc/lpfc_nvmet.c 	if (seg10 < phba->ktime_seg10_min)
phba              692 drivers/scsi/lpfc/lpfc_nvmet.c 		phba->ktime_seg10_min = seg10;
phba              693 drivers/scsi/lpfc/lpfc_nvmet.c 	else if (seg10 > phba->ktime_seg10_max)
phba              694 drivers/scsi/lpfc/lpfc_nvmet.c 		phba->ktime_seg10_max = seg10;
phba              695 drivers/scsi/lpfc/lpfc_nvmet.c 	phba->ktime_status_samples++;
phba              710 drivers/scsi/lpfc/lpfc_nvmet.c lpfc_nvmet_xmt_fcp_op_cmp(struct lpfc_hba *phba, struct lpfc_iocbq *cmdwqe,
phba              730 drivers/scsi/lpfc/lpfc_nvmet.c 	if (phba->targetport)
phba              731 drivers/scsi/lpfc/lpfc_nvmet.c 		tgtp = (struct lpfc_nvmet_tgtport *)phba->targetport->private;
phba              735 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_nvmeio_data(phba, "NVMET FCP CMPL: xri x%x op x%x status x%x\n",
phba              760 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_printf_log(phba, KERN_INFO, logerr,
phba              808 drivers/scsi/lpfc/lpfc_nvmet.c 			lpfc_nvmet_ktime(phba, ctxp);
phba              825 drivers/scsi/lpfc/lpfc_nvmet.c 	if (phba->cpucheck_on & LPFC_CHECK_NVMET_IO) {
phba              829 drivers/scsi/lpfc/lpfc_nvmet.c 				lpfc_printf_log(phba, KERN_INFO, LOG_NVME_IOERR,
phba              833 drivers/scsi/lpfc/lpfc_nvmet.c 			phba->sli4_hba.hdwq[rsp->hwqid].cpucheck_cmpl_io[id]++;
phba              845 drivers/scsi/lpfc/lpfc_nvmet.c 	struct lpfc_hba *phba = ctxp->phba;
phba              854 drivers/scsi/lpfc/lpfc_nvmet.c 	if (phba->pport->load_flag & FC_UNLOADING)
phba              857 drivers/scsi/lpfc/lpfc_nvmet.c 	if (phba->pport->load_flag & FC_UNLOADING)
phba              860 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_printf_log(phba, KERN_INFO, LOG_NVME_DISC,
phba              865 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_printf_log(phba, KERN_ERR, LOG_NVME_IOERR,
phba              873 drivers/scsi/lpfc/lpfc_nvmet.c 	nvmewqeq = lpfc_nvmet_prep_ls_wqe(phba, ctxp, rsp->rspdma,
phba              877 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_printf_log(phba, KERN_ERR, LOG_NVME_IOERR,
phba              880 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_in_buf_free(phba, &nvmebuf->dbuf);
phba              882 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_nvmet_unsol_ls_issue_abort(phba, ctxp,
phba              902 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_nvmeio_data(phba, "NVMET LS  RESP: xri x%x wqidx x%x len x%x\n",
phba              905 drivers/scsi/lpfc/lpfc_nvmet.c 	rc = lpfc_sli4_issue_wqe(phba, ctxp->hdwq, nvmewqeq);
phba              911 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_in_buf_free(phba, &nvmebuf->dbuf);
phba              917 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_printf_log(phba, KERN_ERR, LOG_NVME_IOERR,
phba              923 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_in_buf_free(phba, &nvmebuf->dbuf);
phba              925 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_nvmet_unsol_ls_issue_abort(phba, ctxp, ctxp->sid, ctxp->oxid);
phba              936 drivers/scsi/lpfc/lpfc_nvmet.c 	struct lpfc_hba *phba = ctxp->phba;
phba              943 drivers/scsi/lpfc/lpfc_nvmet.c 	if (phba->pport->load_flag & FC_UNLOADING) {
phba              948 drivers/scsi/lpfc/lpfc_nvmet.c 	if (phba->pport->load_flag & FC_UNLOADING) {
phba              963 drivers/scsi/lpfc/lpfc_nvmet.c 		ctxp->hdwq = &phba->sli4_hba.hdwq[rsp->hwqid];
phba              965 drivers/scsi/lpfc/lpfc_nvmet.c 	if (phba->cpucheck_on & LPFC_CHECK_NVMET_IO) {
phba              969 drivers/scsi/lpfc/lpfc_nvmet.c 				lpfc_printf_log(phba, KERN_INFO, LOG_NVME_IOERR,
phba              973 drivers/scsi/lpfc/lpfc_nvmet.c 			phba->sli4_hba.hdwq[rsp->hwqid].cpucheck_xmt_io[id]++;
phba              983 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_printf_log(phba, KERN_ERR, LOG_NVME_IOERR,
phba              990 drivers/scsi/lpfc/lpfc_nvmet.c 	nvmewqeq = lpfc_nvmet_prep_fcp_wqe(phba, ctxp);
phba              993 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_printf_log(phba, KERN_ERR, LOG_NVME_IOERR,
phba             1006 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_nvmeio_data(phba, "NVMET FCP CMND: xri x%x op x%x len x%x\n",
phba             1010 drivers/scsi/lpfc/lpfc_nvmet.c 	rc = lpfc_sli4_issue_wqe(phba, ctxp->hdwq, nvmewqeq);
phba             1041 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_printf_log(phba, KERN_ERR, LOG_NVME_IOERR,
phba             1059 drivers/scsi/lpfc/lpfc_nvmet.c 	if (tport->phba->targetport)
phba             1070 drivers/scsi/lpfc/lpfc_nvmet.c 	struct lpfc_hba *phba = ctxp->phba;
phba             1074 drivers/scsi/lpfc/lpfc_nvmet.c 	if (phba->pport->load_flag & FC_UNLOADING)
phba             1077 drivers/scsi/lpfc/lpfc_nvmet.c 	if (phba->pport->load_flag & FC_UNLOADING)
phba             1081 drivers/scsi/lpfc/lpfc_nvmet.c 		ctxp->hdwq = &phba->sli4_hba.hdwq[0];
phba             1083 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_printf_log(phba, KERN_INFO, LOG_NVME_ABTS,
phba             1087 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_nvmeio_data(phba, "NVMET FCP ABRT: xri x%x flg x%x ste x%x\n",
phba             1105 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_nvmet_unsol_fcp_issue_abort(phba, ctxp, ctxp->sid,
phba             1108 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_nvmet_wqfull_flush(phba, wq, ctxp);
phba             1118 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_nvmet_unsol_fcp_issue_abort(phba, ctxp, ctxp->sid,
phba             1121 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_nvmet_sol_fcp_issue_abort(phba, ctxp, ctxp->sid,
phba             1132 drivers/scsi/lpfc/lpfc_nvmet.c 	struct lpfc_hba *phba = ctxp->phba;
phba             1138 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_printf_log(phba, KERN_INFO, LOG_NVME_IOERR,
phba             1144 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_printf_log(phba, KERN_ERR, LOG_NVME_IOERR,
phba             1152 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_nvmet_defer_release(phba, ctxp);
phba             1156 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_nvmeio_data(phba, "NVMET FCP FREE: xri x%x ste %d abt %d\n", ctxp->oxid,
phba             1165 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_nvmet_ctxbuf_post(phba, ctxp->ctxbuf);
phba             1176 drivers/scsi/lpfc/lpfc_nvmet.c 	struct lpfc_hba *phba = ctxp->phba;
phba             1180 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_nvmeio_data(phba, "NVMET DEFERRCV: xri x%x sz %d CPU %02x\n",
phba             1184 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_printf_log(phba, KERN_INFO, LOG_NVME_IOERR,
phba             1191 drivers/scsi/lpfc/lpfc_nvmet.c 	tgtp = phba->targetport->private;
phba             1196 drivers/scsi/lpfc/lpfc_nvmet.c 	nvmebuf->hrq->rqbp->rqb_free_buffer(phba, nvmebuf);
phba             1206 drivers/scsi/lpfc/lpfc_nvmet.c 	struct lpfc_hba *phba;
phba             1210 drivers/scsi/lpfc/lpfc_nvmet.c 	phba = tgtp->phba;
phba             1212 drivers/scsi/lpfc/lpfc_nvmet.c 	rc = lpfc_issue_els_rscn(phba->pport, 0);
phba             1213 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_printf_log(phba, KERN_ERR, LOG_NVME,
phba             1239 drivers/scsi/lpfc/lpfc_nvmet.c __lpfc_nvmet_clean_io_for_cpu(struct lpfc_hba *phba,
phba             1248 drivers/scsi/lpfc/lpfc_nvmet.c 		spin_lock(&phba->sli4_hba.abts_nvmet_buf_list_lock);
phba             1250 drivers/scsi/lpfc/lpfc_nvmet.c 		spin_unlock(&phba->sli4_hba.abts_nvmet_buf_list_lock);
phba             1252 drivers/scsi/lpfc/lpfc_nvmet.c 		__lpfc_clear_active_sglq(phba, ctx_buf->sglq->sli4_lxritag);
phba             1256 drivers/scsi/lpfc/lpfc_nvmet.c 		spin_lock(&phba->sli4_hba.sgl_list_lock);
phba             1258 drivers/scsi/lpfc/lpfc_nvmet.c 				&phba->sli4_hba.lpfc_nvmet_sgl_list);
phba             1259 drivers/scsi/lpfc/lpfc_nvmet.c 		spin_unlock(&phba->sli4_hba.sgl_list_lock);
phba             1261 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_sli_release_iocbq(phba, ctx_buf->iocbq);
phba             1268 drivers/scsi/lpfc/lpfc_nvmet.c lpfc_nvmet_cleanup_io_context(struct lpfc_hba *phba)
phba             1274 drivers/scsi/lpfc/lpfc_nvmet.c 	infop = phba->sli4_hba.nvmet_ctx_info;
phba             1279 drivers/scsi/lpfc/lpfc_nvmet.c 	for (i = 0; i < phba->cfg_nvmet_mrq; i++) {
phba             1281 drivers/scsi/lpfc/lpfc_nvmet.c 			infop = lpfc_get_ctx_list(phba, j, i);
phba             1282 drivers/scsi/lpfc/lpfc_nvmet.c 			__lpfc_nvmet_clean_io_for_cpu(phba, infop);
phba             1285 drivers/scsi/lpfc/lpfc_nvmet.c 	kfree(phba->sli4_hba.nvmet_ctx_info);
phba             1286 drivers/scsi/lpfc/lpfc_nvmet.c 	phba->sli4_hba.nvmet_ctx_info = NULL;
phba             1290 drivers/scsi/lpfc/lpfc_nvmet.c lpfc_nvmet_setup_io_context(struct lpfc_hba *phba)
phba             1299 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_printf_log(phba, KERN_INFO, LOG_NVME,
phba             1301 drivers/scsi/lpfc/lpfc_nvmet.c 			phba->sli4_hba.nvmet_xri_cnt);
phba             1303 drivers/scsi/lpfc/lpfc_nvmet.c 	phba->sli4_hba.nvmet_ctx_info = kcalloc(
phba             1304 drivers/scsi/lpfc/lpfc_nvmet.c 		phba->sli4_hba.num_possible_cpu * phba->cfg_nvmet_mrq,
phba             1306 drivers/scsi/lpfc/lpfc_nvmet.c 	if (!phba->sli4_hba.nvmet_ctx_info) {
phba             1307 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             1333 drivers/scsi/lpfc/lpfc_nvmet.c 		for (j = 0; j < phba->cfg_nvmet_mrq; j++) {
phba             1334 drivers/scsi/lpfc/lpfc_nvmet.c 			infop = lpfc_get_ctx_list(phba, i, j);
phba             1346 drivers/scsi/lpfc/lpfc_nvmet.c 	for (j = 0; j < phba->cfg_nvmet_mrq; j++) {
phba             1347 drivers/scsi/lpfc/lpfc_nvmet.c 		last_infop = lpfc_get_ctx_list(phba,
phba             1350 drivers/scsi/lpfc/lpfc_nvmet.c 		for (i = phba->sli4_hba.num_possible_cpu - 1;  i >= 0; i--) {
phba             1351 drivers/scsi/lpfc/lpfc_nvmet.c 			infop = lpfc_get_ctx_list(phba, i, j);
phba             1362 drivers/scsi/lpfc/lpfc_nvmet.c 	for (i = 0; i < phba->sli4_hba.nvmet_xri_cnt; i++) {
phba             1365 drivers/scsi/lpfc/lpfc_nvmet.c 			lpfc_printf_log(phba, KERN_ERR, LOG_NVME,
phba             1374 drivers/scsi/lpfc/lpfc_nvmet.c 			lpfc_printf_log(phba, KERN_ERR, LOG_NVME,
phba             1382 drivers/scsi/lpfc/lpfc_nvmet.c 		ctx_buf->iocbq = lpfc_sli_get_iocbq(phba);
phba             1386 drivers/scsi/lpfc/lpfc_nvmet.c 			lpfc_printf_log(phba, KERN_ERR, LOG_NVME,
phba             1398 drivers/scsi/lpfc/lpfc_nvmet.c 		spin_lock(&phba->sli4_hba.sgl_list_lock);
phba             1399 drivers/scsi/lpfc/lpfc_nvmet.c 		ctx_buf->sglq = __lpfc_sli_get_nvmet_sglq(phba, ctx_buf->iocbq);
phba             1400 drivers/scsi/lpfc/lpfc_nvmet.c 		spin_unlock(&phba->sli4_hba.sgl_list_lock);
phba             1402 drivers/scsi/lpfc/lpfc_nvmet.c 			lpfc_sli_release_iocbq(phba, ctx_buf->iocbq);
phba             1405 drivers/scsi/lpfc/lpfc_nvmet.c 			lpfc_printf_log(phba, KERN_ERR, LOG_NVME,
phba             1416 drivers/scsi/lpfc/lpfc_nvmet.c 		infop = lpfc_get_ctx_list(phba, cpu, idx);
phba             1424 drivers/scsi/lpfc/lpfc_nvmet.c 		if (idx >= phba->cfg_nvmet_mrq) {
phba             1436 drivers/scsi/lpfc/lpfc_nvmet.c 		for (j = 0; j < phba->cfg_nvmet_mrq; j++) {
phba             1437 drivers/scsi/lpfc/lpfc_nvmet.c 			infop = lpfc_get_ctx_list(phba, i, j);
phba             1438 drivers/scsi/lpfc/lpfc_nvmet.c 			lpfc_printf_log(phba, KERN_INFO, LOG_NVME | LOG_INIT,
phba             1449 drivers/scsi/lpfc/lpfc_nvmet.c lpfc_nvmet_create_targetport(struct lpfc_hba *phba)
phba             1451 drivers/scsi/lpfc/lpfc_nvmet.c 	struct lpfc_vport  *vport = phba->pport;
phba             1456 drivers/scsi/lpfc/lpfc_nvmet.c 	if (phba->targetport)
phba             1459 drivers/scsi/lpfc/lpfc_nvmet.c 	error = lpfc_nvmet_setup_io_context(phba);
phba             1472 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_tgttemplate.max_sgl_segments = phba->cfg_nvme_seg_cnt + 1;
phba             1473 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_tgttemplate.max_hw_queues = phba->cfg_hdw_queue;
phba             1478 drivers/scsi/lpfc/lpfc_nvmet.c 					     &phba->pcidev->dev,
phba             1479 drivers/scsi/lpfc/lpfc_nvmet.c 					     &phba->targetport);
phba             1484 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_printf_log(phba, KERN_ERR, LOG_NVME_DISC,
phba             1491 drivers/scsi/lpfc/lpfc_nvmet.c 		phba->targetport = NULL;
phba             1492 drivers/scsi/lpfc/lpfc_nvmet.c 		phba->nvmet_support = 0;
phba             1494 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_nvmet_cleanup_io_context(phba);
phba             1498 drivers/scsi/lpfc/lpfc_nvmet.c 			phba->targetport->private;
phba             1499 drivers/scsi/lpfc/lpfc_nvmet.c 		tgtp->phba = phba;
phba             1501 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_printf_log(phba, KERN_INFO, LOG_NVME_DISC,
phba             1505 drivers/scsi/lpfc/lpfc_nvmet.c 				phba->targetport, tgtp,
phba             1550 drivers/scsi/lpfc/lpfc_nvmet.c lpfc_nvmet_update_targetport(struct lpfc_hba *phba)
phba             1552 drivers/scsi/lpfc/lpfc_nvmet.c 	struct lpfc_vport  *vport = phba->pport;
phba             1554 drivers/scsi/lpfc/lpfc_nvmet.c 	if (!phba->targetport)
phba             1559 drivers/scsi/lpfc/lpfc_nvmet.c 			 phba->targetport, vport->fc_myDID);
phba             1561 drivers/scsi/lpfc/lpfc_nvmet.c 	phba->targetport->port_id = vport->fc_myDID;
phba             1574 drivers/scsi/lpfc/lpfc_nvmet.c lpfc_sli4_nvmet_xri_aborted(struct lpfc_hba *phba,
phba             1588 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_printf_log(phba, KERN_INFO, LOG_NVME_ABTS,
phba             1591 drivers/scsi/lpfc/lpfc_nvmet.c 	if (!(phba->cfg_enable_fc4_type & LPFC_ENABLE_NVME))
phba             1594 drivers/scsi/lpfc/lpfc_nvmet.c 	if (phba->targetport) {
phba             1595 drivers/scsi/lpfc/lpfc_nvmet.c 		tgtp = (struct lpfc_nvmet_tgtport *)phba->targetport->private;
phba             1599 drivers/scsi/lpfc/lpfc_nvmet.c 	spin_lock_irqsave(&phba->hbalock, iflag);
phba             1600 drivers/scsi/lpfc/lpfc_nvmet.c 	spin_lock(&phba->sli4_hba.abts_nvmet_buf_list_lock);
phba             1602 drivers/scsi/lpfc/lpfc_nvmet.c 				 &phba->sli4_hba.lpfc_abts_nvmet_ctx_list,
phba             1618 drivers/scsi/lpfc/lpfc_nvmet.c 		spin_unlock(&phba->sli4_hba.abts_nvmet_buf_list_lock);
phba             1620 drivers/scsi/lpfc/lpfc_nvmet.c 		rrq_empty = list_empty(&phba->active_rrq_list);
phba             1621 drivers/scsi/lpfc/lpfc_nvmet.c 		spin_unlock_irqrestore(&phba->hbalock, iflag);
phba             1622 drivers/scsi/lpfc/lpfc_nvmet.c 		ndlp = lpfc_findnode_did(phba->pport, ctxp->sid);
phba             1626 drivers/scsi/lpfc/lpfc_nvmet.c 			lpfc_set_rrq_active(phba, ndlp,
phba             1629 drivers/scsi/lpfc/lpfc_nvmet.c 			lpfc_sli4_abts_err_handler(phba, ndlp, axri);
phba             1632 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_printf_log(phba, KERN_INFO, LOG_NVME_ABTS,
phba             1636 drivers/scsi/lpfc/lpfc_nvmet.c 			lpfc_nvmet_ctxbuf_post(phba, ctxp->ctxbuf);
phba             1639 drivers/scsi/lpfc/lpfc_nvmet.c 			lpfc_worker_wake_up(phba);
phba             1642 drivers/scsi/lpfc/lpfc_nvmet.c 	spin_unlock(&phba->sli4_hba.abts_nvmet_buf_list_lock);
phba             1643 drivers/scsi/lpfc/lpfc_nvmet.c 	spin_unlock_irqrestore(&phba->hbalock, iflag);
phba             1645 drivers/scsi/lpfc/lpfc_nvmet.c 	ctxp = lpfc_nvmet_get_ctx_for_xri(phba, xri);
phba             1651 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_printf_log(phba, KERN_INFO, LOG_NVME_ABTS,
phba             1662 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_nvmeio_data(phba,
phba             1668 drivers/scsi/lpfc/lpfc_nvmet.c 			nvmet_fc_rcv_fcp_abort(phba->targetport, req);
phba             1678 drivers/scsi/lpfc/lpfc_nvmet.c 	struct lpfc_hba *phba = vport->phba;
phba             1688 drivers/scsi/lpfc/lpfc_nvmet.c 	spin_lock_irqsave(&phba->hbalock, iflag);
phba             1689 drivers/scsi/lpfc/lpfc_nvmet.c 	spin_lock(&phba->sli4_hba.abts_nvmet_buf_list_lock);
phba             1691 drivers/scsi/lpfc/lpfc_nvmet.c 				 &phba->sli4_hba.lpfc_abts_nvmet_ctx_list,
phba             1698 drivers/scsi/lpfc/lpfc_nvmet.c 		spin_unlock(&phba->sli4_hba.abts_nvmet_buf_list_lock);
phba             1699 drivers/scsi/lpfc/lpfc_nvmet.c 		spin_unlock_irqrestore(&phba->hbalock, iflag);
phba             1705 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_nvmeio_data(phba,
phba             1709 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_printf_log(phba, KERN_INFO, LOG_NVME_ABTS,
phba             1713 drivers/scsi/lpfc/lpfc_nvmet.c 		nvmet_fc_rcv_fcp_abort(phba->targetport, rsp);
phba             1719 drivers/scsi/lpfc/lpfc_nvmet.c 	spin_unlock(&phba->sli4_hba.abts_nvmet_buf_list_lock);
phba             1720 drivers/scsi/lpfc/lpfc_nvmet.c 	spin_unlock_irqrestore(&phba->hbalock, iflag);
phba             1723 drivers/scsi/lpfc/lpfc_nvmet.c 	if (phba->sli4_hba.nvmet_io_wait_cnt) {
phba             1730 drivers/scsi/lpfc/lpfc_nvmet.c 		spin_lock_irqsave(&phba->sli4_hba.nvmet_io_wait_lock, iflag);
phba             1734 drivers/scsi/lpfc/lpfc_nvmet.c 				    &phba->sli4_hba.lpfc_nvmet_io_wait_list,
phba             1743 drivers/scsi/lpfc/lpfc_nvmet.c 			lpfc_printf_log(phba, KERN_INFO, LOG_NVME_ABTS,
phba             1749 drivers/scsi/lpfc/lpfc_nvmet.c 			phba->sli4_hba.nvmet_io_wait_cnt--;
phba             1753 drivers/scsi/lpfc/lpfc_nvmet.c 		spin_unlock_irqrestore(&phba->sli4_hba.nvmet_io_wait_lock,
phba             1758 drivers/scsi/lpfc/lpfc_nvmet.c 			nvmebuf->hrq->rqbp->rqb_free_buffer(phba, nvmebuf);
phba             1766 drivers/scsi/lpfc/lpfc_nvmet.c 	ctxp = lpfc_nvmet_get_ctx_for_oxid(phba, oxid, sid);
phba             1774 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_nvmeio_data(phba,
phba             1778 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_printf_log(phba, KERN_INFO, LOG_NVME_ABTS,
phba             1785 drivers/scsi/lpfc/lpfc_nvmet.c 			nvmet_fc_rcv_fcp_abort(phba->targetport,
phba             1790 drivers/scsi/lpfc/lpfc_nvmet.c 			lpfc_nvmet_defer_release(phba, ctxp);
phba             1793 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_nvmet_sol_fcp_issue_abort(phba, ctxp, ctxp->sid,
phba             1800 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_nvmeio_data(phba, "NVMET ABTS RCV: oxid x%x CPU %02x rjt %d\n",
phba             1803 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_printf_log(phba, KERN_INFO, LOG_NVME_ABTS,
phba             1813 drivers/scsi/lpfc/lpfc_nvmet.c lpfc_nvmet_wqfull_flush(struct lpfc_hba *phba, struct lpfc_queue *wq,
phba             1840 drivers/scsi/lpfc/lpfc_nvmet.c 				lpfc_nvmet_xmt_fcp_op_cmp(phba, nvmewqeq,
phba             1849 drivers/scsi/lpfc/lpfc_nvmet.c 			lpfc_nvmet_xmt_fcp_op_cmp(phba, nvmewqeq, wcqep);
phba             1859 drivers/scsi/lpfc/lpfc_nvmet.c lpfc_nvmet_wqfull_process(struct lpfc_hba *phba,
phba             1880 drivers/scsi/lpfc/lpfc_nvmet.c 		rc = lpfc_sli4_issue_wqe(phba, ctxp->hdwq, nvmewqeq);
phba             1908 drivers/scsi/lpfc/lpfc_nvmet.c lpfc_nvmet_destroy_targetport(struct lpfc_hba *phba)
phba             1916 drivers/scsi/lpfc/lpfc_nvmet.c 	if (phba->nvmet_support == 0)
phba             1918 drivers/scsi/lpfc/lpfc_nvmet.c 	if (phba->targetport) {
phba             1919 drivers/scsi/lpfc/lpfc_nvmet.c 		tgtp = (struct lpfc_nvmet_tgtport *)phba->targetport->private;
phba             1920 drivers/scsi/lpfc/lpfc_nvmet.c 		for (qidx = 0; qidx < phba->cfg_hdw_queue; qidx++) {
phba             1921 drivers/scsi/lpfc/lpfc_nvmet.c 			wq = phba->sli4_hba.hdwq[qidx].io_wq;
phba             1922 drivers/scsi/lpfc/lpfc_nvmet.c 			lpfc_nvmet_wqfull_flush(phba, wq, NULL);
phba             1925 drivers/scsi/lpfc/lpfc_nvmet.c 		nvmet_fc_unregister_targetport(phba->targetport);
phba             1928 drivers/scsi/lpfc/lpfc_nvmet.c 			lpfc_printf_log(phba, KERN_ERR, LOG_NVME,
phba             1930 drivers/scsi/lpfc/lpfc_nvmet.c 					"reached.\n", phba->targetport);
phba             1931 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_nvmet_cleanup_io_context(phba);
phba             1933 drivers/scsi/lpfc/lpfc_nvmet.c 	phba->targetport = NULL;
phba             1951 drivers/scsi/lpfc/lpfc_nvmet.c lpfc_nvmet_unsol_ls_buffer(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
phba             1964 drivers/scsi/lpfc/lpfc_nvmet.c 	if (!phba->targetport) {
phba             1965 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_printf_log(phba, KERN_ERR, LOG_NVME_IOERR,
phba             1974 drivers/scsi/lpfc/lpfc_nvmet.c 	tgtp = (struct lpfc_nvmet_tgtport *)phba->targetport->private;
phba             1982 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_printf_log(phba, KERN_ERR, LOG_NVME_IOERR,
phba             1986 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_nvmeio_data(phba, "NVMET LS  DROP: "
phba             1989 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_in_buf_free(phba, &nvmebuf->dbuf);
phba             1992 drivers/scsi/lpfc/lpfc_nvmet.c 	ctxp->phba = phba;
phba             2000 drivers/scsi/lpfc/lpfc_nvmet.c 	ctxp->hdwq = &phba->sli4_hba.hdwq[0];
phba             2002 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_nvmeio_data(phba, "NVMET LS   RCV: xri x%x sz %d from %06x\n",
phba             2010 drivers/scsi/lpfc/lpfc_nvmet.c 	rc = nvmet_fc_rcv_ls_req(phba->targetport, &ctxp->ctx.ls_req,
phba             2013 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_printf_log(phba, KERN_INFO, LOG_NVME_DISC,
phba             2024 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_nvmeio_data(phba, "NVMET LS  DROP: xri x%x sz %d from %06x\n",
phba             2028 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_printf_log(phba, KERN_ERR, LOG_NVME_IOERR,
phba             2033 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_in_buf_free(phba, &nvmebuf->dbuf);
phba             2036 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_nvmet_unsol_ls_issue_abort(phba, ctxp, sid, oxid);
phba             2045 drivers/scsi/lpfc/lpfc_nvmet.c 	struct lpfc_hba *phba = ctxp->phba;
phba             2053 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_printf_log(phba, KERN_ERR, LOG_NVME_IOERR,
phba             2058 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_nvmet_defer_release(phba, ctxp);
phba             2060 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_nvmet_unsol_fcp_issue_abort(phba, ctxp, ctxp->sid,
phba             2066 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_printf_log(phba, KERN_ERR, LOG_NVME_IOERR,
phba             2073 drivers/scsi/lpfc/lpfc_nvmet.c 	tgtp = (struct lpfc_nvmet_tgtport *)phba->targetport->private;
phba             2088 drivers/scsi/lpfc/lpfc_nvmet.c 	rc = nvmet_fc_rcv_fcp_req(phba->targetport, &ctxp->ctx.fcp_req,
phba             2101 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_rq_buf_free(phba, &nvmebuf->hbuf); /* repost */
phba             2107 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_nvmeio_data(phba, "NVMET RCV BUSY: xri x%x sz %d "
phba             2124 drivers/scsi/lpfc/lpfc_nvmet.c 			phba, phba->sli4_hba.nvmet_mrq_hdr[qno],
phba             2125 drivers/scsi/lpfc/lpfc_nvmet.c 			phba->sli4_hba.nvmet_mrq_data[qno], 1, qno);
phba             2130 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_printf_log(phba, KERN_ERR, LOG_NVME_IOERR,
phba             2136 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_nvmeio_data(phba, "NVMET FCP DROP: xri x%x sz %d from %06x\n",
phba             2139 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_nvmet_defer_release(phba, ctxp);
phba             2141 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_nvmet_unsol_fcp_issue_abort(phba, ctxp, ctxp->sid, ctxp->oxid);
phba             2157 drivers/scsi/lpfc/lpfc_nvmet.c lpfc_nvmet_replenish_context(struct lpfc_hba *phba,
phba             2180 drivers/scsi/lpfc/lpfc_nvmet.c 	for (i = 0; i < phba->sli4_hba.num_possible_cpu; i++) {
phba             2229 drivers/scsi/lpfc/lpfc_nvmet.c lpfc_nvmet_unsol_fcp_buffer(struct lpfc_hba *phba,
phba             2248 drivers/scsi/lpfc/lpfc_nvmet.c 	if (!nvmebuf || !phba->targetport) {
phba             2249 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_printf_log(phba, KERN_ERR, LOG_NVME_IOERR,
phba             2252 drivers/scsi/lpfc/lpfc_nvmet.c 			lpfc_rq_buf_free(phba, &nvmebuf->hbuf);
phba             2264 drivers/scsi/lpfc/lpfc_nvmet.c 	current_infop = lpfc_get_ctx_list(phba, current_cpu, idx);
phba             2271 drivers/scsi/lpfc/lpfc_nvmet.c 		ctx_buf = lpfc_nvmet_replenish_context(phba, current_infop);
phba             2280 drivers/scsi/lpfc/lpfc_nvmet.c 	if (phba->cpucheck_on & LPFC_CHECK_NVMET_RCV) {
phba             2283 drivers/scsi/lpfc/lpfc_nvmet.c 				lpfc_printf_log(phba, KERN_INFO, LOG_NVME_IOERR,
phba             2287 drivers/scsi/lpfc/lpfc_nvmet.c 			phba->sli4_hba.hdwq[idx].cpucheck_rcv_io[current_cpu]++;
phba             2292 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_nvmeio_data(phba, "NVMET FCP  RCV: xri x%x sz %d CPU %02x\n",
phba             2295 drivers/scsi/lpfc/lpfc_nvmet.c 	tgtp = (struct lpfc_nvmet_tgtport *)phba->targetport->private;
phba             2299 drivers/scsi/lpfc/lpfc_nvmet.c 		spin_lock_irqsave(&phba->sli4_hba.nvmet_io_wait_lock, iflag);
phba             2301 drivers/scsi/lpfc/lpfc_nvmet.c 			      &phba->sli4_hba.lpfc_nvmet_io_wait_list);
phba             2302 drivers/scsi/lpfc/lpfc_nvmet.c 		phba->sli4_hba.nvmet_io_wait_cnt++;
phba             2303 drivers/scsi/lpfc/lpfc_nvmet.c 		phba->sli4_hba.nvmet_io_wait_total++;
phba             2304 drivers/scsi/lpfc/lpfc_nvmet.c 		spin_unlock_irqrestore(&phba->sli4_hba.nvmet_io_wait_lock,
phba             2310 drivers/scsi/lpfc/lpfc_nvmet.c 			phba, phba->sli4_hba.nvmet_mrq_hdr[qno],
phba             2311 drivers/scsi/lpfc/lpfc_nvmet.c 			phba->sli4_hba.nvmet_mrq_data[qno], 1, qno);
phba             2320 drivers/scsi/lpfc/lpfc_nvmet.c 	spin_lock_irqsave(&phba->sli4_hba.t_active_list_lock, iflag);
phba             2321 drivers/scsi/lpfc/lpfc_nvmet.c 	list_add_tail(&ctxp->list, &phba->sli4_hba.t_active_ctx_list);
phba             2322 drivers/scsi/lpfc/lpfc_nvmet.c 	spin_unlock_irqrestore(&phba->sli4_hba.t_active_list_lock, iflag);
phba             2324 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_printf_log(phba, KERN_ERR, LOG_NVME_IOERR,
phba             2331 drivers/scsi/lpfc/lpfc_nvmet.c 	ctxp->phba = phba;
phba             2365 drivers/scsi/lpfc/lpfc_nvmet.c 	if (!queue_work(phba->wq, &ctx_buf->defer_work)) {
phba             2367 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_printf_log(phba, KERN_ERR, LOG_NVME,
phba             2376 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_nvmet_defer_release(phba, ctxp);
phba             2378 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_nvmet_unsol_fcp_issue_abort(phba, ctxp, sid, oxid);
phba             2395 drivers/scsi/lpfc/lpfc_nvmet.c lpfc_nvmet_unsol_ls_event(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
phba             2404 drivers/scsi/lpfc/lpfc_nvmet.c 	if (phba->nvmet_support == 0) {
phba             2405 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_in_buf_free(phba, &nvmebuf->dbuf);
phba             2408 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_nvmet_unsol_ls_buffer(phba, pring, nvmebuf);
phba             2426 drivers/scsi/lpfc/lpfc_nvmet.c lpfc_nvmet_unsol_fcp_event(struct lpfc_hba *phba,
phba             2432 drivers/scsi/lpfc/lpfc_nvmet.c 	if (phba->nvmet_support == 0) {
phba             2433 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_rq_buf_free(phba, &nvmebuf->hbuf);
phba             2436 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_nvmet_unsol_fcp_buffer(phba, idx, nvmebuf, isr_timestamp, cqflag);
phba             2465 drivers/scsi/lpfc/lpfc_nvmet.c lpfc_nvmet_prep_ls_wqe(struct lpfc_hba *phba,
phba             2473 drivers/scsi/lpfc/lpfc_nvmet.c 	if (!lpfc_is_link_up(phba)) {
phba             2474 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_printf_log(phba, KERN_ERR, LOG_NVME_DISC,
phba             2482 drivers/scsi/lpfc/lpfc_nvmet.c 	nvmewqe = lpfc_sli_get_iocbq(phba);
phba             2484 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_printf_log(phba, KERN_ERR, LOG_NVME_DISC,
phba             2491 drivers/scsi/lpfc/lpfc_nvmet.c 	ndlp = lpfc_findnode_did(phba->pport, ctxp->sid);
phba             2495 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_printf_log(phba, KERN_ERR, LOG_NVME_DISC,
phba             2531 drivers/scsi/lpfc/lpfc_nvmet.c 	       phba->sli4_hba.rpi_ids[ndlp->nlp_rpi]);
phba             2566 drivers/scsi/lpfc/lpfc_nvmet.c 	nvmewqe->vport = phba->pport;
phba             2567 drivers/scsi/lpfc/lpfc_nvmet.c 	nvmewqe->drvrTimeout = (phba->fc_ratov * 3) + LPFC_DRVR_TIMEOUT;
phba             2571 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_printf_log(phba, KERN_INFO, LOG_NVME_DISC,
phba             2581 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_sli_release_iocbq(phba, nvmewqe);
phba             2587 drivers/scsi/lpfc/lpfc_nvmet.c lpfc_nvmet_prep_fcp_wqe(struct lpfc_hba *phba,
phba             2604 drivers/scsi/lpfc/lpfc_nvmet.c 	if (!lpfc_is_link_up(phba)) {
phba             2605 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_printf_log(phba, KERN_ERR, LOG_NVME_IOERR,
phba             2612 drivers/scsi/lpfc/lpfc_nvmet.c 	ndlp = lpfc_findnode_did(phba->pport, ctxp->sid);
phba             2616 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_printf_log(phba, KERN_ERR, LOG_NVME_IOERR,
phba             2624 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_printf_log(phba, KERN_ERR, LOG_NVME_IOERR,
phba             2628 drivers/scsi/lpfc/lpfc_nvmet.c 				phba->cfg_nvme_seg_cnt);
phba             2632 drivers/scsi/lpfc/lpfc_nvmet.c 	tgtp = (struct lpfc_nvmet_tgtport *)phba->targetport->private;
phba             2638 drivers/scsi/lpfc/lpfc_nvmet.c 			lpfc_printf_log(phba, KERN_ERR, LOG_NVME_IOERR,
phba             2656 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_printf_log(phba, KERN_ERR, LOG_NVME_IOERR,
phba             2691 drivers/scsi/lpfc/lpfc_nvmet.c 		       phba->sli4_hba.rpi_ids[ndlp->nlp_rpi]);
phba             2761 drivers/scsi/lpfc/lpfc_nvmet.c 		txrdy = dma_pool_alloc(phba->txrdy_payload_pool,
phba             2764 drivers/scsi/lpfc/lpfc_nvmet.c 			lpfc_printf_log(phba, KERN_ERR, LOG_NVME_IOERR,
phba             2783 drivers/scsi/lpfc/lpfc_nvmet.c 		       phba->sli4_hba.rpi_ids[ndlp->nlp_rpi]);
phba             2801 drivers/scsi/lpfc/lpfc_nvmet.c 		if (phba->cfg_enable_pbde) {
phba             2853 drivers/scsi/lpfc/lpfc_nvmet.c 		       phba->sli4_hba.rpi_ids[ndlp->nlp_rpi]);
phba             2892 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_printf_log(phba, KERN_INFO, LOG_NVME_IOERR,
phba             2899 drivers/scsi/lpfc/lpfc_nvmet.c 	nvmewqe->vport = phba->pport;
phba             2900 drivers/scsi/lpfc/lpfc_nvmet.c 	nvmewqe->drvrTimeout = (phba->fc_ratov * 3) + LPFC_DRVR_TIMEOUT;
phba             2948 drivers/scsi/lpfc/lpfc_nvmet.c lpfc_nvmet_sol_fcp_abort_cmp(struct lpfc_hba *phba, struct lpfc_iocbq *cmdwqe,
phba             2960 drivers/scsi/lpfc/lpfc_nvmet.c 	tgtp = (struct lpfc_nvmet_tgtport *)phba->targetport->private;
phba             2972 drivers/scsi/lpfc/lpfc_nvmet.c 		spin_lock(&phba->sli4_hba.abts_nvmet_buf_list_lock);
phba             2974 drivers/scsi/lpfc/lpfc_nvmet.c 		spin_unlock(&phba->sli4_hba.abts_nvmet_buf_list_lock);
phba             2981 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_printf_log(phba, KERN_INFO, LOG_NVME_ABTS,
phba             2995 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_nvmet_ctxbuf_post(phba, ctxp->ctxbuf);
phba             2998 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_sli_release_iocbq(phba, cmdwqe);
phba             3017 drivers/scsi/lpfc/lpfc_nvmet.c lpfc_nvmet_unsol_fcp_abort_cmp(struct lpfc_hba *phba, struct lpfc_iocbq *cmdwqe,
phba             3031 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_printf_log(phba, KERN_INFO, LOG_NVME_ABTS,
phba             3038 drivers/scsi/lpfc/lpfc_nvmet.c 	tgtp = (struct lpfc_nvmet_tgtport *)phba->targetport->private;
phba             3045 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_printf_log(phba, KERN_ERR, LOG_NVME_ABTS,
phba             3056 drivers/scsi/lpfc/lpfc_nvmet.c 		spin_lock(&phba->sli4_hba.abts_nvmet_buf_list_lock);
phba             3058 drivers/scsi/lpfc/lpfc_nvmet.c 		spin_unlock(&phba->sli4_hba.abts_nvmet_buf_list_lock);
phba             3065 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_printf_log(phba, KERN_INFO, LOG_NVME_ABTS,
phba             3079 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_nvmet_ctxbuf_post(phba, ctxp->ctxbuf);
phba             3098 drivers/scsi/lpfc/lpfc_nvmet.c lpfc_nvmet_xmt_ls_abort_cmp(struct lpfc_hba *phba, struct lpfc_iocbq *cmdwqe,
phba             3108 drivers/scsi/lpfc/lpfc_nvmet.c 	tgtp = (struct lpfc_nvmet_tgtport *)phba->targetport->private;
phba             3111 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_printf_log(phba, KERN_INFO, LOG_NVME_ABTS,
phba             3117 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_printf_log(phba, KERN_ERR, LOG_NVME_ABTS,
phba             3123 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_sli_release_iocbq(phba, cmdwqe);
phba             3128 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_printf_log(phba, KERN_ERR, LOG_NVME_IOERR,
phba             3136 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_sli_release_iocbq(phba, cmdwqe);
phba             3141 drivers/scsi/lpfc/lpfc_nvmet.c lpfc_nvmet_unsol_issue_abort(struct lpfc_hba *phba,
phba             3150 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_printf_log(phba, KERN_INFO, LOG_NVME_ABTS,
phba             3154 drivers/scsi/lpfc/lpfc_nvmet.c 	tgtp = (struct lpfc_nvmet_tgtport *)phba->targetport->private;
phba             3156 drivers/scsi/lpfc/lpfc_nvmet.c 	ndlp = lpfc_findnode_did(phba->pport, sid);
phba             3161 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_printf_log(phba, KERN_ERR, LOG_NVME_ABTS,
phba             3187 drivers/scsi/lpfc/lpfc_nvmet.c 	       phba->sli4_hba.rpi_ids[ndlp->nlp_rpi]);
phba             3220 drivers/scsi/lpfc/lpfc_nvmet.c 	abts_wqeq->vport = phba->pport;
phba             3229 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_printf_log(phba, KERN_INFO, LOG_NVME_ABTS,
phba             3236 drivers/scsi/lpfc/lpfc_nvmet.c lpfc_nvmet_sol_fcp_issue_abort(struct lpfc_hba *phba,
phba             3247 drivers/scsi/lpfc/lpfc_nvmet.c 	tgtp = (struct lpfc_nvmet_tgtport *)phba->targetport->private;
phba             3253 drivers/scsi/lpfc/lpfc_nvmet.c 	ndlp = lpfc_findnode_did(phba->pport, sid);
phba             3258 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_printf_log(phba, KERN_ERR, LOG_NVME_ABTS,
phba             3270 drivers/scsi/lpfc/lpfc_nvmet.c 	ctxp->abort_wqeq = lpfc_sli_get_iocbq(phba);
phba             3274 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_printf_log(phba, KERN_ERR, LOG_NVME_ABTS,
phba             3288 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_printf_log(phba, KERN_INFO, LOG_NVME_ABTS,
phba             3296 drivers/scsi/lpfc/lpfc_nvmet.c 	spin_lock_irqsave(&phba->hbalock, flags);
phba             3298 drivers/scsi/lpfc/lpfc_nvmet.c 	if (phba->hba_flag & HBA_IOQ_FLUSH) {
phba             3299 drivers/scsi/lpfc/lpfc_nvmet.c 		spin_unlock_irqrestore(&phba->hbalock, flags);
phba             3301 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_printf_log(phba, KERN_ERR, LOG_NVME,
phba             3304 drivers/scsi/lpfc/lpfc_nvmet.c 				phba->hba_flag, ctxp->oxid);
phba             3305 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_sli_release_iocbq(phba, abts_wqeq);
phba             3314 drivers/scsi/lpfc/lpfc_nvmet.c 		spin_unlock_irqrestore(&phba->hbalock, flags);
phba             3316 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_printf_log(phba, KERN_ERR, LOG_NVME,
phba             3320 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_sli_release_iocbq(phba, abts_wqeq);
phba             3366 drivers/scsi/lpfc/lpfc_nvmet.c 	abts_wqeq->vport = phba->pport;
phba             3368 drivers/scsi/lpfc/lpfc_nvmet.c 		ctxp->hdwq = &phba->sli4_hba.hdwq[abts_wqeq->hba_wqidx];
phba             3370 drivers/scsi/lpfc/lpfc_nvmet.c 	rc = lpfc_sli4_issue_wqe(phba, ctxp->hdwq, abts_wqeq);
phba             3371 drivers/scsi/lpfc/lpfc_nvmet.c 	spin_unlock_irqrestore(&phba->hbalock, flags);
phba             3381 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_sli_release_iocbq(phba, abts_wqeq);
phba             3382 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_printf_log(phba, KERN_ERR, LOG_NVME_ABTS,
phba             3390 drivers/scsi/lpfc/lpfc_nvmet.c lpfc_nvmet_unsol_fcp_issue_abort(struct lpfc_hba *phba,
phba             3400 drivers/scsi/lpfc/lpfc_nvmet.c 	tgtp = (struct lpfc_nvmet_tgtport *)phba->targetport->private;
phba             3407 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_printf_log(phba, KERN_ERR, LOG_NVME_IOERR,
phba             3415 drivers/scsi/lpfc/lpfc_nvmet.c 	rc = lpfc_nvmet_unsol_issue_abort(phba, ctxp, sid, xri);
phba             3419 drivers/scsi/lpfc/lpfc_nvmet.c 	spin_lock_irqsave(&phba->hbalock, flags);
phba             3425 drivers/scsi/lpfc/lpfc_nvmet.c 		ctxp->hdwq = &phba->sli4_hba.hdwq[abts_wqeq->hba_wqidx];
phba             3427 drivers/scsi/lpfc/lpfc_nvmet.c 	rc = lpfc_sli4_issue_wqe(phba, ctxp->hdwq, abts_wqeq);
phba             3428 drivers/scsi/lpfc/lpfc_nvmet.c 	spin_unlock_irqrestore(&phba->hbalock, flags);
phba             3436 drivers/scsi/lpfc/lpfc_nvmet.c 		spin_lock(&phba->sli4_hba.abts_nvmet_buf_list_lock);
phba             3438 drivers/scsi/lpfc/lpfc_nvmet.c 		spin_unlock(&phba->sli4_hba.abts_nvmet_buf_list_lock);
phba             3445 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_printf_log(phba, KERN_ERR, LOG_NVME_ABTS,
phba             3450 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_nvmet_ctxbuf_post(phba, ctxp->ctxbuf);
phba             3455 drivers/scsi/lpfc/lpfc_nvmet.c lpfc_nvmet_unsol_ls_issue_abort(struct lpfc_hba *phba,
phba             3469 drivers/scsi/lpfc/lpfc_nvmet.c 		lpfc_printf_log(phba, KERN_ERR, LOG_NVME_IOERR,
phba             3476 drivers/scsi/lpfc/lpfc_nvmet.c 	tgtp = (struct lpfc_nvmet_tgtport *)phba->targetport->private;
phba             3479 drivers/scsi/lpfc/lpfc_nvmet.c 		ctxp->wqeq = lpfc_sli_get_iocbq(phba);
phba             3481 drivers/scsi/lpfc/lpfc_nvmet.c 			lpfc_printf_log(phba, KERN_ERR, LOG_NVME_ABTS,
phba             3491 drivers/scsi/lpfc/lpfc_nvmet.c 	if (lpfc_nvmet_unsol_issue_abort(phba, ctxp, sid, xri) == 0) {
phba             3496 drivers/scsi/lpfc/lpfc_nvmet.c 	spin_lock_irqsave(&phba->hbalock, flags);
phba             3500 drivers/scsi/lpfc/lpfc_nvmet.c 	rc = lpfc_sli4_issue_wqe(phba, ctxp->hdwq, abts_wqeq);
phba             3501 drivers/scsi/lpfc/lpfc_nvmet.c 	spin_unlock_irqrestore(&phba->hbalock, flags);
phba             3510 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_sli_release_iocbq(phba, abts_wqeq);
phba             3512 drivers/scsi/lpfc/lpfc_nvmet.c 	lpfc_printf_log(phba, KERN_ERR, LOG_NVME_ABTS,
phba               37 drivers/scsi/lpfc/lpfc_nvmet.h 	struct lpfc_hba *phba;
phba              103 drivers/scsi/lpfc/lpfc_nvmet.h #define lpfc_get_ctx_list(phba, cpu, mrq)  \
phba              104 drivers/scsi/lpfc/lpfc_nvmet.h 	(phba->sli4_hba.nvmet_ctx_info + ((cpu * phba->cfg_nvmet_mrq) + mrq))
phba              112 drivers/scsi/lpfc/lpfc_nvmet.h 	struct lpfc_hba *phba;
phba               77 drivers/scsi/lpfc/lpfc_scsi.c 	if (vport->phba->cfg_fof)
phba               84 drivers/scsi/lpfc/lpfc_scsi.c lpfc_release_scsi_buf_s4(struct lpfc_hba *phba, struct lpfc_io_buf *psb);
phba               86 drivers/scsi/lpfc/lpfc_scsi.c lpfc_release_scsi_buf_s3(struct lpfc_hba *phba, struct lpfc_io_buf *psb);
phba               88 drivers/scsi/lpfc/lpfc_scsi.c lpfc_prot_group_type(struct lpfc_hba *phba, struct scsi_cmnd *sc);
phba              123 drivers/scsi/lpfc/lpfc_scsi.c lpfc_sli4_set_rsp_sgl_last(struct lpfc_hba *phba,
phba              144 drivers/scsi/lpfc/lpfc_scsi.c lpfc_update_stats(struct lpfc_hba *phba, struct lpfc_io_buf *lpfc_cmd)
phba              167 drivers/scsi/lpfc/lpfc_scsi.c 	    (phba->bucket_type == LPFC_NO_BUCKET)) {
phba              172 drivers/scsi/lpfc/lpfc_scsi.c 	if (phba->bucket_type == LPFC_LINEAR_BUCKET) {
phba              173 drivers/scsi/lpfc/lpfc_scsi.c 		i = (latency + phba->bucket_step - 1 - phba->bucket_base)/
phba              174 drivers/scsi/lpfc/lpfc_scsi.c 			phba->bucket_step;
phba              182 drivers/scsi/lpfc/lpfc_scsi.c 			if (latency <= (phba->bucket_base +
phba              183 drivers/scsi/lpfc/lpfc_scsi.c 				((1<<i)*phba->bucket_step)))
phba              203 drivers/scsi/lpfc/lpfc_scsi.c lpfc_rampdown_queue_depth(struct lpfc_hba *phba)
phba              209 drivers/scsi/lpfc/lpfc_scsi.c 	spin_lock_irqsave(&phba->hbalock, flags);
phba              210 drivers/scsi/lpfc/lpfc_scsi.c 	atomic_inc(&phba->num_rsrc_err);
phba              211 drivers/scsi/lpfc/lpfc_scsi.c 	phba->last_rsrc_error_time = jiffies;
phba              213 drivers/scsi/lpfc/lpfc_scsi.c 	expires = phba->last_ramp_down_time + QUEUE_RAMP_DOWN_INTERVAL;
phba              215 drivers/scsi/lpfc/lpfc_scsi.c 		spin_unlock_irqrestore(&phba->hbalock, flags);
phba              219 drivers/scsi/lpfc/lpfc_scsi.c 	phba->last_ramp_down_time = jiffies;
phba              221 drivers/scsi/lpfc/lpfc_scsi.c 	spin_unlock_irqrestore(&phba->hbalock, flags);
phba              223 drivers/scsi/lpfc/lpfc_scsi.c 	spin_lock_irqsave(&phba->pport->work_port_lock, flags);
phba              224 drivers/scsi/lpfc/lpfc_scsi.c 	evt_posted = phba->pport->work_port_events & WORKER_RAMP_DOWN_QUEUE;
phba              226 drivers/scsi/lpfc/lpfc_scsi.c 		phba->pport->work_port_events |= WORKER_RAMP_DOWN_QUEUE;
phba              227 drivers/scsi/lpfc/lpfc_scsi.c 	spin_unlock_irqrestore(&phba->pport->work_port_lock, flags);
phba              230 drivers/scsi/lpfc/lpfc_scsi.c 		lpfc_worker_wake_up(phba);
phba              243 drivers/scsi/lpfc/lpfc_scsi.c lpfc_ramp_down_queue_handler(struct lpfc_hba *phba)
phba              252 drivers/scsi/lpfc/lpfc_scsi.c 	num_rsrc_err = atomic_read(&phba->num_rsrc_err);
phba              253 drivers/scsi/lpfc/lpfc_scsi.c 	num_cmd_success = atomic_read(&phba->num_cmd_success);
phba              263 drivers/scsi/lpfc/lpfc_scsi.c 	vports = lpfc_create_vport_work_array(phba);
phba              265 drivers/scsi/lpfc/lpfc_scsi.c 		for (i = 0; i <= phba->max_vports && vports[i] != NULL; i++) {
phba              279 drivers/scsi/lpfc/lpfc_scsi.c 	lpfc_destroy_vport_work_array(phba, vports);
phba              280 drivers/scsi/lpfc/lpfc_scsi.c 	atomic_set(&phba->num_rsrc_err, 0);
phba              281 drivers/scsi/lpfc/lpfc_scsi.c 	atomic_set(&phba->num_cmd_success, 0);
phba              293 drivers/scsi/lpfc/lpfc_scsi.c lpfc_scsi_dev_block(struct lpfc_hba *phba)
phba              301 drivers/scsi/lpfc/lpfc_scsi.c 	vports = lpfc_create_vport_work_array(phba);
phba              303 drivers/scsi/lpfc/lpfc_scsi.c 		for (i = 0; i <= phba->max_vports && vports[i] != NULL; i++) {
phba              310 drivers/scsi/lpfc/lpfc_scsi.c 	lpfc_destroy_vport_work_array(phba, vports);
phba              332 drivers/scsi/lpfc/lpfc_scsi.c 	struct lpfc_hba *phba = vport->phba;
phba              342 drivers/scsi/lpfc/lpfc_scsi.c 	bpl_size = phba->cfg_sg_dma_buf_size -
phba              347 drivers/scsi/lpfc/lpfc_scsi.c 			 num_to_alloc, phba->cfg_sg_dma_buf_size,
phba              362 drivers/scsi/lpfc/lpfc_scsi.c 		psb->data = dma_pool_zalloc(phba->lpfc_sg_dma_buf_pool,
phba              371 drivers/scsi/lpfc/lpfc_scsi.c 		iotag = lpfc_sli_next_iotag(phba, &psb->cur_iocbq);
phba              373 drivers/scsi/lpfc/lpfc_scsi.c 			dma_pool_free(phba->lpfc_sg_dma_buf_pool,
phba              416 drivers/scsi/lpfc/lpfc_scsi.c 		if ((phba->sli_rev == 3) &&
phba              417 drivers/scsi/lpfc/lpfc_scsi.c 				!(phba->sli3_options & LPFC_SLI3_BG_ENABLED)) {
phba              451 drivers/scsi/lpfc/lpfc_scsi.c 		lpfc_release_scsi_buf_s3(phba, psb);
phba              468 drivers/scsi/lpfc/lpfc_scsi.c 	struct lpfc_hba *phba = vport->phba;
phba              477 drivers/scsi/lpfc/lpfc_scsi.c 	spin_lock_irqsave(&phba->hbalock, iflag);
phba              478 drivers/scsi/lpfc/lpfc_scsi.c 	for (idx = 0; idx < phba->cfg_hdw_queue; idx++) {
phba              479 drivers/scsi/lpfc/lpfc_scsi.c 		qp = &phba->sli4_hba.hdwq[idx];
phba              493 drivers/scsi/lpfc/lpfc_scsi.c 	spin_unlock_irqrestore(&phba->hbalock, iflag);
phba              505 drivers/scsi/lpfc/lpfc_scsi.c lpfc_sli4_io_xri_aborted(struct lpfc_hba *phba,
phba              517 drivers/scsi/lpfc/lpfc_scsi.c 	struct lpfc_sli_ring *pring = phba->sli4_hba.els_wq->pring;
phba              519 drivers/scsi/lpfc/lpfc_scsi.c 	if (!(phba->cfg_enable_fc4_type & LPFC_ENABLE_FCP))
phba              522 drivers/scsi/lpfc/lpfc_scsi.c 	qp = &phba->sli4_hba.hdwq[idx];
phba              523 drivers/scsi/lpfc/lpfc_scsi.c 	spin_lock_irqsave(&phba->hbalock, iflag);
phba              534 drivers/scsi/lpfc/lpfc_scsi.c 				spin_unlock_irqrestore(&phba->hbalock, iflag);
phba              535 drivers/scsi/lpfc/lpfc_scsi.c 				lpfc_sli4_nvme_xri_aborted(phba, axri, psb);
phba              546 drivers/scsi/lpfc/lpfc_scsi.c 			rrq_empty = list_empty(&phba->active_rrq_list);
phba              547 drivers/scsi/lpfc/lpfc_scsi.c 			spin_unlock_irqrestore(&phba->hbalock, iflag);
phba              549 drivers/scsi/lpfc/lpfc_scsi.c 				lpfc_set_rrq_active(phba, ndlp,
phba              551 drivers/scsi/lpfc/lpfc_scsi.c 				lpfc_sli4_abts_err_handler(phba, ndlp, axri);
phba              553 drivers/scsi/lpfc/lpfc_scsi.c 			lpfc_release_scsi_buf_s4(phba, psb);
phba              555 drivers/scsi/lpfc/lpfc_scsi.c 				lpfc_worker_wake_up(phba);
phba              560 drivers/scsi/lpfc/lpfc_scsi.c 	for (i = 1; i <= phba->sli.last_iotag; i++) {
phba              561 drivers/scsi/lpfc/lpfc_scsi.c 		iocbq = phba->sli.iocbq_lookup[i];
phba              570 drivers/scsi/lpfc/lpfc_scsi.c 		spin_unlock_irqrestore(&phba->hbalock, iflag);
phba              572 drivers/scsi/lpfc/lpfc_scsi.c 			lpfc_worker_wake_up(phba);
phba              576 drivers/scsi/lpfc/lpfc_scsi.c 	spin_unlock_irqrestore(&phba->hbalock, iflag);
phba              591 drivers/scsi/lpfc/lpfc_scsi.c lpfc_get_scsi_buf_s3(struct lpfc_hba *phba, struct lpfc_nodelist *ndlp,
phba              595 drivers/scsi/lpfc/lpfc_scsi.c 	struct list_head *scsi_buf_list_get = &phba->lpfc_scsi_buf_list_get;
phba              598 drivers/scsi/lpfc/lpfc_scsi.c 	spin_lock_irqsave(&phba->scsi_buf_list_get_lock, iflag);
phba              602 drivers/scsi/lpfc/lpfc_scsi.c 		spin_lock(&phba->scsi_buf_list_put_lock);
phba              603 drivers/scsi/lpfc/lpfc_scsi.c 		list_splice(&phba->lpfc_scsi_buf_list_put,
phba              604 drivers/scsi/lpfc/lpfc_scsi.c 			    &phba->lpfc_scsi_buf_list_get);
phba              605 drivers/scsi/lpfc/lpfc_scsi.c 		INIT_LIST_HEAD(&phba->lpfc_scsi_buf_list_put);
phba              608 drivers/scsi/lpfc/lpfc_scsi.c 		spin_unlock(&phba->scsi_buf_list_put_lock);
phba              610 drivers/scsi/lpfc/lpfc_scsi.c 	spin_unlock_irqrestore(&phba->scsi_buf_list_get_lock, iflag);
phba              612 drivers/scsi/lpfc/lpfc_scsi.c 	if (lpfc_ndlp_check_qdepth(phba, ndlp) && lpfc_cmd) {
phba              630 drivers/scsi/lpfc/lpfc_scsi.c lpfc_get_scsi_buf_s4(struct lpfc_hba *phba, struct lpfc_nodelist *ndlp,
phba              644 drivers/scsi/lpfc/lpfc_scsi.c 	if (cmnd && phba->cfg_fcp_io_sched == LPFC_FCP_SCHED_BY_HDWQ) {
phba              648 drivers/scsi/lpfc/lpfc_scsi.c 		idx = phba->sli4_hba.cpu_map[cpu].hdwq;
phba              651 drivers/scsi/lpfc/lpfc_scsi.c 	lpfc_cmd = lpfc_get_io_buf(phba, ndlp, idx,
phba              652 drivers/scsi/lpfc/lpfc_scsi.c 				   !phba->cfg_xri_rebalancing);
phba              654 drivers/scsi/lpfc/lpfc_scsi.c 		qp = &phba->sli4_hba.hdwq[idx];
phba              673 drivers/scsi/lpfc/lpfc_scsi.c 	tmp = lpfc_get_cmd_rsp_buf_per_hdwq(phba, lpfc_cmd);
phba              675 drivers/scsi/lpfc/lpfc_scsi.c 		lpfc_release_io_buf(phba, lpfc_cmd, lpfc_cmd->hdwq);
phba              724 drivers/scsi/lpfc/lpfc_scsi.c 	if (lpfc_ndlp_check_qdepth(phba, ndlp) && lpfc_cmd) {
phba              742 drivers/scsi/lpfc/lpfc_scsi.c lpfc_get_scsi_buf(struct lpfc_hba *phba, struct lpfc_nodelist *ndlp,
phba              745 drivers/scsi/lpfc/lpfc_scsi.c 	return  phba->lpfc_get_scsi_buf(phba, ndlp, cmnd);
phba              757 drivers/scsi/lpfc/lpfc_scsi.c lpfc_release_scsi_buf_s3(struct lpfc_hba *phba, struct lpfc_io_buf *psb)
phba              764 drivers/scsi/lpfc/lpfc_scsi.c 	spin_lock_irqsave(&phba->scsi_buf_list_put_lock, iflag);
phba              767 drivers/scsi/lpfc/lpfc_scsi.c 	list_add_tail(&psb->list, &phba->lpfc_scsi_buf_list_put);
phba              768 drivers/scsi/lpfc/lpfc_scsi.c 	spin_unlock_irqrestore(&phba->scsi_buf_list_put_lock, iflag);
phba              782 drivers/scsi/lpfc/lpfc_scsi.c lpfc_release_scsi_buf_s4(struct lpfc_hba *phba, struct lpfc_io_buf *psb)
phba              798 drivers/scsi/lpfc/lpfc_scsi.c 		lpfc_release_io_buf(phba, (struct lpfc_io_buf *)psb, qp);
phba              811 drivers/scsi/lpfc/lpfc_scsi.c lpfc_release_scsi_buf(struct lpfc_hba *phba, struct lpfc_io_buf *psb)
phba              817 drivers/scsi/lpfc/lpfc_scsi.c 	phba->lpfc_release_scsi_buf(phba, psb);
phba              835 drivers/scsi/lpfc/lpfc_scsi.c lpfc_scsi_prep_dma_buf_s3(struct lpfc_hba *phba, struct lpfc_io_buf *lpfc_cmd)
phba              863 drivers/scsi/lpfc/lpfc_scsi.c 		nseg = dma_map_sg(&phba->pcidev->dev, scsi_sglist(scsi_cmnd),
phba              869 drivers/scsi/lpfc/lpfc_scsi.c 		if (lpfc_cmd->seg_cnt > phba->cfg_sg_seg_cnt) {
phba              870 drivers/scsi/lpfc/lpfc_scsi.c 			lpfc_printf_log(phba, KERN_ERR, LOG_BG,
phba              873 drivers/scsi/lpfc/lpfc_scsi.c 			       __func__, phba->cfg_sg_seg_cnt,
phba              875 drivers/scsi/lpfc/lpfc_scsi.c 			WARN_ON_ONCE(lpfc_cmd->seg_cnt > phba->cfg_sg_seg_cnt);
phba              892 drivers/scsi/lpfc/lpfc_scsi.c 			if (phba->sli_rev == 3 &&
phba              893 drivers/scsi/lpfc/lpfc_scsi.c 			    !(phba->sli3_options & LPFC_SLI3_BG_ENABLED) &&
phba              920 drivers/scsi/lpfc/lpfc_scsi.c 	if (phba->sli_rev == 3 &&
phba              921 drivers/scsi/lpfc/lpfc_scsi.c 	    !(phba->sli3_options & LPFC_SLI3_BG_ENABLED) &&
phba              984 drivers/scsi/lpfc/lpfc_scsi.c lpfc_bg_err_inject(struct lpfc_hba *phba, struct scsi_cmnd *sc,
phba             1006 drivers/scsi/lpfc/lpfc_scsi.c 	if (phba->lpfc_injerr_lba != LPFC_INJERR_LBA_OFF) {
phba             1011 drivers/scsi/lpfc/lpfc_scsi.c 		if ((phba->lpfc_injerr_lba < lba) ||
phba             1012 drivers/scsi/lpfc/lpfc_scsi.c 			(phba->lpfc_injerr_lba >= (lba + numblks)))
phba             1015 drivers/scsi/lpfc/lpfc_scsi.c 			blockoff = phba->lpfc_injerr_lba - lba;
phba             1029 drivers/scsi/lpfc/lpfc_scsi.c 		if (phba->lpfc_injerr_nportid  &&
phba             1030 drivers/scsi/lpfc/lpfc_scsi.c 			(phba->lpfc_injerr_nportid != ndlp->nlp_DID))
phba             1037 drivers/scsi/lpfc/lpfc_scsi.c 		if (phba->lpfc_injerr_wwpn.u.wwn[0]  &&
phba             1038 drivers/scsi/lpfc/lpfc_scsi.c 			(memcmp(&ndlp->nlp_portname, &phba->lpfc_injerr_wwpn,
phba             1052 drivers/scsi/lpfc/lpfc_scsi.c 		if (phba->lpfc_injerr_wref_cnt) {
phba             1064 drivers/scsi/lpfc/lpfc_scsi.c 					lpfc_printf_log(phba, KERN_ERR, LOG_BG,
phba             1083 drivers/scsi/lpfc/lpfc_scsi.c 					phba->lpfc_injerr_wref_cnt--;
phba             1084 drivers/scsi/lpfc/lpfc_scsi.c 					if (phba->lpfc_injerr_wref_cnt == 0) {
phba             1085 drivers/scsi/lpfc/lpfc_scsi.c 						phba->lpfc_injerr_nportid = 0;
phba             1086 drivers/scsi/lpfc/lpfc_scsi.c 						phba->lpfc_injerr_lba =
phba             1088 drivers/scsi/lpfc/lpfc_scsi.c 						memset(&phba->lpfc_injerr_wwpn,
phba             1104 drivers/scsi/lpfc/lpfc_scsi.c 				phba->lpfc_injerr_wref_cnt--;
phba             1105 drivers/scsi/lpfc/lpfc_scsi.c 				if (phba->lpfc_injerr_wref_cnt == 0) {
phba             1106 drivers/scsi/lpfc/lpfc_scsi.c 					phba->lpfc_injerr_nportid = 0;
phba             1107 drivers/scsi/lpfc/lpfc_scsi.c 					phba->lpfc_injerr_lba =
phba             1109 drivers/scsi/lpfc/lpfc_scsi.c 					memset(&phba->lpfc_injerr_wwpn,
phba             1114 drivers/scsi/lpfc/lpfc_scsi.c 				lpfc_printf_log(phba, KERN_ERR, LOG_BG,
phba             1125 drivers/scsi/lpfc/lpfc_scsi.c 				phba->lpfc_injerr_wref_cnt--;
phba             1126 drivers/scsi/lpfc/lpfc_scsi.c 				if (phba->lpfc_injerr_wref_cnt == 0) {
phba             1127 drivers/scsi/lpfc/lpfc_scsi.c 					phba->lpfc_injerr_nportid = 0;
phba             1128 drivers/scsi/lpfc/lpfc_scsi.c 					phba->lpfc_injerr_lba =
phba             1130 drivers/scsi/lpfc/lpfc_scsi.c 					memset(&phba->lpfc_injerr_wwpn,
phba             1135 drivers/scsi/lpfc/lpfc_scsi.c 				lpfc_printf_log(phba, KERN_ERR, LOG_BG,
phba             1141 drivers/scsi/lpfc/lpfc_scsi.c 		if (phba->lpfc_injerr_rref_cnt) {
phba             1152 drivers/scsi/lpfc/lpfc_scsi.c 				phba->lpfc_injerr_rref_cnt--;
phba             1153 drivers/scsi/lpfc/lpfc_scsi.c 				if (phba->lpfc_injerr_rref_cnt == 0) {
phba             1154 drivers/scsi/lpfc/lpfc_scsi.c 					phba->lpfc_injerr_nportid = 0;
phba             1155 drivers/scsi/lpfc/lpfc_scsi.c 					phba->lpfc_injerr_lba =
phba             1157 drivers/scsi/lpfc/lpfc_scsi.c 					memset(&phba->lpfc_injerr_wwpn,
phba             1162 drivers/scsi/lpfc/lpfc_scsi.c 				lpfc_printf_log(phba, KERN_ERR, LOG_BG,
phba             1172 drivers/scsi/lpfc/lpfc_scsi.c 		if (phba->lpfc_injerr_wapp_cnt) {
phba             1184 drivers/scsi/lpfc/lpfc_scsi.c 					lpfc_printf_log(phba, KERN_ERR, LOG_BG,
phba             1203 drivers/scsi/lpfc/lpfc_scsi.c 					phba->lpfc_injerr_wapp_cnt--;
phba             1204 drivers/scsi/lpfc/lpfc_scsi.c 					if (phba->lpfc_injerr_wapp_cnt == 0) {
phba             1205 drivers/scsi/lpfc/lpfc_scsi.c 						phba->lpfc_injerr_nportid = 0;
phba             1206 drivers/scsi/lpfc/lpfc_scsi.c 						phba->lpfc_injerr_lba =
phba             1208 drivers/scsi/lpfc/lpfc_scsi.c 						memset(&phba->lpfc_injerr_wwpn,
phba             1223 drivers/scsi/lpfc/lpfc_scsi.c 				phba->lpfc_injerr_wapp_cnt--;
phba             1224 drivers/scsi/lpfc/lpfc_scsi.c 				if (phba->lpfc_injerr_wapp_cnt == 0) {
phba             1225 drivers/scsi/lpfc/lpfc_scsi.c 					phba->lpfc_injerr_nportid = 0;
phba             1226 drivers/scsi/lpfc/lpfc_scsi.c 					phba->lpfc_injerr_lba =
phba             1228 drivers/scsi/lpfc/lpfc_scsi.c 					memset(&phba->lpfc_injerr_wwpn,
phba             1233 drivers/scsi/lpfc/lpfc_scsi.c 				lpfc_printf_log(phba, KERN_ERR, LOG_BG,
phba             1244 drivers/scsi/lpfc/lpfc_scsi.c 				phba->lpfc_injerr_wapp_cnt--;
phba             1245 drivers/scsi/lpfc/lpfc_scsi.c 				if (phba->lpfc_injerr_wapp_cnt == 0) {
phba             1246 drivers/scsi/lpfc/lpfc_scsi.c 					phba->lpfc_injerr_nportid = 0;
phba             1247 drivers/scsi/lpfc/lpfc_scsi.c 					phba->lpfc_injerr_lba =
phba             1249 drivers/scsi/lpfc/lpfc_scsi.c 					memset(&phba->lpfc_injerr_wwpn,
phba             1254 drivers/scsi/lpfc/lpfc_scsi.c 				lpfc_printf_log(phba, KERN_ERR, LOG_BG,
phba             1260 drivers/scsi/lpfc/lpfc_scsi.c 		if (phba->lpfc_injerr_rapp_cnt) {
phba             1271 drivers/scsi/lpfc/lpfc_scsi.c 				phba->lpfc_injerr_rapp_cnt--;
phba             1272 drivers/scsi/lpfc/lpfc_scsi.c 				if (phba->lpfc_injerr_rapp_cnt == 0) {
phba             1273 drivers/scsi/lpfc/lpfc_scsi.c 					phba->lpfc_injerr_nportid = 0;
phba             1274 drivers/scsi/lpfc/lpfc_scsi.c 					phba->lpfc_injerr_lba =
phba             1276 drivers/scsi/lpfc/lpfc_scsi.c 					memset(&phba->lpfc_injerr_wwpn,
phba             1281 drivers/scsi/lpfc/lpfc_scsi.c 				lpfc_printf_log(phba, KERN_ERR, LOG_BG,
phba             1292 drivers/scsi/lpfc/lpfc_scsi.c 		if (phba->lpfc_injerr_wgrd_cnt) {
phba             1304 drivers/scsi/lpfc/lpfc_scsi.c 				phba->lpfc_injerr_wgrd_cnt--;
phba             1305 drivers/scsi/lpfc/lpfc_scsi.c 				if (phba->lpfc_injerr_wgrd_cnt == 0) {
phba             1306 drivers/scsi/lpfc/lpfc_scsi.c 					phba->lpfc_injerr_nportid = 0;
phba             1307 drivers/scsi/lpfc/lpfc_scsi.c 					phba->lpfc_injerr_lba =
phba             1309 drivers/scsi/lpfc/lpfc_scsi.c 					memset(&phba->lpfc_injerr_wwpn,
phba             1316 drivers/scsi/lpfc/lpfc_scsi.c 				lpfc_printf_log(phba, KERN_ERR, LOG_BG,
phba             1326 drivers/scsi/lpfc/lpfc_scsi.c 				phba->lpfc_injerr_wgrd_cnt--;
phba             1327 drivers/scsi/lpfc/lpfc_scsi.c 				if (phba->lpfc_injerr_wgrd_cnt == 0) {
phba             1328 drivers/scsi/lpfc/lpfc_scsi.c 					phba->lpfc_injerr_nportid = 0;
phba             1329 drivers/scsi/lpfc/lpfc_scsi.c 					phba->lpfc_injerr_lba =
phba             1331 drivers/scsi/lpfc/lpfc_scsi.c 					memset(&phba->lpfc_injerr_wwpn,
phba             1338 drivers/scsi/lpfc/lpfc_scsi.c 				lpfc_printf_log(phba, KERN_ERR, LOG_BG,
phba             1344 drivers/scsi/lpfc/lpfc_scsi.c 		if (phba->lpfc_injerr_rgrd_cnt) {
phba             1354 drivers/scsi/lpfc/lpfc_scsi.c 				phba->lpfc_injerr_rgrd_cnt--;
phba             1355 drivers/scsi/lpfc/lpfc_scsi.c 				if (phba->lpfc_injerr_rgrd_cnt == 0) {
phba             1356 drivers/scsi/lpfc/lpfc_scsi.c 					phba->lpfc_injerr_nportid = 0;
phba             1357 drivers/scsi/lpfc/lpfc_scsi.c 					phba->lpfc_injerr_lba =
phba             1359 drivers/scsi/lpfc/lpfc_scsi.c 					memset(&phba->lpfc_injerr_wwpn,
phba             1366 drivers/scsi/lpfc/lpfc_scsi.c 				lpfc_printf_log(phba, KERN_ERR, LOG_BG,
phba             1389 drivers/scsi/lpfc/lpfc_scsi.c lpfc_sc_to_bg_opcodes(struct lpfc_hba *phba, struct scsi_cmnd *sc,
phba             1416 drivers/scsi/lpfc/lpfc_scsi.c 			lpfc_printf_log(phba, KERN_ERR, LOG_BG,
phba             1445 drivers/scsi/lpfc/lpfc_scsi.c 			lpfc_printf_log(phba, KERN_ERR, LOG_BG,
phba             1469 drivers/scsi/lpfc/lpfc_scsi.c lpfc_bg_err_opcodes(struct lpfc_hba *phba, struct scsi_cmnd *sc,
phba             1561 drivers/scsi/lpfc/lpfc_scsi.c lpfc_bg_setup_bpl(struct lpfc_hba *phba, struct scsi_cmnd *sc,
phba             1577 drivers/scsi/lpfc/lpfc_scsi.c 	status  = lpfc_sc_to_bg_opcodes(phba, sc, &txop, &rxop);
phba             1585 drivers/scsi/lpfc/lpfc_scsi.c 	rc = lpfc_bg_err_inject(phba, sc, &reftag, NULL, 1);
phba             1588 drivers/scsi/lpfc/lpfc_scsi.c 			lpfc_bg_err_opcodes(phba, sc, &txop, &rxop);
phba             1701 drivers/scsi/lpfc/lpfc_scsi.c lpfc_bg_setup_bpl_prot(struct lpfc_hba *phba, struct scsi_cmnd *sc,
phba             1731 drivers/scsi/lpfc/lpfc_scsi.c 		lpfc_printf_log(phba, KERN_ERR, LOG_FCP,
phba             1737 drivers/scsi/lpfc/lpfc_scsi.c 	status = lpfc_sc_to_bg_opcodes(phba, sc, &txop, &rxop);
phba             1746 drivers/scsi/lpfc/lpfc_scsi.c 	rc = lpfc_bg_err_inject(phba, sc, &reftag, NULL, 1);
phba             1749 drivers/scsi/lpfc/lpfc_scsi.c 			lpfc_bg_err_opcodes(phba, sc, &txop, &rxop);
phba             1758 drivers/scsi/lpfc/lpfc_scsi.c 		if (num_bde >= (phba->cfg_total_seg_cnt - 2))
phba             1839 drivers/scsi/lpfc/lpfc_scsi.c 			if (num_bde >= phba->cfg_total_seg_cnt)
phba             1843 drivers/scsi/lpfc/lpfc_scsi.c 				lpfc_printf_log(phba, KERN_ERR, LOG_BG,
phba             1906 drivers/scsi/lpfc/lpfc_scsi.c 			lpfc_printf_log(phba, KERN_ERR, LOG_BG,
phba             1946 drivers/scsi/lpfc/lpfc_scsi.c lpfc_bg_setup_sgl(struct lpfc_hba *phba, struct scsi_cmnd *sc,
phba             1966 drivers/scsi/lpfc/lpfc_scsi.c 	status  = lpfc_sc_to_bg_opcodes(phba, sc, &txop, &rxop);
phba             1974 drivers/scsi/lpfc/lpfc_scsi.c 	rc = lpfc_bg_err_inject(phba, sc, &reftag, NULL, 1);
phba             1977 drivers/scsi/lpfc/lpfc_scsi.c 			lpfc_bg_err_opcodes(phba, sc, &txop, &rxop);
phba             2031 drivers/scsi/lpfc/lpfc_scsi.c 		if (!lsp_just_set && !((j + 1) % phba->border_sge_num) &&
phba             2036 drivers/scsi/lpfc/lpfc_scsi.c 			sgl_xtra = lpfc_get_sgl_per_hdwq(phba, lpfc_cmd);
phba             2072 drivers/scsi/lpfc/lpfc_scsi.c 			sgl->sge_len = cpu_to_le32(phba->cfg_sg_dma_buf_size);
phba             2126 drivers/scsi/lpfc/lpfc_scsi.c lpfc_bg_setup_sgl_prot(struct lpfc_hba *phba, struct scsi_cmnd *sc,
phba             2157 drivers/scsi/lpfc/lpfc_scsi.c 		lpfc_printf_log(phba, KERN_ERR, LOG_FCP,
phba             2163 drivers/scsi/lpfc/lpfc_scsi.c 	status = lpfc_sc_to_bg_opcodes(phba, sc, &txop, &rxop);
phba             2172 drivers/scsi/lpfc/lpfc_scsi.c 	rc = lpfc_bg_err_inject(phba, sc, &reftag, NULL, 1);
phba             2175 drivers/scsi/lpfc/lpfc_scsi.c 			lpfc_bg_err_opcodes(phba, sc, &txop, &rxop);
phba             2184 drivers/scsi/lpfc/lpfc_scsi.c 		if ((num_sge >= (phba->cfg_total_seg_cnt - 2)) &&
phba             2185 drivers/scsi/lpfc/lpfc_scsi.c 		    !(phba->cfg_xpsgl))
phba             2189 drivers/scsi/lpfc/lpfc_scsi.c 		if (!((j + 1) % phba->border_sge_num) ||
phba             2190 drivers/scsi/lpfc/lpfc_scsi.c 		    !((j + 2) % phba->border_sge_num) ||
phba             2191 drivers/scsi/lpfc/lpfc_scsi.c 		    !((j + 3) % phba->border_sge_num)) {
phba             2197 drivers/scsi/lpfc/lpfc_scsi.c 			sgl_xtra = lpfc_get_sgl_per_hdwq(phba, lpfc_cmd);
phba             2209 drivers/scsi/lpfc/lpfc_scsi.c 			sgl->sge_len = cpu_to_le32(phba->cfg_sg_dma_buf_size);
phba             2305 drivers/scsi/lpfc/lpfc_scsi.c 			if ((num_sge >= phba->cfg_total_seg_cnt) &&
phba             2306 drivers/scsi/lpfc/lpfc_scsi.c 			    !phba->cfg_xpsgl)
phba             2310 drivers/scsi/lpfc/lpfc_scsi.c 				lpfc_printf_log(phba, KERN_ERR, LOG_BG,
phba             2316 drivers/scsi/lpfc/lpfc_scsi.c 			if (!((j + 1) % phba->border_sge_num)) {
phba             2323 drivers/scsi/lpfc/lpfc_scsi.c 				sgl_xtra = lpfc_get_sgl_per_hdwq(phba,
phba             2337 drivers/scsi/lpfc/lpfc_scsi.c 						     phba->cfg_sg_dma_buf_size);
phba             2415 drivers/scsi/lpfc/lpfc_scsi.c 			lpfc_printf_log(phba, KERN_ERR, LOG_BG,
phba             2438 drivers/scsi/lpfc/lpfc_scsi.c lpfc_prot_group_type(struct lpfc_hba *phba, struct scsi_cmnd *sc)
phba             2455 drivers/scsi/lpfc/lpfc_scsi.c 		if (phba)
phba             2456 drivers/scsi/lpfc/lpfc_scsi.c 			lpfc_printf_log(phba, KERN_ERR, LOG_FCP,
phba             2475 drivers/scsi/lpfc/lpfc_scsi.c lpfc_bg_scsi_adjust_dl(struct lpfc_hba *phba,
phba             2518 drivers/scsi/lpfc/lpfc_scsi.c lpfc_bg_scsi_prep_dma_buf_s3(struct lpfc_hba *phba,
phba             2530 drivers/scsi/lpfc/lpfc_scsi.c 	struct lpfc_vport *vport = phba->pport;
phba             2544 drivers/scsi/lpfc/lpfc_scsi.c 		datasegcnt = dma_map_sg(&phba->pcidev->dev,
phba             2553 drivers/scsi/lpfc/lpfc_scsi.c 		if (lpfc_cmd->seg_cnt > phba->cfg_sg_seg_cnt) {
phba             2554 drivers/scsi/lpfc/lpfc_scsi.c 			WARN_ON_ONCE(lpfc_cmd->seg_cnt > phba->cfg_sg_seg_cnt);
phba             2559 drivers/scsi/lpfc/lpfc_scsi.c 		prot_group_type = lpfc_prot_group_type(phba, scsi_cmnd);
phba             2565 drivers/scsi/lpfc/lpfc_scsi.c 			if ((lpfc_cmd->seg_cnt + 2) > phba->cfg_total_seg_cnt) {
phba             2570 drivers/scsi/lpfc/lpfc_scsi.c 			num_bde = lpfc_bg_setup_bpl(phba, scsi_cmnd, bpl,
phba             2585 drivers/scsi/lpfc/lpfc_scsi.c 			protsegcnt = dma_map_sg(&phba->pcidev->dev,
phba             2600 drivers/scsi/lpfc/lpfc_scsi.c 			    (phba->cfg_total_seg_cnt - 2)) {
phba             2605 drivers/scsi/lpfc/lpfc_scsi.c 			num_bde = lpfc_bg_setup_bpl_prot(phba, scsi_cmnd, bpl,
phba             2609 drivers/scsi/lpfc/lpfc_scsi.c 			    (num_bde > phba->cfg_total_seg_cnt)) {
phba             2620 drivers/scsi/lpfc/lpfc_scsi.c 			lpfc_printf_log(phba, KERN_ERR, LOG_FCP,
phba             2638 drivers/scsi/lpfc/lpfc_scsi.c 	fcpdl = lpfc_bg_scsi_adjust_dl(phba, lpfc_cmd);
phba             2660 drivers/scsi/lpfc/lpfc_scsi.c 		dma_unmap_sg(&phba->pcidev->dev, scsi_prot_sglist(scsi_cmnd),
phba             2664 drivers/scsi/lpfc/lpfc_scsi.c 	lpfc_printf_log(phba, KERN_ERR, LOG_FCP,
phba             2668 drivers/scsi/lpfc/lpfc_scsi.c 			phba->cfg_total_seg_cnt, phba->cfg_sg_seg_cnt,
phba             2711 drivers/scsi/lpfc/lpfc_scsi.c lpfc_calc_bg_err(struct lpfc_hba *phba, struct lpfc_io_buf *lpfc_cmd)
phba             2850 drivers/scsi/lpfc/lpfc_scsi.c 		phba->bg_guard_err_cnt++;
phba             2851 drivers/scsi/lpfc/lpfc_scsi.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_FCP | LOG_BG,
phba             2862 drivers/scsi/lpfc/lpfc_scsi.c 		phba->bg_reftag_err_cnt++;
phba             2863 drivers/scsi/lpfc/lpfc_scsi.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_FCP | LOG_BG,
phba             2874 drivers/scsi/lpfc/lpfc_scsi.c 		phba->bg_apptag_err_cnt++;
phba             2875 drivers/scsi/lpfc/lpfc_scsi.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_FCP | LOG_BG,
phba             2896 drivers/scsi/lpfc/lpfc_scsi.c lpfc_parse_bg_err(struct lpfc_hba *phba, struct lpfc_io_buf *lpfc_cmd,
phba             2908 drivers/scsi/lpfc/lpfc_scsi.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_FCP | LOG_BG,
phba             2920 drivers/scsi/lpfc/lpfc_scsi.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_FCP | LOG_BG,
phba             2937 drivers/scsi/lpfc/lpfc_scsi.c 		phba->bg_guard_err_cnt++;
phba             2938 drivers/scsi/lpfc/lpfc_scsi.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_FCP | LOG_BG,
phba             2954 drivers/scsi/lpfc/lpfc_scsi.c 		phba->bg_reftag_err_cnt++;
phba             2955 drivers/scsi/lpfc/lpfc_scsi.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_FCP | LOG_BG,
phba             2971 drivers/scsi/lpfc/lpfc_scsi.c 		phba->bg_apptag_err_cnt++;
phba             2972 drivers/scsi/lpfc/lpfc_scsi.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_FCP | LOG_BG,
phba             3016 drivers/scsi/lpfc/lpfc_scsi.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_FCP | LOG_BG,
phba             3024 drivers/scsi/lpfc/lpfc_scsi.c 		lpfc_calc_bg_err(phba, lpfc_cmd);
phba             3044 drivers/scsi/lpfc/lpfc_scsi.c lpfc_scsi_prep_dma_buf_s4(struct lpfc_hba *phba, struct lpfc_io_buf *lpfc_cmd)
phba             3086 drivers/scsi/lpfc/lpfc_scsi.c 		if (!phba->cfg_xpsgl &&
phba             3087 drivers/scsi/lpfc/lpfc_scsi.c 		    lpfc_cmd->seg_cnt > phba->cfg_sg_seg_cnt) {
phba             3088 drivers/scsi/lpfc/lpfc_scsi.c 			lpfc_printf_log(phba, KERN_ERR, LOG_BG, "9074 BLKGRD:"
phba             3091 drivers/scsi/lpfc/lpfc_scsi.c 				__func__, phba->cfg_sg_seg_cnt,
phba             3093 drivers/scsi/lpfc/lpfc_scsi.c 			WARN_ON_ONCE(lpfc_cmd->seg_cnt > phba->cfg_sg_seg_cnt);
phba             3123 drivers/scsi/lpfc/lpfc_scsi.c 				    !((j + 1) % phba->border_sge_num) &&
phba             3130 drivers/scsi/lpfc/lpfc_scsi.c 							phba, lpfc_cmd);
phba             3173 drivers/scsi/lpfc/lpfc_scsi.c 						     phba->cfg_sg_dma_buf_size);
phba             3188 drivers/scsi/lpfc/lpfc_scsi.c 		if ((phba->sli3_options & LPFC_SLI4_PERFH_ENABLED) ||
phba             3189 drivers/scsi/lpfc/lpfc_scsi.c 		    phba->cfg_enable_pbde) {
phba             3206 drivers/scsi/lpfc/lpfc_scsi.c 		if ((phba->sli3_options & LPFC_SLI4_PERFH_ENABLED) ||
phba             3207 drivers/scsi/lpfc/lpfc_scsi.c 		    phba->cfg_enable_pbde) {
phba             3232 drivers/scsi/lpfc/lpfc_scsi.c 	if ((phba->cfg_fof) && ((struct lpfc_device_data *)
phba             3256 drivers/scsi/lpfc/lpfc_scsi.c lpfc_bg_scsi_prep_dma_buf_s4(struct lpfc_hba *phba,
phba             3268 drivers/scsi/lpfc/lpfc_scsi.c 	struct lpfc_vport *vport = phba->pport;
phba             3281 drivers/scsi/lpfc/lpfc_scsi.c 		datasegcnt = dma_map_sg(&phba->pcidev->dev,
phba             3297 drivers/scsi/lpfc/lpfc_scsi.c 		if (lpfc_cmd->seg_cnt > phba->cfg_sg_seg_cnt &&
phba             3298 drivers/scsi/lpfc/lpfc_scsi.c 		    !phba->cfg_xpsgl) {
phba             3299 drivers/scsi/lpfc/lpfc_scsi.c 			WARN_ON_ONCE(lpfc_cmd->seg_cnt > phba->cfg_sg_seg_cnt);
phba             3304 drivers/scsi/lpfc/lpfc_scsi.c 		prot_group_type = lpfc_prot_group_type(phba, scsi_cmnd);
phba             3310 drivers/scsi/lpfc/lpfc_scsi.c 					phba->cfg_total_seg_cnt) &&
phba             3311 drivers/scsi/lpfc/lpfc_scsi.c 			    !phba->cfg_xpsgl) {
phba             3316 drivers/scsi/lpfc/lpfc_scsi.c 			num_sge = lpfc_bg_setup_sgl(phba, scsi_cmnd, sgl,
phba             3332 drivers/scsi/lpfc/lpfc_scsi.c 			protsegcnt = dma_map_sg(&phba->pcidev->dev,
phba             3346 drivers/scsi/lpfc/lpfc_scsi.c 					(phba->cfg_total_seg_cnt - 2)) &&
phba             3347 drivers/scsi/lpfc/lpfc_scsi.c 			    !phba->cfg_xpsgl) {
phba             3352 drivers/scsi/lpfc/lpfc_scsi.c 			num_sge = lpfc_bg_setup_sgl_prot(phba, scsi_cmnd, sgl,
phba             3357 drivers/scsi/lpfc/lpfc_scsi.c 			    (num_sge > phba->cfg_total_seg_cnt &&
phba             3358 drivers/scsi/lpfc/lpfc_scsi.c 			     !phba->cfg_xpsgl)) {
phba             3369 drivers/scsi/lpfc/lpfc_scsi.c 			lpfc_printf_log(phba, KERN_ERR, LOG_FCP,
phba             3391 drivers/scsi/lpfc/lpfc_scsi.c 	fcpdl = lpfc_bg_scsi_adjust_dl(phba, lpfc_cmd);
phba             3412 drivers/scsi/lpfc/lpfc_scsi.c 	if ((phba->cfg_fof) && ((struct lpfc_device_data *)
phba             3421 drivers/scsi/lpfc/lpfc_scsi.c 		dma_unmap_sg(&phba->pcidev->dev, scsi_prot_sglist(scsi_cmnd),
phba             3425 drivers/scsi/lpfc/lpfc_scsi.c 	lpfc_printf_log(phba, KERN_ERR, LOG_FCP,
phba             3429 drivers/scsi/lpfc/lpfc_scsi.c 			phba->cfg_total_seg_cnt, phba->cfg_sg_seg_cnt,
phba             3450 drivers/scsi/lpfc/lpfc_scsi.c lpfc_scsi_prep_dma_buf(struct lpfc_hba *phba, struct lpfc_io_buf *lpfc_cmd)
phba             3452 drivers/scsi/lpfc/lpfc_scsi.c 	return phba->lpfc_scsi_prep_dma_buf(phba, lpfc_cmd);
phba             3469 drivers/scsi/lpfc/lpfc_scsi.c lpfc_bg_scsi_prep_dma_buf(struct lpfc_hba *phba, struct lpfc_io_buf *lpfc_cmd)
phba             3471 drivers/scsi/lpfc/lpfc_scsi.c 	return phba->lpfc_bg_scsi_prep_dma_buf(phba, lpfc_cmd);
phba             3485 drivers/scsi/lpfc/lpfc_scsi.c lpfc_send_scsi_error_event(struct lpfc_hba *phba, struct lpfc_vport *vport,
phba             3502 drivers/scsi/lpfc/lpfc_scsi.c 		fast_path_evt = lpfc_alloc_fast_evt(phba);
phba             3517 drivers/scsi/lpfc/lpfc_scsi.c 		fast_path_evt = lpfc_alloc_fast_evt(phba);
phba             3543 drivers/scsi/lpfc/lpfc_scsi.c 		fast_path_evt = lpfc_alloc_fast_evt(phba);
phba             3562 drivers/scsi/lpfc/lpfc_scsi.c 	spin_lock_irqsave(&phba->hbalock, flags);
phba             3563 drivers/scsi/lpfc/lpfc_scsi.c 	list_add_tail(&fast_path_evt->work_evt.evt_listp, &phba->work_list);
phba             3564 drivers/scsi/lpfc/lpfc_scsi.c 	spin_unlock_irqrestore(&phba->hbalock, flags);
phba             3565 drivers/scsi/lpfc/lpfc_scsi.c 	lpfc_worker_wake_up(phba);
phba             3578 drivers/scsi/lpfc/lpfc_scsi.c lpfc_scsi_unprep_dma_buf(struct lpfc_hba *phba, struct lpfc_io_buf *psb)
phba             3589 drivers/scsi/lpfc/lpfc_scsi.c 		dma_unmap_sg(&phba->pcidev->dev, scsi_prot_sglist(psb->pCmd),
phba             3608 drivers/scsi/lpfc/lpfc_scsi.c 	struct lpfc_hba *phba = vport->phba;
phba             3751 drivers/scsi/lpfc/lpfc_scsi.c 				 ((phba->sli_rev == LPFC_SLI_REV4) ?
phba             3780 drivers/scsi/lpfc/lpfc_scsi.c 	lpfc_send_scsi_error_event(vport->phba, vport, lpfc_cmd, rsp_iocb);
phba             3794 drivers/scsi/lpfc/lpfc_scsi.c lpfc_scsi_cmd_iocb_cmpl(struct lpfc_hba *phba, struct lpfc_iocbq *pIocbIn,
phba             3825 drivers/scsi/lpfc/lpfc_scsi.c 	if (phba->sli4_hba.hdwq)
phba             3826 drivers/scsi/lpfc/lpfc_scsi.c 		phba->sli4_hba.hdwq[idx].scsi_cstat.io_cmpls++;
phba             3829 drivers/scsi/lpfc/lpfc_scsi.c 	if (phba->cpucheck_on & LPFC_CHECK_SCSI_IO) {
phba             3831 drivers/scsi/lpfc/lpfc_scsi.c 		if (cpu < LPFC_CHECK_CPU_CNT && phba->sli4_hba.hdwq)
phba             3832 drivers/scsi/lpfc/lpfc_scsi.c 			phba->sli4_hba.hdwq[idx].cpucheck_cmpl_io[cpu]++;
phba             3901 drivers/scsi/lpfc/lpfc_scsi.c 			 phba->sli_rev == LPFC_SLI_REV4 ?
phba             3914 drivers/scsi/lpfc/lpfc_scsi.c 			fast_path_evt = lpfc_alloc_fast_evt(phba);
phba             3933 drivers/scsi/lpfc/lpfc_scsi.c 			spin_lock_irqsave(&phba->hbalock, flags);
phba             3935 drivers/scsi/lpfc/lpfc_scsi.c 				&phba->work_list);
phba             3936 drivers/scsi/lpfc/lpfc_scsi.c 			spin_unlock_irqrestore(&phba->hbalock, flags);
phba             3937 drivers/scsi/lpfc/lpfc_scsi.c 			lpfc_worker_wake_up(phba);
phba             3965 drivers/scsi/lpfc/lpfc_scsi.c 					lpfc_parse_bg_err(phba, lpfc_cmd,
phba             3976 drivers/scsi/lpfc/lpfc_scsi.c 				&& (phba->sli_rev == LPFC_SLI_REV4)
phba             3982 drivers/scsi/lpfc/lpfc_scsi.c 				lpfc_set_rrq_active(phba, pnode,
phba             4010 drivers/scsi/lpfc/lpfc_scsi.c 	lpfc_update_stats(phba, lpfc_cmd);
phba             4029 drivers/scsi/lpfc/lpfc_scsi.c 	lpfc_scsi_unprep_dma_buf(phba, lpfc_cmd);
phba             4047 drivers/scsi/lpfc/lpfc_scsi.c 	lpfc_release_scsi_buf(phba, lpfc_cmd);
phba             4081 drivers/scsi/lpfc/lpfc_scsi.c 	struct lpfc_hba *phba = vport->phba;
phba             4112 drivers/scsi/lpfc/lpfc_scsi.c 	sli4 = (phba->sli_rev == LPFC_SLI_REV4);
phba             4115 drivers/scsi/lpfc/lpfc_scsi.c 	if (phba->sli4_hba.hdwq)
phba             4116 drivers/scsi/lpfc/lpfc_scsi.c 		hdwq = &phba->sli4_hba.hdwq[idx];
phba             4155 drivers/scsi/lpfc/lpfc_scsi.c 	if (phba->sli_rev == 3 &&
phba             4156 drivers/scsi/lpfc/lpfc_scsi.c 	    !(phba->sli3_options & LPFC_SLI3_BG_ENABLED))
phba             4165 drivers/scsi/lpfc/lpfc_scsi.c 		  phba->sli4_hba.rpi_ids[pnode->nlp_rpi];
phba             4218 drivers/scsi/lpfc/lpfc_scsi.c 	if (vport->phba->sli_rev == 3 &&
phba             4219 drivers/scsi/lpfc/lpfc_scsi.c 	    !(vport->phba->sli3_options & LPFC_SLI3_BG_ENABLED))
phba             4223 drivers/scsi/lpfc/lpfc_scsi.c 	if (vport->phba->sli_rev == LPFC_SLI_REV4) {
phba             4225 drivers/scsi/lpfc/lpfc_scsi.c 		  vport->phba->sli4_hba.rpi_ids[ndlp->nlp_rpi];
phba             4242 drivers/scsi/lpfc/lpfc_scsi.c 	if (vport->phba->sli_rev == LPFC_SLI_REV4)
phba             4243 drivers/scsi/lpfc/lpfc_scsi.c 		lpfc_sli4_set_rsp_sgl_last(vport->phba, lpfc_cmd);
phba             4258 drivers/scsi/lpfc/lpfc_scsi.c lpfc_scsi_api_table_setup(struct lpfc_hba *phba, uint8_t dev_grp)
phba             4261 drivers/scsi/lpfc/lpfc_scsi.c 	phba->lpfc_scsi_unprep_dma_buf = lpfc_scsi_unprep_dma_buf;
phba             4262 drivers/scsi/lpfc/lpfc_scsi.c 	phba->lpfc_scsi_prep_cmnd = lpfc_scsi_prep_cmnd;
phba             4266 drivers/scsi/lpfc/lpfc_scsi.c 		phba->lpfc_scsi_prep_dma_buf = lpfc_scsi_prep_dma_buf_s3;
phba             4267 drivers/scsi/lpfc/lpfc_scsi.c 		phba->lpfc_bg_scsi_prep_dma_buf = lpfc_bg_scsi_prep_dma_buf_s3;
phba             4268 drivers/scsi/lpfc/lpfc_scsi.c 		phba->lpfc_release_scsi_buf = lpfc_release_scsi_buf_s3;
phba             4269 drivers/scsi/lpfc/lpfc_scsi.c 		phba->lpfc_get_scsi_buf = lpfc_get_scsi_buf_s3;
phba             4272 drivers/scsi/lpfc/lpfc_scsi.c 		phba->lpfc_scsi_prep_dma_buf = lpfc_scsi_prep_dma_buf_s4;
phba             4273 drivers/scsi/lpfc/lpfc_scsi.c 		phba->lpfc_bg_scsi_prep_dma_buf = lpfc_bg_scsi_prep_dma_buf_s4;
phba             4274 drivers/scsi/lpfc/lpfc_scsi.c 		phba->lpfc_release_scsi_buf = lpfc_release_scsi_buf_s4;
phba             4275 drivers/scsi/lpfc/lpfc_scsi.c 		phba->lpfc_get_scsi_buf = lpfc_get_scsi_buf_s4;
phba             4278 drivers/scsi/lpfc/lpfc_scsi.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             4284 drivers/scsi/lpfc/lpfc_scsi.c 	phba->lpfc_rampdown_queue_depth = lpfc_rampdown_queue_depth;
phba             4285 drivers/scsi/lpfc/lpfc_scsi.c 	phba->lpfc_scsi_cmd_iocb_cmpl = lpfc_scsi_cmd_iocb_cmpl;
phba             4299 drivers/scsi/lpfc/lpfc_scsi.c lpfc_tskmgmt_def_cmpl(struct lpfc_hba *phba,
phba             4306 drivers/scsi/lpfc/lpfc_scsi.c 		lpfc_release_scsi_buf(phba, lpfc_cmd);
phba             4325 drivers/scsi/lpfc/lpfc_scsi.c lpfc_check_pci_resettable(const struct lpfc_hba *phba)
phba             4327 drivers/scsi/lpfc/lpfc_scsi.c 	const struct pci_dev *pdev = phba->pcidev;
phba             4335 drivers/scsi/lpfc/lpfc_scsi.c 			lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             4348 drivers/scsi/lpfc/lpfc_scsi.c 			lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             4359 drivers/scsi/lpfc/lpfc_scsi.c 				lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             4383 drivers/scsi/lpfc/lpfc_scsi.c 	struct lpfc_hba   *phba = vport->phba;
phba             4389 drivers/scsi/lpfc/lpfc_scsi.c 	if (phba && phba->pcidev){
phba             4391 drivers/scsi/lpfc/lpfc_scsi.c 		scnprintf(tmp, sizeof(tmp), phba->ModelDesc);
phba             4399 drivers/scsi/lpfc/lpfc_scsi.c 			  phba->pcidev->bus->number, phba->pcidev->devfn,
phba             4400 drivers/scsi/lpfc/lpfc_scsi.c 			  phba->pcidev->irq);
phba             4406 drivers/scsi/lpfc/lpfc_scsi.c 		if (phba->Port[0]) {
phba             4407 drivers/scsi/lpfc/lpfc_scsi.c 			scnprintf(tmp, sizeof(tmp), " port %s", phba->Port);
phba             4414 drivers/scsi/lpfc/lpfc_scsi.c 		link_speed = lpfc_sli_port_speed_get(phba);
phba             4424 drivers/scsi/lpfc/lpfc_scsi.c 		if (!lpfc_check_pci_resettable(phba)) {
phba             4441 drivers/scsi/lpfc/lpfc_scsi.c static __inline__ void lpfc_poll_rearm_timer(struct lpfc_hba * phba)
phba             4444 drivers/scsi/lpfc/lpfc_scsi.c 		(jiffies + msecs_to_jiffies(phba->cfg_poll_tmo));
phba             4446 drivers/scsi/lpfc/lpfc_scsi.c 	if (!list_empty(&phba->sli.sli3_ring[LPFC_FCP_RING].txcmplq))
phba             4447 drivers/scsi/lpfc/lpfc_scsi.c 		mod_timer(&phba->fcp_poll_timer,
phba             4457 drivers/scsi/lpfc/lpfc_scsi.c void lpfc_poll_start_timer(struct lpfc_hba * phba)
phba             4459 drivers/scsi/lpfc/lpfc_scsi.c 	lpfc_poll_rearm_timer(phba);
phba             4472 drivers/scsi/lpfc/lpfc_scsi.c 	struct lpfc_hba *phba = from_timer(phba, t, fcp_poll_timer);
phba             4474 drivers/scsi/lpfc/lpfc_scsi.c 	if (phba->cfg_poll & ENABLE_FCP_RING_POLLING) {
phba             4475 drivers/scsi/lpfc/lpfc_scsi.c 		lpfc_sli_handle_fast_ring_event(phba,
phba             4476 drivers/scsi/lpfc/lpfc_scsi.c 			&phba->sli.sli3_ring[LPFC_FCP_RING], HA_R0RE_REQ);
phba             4478 drivers/scsi/lpfc/lpfc_scsi.c 		if (phba->cfg_poll & DISABLE_FCP_RING_INT)
phba             4479 drivers/scsi/lpfc/lpfc_scsi.c 			lpfc_poll_rearm_timer(phba);
phba             4500 drivers/scsi/lpfc/lpfc_scsi.c 	struct lpfc_hba   *phba = vport->phba;
phba             4524 drivers/scsi/lpfc/lpfc_scsi.c 		(!(phba->sli3_options & LPFC_SLI3_BG_ENABLED))) {
phba             4526 drivers/scsi/lpfc/lpfc_scsi.c 		lpfc_printf_log(phba, KERN_ERR, LOG_BG,
phba             4541 drivers/scsi/lpfc/lpfc_scsi.c 	if (lpfc_ndlp_check_qdepth(phba, ndlp)) {
phba             4572 drivers/scsi/lpfc/lpfc_scsi.c 	lpfc_cmd = lpfc_get_scsi_buf(phba, ndlp, cmnd);
phba             4574 drivers/scsi/lpfc/lpfc_scsi.c 		lpfc_rampdown_queue_depth(phba);
phba             4592 drivers/scsi/lpfc/lpfc_scsi.c 		if (vport->phba->cfg_enable_bg) {
phba             4603 drivers/scsi/lpfc/lpfc_scsi.c 		err = lpfc_bg_scsi_prep_dma_buf(phba, lpfc_cmd);
phba             4605 drivers/scsi/lpfc/lpfc_scsi.c 		if (vport->phba->cfg_enable_bg) {
phba             4615 drivers/scsi/lpfc/lpfc_scsi.c 		err = lpfc_scsi_prep_dma_buf(phba, lpfc_cmd);
phba             4628 drivers/scsi/lpfc/lpfc_scsi.c 	if (phba->cpucheck_on & LPFC_CHECK_SCSI_IO) {
phba             4632 drivers/scsi/lpfc/lpfc_scsi.c 					&phba->sli4_hba.hdwq[lpfc_cmd->hdwq_no];
phba             4637 drivers/scsi/lpfc/lpfc_scsi.c 	err = lpfc_sli_issue_iocb(phba, LPFC_FCP_RING,
phba             4649 drivers/scsi/lpfc/lpfc_scsi.c 				 phba->sli_rev == LPFC_SLI_REV4 ?
phba             4659 drivers/scsi/lpfc/lpfc_scsi.c 	if (phba->cfg_poll & ENABLE_FCP_RING_POLLING) {
phba             4660 drivers/scsi/lpfc/lpfc_scsi.c 		lpfc_sli_handle_fast_ring_event(phba,
phba             4661 drivers/scsi/lpfc/lpfc_scsi.c 			&phba->sli.sli3_ring[LPFC_FCP_RING], HA_R0RE_REQ);
phba             4663 drivers/scsi/lpfc/lpfc_scsi.c 		if (phba->cfg_poll & DISABLE_FCP_RING_INT)
phba             4664 drivers/scsi/lpfc/lpfc_scsi.c 			lpfc_poll_rearm_timer(phba);
phba             4667 drivers/scsi/lpfc/lpfc_scsi.c 	if (phba->cfg_xri_rebalancing)
phba             4668 drivers/scsi/lpfc/lpfc_scsi.c 		lpfc_keep_pvt_pool_above_lowwm(phba, lpfc_cmd->hdwq_no);
phba             4674 drivers/scsi/lpfc/lpfc_scsi.c 	lpfc_scsi_unprep_dma_buf(phba, lpfc_cmd);
phba             4675 drivers/scsi/lpfc/lpfc_scsi.c 	if (phba->sli4_hba.hdwq) {
phba             4678 drivers/scsi/lpfc/lpfc_scsi.c 			phba->sli4_hba.hdwq[idx].scsi_cstat.output_requests--;
phba             4681 drivers/scsi/lpfc/lpfc_scsi.c 			phba->sli4_hba.hdwq[idx].scsi_cstat.input_requests--;
phba             4684 drivers/scsi/lpfc/lpfc_scsi.c 			phba->sli4_hba.hdwq[idx].scsi_cstat.control_requests--;
phba             4687 drivers/scsi/lpfc/lpfc_scsi.c 	lpfc_release_scsi_buf(phba, lpfc_cmd);
phba             4695 drivers/scsi/lpfc/lpfc_scsi.c 	lpfc_release_scsi_buf(phba, lpfc_cmd);
phba             4718 drivers/scsi/lpfc/lpfc_scsi.c 	struct lpfc_hba   *phba = vport->phba;
phba             4737 drivers/scsi/lpfc/lpfc_scsi.c 	spin_lock_irqsave(&phba->hbalock, flags);
phba             4739 drivers/scsi/lpfc/lpfc_scsi.c 	if (phba->hba_flag & HBA_IOQ_FLUSH) {
phba             4759 drivers/scsi/lpfc/lpfc_scsi.c 	if (phba->sli_rev == LPFC_SLI_REV4) {
phba             4760 drivers/scsi/lpfc/lpfc_scsi.c 		pring_s4 = phba->sli4_hba.hdwq[iocb->hba_wqidx].io_wq->pring;
phba             4794 drivers/scsi/lpfc/lpfc_scsi.c 		if (phba->sli_rev == LPFC_SLI_REV4)
phba             4797 drivers/scsi/lpfc/lpfc_scsi.c 		spin_unlock_irqrestore(&phba->hbalock, flags);
phba             4801 drivers/scsi/lpfc/lpfc_scsi.c 	abtsiocb = __lpfc_sli_get_iocbq(phba);
phba             4820 drivers/scsi/lpfc/lpfc_scsi.c 	if (phba->sli_rev == LPFC_SLI_REV4)
phba             4834 drivers/scsi/lpfc/lpfc_scsi.c 	if (lpfc_is_link_up(phba))
phba             4842 drivers/scsi/lpfc/lpfc_scsi.c 	if (phba->sli_rev == LPFC_SLI_REV4) {
phba             4844 drivers/scsi/lpfc/lpfc_scsi.c 		ret_val = __lpfc_sli_issue_iocb(phba, pring_s4->ringno,
phba             4848 drivers/scsi/lpfc/lpfc_scsi.c 		ret_val = __lpfc_sli_issue_iocb(phba, LPFC_FCP_RING,
phba             4857 drivers/scsi/lpfc/lpfc_scsi.c 		spin_unlock_irqrestore(&phba->hbalock, flags);
phba             4858 drivers/scsi/lpfc/lpfc_scsi.c 		lpfc_sli_release_iocbq(phba, abtsiocb);
phba             4865 drivers/scsi/lpfc/lpfc_scsi.c 	spin_unlock_irqrestore(&phba->hbalock, flags);
phba             4867 drivers/scsi/lpfc/lpfc_scsi.c 	if (phba->cfg_poll & DISABLE_FCP_RING_INT)
phba             4868 drivers/scsi/lpfc/lpfc_scsi.c 		lpfc_sli_handle_fast_ring_event(phba,
phba             4869 drivers/scsi/lpfc/lpfc_scsi.c 			&phba->sli.sli3_ring[LPFC_FCP_RING], HA_R0RE_REQ);
phba             4895 drivers/scsi/lpfc/lpfc_scsi.c 	if (phba->sli_rev == LPFC_SLI_REV4)
phba             4900 drivers/scsi/lpfc/lpfc_scsi.c 	spin_unlock_irqrestore(&phba->hbalock, flags);
phba             5024 drivers/scsi/lpfc/lpfc_scsi.c 	struct lpfc_hba   *phba = vport->phba;
phba             5038 drivers/scsi/lpfc/lpfc_scsi.c 	lpfc_cmd = lpfc_get_scsi_buf(phba, pnode, NULL);
phba             5041 drivers/scsi/lpfc/lpfc_scsi.c 	lpfc_cmd->timeout = phba->cfg_task_mgmt_tmo;
phba             5049 drivers/scsi/lpfc/lpfc_scsi.c 		lpfc_release_scsi_buf(phba, lpfc_cmd);
phba             5054 drivers/scsi/lpfc/lpfc_scsi.c 	iocbqrsp = lpfc_sli_get_iocbq(phba);
phba             5056 drivers/scsi/lpfc/lpfc_scsi.c 		lpfc_release_scsi_buf(phba, lpfc_cmd);
phba             5068 drivers/scsi/lpfc/lpfc_scsi.c 	status = lpfc_sli_issue_iocb_wait(phba, LPFC_FCP_RING,
phba             5098 drivers/scsi/lpfc/lpfc_scsi.c 	lpfc_sli_release_iocbq(phba, iocbqrsp);
phba             5101 drivers/scsi/lpfc/lpfc_scsi.c 		lpfc_release_scsi_buf(phba, lpfc_cmd);
phba             5174 drivers/scsi/lpfc/lpfc_scsi.c 	struct lpfc_hba   *phba = vport->phba;
phba             5181 drivers/scsi/lpfc/lpfc_scsi.c 					&phba->sli.sli3_ring[LPFC_FCP_RING],
phba             5395 drivers/scsi/lpfc/lpfc_scsi.c 			if (vport->phba->cfg_fcp2_no_tgt_reset &&
phba             5457 drivers/scsi/lpfc/lpfc_scsi.c 	struct lpfc_hba *phba = vport->phba;
phba             5463 drivers/scsi/lpfc/lpfc_scsi.c 	lpfc_offline_prep(phba, LPFC_MBX_WAIT);
phba             5464 drivers/scsi/lpfc/lpfc_scsi.c 	lpfc_offline(phba);
phba             5465 drivers/scsi/lpfc/lpfc_scsi.c 	rc = lpfc_sli_brdrestart(phba);
phba             5469 drivers/scsi/lpfc/lpfc_scsi.c 	rc = lpfc_online(phba);
phba             5473 drivers/scsi/lpfc/lpfc_scsi.c 	lpfc_unblock_mgmt_io(phba);
phba             5479 drivers/scsi/lpfc/lpfc_scsi.c 	lpfc_unblock_mgmt_io(phba);
phba             5500 drivers/scsi/lpfc/lpfc_scsi.c 	struct lpfc_hba   *phba = vport->phba;
phba             5513 drivers/scsi/lpfc/lpfc_scsi.c 	if (phba->cfg_fof) {
phba             5521 drivers/scsi/lpfc/lpfc_scsi.c 		spin_lock_irqsave(&phba->devicelock, flags);
phba             5522 drivers/scsi/lpfc/lpfc_scsi.c 		device_data = __lpfc_get_device_data(phba,
phba             5523 drivers/scsi/lpfc/lpfc_scsi.c 						     &phba->luns,
phba             5528 drivers/scsi/lpfc/lpfc_scsi.c 			spin_unlock_irqrestore(&phba->devicelock, flags);
phba             5529 drivers/scsi/lpfc/lpfc_scsi.c 			device_data = lpfc_create_device_data(phba,
phba             5533 drivers/scsi/lpfc/lpfc_scsi.c 							phba->cfg_XLanePriority,
phba             5537 drivers/scsi/lpfc/lpfc_scsi.c 			spin_lock_irqsave(&phba->devicelock, flags);
phba             5538 drivers/scsi/lpfc/lpfc_scsi.c 			list_add_tail(&device_data->listentry, &phba->luns);
phba             5542 drivers/scsi/lpfc/lpfc_scsi.c 		spin_unlock_irqrestore(&phba->devicelock, flags);
phba             5547 drivers/scsi/lpfc/lpfc_scsi.c 	sdev_cnt = atomic_inc_return(&phba->sdev_cnt);
phba             5550 drivers/scsi/lpfc/lpfc_scsi.c 	if (phba->sli_rev == LPFC_SLI_REV4)
phba             5562 drivers/scsi/lpfc/lpfc_scsi.c 	total = phba->total_scsi_bufs;
phba             5570 drivers/scsi/lpfc/lpfc_scsi.c 	if (total >= phba->cfg_hba_queue_depth - LPFC_DISC_IOCB_BUFF_COUNT ) {
phba             5577 drivers/scsi/lpfc/lpfc_scsi.c 		phba->cfg_hba_queue_depth - LPFC_DISC_IOCB_BUFF_COUNT ) {
phba             5582 drivers/scsi/lpfc/lpfc_scsi.c 				 num_to_alloc, phba->cfg_hba_queue_depth,
phba             5583 drivers/scsi/lpfc/lpfc_scsi.c 				 (phba->cfg_hba_queue_depth - total));
phba             5584 drivers/scsi/lpfc/lpfc_scsi.c 		num_to_alloc = phba->cfg_hba_queue_depth - total;
phba             5595 drivers/scsi/lpfc/lpfc_scsi.c 		phba->total_scsi_bufs += num_allocated;
phba             5614 drivers/scsi/lpfc/lpfc_scsi.c 	struct lpfc_hba   *phba = vport->phba;
phba             5618 drivers/scsi/lpfc/lpfc_scsi.c 	if (phba->cfg_poll & ENABLE_FCP_RING_POLLING) {
phba             5619 drivers/scsi/lpfc/lpfc_scsi.c 		lpfc_sli_handle_fast_ring_event(phba,
phba             5620 drivers/scsi/lpfc/lpfc_scsi.c 			&phba->sli.sli3_ring[LPFC_FCP_RING], HA_R0RE_REQ);
phba             5621 drivers/scsi/lpfc/lpfc_scsi.c 		if (phba->cfg_poll & DISABLE_FCP_RING_INT)
phba             5622 drivers/scsi/lpfc/lpfc_scsi.c 			lpfc_poll_rearm_timer(phba);
phba             5638 drivers/scsi/lpfc/lpfc_scsi.c 	struct lpfc_hba   *phba = vport->phba;
phba             5642 drivers/scsi/lpfc/lpfc_scsi.c 	atomic_dec(&phba->sdev_cnt);
phba             5643 drivers/scsi/lpfc/lpfc_scsi.c 	if ((phba->cfg_fof) && (device_data)) {
phba             5644 drivers/scsi/lpfc/lpfc_scsi.c 		spin_lock_irqsave(&phba->devicelock, flags);
phba             5647 drivers/scsi/lpfc/lpfc_scsi.c 			lpfc_delete_device_data(phba, device_data);
phba             5648 drivers/scsi/lpfc/lpfc_scsi.c 		spin_unlock_irqrestore(&phba->devicelock, flags);
phba             5673 drivers/scsi/lpfc/lpfc_scsi.c lpfc_create_device_data(struct lpfc_hba *phba, struct lpfc_name *vport_wwpn,
phba             5681 drivers/scsi/lpfc/lpfc_scsi.c 	if (unlikely(!phba) || !vport_wwpn || !target_wwpn  ||
phba             5682 drivers/scsi/lpfc/lpfc_scsi.c 	    !(phba->cfg_fof))
phba             5691 drivers/scsi/lpfc/lpfc_scsi.c 	lun_info = mempool_alloc(phba->device_data_mem_pool, memory_flags);
phba             5716 drivers/scsi/lpfc/lpfc_scsi.c lpfc_delete_device_data(struct lpfc_hba *phba,
phba             5720 drivers/scsi/lpfc/lpfc_scsi.c 	if (unlikely(!phba) || !lun_info  ||
phba             5721 drivers/scsi/lpfc/lpfc_scsi.c 	    !(phba->cfg_fof))
phba             5726 drivers/scsi/lpfc/lpfc_scsi.c 	mempool_free(lun_info, phba->device_data_mem_pool);
phba             5747 drivers/scsi/lpfc/lpfc_scsi.c __lpfc_get_device_data(struct lpfc_hba *phba, struct list_head *list,
phba             5754 drivers/scsi/lpfc/lpfc_scsi.c 	if (unlikely(!phba) || !list || !vport_wwpn || !target_wwpn ||
phba             5755 drivers/scsi/lpfc/lpfc_scsi.c 	    !phba->cfg_fof)
phba             5799 drivers/scsi/lpfc/lpfc_scsi.c lpfc_find_next_oas_lun(struct lpfc_hba *phba, struct lpfc_name *vport_wwpn,
phba             5814 drivers/scsi/lpfc/lpfc_scsi.c 	if (unlikely(!phba) || !vport_wwpn || !target_wwpn ||
phba             5818 drivers/scsi/lpfc/lpfc_scsi.c 	    !phba->cfg_fof)
phba             5827 drivers/scsi/lpfc/lpfc_scsi.c 	spin_lock_irqsave(&phba->devicelock, flags);
phba             5828 drivers/scsi/lpfc/lpfc_scsi.c 	list_for_each_entry(lun_info, &phba->luns, listentry) {
phba             5853 drivers/scsi/lpfc/lpfc_scsi.c 				if (phba->cfg_oas_flags & OAS_FIND_ANY_VPORT)
phba             5856 drivers/scsi/lpfc/lpfc_scsi.c 				if (phba->cfg_oas_flags & OAS_FIND_ANY_TARGET)
phba             5870 drivers/scsi/lpfc/lpfc_scsi.c 	spin_unlock_irqrestore(&phba->devicelock, flags);
phba             5895 drivers/scsi/lpfc/lpfc_scsi.c lpfc_enable_oas_lun(struct lpfc_hba *phba, struct lpfc_name *vport_wwpn,
phba             5902 drivers/scsi/lpfc/lpfc_scsi.c 	if (unlikely(!phba) || !vport_wwpn || !target_wwpn ||
phba             5903 drivers/scsi/lpfc/lpfc_scsi.c 	    !phba->cfg_fof)
phba             5906 drivers/scsi/lpfc/lpfc_scsi.c 	spin_lock_irqsave(&phba->devicelock, flags);
phba             5909 drivers/scsi/lpfc/lpfc_scsi.c 	lun_info = __lpfc_get_device_data(phba, &phba->luns, vport_wwpn,
phba             5915 drivers/scsi/lpfc/lpfc_scsi.c 		spin_unlock_irqrestore(&phba->devicelock, flags);
phba             5920 drivers/scsi/lpfc/lpfc_scsi.c 	lun_info = lpfc_create_device_data(phba, vport_wwpn, target_wwpn, lun,
phba             5926 drivers/scsi/lpfc/lpfc_scsi.c 		list_add_tail(&lun_info->listentry, &phba->luns);
phba             5927 drivers/scsi/lpfc/lpfc_scsi.c 		spin_unlock_irqrestore(&phba->devicelock, flags);
phba             5930 drivers/scsi/lpfc/lpfc_scsi.c 	spin_unlock_irqrestore(&phba->devicelock, flags);
phba             5954 drivers/scsi/lpfc/lpfc_scsi.c lpfc_disable_oas_lun(struct lpfc_hba *phba, struct lpfc_name *vport_wwpn,
phba             5961 drivers/scsi/lpfc/lpfc_scsi.c 	if (unlikely(!phba) || !vport_wwpn || !target_wwpn ||
phba             5962 drivers/scsi/lpfc/lpfc_scsi.c 	    !phba->cfg_fof)
phba             5965 drivers/scsi/lpfc/lpfc_scsi.c 	spin_lock_irqsave(&phba->devicelock, flags);
phba             5968 drivers/scsi/lpfc/lpfc_scsi.c 	lun_info = __lpfc_get_device_data(phba,
phba             5969 drivers/scsi/lpfc/lpfc_scsi.c 					  &phba->luns, vport_wwpn,
phba             5975 drivers/scsi/lpfc/lpfc_scsi.c 			lpfc_delete_device_data(phba, lun_info);
phba             5976 drivers/scsi/lpfc/lpfc_scsi.c 		spin_unlock_irqrestore(&phba->devicelock, flags);
phba             5980 drivers/scsi/lpfc/lpfc_scsi.c 	spin_unlock_irqrestore(&phba->devicelock, flags);
phba               81 drivers/scsi/lpfc/lpfc_sli.c static bool lpfc_sli4_fp_handle_cqe(struct lpfc_hba *phba,
phba               85 drivers/scsi/lpfc/lpfc_sli.c static void lpfc_sli4_hba_handle_eqe(struct lpfc_hba *phba,
phba               88 drivers/scsi/lpfc/lpfc_sli.c static bool lpfc_sli4_mbox_completions_pending(struct lpfc_hba *phba);
phba               89 drivers/scsi/lpfc/lpfc_sli.c static bool lpfc_sli4_process_missed_mbox_completions(struct lpfc_hba *phba);
phba              165 drivers/scsi/lpfc/lpfc_sli.c 	if (q->phba->sli3_options & LPFC_SLI4_PHWQ_ENABLED)
phba              168 drivers/scsi/lpfc/lpfc_sli.c 	if (q->dpp_enable && q->phba->cfg_enable_dpp) {
phba              192 drivers/scsi/lpfc/lpfc_sli.c 		if (q->dpp_enable && q->phba->cfg_enable_dpp) {
phba              205 drivers/scsi/lpfc/lpfc_sli.c 					 &q->phba->sli4_hba.sli_intf);
phba              278 drivers/scsi/lpfc/lpfc_sli.c 	q->phba->mbox = (MAILBOX_t *)temp_mqe;
phba              287 drivers/scsi/lpfc/lpfc_sli.c 	writel(doorbell.word0, q->phba->sli4_hba.MQDBregaddr);
phba              309 drivers/scsi/lpfc/lpfc_sli.c 	q->phba->mbox = NULL;
phba              366 drivers/scsi/lpfc/lpfc_sli.c 	writel(doorbell.word0, q->phba->sli4_hba.EQDBregaddr);
phba              381 drivers/scsi/lpfc/lpfc_sli.c 	writel(doorbell.word0, q->phba->sli4_hba.EQDBregaddr);
phba              396 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_write_eq_db(struct lpfc_hba *phba, struct lpfc_queue *q,
phba              416 drivers/scsi/lpfc/lpfc_sli.c 	writel(doorbell.word0, q->phba->sli4_hba.EQDBregaddr);
phba              418 drivers/scsi/lpfc/lpfc_sli.c 	if ((q->phba->intr_type == INTx) && (arm == LPFC_QUEUE_REARM))
phba              419 drivers/scsi/lpfc/lpfc_sli.c 		readl(q->phba->sli4_hba.EQDBregaddr);
phba              434 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_if6_write_eq_db(struct lpfc_hba *phba, struct lpfc_queue *q,
phba              449 drivers/scsi/lpfc/lpfc_sli.c 	writel(doorbell.word0, q->phba->sli4_hba.EQDBregaddr);
phba              451 drivers/scsi/lpfc/lpfc_sli.c 	if ((q->phba->intr_type == INTx) && (arm == LPFC_QUEUE_REARM))
phba              452 drivers/scsi/lpfc/lpfc_sli.c 		readl(q->phba->sli4_hba.EQDBregaddr);
phba              456 drivers/scsi/lpfc/lpfc_sli.c __lpfc_sli4_consume_eqe(struct lpfc_hba *phba, struct lpfc_queue *eq,
phba              459 drivers/scsi/lpfc/lpfc_sli.c 	if (!phba->sli4_hba.pc_sli4_params.eqav)
phba              465 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->sli4_hba.pc_sli4_params.eqav && !eq->host_index)
phba              470 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_eq_flush(struct lpfc_hba *phba, struct lpfc_queue *eq)
phba              478 drivers/scsi/lpfc/lpfc_sli.c 		__lpfc_sli4_consume_eqe(phba, eq, eqe);
phba              484 drivers/scsi/lpfc/lpfc_sli.c 	phba->sli4_hba.sli4_write_eq_db(phba, eq, count, LPFC_QUEUE_REARM);
phba              488 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_process_eq(struct lpfc_hba *phba, struct lpfc_queue *eq,
phba              499 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli4_hba_handle_eqe(phba, eq, eqe);
phba              500 drivers/scsi/lpfc/lpfc_sli.c 		__lpfc_sli4_consume_eqe(phba, eq, eqe);
phba              507 drivers/scsi/lpfc/lpfc_sli.c 			phba->sli4_hba.sli4_write_eq_db(phba, eq, consumed,
phba              524 drivers/scsi/lpfc/lpfc_sli.c 	phba->sli4_hba.sli4_write_eq_db(phba, eq, consumed, rearm);
phba              565 drivers/scsi/lpfc/lpfc_sli.c __lpfc_sli4_consume_cqe(struct lpfc_hba *phba, struct lpfc_queue *cq,
phba              568 drivers/scsi/lpfc/lpfc_sli.c 	if (!phba->sli4_hba.pc_sli4_params.cqav)
phba              574 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->sli4_hba.pc_sli4_params.cqav && !cq->host_index)
phba              590 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_write_cq_db(struct lpfc_hba *phba, struct lpfc_queue *q,
phba              608 drivers/scsi/lpfc/lpfc_sli.c 	writel(doorbell.word0, q->phba->sli4_hba.CQDBregaddr);
phba              623 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_if6_write_cq_db(struct lpfc_hba *phba, struct lpfc_queue *q,
phba              638 drivers/scsi/lpfc/lpfc_sli.c 	writel(doorbell.word0, q->phba->sli4_hba.CQDBregaddr);
phba              742 drivers/scsi/lpfc/lpfc_sli.c lpfc_cmd_iocb(struct lpfc_hba *phba, struct lpfc_sli_ring *pring)
phba              745 drivers/scsi/lpfc/lpfc_sli.c 			   pring->sli.sli3.cmdidx * phba->iocb_cmd_size);
phba              759 drivers/scsi/lpfc/lpfc_sli.c lpfc_resp_iocb(struct lpfc_hba *phba, struct lpfc_sli_ring *pring)
phba              762 drivers/scsi/lpfc/lpfc_sli.c 			   pring->sli.sli3.rspidx * phba->iocb_rsp_size);
phba              775 drivers/scsi/lpfc/lpfc_sli.c __lpfc_sli_get_iocbq(struct lpfc_hba *phba)
phba              777 drivers/scsi/lpfc/lpfc_sli.c 	struct list_head *lpfc_iocb_list = &phba->lpfc_iocb_list;
phba              780 drivers/scsi/lpfc/lpfc_sli.c 	lockdep_assert_held(&phba->hbalock);
phba              784 drivers/scsi/lpfc/lpfc_sli.c 		phba->iocb_cnt++;
phba              785 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->iocb_cnt > phba->iocb_max)
phba              786 drivers/scsi/lpfc/lpfc_sli.c 		phba->iocb_max = phba->iocb_cnt;
phba              803 drivers/scsi/lpfc/lpfc_sli.c __lpfc_clear_active_sglq(struct lpfc_hba *phba, uint16_t xritag)
phba              807 drivers/scsi/lpfc/lpfc_sli.c 	sglq = phba->sli4_hba.lpfc_sglq_active_list[xritag];
phba              808 drivers/scsi/lpfc/lpfc_sli.c 	phba->sli4_hba.lpfc_sglq_active_list[xritag] = NULL;
phba              825 drivers/scsi/lpfc/lpfc_sli.c __lpfc_get_active_sglq(struct lpfc_hba *phba, uint16_t xritag)
phba              829 drivers/scsi/lpfc/lpfc_sli.c 	sglq =  phba->sli4_hba.lpfc_sglq_active_list[xritag];
phba              841 drivers/scsi/lpfc/lpfc_sli.c lpfc_clr_rrq_active(struct lpfc_hba *phba,
phba              866 drivers/scsi/lpfc/lpfc_sli.c 	mempool_free(rrq, phba->rrq_pool);
phba              884 drivers/scsi/lpfc/lpfc_sli.c lpfc_handle_rrq_active(struct lpfc_hba *phba)
phba              892 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irqsave(&phba->hbalock, iflags);
phba              893 drivers/scsi/lpfc/lpfc_sli.c 	phba->hba_flag &= ~HBA_RRQ_ACTIVE;
phba              894 drivers/scsi/lpfc/lpfc_sli.c 	next_time = jiffies + msecs_to_jiffies(1000 * (phba->fc_ratov + 1));
phba              896 drivers/scsi/lpfc/lpfc_sli.c 				 &phba->active_rrq_list, list) {
phba              902 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irqrestore(&phba->hbalock, iflags);
phba              903 drivers/scsi/lpfc/lpfc_sli.c 	if ((!list_empty(&phba->active_rrq_list)) &&
phba              904 drivers/scsi/lpfc/lpfc_sli.c 	    (!(phba->pport->load_flag & FC_UNLOADING)))
phba              905 drivers/scsi/lpfc/lpfc_sli.c 		mod_timer(&phba->rrq_tmr, next_time);
phba              910 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_clr_rrq_active(phba, rrq->xritag, rrq);
phba              911 drivers/scsi/lpfc/lpfc_sli.c 		} else if (lpfc_send_rrq(phba, rrq)) {
phba              915 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_clr_rrq_active(phba, rrq->xritag,
phba              933 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_hba *phba = vport->phba;
phba              938 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->sli_rev != LPFC_SLI_REV4)
phba              940 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irqsave(&phba->hbalock, iflags);
phba              941 drivers/scsi/lpfc/lpfc_sli.c 	list_for_each_entry_safe(rrq, nextrrq, &phba->active_rrq_list, list) {
phba              945 drivers/scsi/lpfc/lpfc_sli.c 			spin_unlock_irqrestore(&phba->hbalock, iflags);
phba              949 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irqrestore(&phba->hbalock, iflags);
phba              965 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_hba *phba = vport->phba;
phba              971 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->sli_rev != LPFC_SLI_REV4)
phba              977 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irqsave(&phba->hbalock, iflags);
phba              978 drivers/scsi/lpfc/lpfc_sli.c 	list_for_each_entry_safe(rrq, nextrrq, &phba->active_rrq_list, list)
phba              981 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irqrestore(&phba->hbalock, iflags);
phba              985 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_clr_rrq_active(phba, rrq->xritag, rrq);
phba             1000 drivers/scsi/lpfc/lpfc_sli.c lpfc_test_rrq_active(struct lpfc_hba *phba, struct lpfc_nodelist *ndlp,
phba             1029 drivers/scsi/lpfc/lpfc_sli.c lpfc_set_rrq_active(struct lpfc_hba *phba, struct lpfc_nodelist *ndlp,
phba             1039 drivers/scsi/lpfc/lpfc_sli.c 	if (!phba->cfg_enable_rrq)
phba             1042 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irqsave(&phba->hbalock, iflags);
phba             1043 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->pport->load_flag & FC_UNLOADING) {
phba             1044 drivers/scsi/lpfc/lpfc_sli.c 		phba->hba_flag &= ~HBA_RRQ_ACTIVE;
phba             1063 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             1064 drivers/scsi/lpfc/lpfc_sli.c 	rrq = mempool_alloc(phba->rrq_pool, GFP_KERNEL);
phba             1066 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_INFO, LOG_SLI,
phba             1072 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->cfg_enable_rrq == 1)
phba             1078 drivers/scsi/lpfc/lpfc_sli.c 				msecs_to_jiffies(1000 * (phba->fc_ratov + 1));
phba             1083 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irqsave(&phba->hbalock, iflags);
phba             1084 drivers/scsi/lpfc/lpfc_sli.c 	empty = list_empty(&phba->active_rrq_list);
phba             1085 drivers/scsi/lpfc/lpfc_sli.c 	list_add_tail(&rrq->list, &phba->active_rrq_list);
phba             1086 drivers/scsi/lpfc/lpfc_sli.c 	phba->hba_flag |= HBA_RRQ_ACTIVE;
phba             1088 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_worker_wake_up(phba);
phba             1089 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             1092 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             1093 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_printf_log(phba, KERN_INFO, LOG_SLI,
phba             1112 drivers/scsi/lpfc/lpfc_sli.c __lpfc_sli_get_els_sglq(struct lpfc_hba *phba, struct lpfc_iocbq *piocbq)
phba             1114 drivers/scsi/lpfc/lpfc_sli.c 	struct list_head *lpfc_els_sgl_list = &phba->sli4_hba.lpfc_els_sgl_list;
phba             1123 drivers/scsi/lpfc/lpfc_sli.c 		pring =  phba->sli4_hba.nvmels_wq->pring;
phba             1125 drivers/scsi/lpfc/lpfc_sli.c 		pring = lpfc_phba_elsring(phba);
phba             1144 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock(&phba->sli4_hba.sgl_list_lock);
phba             1169 drivers/scsi/lpfc/lpfc_sli.c 		phba->sli4_hba.lpfc_sglq_active_list[sglq->sli4_lxritag] = sglq;
phba             1172 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock(&phba->sli4_hba.sgl_list_lock);
phba             1187 drivers/scsi/lpfc/lpfc_sli.c __lpfc_sli_get_nvmet_sglq(struct lpfc_hba *phba, struct lpfc_iocbq *piocbq)
phba             1192 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_nvmet_sgl_list = &phba->sli4_hba.lpfc_nvmet_sgl_list;
phba             1194 drivers/scsi/lpfc/lpfc_sli.c 	lockdep_assert_held(&phba->sli4_hba.sgl_list_lock);
phba             1199 drivers/scsi/lpfc/lpfc_sli.c 	phba->sli4_hba.lpfc_sglq_active_list[sglq->sli4_lxritag] = sglq;
phba             1214 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_get_iocbq(struct lpfc_hba *phba)
phba             1219 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irqsave(&phba->hbalock, iflags);
phba             1220 drivers/scsi/lpfc/lpfc_sli.c 	iocbq = __lpfc_sli_get_iocbq(phba);
phba             1221 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             1244 drivers/scsi/lpfc/lpfc_sli.c __lpfc_sli_release_iocbq_s4(struct lpfc_hba *phba, struct lpfc_iocbq *iocbq)
phba             1251 drivers/scsi/lpfc/lpfc_sli.c 	lockdep_assert_held(&phba->hbalock);
phba             1256 drivers/scsi/lpfc/lpfc_sli.c 		sglq = __lpfc_clear_active_sglq(phba, iocbq->sli4_lxritag);
phba             1261 drivers/scsi/lpfc/lpfc_sli.c 			spin_lock_irqsave(&phba->sli4_hba.sgl_list_lock,
phba             1266 drivers/scsi/lpfc/lpfc_sli.c 				      &phba->sli4_hba.lpfc_nvmet_sgl_list);
phba             1268 drivers/scsi/lpfc/lpfc_sli.c 				&phba->sli4_hba.sgl_list_lock, iflag);
phba             1272 drivers/scsi/lpfc/lpfc_sli.c 		pring = phba->sli4_hba.els_wq->pring;
phba             1275 drivers/scsi/lpfc/lpfc_sli.c 			spin_lock_irqsave(&phba->sli4_hba.sgl_list_lock,
phba             1278 drivers/scsi/lpfc/lpfc_sli.c 				 &phba->sli4_hba.lpfc_abts_els_sgl_list);
phba             1280 drivers/scsi/lpfc/lpfc_sli.c 				&phba->sli4_hba.sgl_list_lock, iflag);
phba             1282 drivers/scsi/lpfc/lpfc_sli.c 			spin_lock_irqsave(&phba->sli4_hba.sgl_list_lock,
phba             1287 drivers/scsi/lpfc/lpfc_sli.c 				      &phba->sli4_hba.lpfc_els_sgl_list);
phba             1289 drivers/scsi/lpfc/lpfc_sli.c 				&phba->sli4_hba.sgl_list_lock, iflag);
phba             1293 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_worker_wake_up(phba);
phba             1306 drivers/scsi/lpfc/lpfc_sli.c 	list_add_tail(&iocbq->list, &phba->lpfc_iocb_list);
phba             1321 drivers/scsi/lpfc/lpfc_sli.c __lpfc_sli_release_iocbq_s3(struct lpfc_hba *phba, struct lpfc_iocbq *iocbq)
phba             1325 drivers/scsi/lpfc/lpfc_sli.c 	lockdep_assert_held(&phba->hbalock);
phba             1332 drivers/scsi/lpfc/lpfc_sli.c 	list_add_tail(&iocbq->list, &phba->lpfc_iocb_list);
phba             1346 drivers/scsi/lpfc/lpfc_sli.c __lpfc_sli_release_iocbq(struct lpfc_hba *phba, struct lpfc_iocbq *iocbq)
phba             1348 drivers/scsi/lpfc/lpfc_sli.c 	lockdep_assert_held(&phba->hbalock);
phba             1350 drivers/scsi/lpfc/lpfc_sli.c 	phba->__lpfc_sli_release_iocbq(phba, iocbq);
phba             1351 drivers/scsi/lpfc/lpfc_sli.c 	phba->iocb_cnt--;
phba             1363 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_release_iocbq(struct lpfc_hba *phba, struct lpfc_iocbq *iocbq)
phba             1370 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irqsave(&phba->hbalock, iflags);
phba             1371 drivers/scsi/lpfc/lpfc_sli.c 	__lpfc_sli_release_iocbq(phba, iocbq);
phba             1372 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             1388 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_cancel_iocbs(struct lpfc_hba *phba, struct list_head *iocblist,
phba             1397 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_nvme_cancel_iocb(phba, piocb);
phba             1399 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_sli_release_iocbq(phba, piocb);
phba             1403 drivers/scsi/lpfc/lpfc_sli.c 			(piocb->iocb_cmpl) (phba, piocb, piocb);
phba             1536 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_ring_map(struct lpfc_hba *phba)
phba             1538 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_sli *psli = &phba->sli;
phba             1543 drivers/scsi/lpfc/lpfc_sli.c 	pmb = (LPFC_MBOXQ_t *) mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             1547 drivers/scsi/lpfc/lpfc_sli.c 	phba->link_state = LPFC_INIT_MBX_CMDS;
phba             1549 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_config_ring(phba, i, pmb);
phba             1550 drivers/scsi/lpfc/lpfc_sli.c 		rc = lpfc_sli_issue_mbox(phba, pmb, MBX_POLL);
phba             1552 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             1558 drivers/scsi/lpfc/lpfc_sli.c 			phba->link_state = LPFC_HBA_ERROR;
phba             1563 drivers/scsi/lpfc/lpfc_sli.c 	mempool_free(pmb, phba->mbox_mem_pool);
phba             1581 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_ringtxcmpl_put(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
phba             1584 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->sli_rev == LPFC_SLI_REV4)
phba             1587 drivers/scsi/lpfc/lpfc_sli.c 		lockdep_assert_held(&phba->hbalock);
phba             1602 drivers/scsi/lpfc/lpfc_sli.c 				  msecs_to_jiffies(1000 * (phba->fc_ratov << 1)));
phba             1619 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_ringtx_get(struct lpfc_hba *phba, struct lpfc_sli_ring *pring)
phba             1623 drivers/scsi/lpfc/lpfc_sli.c 	lockdep_assert_held(&phba->hbalock);
phba             1644 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_next_iocb_slot (struct lpfc_hba *phba, struct lpfc_sli_ring *pring)
phba             1646 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_pgp *pgp = &phba->port_gp[pring->ringno];
phba             1649 drivers/scsi/lpfc/lpfc_sli.c 	lockdep_assert_held(&phba->hbalock);
phba             1661 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             1668 drivers/scsi/lpfc/lpfc_sli.c 			phba->link_state = LPFC_HBA_ERROR;
phba             1673 drivers/scsi/lpfc/lpfc_sli.c 			phba->work_ha |= HA_ERATT;
phba             1674 drivers/scsi/lpfc/lpfc_sli.c 			phba->work_hs = HS_FFER3;
phba             1676 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_worker_wake_up(phba);
phba             1685 drivers/scsi/lpfc/lpfc_sli.c 	return lpfc_cmd_iocb(phba, pring);
phba             1701 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_next_iotag(struct lpfc_hba *phba, struct lpfc_iocbq *iocbq)
phba             1706 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_sli *psli = &phba->sli;
phba             1709 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irq(&phba->hbalock);
phba             1714 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irq(&phba->hbalock);
phba             1720 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irq(&phba->hbalock);
phba             1724 drivers/scsi/lpfc/lpfc_sli.c 			spin_lock_irq(&phba->hbalock);
phba             1733 drivers/scsi/lpfc/lpfc_sli.c 					spin_unlock_irq(&phba->hbalock);
phba             1737 drivers/scsi/lpfc/lpfc_sli.c 				spin_unlock_irq(&phba->hbalock);
phba             1748 drivers/scsi/lpfc/lpfc_sli.c 			spin_unlock_irq(&phba->hbalock);
phba             1754 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irq(&phba->hbalock);
phba             1756 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_printf_log(phba, KERN_WARNING, LOG_SLI,
phba             1778 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_submit_iocb(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
phba             1781 drivers/scsi/lpfc/lpfc_sli.c 	lockdep_assert_held(&phba->hbalock);
phba             1789 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_debugfs_slow_ring_trc(phba,
phba             1799 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli_pcimem_bcopy(&nextiocb->iocb, iocb, phba->iocb_cmd_size);
phba             1809 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli_ringtxcmpl_put(phba, pring, nextiocb);
phba             1811 drivers/scsi/lpfc/lpfc_sli.c 		__lpfc_sli_release_iocbq(phba, nextiocb);
phba             1818 drivers/scsi/lpfc/lpfc_sli.c 	writel(pring->sli.sli3.cmdidx, &phba->host_gp[pring->ringno].cmdPutInx);
phba             1834 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_update_full_ring(struct lpfc_hba *phba, struct lpfc_sli_ring *pring)
phba             1846 drivers/scsi/lpfc/lpfc_sli.c 	writel((CA_R0ATT|CA_R0CE_REQ) << (ringno*4), phba->CAregaddr);
phba             1847 drivers/scsi/lpfc/lpfc_sli.c 	readl(phba->CAregaddr); /* flush */
phba             1862 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_update_ring(struct lpfc_hba *phba, struct lpfc_sli_ring *pring)
phba             1869 drivers/scsi/lpfc/lpfc_sli.c 	if (!(phba->sli3_options & LPFC_SLI3_CRP_ENABLED)) {
phba             1871 drivers/scsi/lpfc/lpfc_sli.c 		writel(CA_R0ATT << (ringno * 4), phba->CAregaddr);
phba             1872 drivers/scsi/lpfc/lpfc_sli.c 		readl(phba->CAregaddr); /* flush */
phba             1886 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_resume_iocb(struct lpfc_hba *phba, struct lpfc_sli_ring *pring)
phba             1891 drivers/scsi/lpfc/lpfc_sli.c 	lockdep_assert_held(&phba->hbalock);
phba             1901 drivers/scsi/lpfc/lpfc_sli.c 	if (lpfc_is_link_up(phba) &&
phba             1904 drivers/scsi/lpfc/lpfc_sli.c 	     phba->sli.sli_flag & LPFC_PROCESS_LA)) {
phba             1906 drivers/scsi/lpfc/lpfc_sli.c 		while ((iocb = lpfc_sli_next_iocb_slot(phba, pring)) &&
phba             1907 drivers/scsi/lpfc/lpfc_sli.c 		       (nextiocb = lpfc_sli_ringtx_get(phba, pring)))
phba             1908 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_sli_submit_iocb(phba, pring, iocb, nextiocb);
phba             1911 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_sli_update_ring(phba, pring);
phba             1913 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_sli_update_full_ring(phba, pring);
phba             1930 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_next_hbq_slot(struct lpfc_hba *phba, uint32_t hbqno)
phba             1932 drivers/scsi/lpfc/lpfc_sli.c 	struct hbq_s *hbqp = &phba->hbqs[hbqno];
phba             1934 drivers/scsi/lpfc/lpfc_sli.c 	lockdep_assert_held(&phba->hbalock);
phba             1941 drivers/scsi/lpfc/lpfc_sli.c 		uint32_t raw_index = phba->hbq_get[hbqno];
phba             1947 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_ERR,
phba             1954 drivers/scsi/lpfc/lpfc_sli.c 			phba->link_state = LPFC_HBA_ERROR;
phba             1962 drivers/scsi/lpfc/lpfc_sli.c 	return (struct lpfc_hbq_entry *) phba->hbqs[hbqno].hbq_virt +
phba             1976 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_hbqbuf_free_all(struct lpfc_hba *phba)
phba             1985 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irqsave(&phba->hbalock, flags);
phba             1988 drivers/scsi/lpfc/lpfc_sli.c 				&phba->hbqs[i].hbq_buffer_list, list) {
phba             1991 drivers/scsi/lpfc/lpfc_sli.c 			(phba->hbqs[i].hbq_free_buffer)(phba, hbq_buf);
phba             1993 drivers/scsi/lpfc/lpfc_sli.c 		phba->hbqs[i].buffer_count = 0;
phba             1997 drivers/scsi/lpfc/lpfc_sli.c 	phba->hbq_in_use = 0;
phba             1998 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irqrestore(&phba->hbalock, flags);
phba             2014 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_hbq_to_firmware(struct lpfc_hba *phba, uint32_t hbqno,
phba             2017 drivers/scsi/lpfc/lpfc_sli.c 	lockdep_assert_held(&phba->hbalock);
phba             2018 drivers/scsi/lpfc/lpfc_sli.c 	return phba->lpfc_sli_hbq_to_firmware(phba, hbqno, hbq_buf);
phba             2033 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_hbq_to_firmware_s3(struct lpfc_hba *phba, uint32_t hbqno,
phba             2039 drivers/scsi/lpfc/lpfc_sli.c 	lockdep_assert_held(&phba->hbalock);
phba             2041 drivers/scsi/lpfc/lpfc_sli.c 	hbqe = lpfc_sli_next_hbq_slot(phba, hbqno);
phba             2043 drivers/scsi/lpfc/lpfc_sli.c 		struct hbq_s *hbqp = &phba->hbqs[hbqno];
phba             2053 drivers/scsi/lpfc/lpfc_sli.c 		writel(hbqp->hbqPutIdx, phba->hbq_put + hbqno);
phba             2055 drivers/scsi/lpfc/lpfc_sli.c 		readl(phba->hbq_put + hbqno);
phba             2073 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_hbq_to_firmware_s4(struct lpfc_hba *phba, uint32_t hbqno,
phba             2084 drivers/scsi/lpfc/lpfc_sli.c 	hrq = phba->sli4_hba.hdr_rq;
phba             2085 drivers/scsi/lpfc/lpfc_sli.c 	drq = phba->sli4_hba.dat_rq;
phba             2087 drivers/scsi/lpfc/lpfc_sli.c 	lockdep_assert_held(&phba->hbalock);
phba             2096 drivers/scsi/lpfc/lpfc_sli.c 	list_add_tail(&hbq_buf->dbuf.list, &phba->hbqs[hbqno].hbq_buffer_list);
phba             2128 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_hbqbuf_fill_hbqs(struct lpfc_hba *phba, uint32_t hbqno, uint32_t count)
phba             2134 drivers/scsi/lpfc/lpfc_sli.c 	if (!phba->hbqs[hbqno].hbq_alloc_buffer)
phba             2137 drivers/scsi/lpfc/lpfc_sli.c 	if ((phba->hbqs[hbqno].buffer_count + count) >
phba             2140 drivers/scsi/lpfc/lpfc_sli.c 					phba->hbqs[hbqno].buffer_count;
phba             2145 drivers/scsi/lpfc/lpfc_sli.c 		hbq_buffer = (phba->hbqs[hbqno].hbq_alloc_buffer)(phba);
phba             2151 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irqsave(&phba->hbalock, flags);
phba             2152 drivers/scsi/lpfc/lpfc_sli.c 	if (!phba->hbq_in_use)
phba             2157 drivers/scsi/lpfc/lpfc_sli.c 		hbq_buffer->tag = (phba->hbqs[hbqno].buffer_count |
phba             2159 drivers/scsi/lpfc/lpfc_sli.c 		if (!lpfc_sli_hbq_to_firmware(phba, hbqno, hbq_buffer)) {
phba             2160 drivers/scsi/lpfc/lpfc_sli.c 			phba->hbqs[hbqno].buffer_count++;
phba             2163 drivers/scsi/lpfc/lpfc_sli.c 			(phba->hbqs[hbqno].hbq_free_buffer)(phba, hbq_buffer);
phba             2165 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irqrestore(&phba->hbalock, flags);
phba             2168 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irqrestore(&phba->hbalock, flags);
phba             2172 drivers/scsi/lpfc/lpfc_sli.c 		(phba->hbqs[hbqno].hbq_free_buffer)(phba, hbq_buffer);
phba             2187 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_hbqbuf_add_hbqs(struct lpfc_hba *phba, uint32_t qno)
phba             2189 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->sli_rev == LPFC_SLI_REV4)
phba             2192 drivers/scsi/lpfc/lpfc_sli.c 		return lpfc_sli_hbqbuf_fill_hbqs(phba, qno,
phba             2206 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_hbqbuf_init_hbqs(struct lpfc_hba *phba, uint32_t qno)
phba             2208 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->sli_rev == LPFC_SLI_REV4)
phba             2209 drivers/scsi/lpfc/lpfc_sli.c 		return lpfc_sli_hbqbuf_fill_hbqs(phba, qno,
phba             2212 drivers/scsi/lpfc/lpfc_sli.c 		return lpfc_sli_hbqbuf_fill_hbqs(phba, qno,
phba             2244 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_rqbuf_get(struct lpfc_hba *phba, struct lpfc_queue *hrq)
phba             2268 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_hbqbuf_find(struct lpfc_hba *phba, uint32_t tag)
phba             2278 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irq(&phba->hbalock);
phba             2279 drivers/scsi/lpfc/lpfc_sli.c 	list_for_each_entry(d_buf, &phba->hbqs[hbqno].hbq_buffer_list, list) {
phba             2282 drivers/scsi/lpfc/lpfc_sli.c 			spin_unlock_irq(&phba->hbalock);
phba             2286 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irq(&phba->hbalock);
phba             2287 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_printf_log(phba, KERN_ERR, LOG_SLI | LOG_VPORT,
phba             2289 drivers/scsi/lpfc/lpfc_sli.c 			tag, phba->hbqs[tag >> 16].buffer_count);
phba             2303 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_free_hbq(struct lpfc_hba *phba, struct hbq_dmabuf *hbq_buffer)
phba             2309 drivers/scsi/lpfc/lpfc_sli.c 		if (lpfc_sli_hbq_to_firmware(phba, hbqno, hbq_buffer))
phba             2310 drivers/scsi/lpfc/lpfc_sli.c 			(phba->hbqs[hbqno].hbq_free_buffer)(phba, hbq_buffer);
phba             2415 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_wake_mbox_wait(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmboxq)
phba             2425 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irqsave(&phba->hbalock, drvr_flag);
phba             2429 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irqrestore(&phba->hbalock, drvr_flag);
phba             2439 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli4_free_rpi(vport->phba, ndlp->nlp_rpi);
phba             2440 drivers/scsi/lpfc/lpfc_sli.c 		spin_lock_irqsave(&vport->phba->ndlp_lock, iflags);
phba             2443 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irqrestore(&vport->phba->ndlp_lock, iflags);
phba             2459 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_def_mbox_cmpl(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb)
phba             2471 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_mbuf_free(phba, mp->virt, mp->phys);
phba             2479 drivers/scsi/lpfc/lpfc_sli.c 	if (!(phba->pport->load_flag & FC_UNLOADING) &&
phba             2484 drivers/scsi/lpfc/lpfc_sli.c 		if (phba->sli_rev == LPFC_SLI_REV4)
phba             2485 drivers/scsi/lpfc/lpfc_sli.c 			vpi -= phba->sli4_hba.max_cfg_param.vpi_base;
phba             2486 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_unreg_login(phba, vpi, rpi, pmb);
phba             2489 drivers/scsi/lpfc/lpfc_sli.c 		rc = lpfc_sli_issue_mbox(phba, pmb, MBX_NOWAIT);
phba             2495 drivers/scsi/lpfc/lpfc_sli.c 		!(phba->pport->load_flag & FC_UNLOADING) &&
phba             2541 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_MBOX | LOG_SLI,
phba             2546 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli4_mbox_cmd_free(phba, pmb);
phba             2548 drivers/scsi/lpfc/lpfc_sli.c 		mempool_free(pmb, phba->mbox_mem_pool);
phba             2564 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_unreg_rpi_cmpl_clr(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb)
phba             2571 drivers/scsi/lpfc/lpfc_sli.c 		if (phba->sli_rev == LPFC_SLI_REV4 &&
phba             2573 drivers/scsi/lpfc/lpfc_sli.c 		     &phba->sli4_hba.sli_intf) >=
phba             2613 drivers/scsi/lpfc/lpfc_sli.c 	mempool_free(pmb, phba->mbox_mem_pool);
phba             2630 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_handle_mb_event(struct lpfc_hba *phba)
phba             2637 drivers/scsi/lpfc/lpfc_sli.c 	phba->sli.slistat.mbox_event++;
phba             2640 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irq(&phba->hbalock);
phba             2641 drivers/scsi/lpfc/lpfc_sli.c 	list_splice_init(&phba->sli.mboxq_cmpl, &cmplq);
phba             2642 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irq(&phba->hbalock);
phba             2662 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_debugfs_disc_trc(phba->pport,
phba             2677 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_ERR, LOG_MBOX | LOG_SLI,
phba             2682 drivers/scsi/lpfc/lpfc_sli.c 					lpfc_sli_config_mbox_subsys_get(phba,
phba             2684 drivers/scsi/lpfc/lpfc_sli.c 					lpfc_sli_config_mbox_opcode_get(phba,
phba             2686 drivers/scsi/lpfc/lpfc_sli.c 			phba->link_state = LPFC_HBA_ERROR;
phba             2687 drivers/scsi/lpfc/lpfc_sli.c 			phba->work_hs = HS_FFER3;
phba             2688 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_handle_eratt(phba);
phba             2693 drivers/scsi/lpfc/lpfc_sli.c 			phba->sli.slistat.mbox_stat_err++;
phba             2696 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_printf_log(phba, KERN_INFO,
phba             2703 drivers/scsi/lpfc/lpfc_sli.c 					lpfc_sli_config_mbox_subsys_get(phba,
phba             2705 drivers/scsi/lpfc/lpfc_sli.c 					lpfc_sli_config_mbox_opcode_get(phba,
phba             2712 drivers/scsi/lpfc/lpfc_sli.c 				rc = lpfc_sli_issue_mbox(phba, pmb, MBX_NOWAIT);
phba             2719 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_INFO, LOG_MBOX | LOG_SLI,
phba             2725 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_sli_config_mbox_subsys_get(phba, pmb),
phba             2726 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_sli_config_mbox_opcode_get(phba, pmb),
phba             2742 drivers/scsi/lpfc/lpfc_sli.c 			pmb->mbox_cmpl(phba,pmb);
phba             2760 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_get_buff(struct lpfc_hba *phba,
phba             2767 drivers/scsi/lpfc/lpfc_sli.c 		return lpfc_sli_ring_taggedbuf_get(phba, pring, tag);
phba             2768 drivers/scsi/lpfc/lpfc_sli.c 	hbq_entry = lpfc_sli_hbqbuf_find(phba, tag);
phba             2787 drivers/scsi/lpfc/lpfc_sli.c lpfc_complete_unsol_iocb(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
phba             2795 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_nvmet_unsol_ls_event(phba, pring, saveq);
phba             2804 drivers/scsi/lpfc/lpfc_sli.c 			(pring->prt[0].lpfc_sli_rcv_unsol_event) (phba, pring,
phba             2815 drivers/scsi/lpfc/lpfc_sli.c 						(phba, pring, saveq);
phba             2837 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_process_unsol_iocb(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
phba             2850 drivers/scsi/lpfc/lpfc_sli.c 			pring->lpfc_sli_rcv_async_status(phba, pring, saveq);
phba             2852 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba,
phba             2864 drivers/scsi/lpfc/lpfc_sli.c 		(phba->sli3_options & LPFC_SLI3_HBQ_ENABLED)) {
phba             2866 drivers/scsi/lpfc/lpfc_sli.c 			dmzbuf = lpfc_sli_get_buff(phba, pring,
phba             2868 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_in_buf_free(phba, dmzbuf);
phba             2872 drivers/scsi/lpfc/lpfc_sli.c 			dmzbuf = lpfc_sli_get_buff(phba, pring,
phba             2874 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_in_buf_free(phba, dmzbuf);
phba             2878 drivers/scsi/lpfc/lpfc_sli.c 			dmzbuf = lpfc_sli_get_buff(phba, pring,
phba             2880 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_in_buf_free(phba, dmzbuf);
phba             2886 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->sli3_options & LPFC_SLI3_HBQ_ENABLED) {
phba             2888 drivers/scsi/lpfc/lpfc_sli.c 			saveq->context2 = lpfc_sli_get_buff(phba, pring,
phba             2891 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_printf_log(phba,
phba             2900 drivers/scsi/lpfc/lpfc_sli.c 			saveq->context3 = lpfc_sli_get_buff(phba, pring,
phba             2903 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_printf_log(phba,
phba             2914 drivers/scsi/lpfc/lpfc_sli.c 				iocbq->context2 = lpfc_sli_get_buff(phba, pring,
phba             2917 drivers/scsi/lpfc/lpfc_sli.c 					lpfc_printf_log(phba,
phba             2926 drivers/scsi/lpfc/lpfc_sli.c 				iocbq->context3 = lpfc_sli_get_buff(phba, pring,
phba             2929 drivers/scsi/lpfc/lpfc_sli.c 					lpfc_printf_log(phba,
phba             2985 drivers/scsi/lpfc/lpfc_sli.c 	if (!lpfc_complete_unsol_iocb(phba, pring, saveq, Rctl, Type))
phba             2986 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_SLI,
phba             3008 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_iocbq_lookup(struct lpfc_hba *phba,
phba             3017 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->sli_rev == LPFC_SLI_REV4)
phba             3020 drivers/scsi/lpfc/lpfc_sli.c 		temp_lock = &phba->hbalock;
phba             3025 drivers/scsi/lpfc/lpfc_sli.c 	if (iotag != 0 && iotag <= phba->sli.last_iotag) {
phba             3026 drivers/scsi/lpfc/lpfc_sli.c 		cmd_iocb = phba->sli.iocbq_lookup[iotag];
phba             3038 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             3041 drivers/scsi/lpfc/lpfc_sli.c 			iotag, phba->sli.last_iotag,
phba             3059 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_iocbq_lookup_by_tag(struct lpfc_hba *phba,
phba             3066 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->sli_rev == LPFC_SLI_REV4)
phba             3069 drivers/scsi/lpfc/lpfc_sli.c 		temp_lock = &phba->hbalock;
phba             3072 drivers/scsi/lpfc/lpfc_sli.c 	if (iotag != 0 && iotag <= phba->sli.last_iotag) {
phba             3073 drivers/scsi/lpfc/lpfc_sli.c 		cmd_iocb = phba->sli.iocbq_lookup[iotag];
phba             3085 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             3088 drivers/scsi/lpfc/lpfc_sli.c 			iotag, phba->sli.last_iotag,
phba             3111 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_process_sol_iocb(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
phba             3118 drivers/scsi/lpfc/lpfc_sli.c 	cmdiocbp = lpfc_sli_iocbq_lookup(phba, pring, saveq);
phba             3129 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_send_els_failure_event(phba,
phba             3137 drivers/scsi/lpfc/lpfc_sli.c 				if ((phba->sli_rev < LPFC_SLI_REV4) &&
phba             3140 drivers/scsi/lpfc/lpfc_sli.c 					spin_lock_irqsave(&phba->hbalock,
phba             3144 drivers/scsi/lpfc/lpfc_sli.c 					spin_unlock_irqrestore(&phba->hbalock,
phba             3155 drivers/scsi/lpfc/lpfc_sli.c 					spin_lock_irqsave(&phba->hbalock,
phba             3158 drivers/scsi/lpfc/lpfc_sli.c 					spin_unlock_irqrestore(&phba->hbalock,
phba             3161 drivers/scsi/lpfc/lpfc_sli.c 				if (phba->sli_rev == LPFC_SLI_REV4) {
phba             3171 drivers/scsi/lpfc/lpfc_sli.c 							&phba->hbalock, iflag);
phba             3175 drivers/scsi/lpfc/lpfc_sli.c 							&phba->hbalock, iflag);
phba             3185 drivers/scsi/lpfc/lpfc_sli.c 							&phba->hbalock, iflag);
phba             3189 drivers/scsi/lpfc/lpfc_sli.c 							&phba->hbalock, iflag);
phba             3205 drivers/scsi/lpfc/lpfc_sli.c 							&phba->hbalock, iflag);
phba             3209 drivers/scsi/lpfc/lpfc_sli.c 							&phba->hbalock, iflag);
phba             3213 drivers/scsi/lpfc/lpfc_sli.c 			(cmdiocbp->iocb_cmpl) (phba, cmdiocbp, saveq);
phba             3215 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_sli_release_iocbq(phba, cmdiocbp);
phba             3227 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_WARNING, LOG_SLI,
phba             3254 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_rsp_pointers_error(struct lpfc_hba *phba, struct lpfc_sli_ring *pring)
phba             3256 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_pgp *pgp = &phba->port_gp[pring->ringno];
phba             3261 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             3267 drivers/scsi/lpfc/lpfc_sli.c 	phba->link_state = LPFC_HBA_ERROR;
phba             3273 drivers/scsi/lpfc/lpfc_sli.c 	phba->work_ha |= HA_ERATT;
phba             3274 drivers/scsi/lpfc/lpfc_sli.c 	phba->work_hs = HS_FFER3;
phba             3276 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_worker_wake_up(phba);
phba             3293 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_hba *phba;
phba             3297 drivers/scsi/lpfc/lpfc_sli.c 	phba = from_timer(phba, t, eratt_poll);
phba             3300 drivers/scsi/lpfc/lpfc_sli.c 	sli_intr = phba->sli.slistat.sli_intr;
phba             3302 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->sli.slistat.sli_prev_intr > sli_intr)
phba             3303 drivers/scsi/lpfc/lpfc_sli.c 		cnt = (((uint64_t)(-1) - phba->sli.slistat.sli_prev_intr) +
phba             3306 drivers/scsi/lpfc/lpfc_sli.c 		cnt = (sli_intr - phba->sli.slistat.sli_prev_intr);
phba             3309 drivers/scsi/lpfc/lpfc_sli.c 	do_div(cnt, phba->eratt_poll_interval);
phba             3310 drivers/scsi/lpfc/lpfc_sli.c 	phba->sli.slistat.sli_ips = cnt;
phba             3312 drivers/scsi/lpfc/lpfc_sli.c 	phba->sli.slistat.sli_prev_intr = sli_intr;
phba             3315 drivers/scsi/lpfc/lpfc_sli.c 	eratt = lpfc_sli_check_eratt(phba);
phba             3319 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_worker_wake_up(phba);
phba             3322 drivers/scsi/lpfc/lpfc_sli.c 		mod_timer(&phba->eratt_poll,
phba             3324 drivers/scsi/lpfc/lpfc_sli.c 			  msecs_to_jiffies(1000 * phba->eratt_poll_interval));
phba             3347 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_handle_fast_ring_event(struct lpfc_hba *phba,
phba             3350 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_pgp *pgp = &phba->port_gp[pring->ringno];
phba             3362 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irqsave(&phba->hbalock, iflag);
phba             3372 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli_rsp_pointers_error(phba, pring);
phba             3373 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irqrestore(&phba->hbalock, iflag);
phba             3376 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->fcp_ring_in_use) {
phba             3377 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irqrestore(&phba->hbalock, iflag);
phba             3380 drivers/scsi/lpfc/lpfc_sli.c 		phba->fcp_ring_in_use = 1;
phba             3389 drivers/scsi/lpfc/lpfc_sli.c 		entry = lpfc_resp_iocb(phba, pring);
phba             3390 drivers/scsi/lpfc/lpfc_sli.c 		phba->last_completion_time = jiffies;
phba             3397 drivers/scsi/lpfc/lpfc_sli.c 				      phba->iocb_rsp_size);
phba             3413 drivers/scsi/lpfc/lpfc_sli.c 				spin_unlock_irqrestore(&phba->hbalock, iflag);
phba             3414 drivers/scsi/lpfc/lpfc_sli.c 				phba->lpfc_rampdown_queue_depth(phba);
phba             3415 drivers/scsi/lpfc/lpfc_sli.c 				spin_lock_irqsave(&phba->hbalock, iflag);
phba             3419 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_WARNING, LOG_SLI,
phba             3441 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_printf_log(phba, KERN_INFO, LOG_SLI,
phba             3449 drivers/scsi/lpfc/lpfc_sli.c 			spin_unlock_irqrestore(&phba->hbalock, iflag);
phba             3450 drivers/scsi/lpfc/lpfc_sli.c 			cmdiocbq = lpfc_sli_iocbq_lookup(phba, pring,
phba             3452 drivers/scsi/lpfc/lpfc_sli.c 			spin_lock_irqsave(&phba->hbalock, iflag);
phba             3458 drivers/scsi/lpfc/lpfc_sli.c 				spin_unlock_irqrestore(&phba->hbalock, iflag);
phba             3459 drivers/scsi/lpfc/lpfc_sli.c 				(cmdiocbq->iocb_cmpl)(phba, cmdiocbq,
phba             3461 drivers/scsi/lpfc/lpfc_sli.c 				spin_lock_irqsave(&phba->hbalock, iflag);
phba             3465 drivers/scsi/lpfc/lpfc_sli.c 			spin_unlock_irqrestore(&phba->hbalock, iflag);
phba             3466 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_sli_process_unsol_iocb(phba, pring, &rspiocbq);
phba             3467 drivers/scsi/lpfc/lpfc_sli.c 			spin_lock_irqsave(&phba->hbalock, iflag);
phba             3475 drivers/scsi/lpfc/lpfc_sli.c 				dev_warn(&((phba->pcidev)->dev),
phba             3477 drivers/scsi/lpfc/lpfc_sli.c 					 phba->brd_no, adaptermsg);
phba             3480 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             3498 drivers/scsi/lpfc/lpfc_sli.c 			&phba->host_gp[pring->ringno].rspGetInx);
phba             3507 drivers/scsi/lpfc/lpfc_sli.c 		writel(status, phba->CAregaddr);
phba             3508 drivers/scsi/lpfc/lpfc_sli.c 		readl(phba->CAregaddr);
phba             3516 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli_resume_iocb(phba, pring);
phba             3519 drivers/scsi/lpfc/lpfc_sli.c 			(pring->lpfc_sli_cmd_available) (phba, pring);
phba             3523 drivers/scsi/lpfc/lpfc_sli.c 	phba->fcp_ring_in_use = 0;
phba             3524 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irqrestore(&phba->hbalock, iflag);
phba             3547 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_sp_handle_rspiocb(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
phba             3560 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irqsave(&phba->hbalock, iflag);
phba             3588 drivers/scsi/lpfc/lpfc_sli.c 			spin_unlock_irqrestore(&phba->hbalock, iflag);
phba             3589 drivers/scsi/lpfc/lpfc_sli.c 			phba->lpfc_rampdown_queue_depth(phba);
phba             3590 drivers/scsi/lpfc/lpfc_sli.c 			spin_lock_irqsave(&phba->hbalock, iflag);
phba             3595 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_WARNING, LOG_SLI,
phba             3631 drivers/scsi/lpfc/lpfc_sli.c 			spin_unlock_irqrestore(&phba->hbalock, iflag);
phba             3632 drivers/scsi/lpfc/lpfc_sli.c 			rc = lpfc_sli_process_sol_iocb(phba, pring, saveq);
phba             3633 drivers/scsi/lpfc/lpfc_sli.c 			spin_lock_irqsave(&phba->hbalock, iflag);
phba             3637 drivers/scsi/lpfc/lpfc_sli.c 			spin_unlock_irqrestore(&phba->hbalock, iflag);
phba             3638 drivers/scsi/lpfc/lpfc_sli.c 			rc = lpfc_sli_process_unsol_iocb(phba, pring, saveq);
phba             3639 drivers/scsi/lpfc/lpfc_sli.c 			spin_lock_irqsave(&phba->hbalock, iflag);
phba             3647 drivers/scsi/lpfc/lpfc_sli.c 				spin_unlock_irqrestore(&phba->hbalock, iflag);
phba             3648 drivers/scsi/lpfc/lpfc_sli.c 				cmdiocbp = lpfc_sli_iocbq_lookup(phba, pring,
phba             3650 drivers/scsi/lpfc/lpfc_sli.c 				spin_lock_irqsave(&phba->hbalock, iflag);
phba             3655 drivers/scsi/lpfc/lpfc_sli.c 					spin_unlock_irqrestore(&phba->hbalock,
phba             3657 drivers/scsi/lpfc/lpfc_sli.c 					(cmdiocbp->iocb_cmpl)(phba, cmdiocbp,
phba             3659 drivers/scsi/lpfc/lpfc_sli.c 					spin_lock_irqsave(&phba->hbalock,
phba             3662 drivers/scsi/lpfc/lpfc_sli.c 					__lpfc_sli_release_iocbq(phba,
phba             3673 drivers/scsi/lpfc/lpfc_sli.c 				dev_warn(&((phba->pcidev)->dev),
phba             3675 drivers/scsi/lpfc/lpfc_sli.c 					 phba->brd_no, adaptermsg);
phba             3678 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             3694 drivers/scsi/lpfc/lpfc_sli.c 				__lpfc_sli_release_iocbq(phba, rspiocbp);
phba             3696 drivers/scsi/lpfc/lpfc_sli.c 			__lpfc_sli_release_iocbq(phba, saveq);
phba             3700 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irqrestore(&phba->hbalock, iflag);
phba             3714 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_handle_slow_ring_event(struct lpfc_hba *phba,
phba             3717 drivers/scsi/lpfc/lpfc_sli.c 	phba->lpfc_sli_handle_slow_ring_event(phba, pring, mask);
phba             3732 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_handle_slow_ring_event_s3(struct lpfc_hba *phba,
phba             3743 drivers/scsi/lpfc/lpfc_sli.c 	pgp = &phba->port_gp[pring->ringno];
phba             3744 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irqsave(&phba->hbalock, iflag);
phba             3758 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             3763 drivers/scsi/lpfc/lpfc_sli.c 		phba->link_state = LPFC_HBA_ERROR;
phba             3764 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irqrestore(&phba->hbalock, iflag);
phba             3766 drivers/scsi/lpfc/lpfc_sli.c 		phba->work_hs = HS_FFER3;
phba             3767 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_handle_eratt(phba);
phba             3787 drivers/scsi/lpfc/lpfc_sli.c 		entry = lpfc_resp_iocb(phba, pring);
phba             3789 drivers/scsi/lpfc/lpfc_sli.c 		phba->last_completion_time = jiffies;
phba             3790 drivers/scsi/lpfc/lpfc_sli.c 		rspiocbp = __lpfc_sli_get_iocbq(phba);
phba             3798 drivers/scsi/lpfc/lpfc_sli.c 				      phba->iocb_rsp_size);
phba             3805 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_debugfs_slow_ring_trc(phba,
phba             3813 drivers/scsi/lpfc/lpfc_sli.c 			&phba->host_gp[pring->ringno].rspGetInx);
phba             3815 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irqrestore(&phba->hbalock, iflag);
phba             3817 drivers/scsi/lpfc/lpfc_sli.c 		rspiocbp = lpfc_sli_sp_handle_rspiocb(phba, pring, rspiocbp);
phba             3818 drivers/scsi/lpfc/lpfc_sli.c 		spin_lock_irqsave(&phba->hbalock, iflag);
phba             3835 drivers/scsi/lpfc/lpfc_sli.c 		writel(status, phba->CAregaddr);
phba             3836 drivers/scsi/lpfc/lpfc_sli.c 		readl(phba->CAregaddr); /* flush */
phba             3844 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli_resume_iocb(phba, pring);
phba             3847 drivers/scsi/lpfc/lpfc_sli.c 			(pring->lpfc_sli_cmd_available) (phba, pring);
phba             3851 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irqrestore(&phba->hbalock, iflag);
phba             3868 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_handle_slow_ring_event_s4(struct lpfc_hba *phba,
phba             3877 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irqsave(&phba->hbalock, iflag);
phba             3878 drivers/scsi/lpfc/lpfc_sli.c 	phba->hba_flag &= ~HBA_SP_QUEUE_EVT;
phba             3879 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irqrestore(&phba->hbalock, iflag);
phba             3880 drivers/scsi/lpfc/lpfc_sli.c 	while (!list_empty(&phba->sli4_hba.sp_queue_event)) {
phba             3882 drivers/scsi/lpfc/lpfc_sli.c 		spin_lock_irqsave(&phba->hbalock, iflag);
phba             3883 drivers/scsi/lpfc/lpfc_sli.c 		list_remove_head(&phba->sli4_hba.sp_queue_event,
phba             3885 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irqrestore(&phba->hbalock, iflag);
phba             3892 drivers/scsi/lpfc/lpfc_sli.c 			irspiocbq = lpfc_sli4_els_wcqe_to_rspiocbq(phba,
phba             3895 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_sli_sp_handle_rspiocb(phba, pring,
phba             3903 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_sli4_handle_received_buffer(phba, dmabuf);
phba             3927 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_abort_iocb_ring(struct lpfc_hba *phba, struct lpfc_sli_ring *pring)
phba             3933 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_fabric_abort_hba(phba);
phba             3939 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->sli_rev >= LPFC_SLI_REV4) {
phba             3945 drivers/scsi/lpfc/lpfc_sli.c 		spin_lock_irq(&phba->hbalock);
phba             3948 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_sli_issue_abort_iotag(phba, pring, iocb);
phba             3949 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irq(&phba->hbalock);
phba             3951 drivers/scsi/lpfc/lpfc_sli.c 		spin_lock_irq(&phba->hbalock);
phba             3957 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_sli_issue_abort_iotag(phba, pring, iocb);
phba             3958 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irq(&phba->hbalock);
phba             3962 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli_cancel_iocbs(phba, &completions, IOSTAT_LOCAL_REJECT,
phba             3977 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_abort_fcp_rings(struct lpfc_hba *phba)
phba             3979 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_sli *psli = &phba->sli;
phba             3984 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->sli_rev >= LPFC_SLI_REV4) {
phba             3985 drivers/scsi/lpfc/lpfc_sli.c 		for (i = 0; i < phba->cfg_hdw_queue; i++) {
phba             3986 drivers/scsi/lpfc/lpfc_sli.c 			pring = phba->sli4_hba.hdwq[i].io_wq->pring;
phba             3987 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_sli_abort_iocb_ring(phba, pring);
phba             3991 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli_abort_iocb_ring(phba, pring);
phba             4006 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_flush_io_rings(struct lpfc_hba *phba)
phba             4010 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_sli *psli = &phba->sli;
phba             4015 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irq(&phba->hbalock);
phba             4016 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->hba_flag & HBA_IOQ_FLUSH ||
phba             4017 drivers/scsi/lpfc/lpfc_sli.c 	    !phba->sli4_hba.hdwq) {
phba             4018 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irq(&phba->hbalock);
phba             4022 drivers/scsi/lpfc/lpfc_sli.c 	phba->hba_flag |= HBA_IOQ_FLUSH;
phba             4023 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irq(&phba->hbalock);
phba             4026 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->sli_rev >= LPFC_SLI_REV4) {
phba             4027 drivers/scsi/lpfc/lpfc_sli.c 		for (i = 0; i < phba->cfg_hdw_queue; i++) {
phba             4028 drivers/scsi/lpfc/lpfc_sli.c 			pring = phba->sli4_hba.hdwq[i].io_wq->pring;
phba             4043 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_sli_cancel_iocbs(phba, &txq,
phba             4047 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_sli_cancel_iocbs(phba, &txcmplq,
phba             4054 drivers/scsi/lpfc/lpfc_sli.c 		spin_lock_irq(&phba->hbalock);
phba             4064 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irq(&phba->hbalock);
phba             4067 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli_cancel_iocbs(phba, &txq, IOSTAT_LOCAL_REJECT,
phba             4070 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli_cancel_iocbs(phba, &txcmplq, IOSTAT_LOCAL_REJECT,
phba             4089 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_brdready_s3(struct lpfc_hba *phba, uint32_t mask)
phba             4096 drivers/scsi/lpfc/lpfc_sli.c 	if (lpfc_readl(phba->HSregaddr, &status))
phba             4118 drivers/scsi/lpfc/lpfc_sli.c 			phba->pport->port_state = LPFC_VPORT_UNKNOWN;
phba             4119 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_sli_brdrestart(phba);
phba             4122 drivers/scsi/lpfc/lpfc_sli.c 		if (lpfc_readl(phba->HSregaddr, &status)) {
phba             4130 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             4134 drivers/scsi/lpfc/lpfc_sli.c 				readl(phba->MBslimaddr + 0xa8),
phba             4135 drivers/scsi/lpfc/lpfc_sli.c 				readl(phba->MBslimaddr + 0xac));
phba             4136 drivers/scsi/lpfc/lpfc_sli.c 		phba->link_state = LPFC_HBA_ERROR;
phba             4155 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_brdready_s4(struct lpfc_hba *phba, uint32_t mask)
phba             4161 drivers/scsi/lpfc/lpfc_sli.c 	status = lpfc_sli4_post_status_check(phba);
phba             4164 drivers/scsi/lpfc/lpfc_sli.c 		phba->pport->port_state = LPFC_VPORT_UNKNOWN;
phba             4165 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli_brdrestart(phba);
phba             4166 drivers/scsi/lpfc/lpfc_sli.c 		status = lpfc_sli4_post_status_check(phba);
phba             4171 drivers/scsi/lpfc/lpfc_sli.c 		phba->link_state = LPFC_HBA_ERROR;
phba             4174 drivers/scsi/lpfc/lpfc_sli.c 		phba->sli4_hba.intr_enable = 0;
phba             4188 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_brdready(struct lpfc_hba *phba, uint32_t mask)
phba             4190 drivers/scsi/lpfc/lpfc_sli.c 	return phba->lpfc_sli_brdready(phba, mask);
phba             4202 drivers/scsi/lpfc/lpfc_sli.c void lpfc_reset_barrier(struct lpfc_hba *phba)
phba             4211 drivers/scsi/lpfc/lpfc_sli.c 	lockdep_assert_held(&phba->hbalock);
phba             4213 drivers/scsi/lpfc/lpfc_sli.c 	pci_read_config_byte(phba->pcidev, PCI_HEADER_TYPE, &hdrtype);
phba             4215 drivers/scsi/lpfc/lpfc_sli.c 	    (FC_JEDEC_ID(phba->vpd.rev.biuRev) != HELIOS_JEDEC_ID &&
phba             4216 drivers/scsi/lpfc/lpfc_sli.c 	     FC_JEDEC_ID(phba->vpd.rev.biuRev) != THOR_JEDEC_ID))
phba             4223 drivers/scsi/lpfc/lpfc_sli.c 	resp_buf = phba->MBslimaddr;
phba             4226 drivers/scsi/lpfc/lpfc_sli.c 	if (lpfc_readl(phba->HCregaddr, &hc_copy))
phba             4228 drivers/scsi/lpfc/lpfc_sli.c 	writel((hc_copy & ~HC_ERINT_ENA), phba->HCregaddr);
phba             4229 drivers/scsi/lpfc/lpfc_sli.c 	readl(phba->HCregaddr); /* flush */
phba             4230 drivers/scsi/lpfc/lpfc_sli.c 	phba->link_flag |= LS_IGNORE_ERATT;
phba             4232 drivers/scsi/lpfc/lpfc_sli.c 	if (lpfc_readl(phba->HAregaddr, &ha_copy))
phba             4236 drivers/scsi/lpfc/lpfc_sli.c 		writel(HA_ERATT, phba->HAregaddr);
phba             4237 drivers/scsi/lpfc/lpfc_sli.c 		phba->pport->stopped = 1;
phba             4245 drivers/scsi/lpfc/lpfc_sli.c 	mbox_buf = phba->MBslimaddr;
phba             4260 drivers/scsi/lpfc/lpfc_sli.c 		if (phba->sli.sli_flag & LPFC_SLI_ACTIVE ||
phba             4261 drivers/scsi/lpfc/lpfc_sli.c 		    phba->pport->stopped)
phba             4281 drivers/scsi/lpfc/lpfc_sli.c 		if (lpfc_readl(phba->HAregaddr, &ha_copy))
phba             4289 drivers/scsi/lpfc/lpfc_sli.c 	if (readl(phba->HAregaddr) & HA_ERATT) {
phba             4290 drivers/scsi/lpfc/lpfc_sli.c 		writel(HA_ERATT, phba->HAregaddr);
phba             4291 drivers/scsi/lpfc/lpfc_sli.c 		phba->pport->stopped = 1;
phba             4295 drivers/scsi/lpfc/lpfc_sli.c 	phba->link_flag &= ~LS_IGNORE_ERATT;
phba             4296 drivers/scsi/lpfc/lpfc_sli.c 	writel(hc_copy, phba->HCregaddr);
phba             4297 drivers/scsi/lpfc/lpfc_sli.c 	readl(phba->HCregaddr); /* flush */
phba             4312 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_brdkill(struct lpfc_hba *phba)
phba             4321 drivers/scsi/lpfc/lpfc_sli.c 	psli = &phba->sli;
phba             4324 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_printf_log(phba, KERN_INFO, LOG_SLI,
phba             4326 drivers/scsi/lpfc/lpfc_sli.c 			phba->pport->port_state, psli->sli_flag);
phba             4328 drivers/scsi/lpfc/lpfc_sli.c 	pmb = (LPFC_MBOXQ_t *) mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             4333 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irq(&phba->hbalock);
phba             4334 drivers/scsi/lpfc/lpfc_sli.c 	if (lpfc_readl(phba->HCregaddr, &status)) {
phba             4335 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irq(&phba->hbalock);
phba             4336 drivers/scsi/lpfc/lpfc_sli.c 		mempool_free(pmb, phba->mbox_mem_pool);
phba             4340 drivers/scsi/lpfc/lpfc_sli.c 	writel(status, phba->HCregaddr);
phba             4341 drivers/scsi/lpfc/lpfc_sli.c 	readl(phba->HCregaddr); /* flush */
phba             4342 drivers/scsi/lpfc/lpfc_sli.c 	phba->link_flag |= LS_IGNORE_ERATT;
phba             4343 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irq(&phba->hbalock);
phba             4345 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_kill_board(phba, pmb);
phba             4347 drivers/scsi/lpfc/lpfc_sli.c 	retval = lpfc_sli_issue_mbox(phba, pmb, MBX_NOWAIT);
phba             4351 drivers/scsi/lpfc/lpfc_sli.c 			mempool_free(pmb, phba->mbox_mem_pool);
phba             4352 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             4355 drivers/scsi/lpfc/lpfc_sli.c 		spin_lock_irq(&phba->hbalock);
phba             4356 drivers/scsi/lpfc/lpfc_sli.c 		phba->link_flag &= ~LS_IGNORE_ERATT;
phba             4357 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irq(&phba->hbalock);
phba             4361 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irq(&phba->hbalock);
phba             4363 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irq(&phba->hbalock);
phba             4365 drivers/scsi/lpfc/lpfc_sli.c 	mempool_free(pmb, phba->mbox_mem_pool);
phba             4372 drivers/scsi/lpfc/lpfc_sli.c 	if (lpfc_readl(phba->HAregaddr, &ha_copy))
phba             4376 drivers/scsi/lpfc/lpfc_sli.c 		if (lpfc_readl(phba->HAregaddr, &ha_copy))
phba             4382 drivers/scsi/lpfc/lpfc_sli.c 		writel(HA_ERATT, phba->HAregaddr);
phba             4383 drivers/scsi/lpfc/lpfc_sli.c 		phba->pport->stopped = 1;
phba             4385 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irq(&phba->hbalock);
phba             4388 drivers/scsi/lpfc/lpfc_sli.c 	phba->link_flag &= ~LS_IGNORE_ERATT;
phba             4389 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irq(&phba->hbalock);
phba             4391 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_hba_down_post(phba);
phba             4392 drivers/scsi/lpfc/lpfc_sli.c 	phba->link_state = LPFC_HBA_ERROR;
phba             4409 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_brdreset(struct lpfc_hba *phba)
phba             4416 drivers/scsi/lpfc/lpfc_sli.c 	psli = &phba->sli;
phba             4419 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_printf_log(phba, KERN_INFO, LOG_SLI,
phba             4421 drivers/scsi/lpfc/lpfc_sli.c 			(phba->pport) ? phba->pport->port_state : 0,
phba             4425 drivers/scsi/lpfc/lpfc_sli.c 	phba->fc_eventTag = 0;
phba             4426 drivers/scsi/lpfc/lpfc_sli.c 	phba->link_events = 0;
phba             4427 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->pport) {
phba             4428 drivers/scsi/lpfc/lpfc_sli.c 		phba->pport->fc_myDID = 0;
phba             4429 drivers/scsi/lpfc/lpfc_sli.c 		phba->pport->fc_prevDID = 0;
phba             4433 drivers/scsi/lpfc/lpfc_sli.c 	if (pci_read_config_word(phba->pcidev, PCI_COMMAND, &cfg_value))
phba             4436 drivers/scsi/lpfc/lpfc_sli.c 	pci_write_config_word(phba->pcidev, PCI_COMMAND,
phba             4443 drivers/scsi/lpfc/lpfc_sli.c 	writel(HC_INITFF, phba->HCregaddr);
phba             4445 drivers/scsi/lpfc/lpfc_sli.c 	readl(phba->HCregaddr); /* flush */
phba             4446 drivers/scsi/lpfc/lpfc_sli.c 	writel(0, phba->HCregaddr);
phba             4447 drivers/scsi/lpfc/lpfc_sli.c 	readl(phba->HCregaddr); /* flush */
phba             4450 drivers/scsi/lpfc/lpfc_sli.c 	pci_write_config_word(phba->pcidev, PCI_COMMAND, cfg_value);
phba             4463 drivers/scsi/lpfc/lpfc_sli.c 	phba->link_state = LPFC_WARM_START;
phba             4478 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_brdreset(struct lpfc_hba *phba)
phba             4480 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_sli *psli = &phba->sli;
phba             4485 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_printf_log(phba, KERN_INFO, LOG_SLI,
phba             4487 drivers/scsi/lpfc/lpfc_sli.c 			phba->pport->port_state, psli->sli_flag,
phba             4488 drivers/scsi/lpfc/lpfc_sli.c 			phba->hba_flag);
phba             4491 drivers/scsi/lpfc/lpfc_sli.c 	phba->fc_eventTag = 0;
phba             4492 drivers/scsi/lpfc/lpfc_sli.c 	phba->link_events = 0;
phba             4493 drivers/scsi/lpfc/lpfc_sli.c 	phba->pport->fc_myDID = 0;
phba             4494 drivers/scsi/lpfc/lpfc_sli.c 	phba->pport->fc_prevDID = 0;
phba             4496 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irq(&phba->hbalock);
phba             4498 drivers/scsi/lpfc/lpfc_sli.c 	phba->fcf.fcf_flag = 0;
phba             4499 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irq(&phba->hbalock);
phba             4502 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->hba_flag & HBA_FW_DUMP_OP) {
phba             4503 drivers/scsi/lpfc/lpfc_sli.c 		phba->hba_flag &= ~HBA_FW_DUMP_OP;
phba             4508 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             4512 drivers/scsi/lpfc/lpfc_sli.c 	if (pci_read_config_word(phba->pcidev, PCI_COMMAND, &cfg_value)) {
phba             4513 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             4518 drivers/scsi/lpfc/lpfc_sli.c 	pci_write_config_word(phba->pcidev, PCI_COMMAND, (cfg_value &
phba             4522 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_pci_function_reset(phba);
phba             4525 drivers/scsi/lpfc/lpfc_sli.c 	pci_write_config_word(phba->pcidev, PCI_COMMAND, cfg_value);
phba             4544 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_brdrestart_s3(struct lpfc_hba *phba)
phba             4552 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irq(&phba->hbalock);
phba             4555 drivers/scsi/lpfc/lpfc_sli.c 	hba_aer_enabled = phba->hba_flag & HBA_AER_ENABLED;
phba             4557 drivers/scsi/lpfc/lpfc_sli.c 	psli = &phba->sli;
phba             4560 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_printf_log(phba, KERN_INFO, LOG_SLI,
phba             4562 drivers/scsi/lpfc/lpfc_sli.c 			(phba->pport) ? phba->pport->port_state : 0,
phba             4570 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_reset_barrier(phba);
phba             4572 drivers/scsi/lpfc/lpfc_sli.c 	to_slim = phba->MBslimaddr;
phba             4577 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->pport && phba->pport->port_state)
phba             4581 drivers/scsi/lpfc/lpfc_sli.c 	to_slim = phba->MBslimaddr + sizeof (uint32_t);
phba             4585 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli_brdreset(phba);
phba             4586 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->pport)
phba             4587 drivers/scsi/lpfc/lpfc_sli.c 		phba->pport->stopped = 0;
phba             4588 drivers/scsi/lpfc/lpfc_sli.c 	phba->link_state = LPFC_INIT_START;
phba             4589 drivers/scsi/lpfc/lpfc_sli.c 	phba->hba_flag = 0;
phba             4590 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irq(&phba->hbalock);
phba             4600 drivers/scsi/lpfc/lpfc_sli.c 		pci_disable_pcie_error_reporting(phba->pcidev);
phba             4602 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_hba_down_post(phba);
phba             4617 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_brdrestart_s4(struct lpfc_hba *phba)
phba             4619 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_sli *psli = &phba->sli;
phba             4624 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_printf_log(phba, KERN_INFO, LOG_SLI,
phba             4626 drivers/scsi/lpfc/lpfc_sli.c 			phba->pport->port_state, psli->sli_flag);
phba             4629 drivers/scsi/lpfc/lpfc_sli.c 	hba_aer_enabled = phba->hba_flag & HBA_AER_ENABLED;
phba             4631 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli4_brdreset(phba);
phba             4633 drivers/scsi/lpfc/lpfc_sli.c 		phba->link_state = LPFC_HBA_ERROR;
phba             4637 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irq(&phba->hbalock);
phba             4638 drivers/scsi/lpfc/lpfc_sli.c 	phba->pport->stopped = 0;
phba             4639 drivers/scsi/lpfc/lpfc_sli.c 	phba->link_state = LPFC_INIT_START;
phba             4640 drivers/scsi/lpfc/lpfc_sli.c 	phba->hba_flag = 0;
phba             4641 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irq(&phba->hbalock);
phba             4648 drivers/scsi/lpfc/lpfc_sli.c 		pci_disable_pcie_error_reporting(phba->pcidev);
phba             4651 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_hba_down_post(phba);
phba             4652 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli4_queue_destroy(phba);
phba             4665 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_brdrestart(struct lpfc_hba *phba)
phba             4667 drivers/scsi/lpfc/lpfc_sli.c 	return phba->lpfc_sli_brdrestart(phba);
phba             4681 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_chipset_init(struct lpfc_hba *phba)
phba             4686 drivers/scsi/lpfc/lpfc_sli.c 	if (lpfc_readl(phba->HSregaddr, &status))
phba             4704 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             4708 drivers/scsi/lpfc/lpfc_sli.c 					readl(phba->MBslimaddr + 0xa8),
phba             4709 drivers/scsi/lpfc/lpfc_sli.c 					readl(phba->MBslimaddr + 0xac));
phba             4710 drivers/scsi/lpfc/lpfc_sli.c 			phba->link_state = LPFC_HBA_ERROR;
phba             4719 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             4723 drivers/scsi/lpfc/lpfc_sli.c 					readl(phba->MBslimaddr + 0xa8),
phba             4724 drivers/scsi/lpfc/lpfc_sli.c 					readl(phba->MBslimaddr + 0xac));
phba             4725 drivers/scsi/lpfc/lpfc_sli.c 			phba->link_state = LPFC_HBA_ERROR;
phba             4738 drivers/scsi/lpfc/lpfc_sli.c 			phba->pport->port_state = LPFC_VPORT_UNKNOWN;
phba             4739 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_sli_brdrestart(phba);
phba             4742 drivers/scsi/lpfc/lpfc_sli.c 		if (lpfc_readl(phba->HSregaddr, &status))
phba             4750 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             4754 drivers/scsi/lpfc/lpfc_sli.c 				readl(phba->MBslimaddr + 0xa8),
phba             4755 drivers/scsi/lpfc/lpfc_sli.c 				readl(phba->MBslimaddr + 0xac));
phba             4756 drivers/scsi/lpfc/lpfc_sli.c 		phba->link_state = LPFC_HBA_ERROR;
phba             4761 drivers/scsi/lpfc/lpfc_sli.c 	writel(0, phba->HCregaddr);
phba             4762 drivers/scsi/lpfc/lpfc_sli.c 	readl(phba->HCregaddr); /* flush */
phba             4765 drivers/scsi/lpfc/lpfc_sli.c 	writel(0xffffffff, phba->HAregaddr);
phba             4766 drivers/scsi/lpfc/lpfc_sli.c 	readl(phba->HAregaddr); /* flush */
phba             4823 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_hbq_setup(struct lpfc_hba *phba)
phba             4834 drivers/scsi/lpfc/lpfc_sli.c 	pmb = (LPFC_MBOXQ_t *) mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             4842 drivers/scsi/lpfc/lpfc_sli.c 	phba->link_state = LPFC_INIT_MBX_CMDS;
phba             4843 drivers/scsi/lpfc/lpfc_sli.c 	phba->hbq_in_use = 1;
phba             4847 drivers/scsi/lpfc/lpfc_sli.c 		phba->hbqs[hbqno].next_hbqPutIdx = 0;
phba             4848 drivers/scsi/lpfc/lpfc_sli.c 		phba->hbqs[hbqno].hbqPutIdx      = 0;
phba             4849 drivers/scsi/lpfc/lpfc_sli.c 		phba->hbqs[hbqno].local_hbqGetIdx   = 0;
phba             4850 drivers/scsi/lpfc/lpfc_sli.c 		phba->hbqs[hbqno].entry_count =
phba             4852 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_config_hbq(phba, hbqno, lpfc_hbq_defs[hbqno],
phba             4854 drivers/scsi/lpfc/lpfc_sli.c 		hbq_entry_index += phba->hbqs[hbqno].entry_count;
phba             4856 drivers/scsi/lpfc/lpfc_sli.c 		if (lpfc_sli_issue_mbox(phba, pmb, MBX_POLL) != MBX_SUCCESS) {
phba             4860 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_ERR,
phba             4867 drivers/scsi/lpfc/lpfc_sli.c 			phba->link_state = LPFC_HBA_ERROR;
phba             4868 drivers/scsi/lpfc/lpfc_sli.c 			mempool_free(pmb, phba->mbox_mem_pool);
phba             4872 drivers/scsi/lpfc/lpfc_sli.c 	phba->hbq_count = hbq_count;
phba             4874 drivers/scsi/lpfc/lpfc_sli.c 	mempool_free(pmb, phba->mbox_mem_pool);
phba             4878 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli_hbqbuf_init_hbqs(phba, hbqno);
phba             4892 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_rb_setup(struct lpfc_hba *phba)
phba             4894 drivers/scsi/lpfc/lpfc_sli.c 	phba->hbq_in_use = 1;
phba             4895 drivers/scsi/lpfc/lpfc_sli.c 	phba->hbqs[LPFC_ELS_HBQ].entry_count =
phba             4897 drivers/scsi/lpfc/lpfc_sli.c 	phba->hbq_count = 1;
phba             4898 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli_hbqbuf_init_hbqs(phba, LPFC_ELS_HBQ);
phba             4917 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_config_port(struct lpfc_hba *phba, int sli_mode)
phba             4922 drivers/scsi/lpfc/lpfc_sli.c 	pmb = (LPFC_MBOXQ_t *) mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             4924 drivers/scsi/lpfc/lpfc_sli.c 		phba->link_state = LPFC_HBA_ERROR;
phba             4928 drivers/scsi/lpfc/lpfc_sli.c 	phba->sli_rev = sli_mode;
phba             4930 drivers/scsi/lpfc/lpfc_sli.c 		spin_lock_irq(&phba->hbalock);
phba             4931 drivers/scsi/lpfc/lpfc_sli.c 		phba->sli.sli_flag |= LPFC_SLI_MBOX_ACTIVE;
phba             4932 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irq(&phba->hbalock);
phba             4933 drivers/scsi/lpfc/lpfc_sli.c 		phba->pport->port_state = LPFC_VPORT_UNKNOWN;
phba             4934 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli_brdrestart(phba);
phba             4935 drivers/scsi/lpfc/lpfc_sli.c 		rc = lpfc_sli_chipset_init(phba);
phba             4939 drivers/scsi/lpfc/lpfc_sli.c 		spin_lock_irq(&phba->hbalock);
phba             4940 drivers/scsi/lpfc/lpfc_sli.c 		phba->sli.sli_flag &= ~LPFC_SLI_MBOX_ACTIVE;
phba             4941 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irq(&phba->hbalock);
phba             4949 drivers/scsi/lpfc/lpfc_sli.c 		rc = lpfc_config_port_prep(phba);
phba             4951 drivers/scsi/lpfc/lpfc_sli.c 			phba->link_state = LPFC_LINK_UNKNOWN;
phba             4956 drivers/scsi/lpfc/lpfc_sli.c 		phba->link_state = LPFC_INIT_MBX_CMDS;
phba             4957 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_config_port(phba, pmb);
phba             4958 drivers/scsi/lpfc/lpfc_sli.c 		rc = lpfc_sli_issue_mbox(phba, pmb, MBX_POLL);
phba             4959 drivers/scsi/lpfc/lpfc_sli.c 		phba->sli3_options &= ~(LPFC_SLI3_NPIV_ENABLED |
phba             4964 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             4968 drivers/scsi/lpfc/lpfc_sli.c 			spin_lock_irq(&phba->hbalock);
phba             4969 drivers/scsi/lpfc/lpfc_sli.c 			phba->sli.sli_flag &= ~LPFC_SLI_ACTIVE;
phba             4970 drivers/scsi/lpfc/lpfc_sli.c 			spin_unlock_irq(&phba->hbalock);
phba             4974 drivers/scsi/lpfc/lpfc_sli.c 			spin_lock_irq(&phba->hbalock);
phba             4975 drivers/scsi/lpfc/lpfc_sli.c 			phba->sli.sli_flag &= ~LPFC_SLI_ASYNC_MBX_BLK;
phba             4976 drivers/scsi/lpfc/lpfc_sli.c 			spin_unlock_irq(&phba->hbalock);
phba             4981 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_printf_log(phba, KERN_WARNING, LOG_INIT,
phba             4994 drivers/scsi/lpfc/lpfc_sli.c 		if (phba->max_vpi && pmb->u.mb.un.varCfgPort.gmv) {
phba             4995 drivers/scsi/lpfc/lpfc_sli.c 			phba->sli3_options |= LPFC_SLI3_NPIV_ENABLED;
phba             4996 drivers/scsi/lpfc/lpfc_sli.c 			phba->max_vpi = pmb->u.mb.un.varCfgPort.max_vpi;
phba             4997 drivers/scsi/lpfc/lpfc_sli.c 			phba->max_vports = (phba->max_vpi > phba->max_vports) ?
phba             4998 drivers/scsi/lpfc/lpfc_sli.c 				phba->max_vpi : phba->max_vports;
phba             5001 drivers/scsi/lpfc/lpfc_sli.c 			phba->max_vpi = 0;
phba             5002 drivers/scsi/lpfc/lpfc_sli.c 		phba->fips_level = 0;
phba             5003 drivers/scsi/lpfc/lpfc_sli.c 		phba->fips_spec_rev = 0;
phba             5005 drivers/scsi/lpfc/lpfc_sli.c 			phba->sli3_options |= LPFC_SLI3_DSS_ENABLED;
phba             5006 drivers/scsi/lpfc/lpfc_sli.c 			phba->fips_level = pmb->u.mb.un.varCfgPort.fips_level;
phba             5007 drivers/scsi/lpfc/lpfc_sli.c 			phba->fips_spec_rev = pmb->u.mb.un.varCfgPort.fips_rev;
phba             5008 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             5011 drivers/scsi/lpfc/lpfc_sli.c 					phba->fips_level, phba->fips_spec_rev);
phba             5014 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             5020 drivers/scsi/lpfc/lpfc_sli.c 			phba->sli3_options |= LPFC_SLI3_HBQ_ENABLED;
phba             5022 drivers/scsi/lpfc/lpfc_sli.c 			phba->sli3_options |= LPFC_SLI3_CRP_ENABLED;
phba             5024 drivers/scsi/lpfc/lpfc_sli.c 		phba->hbq_get = phba->mbox->us.s3_pgp.hbq_get;
phba             5025 drivers/scsi/lpfc/lpfc_sli.c 		phba->port_gp = phba->mbox->us.s3_pgp.port;
phba             5027 drivers/scsi/lpfc/lpfc_sli.c 		if (phba->sli3_options & LPFC_SLI3_BG_ENABLED) {
phba             5029 drivers/scsi/lpfc/lpfc_sli.c 				phba->cfg_enable_bg = 0;
phba             5030 drivers/scsi/lpfc/lpfc_sli.c 				phba->sli3_options &= ~LPFC_SLI3_BG_ENABLED;
phba             5031 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             5037 drivers/scsi/lpfc/lpfc_sli.c 		phba->hbq_get = NULL;
phba             5038 drivers/scsi/lpfc/lpfc_sli.c 		phba->port_gp = phba->mbox->us.s2.port;
phba             5039 drivers/scsi/lpfc/lpfc_sli.c 		phba->max_vpi = 0;
phba             5042 drivers/scsi/lpfc/lpfc_sli.c 	mempool_free(pmb, phba->mbox_mem_pool);
phba             5061 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_hba_setup(struct lpfc_hba *phba)
phba             5067 drivers/scsi/lpfc/lpfc_sli.c 	switch (phba->cfg_sli_mode) {
phba             5069 drivers/scsi/lpfc/lpfc_sli.c 		if (phba->cfg_enable_npiv) {
phba             5070 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_ERR, LOG_INIT | LOG_VPORT,
phba             5073 drivers/scsi/lpfc/lpfc_sli.c 				phba->cfg_sli_mode);
phba             5082 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT | LOG_VPORT,
phba             5084 drivers/scsi/lpfc/lpfc_sli.c 				phba->cfg_sli_mode);
phba             5088 drivers/scsi/lpfc/lpfc_sli.c 	phba->fcp_embed_io = 0;	/* SLI4 FC support only */
phba             5090 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli_config_port(phba, mode);
phba             5092 drivers/scsi/lpfc/lpfc_sli.c 	if (rc && phba->cfg_sli_mode == 3)
phba             5093 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT | LOG_VPORT,
phba             5097 drivers/scsi/lpfc/lpfc_sli.c 		rc = lpfc_sli_config_port(phba, 2);
phba             5099 drivers/scsi/lpfc/lpfc_sli.c 		rc = lpfc_sli_config_port(phba, 3);
phba             5104 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->cfg_aer_support == 1 && !(phba->hba_flag & HBA_AER_ENABLED)) {
phba             5105 drivers/scsi/lpfc/lpfc_sli.c 		rc = pci_enable_pcie_error_reporting(phba->pcidev);
phba             5107 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             5110 drivers/scsi/lpfc/lpfc_sli.c 			spin_lock_irq(&phba->hbalock);
phba             5111 drivers/scsi/lpfc/lpfc_sli.c 			phba->hba_flag |= HBA_AER_ENABLED;
phba             5112 drivers/scsi/lpfc/lpfc_sli.c 			spin_unlock_irq(&phba->hbalock);
phba             5114 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             5118 drivers/scsi/lpfc/lpfc_sli.c 			phba->cfg_aer_support = 0;
phba             5122 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->sli_rev == 3) {
phba             5123 drivers/scsi/lpfc/lpfc_sli.c 		phba->iocb_cmd_size = SLI3_IOCB_CMD_SIZE;
phba             5124 drivers/scsi/lpfc/lpfc_sli.c 		phba->iocb_rsp_size = SLI3_IOCB_RSP_SIZE;
phba             5126 drivers/scsi/lpfc/lpfc_sli.c 		phba->iocb_cmd_size = SLI2_IOCB_CMD_SIZE;
phba             5127 drivers/scsi/lpfc/lpfc_sli.c 		phba->iocb_rsp_size = SLI2_IOCB_RSP_SIZE;
phba             5128 drivers/scsi/lpfc/lpfc_sli.c 		phba->sli3_options = 0;
phba             5131 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             5133 drivers/scsi/lpfc/lpfc_sli.c 			phba->sli_rev, phba->max_vpi);
phba             5134 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli_ring_map(phba);
phba             5140 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->sli_rev == LPFC_SLI_REV3) {
phba             5146 drivers/scsi/lpfc/lpfc_sli.c 		if ((phba->vpi_bmask == NULL) && (phba->vpi_ids == NULL)) {
phba             5147 drivers/scsi/lpfc/lpfc_sli.c 			longs = (phba->max_vpi + BITS_PER_LONG) / BITS_PER_LONG;
phba             5148 drivers/scsi/lpfc/lpfc_sli.c 			phba->vpi_bmask = kcalloc(longs,
phba             5151 drivers/scsi/lpfc/lpfc_sli.c 			if (!phba->vpi_bmask) {
phba             5156 drivers/scsi/lpfc/lpfc_sli.c 			phba->vpi_ids = kcalloc(phba->max_vpi + 1,
phba             5159 drivers/scsi/lpfc/lpfc_sli.c 			if (!phba->vpi_ids) {
phba             5160 drivers/scsi/lpfc/lpfc_sli.c 				kfree(phba->vpi_bmask);
phba             5164 drivers/scsi/lpfc/lpfc_sli.c 			for (i = 0; i < phba->max_vpi; i++)
phba             5165 drivers/scsi/lpfc/lpfc_sli.c 				phba->vpi_ids[i] = i;
phba             5170 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->sli3_options & LPFC_SLI3_HBQ_ENABLED) {
phba             5171 drivers/scsi/lpfc/lpfc_sli.c 		rc = lpfc_sli_hbq_setup(phba);
phba             5175 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irq(&phba->hbalock);
phba             5176 drivers/scsi/lpfc/lpfc_sli.c 	phba->sli.sli_flag |= LPFC_PROCESS_LA;
phba             5177 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irq(&phba->hbalock);
phba             5179 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_config_port_post(phba);
phba             5186 drivers/scsi/lpfc/lpfc_sli.c 	phba->link_state = LPFC_HBA_ERROR;
phba             5187 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             5201 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_read_fcoe_params(struct lpfc_hba *phba)
phba             5210 drivers/scsi/lpfc/lpfc_sli.c 	phba->valid_vlan = 0;
phba             5211 drivers/scsi/lpfc/lpfc_sli.c 	phba->fc_map[0] = LPFC_FCOE_FCF_MAP0;
phba             5212 drivers/scsi/lpfc/lpfc_sli.c 	phba->fc_map[1] = LPFC_FCOE_FCF_MAP1;
phba             5213 drivers/scsi/lpfc/lpfc_sli.c 	phba->fc_map[2] = LPFC_FCOE_FCF_MAP2;
phba             5215 drivers/scsi/lpfc/lpfc_sli.c 	mboxq = (LPFC_MBOXQ_t *)mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             5220 drivers/scsi/lpfc/lpfc_sli.c 	if (lpfc_sli4_dump_cfg_rg23(phba, mboxq)) {
phba             5226 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli_issue_mbox(phba, mboxq, MBX_POLL);
phba             5228 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_printf_log(phba, KERN_INFO, LOG_MBOX | LOG_SLI,
phba             5250 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_mbuf_free(phba, mp->virt, mp->phys);
phba             5257 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_mbuf_free(phba, mp->virt, mp->phys);
phba             5263 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_parse_fcoe_conf(phba, mp->virt, data_length);
phba             5264 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_mbuf_free(phba, mp->virt, mp->phys);
phba             5269 drivers/scsi/lpfc/lpfc_sli.c 	mempool_free(mboxq, phba->mbox_mem_pool);
phba             5289 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_read_rev(struct lpfc_hba *phba, LPFC_MBOXQ_t *mboxq,
phba             5306 drivers/scsi/lpfc/lpfc_sli.c 	dmabuf->virt = dma_alloc_coherent(&phba->pcidev->dev, dma_size,
phba             5318 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_read_rev(phba, mboxq);
phba             5326 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli_issue_mbox(phba, mboxq, MBX_POLL);
phba             5328 drivers/scsi/lpfc/lpfc_sli.c 		dma_free_coherent(&phba->pcidev->dev, dma_size,
phba             5344 drivers/scsi/lpfc/lpfc_sli.c 	dma_free_coherent(&phba->pcidev->dev, dma_size,
phba             5362 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_get_ctl_attr(struct lpfc_hba *phba)
phba             5373 drivers/scsi/lpfc/lpfc_sli.c 	mboxq = (LPFC_MBOXQ_t *)mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             5379 drivers/scsi/lpfc/lpfc_sli.c 	alloclen = lpfc_sli4_config(phba, mboxq, LPFC_MBOX_SUBSYSTEM_COMMON,
phba             5384 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             5391 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli_issue_mbox(phba, mboxq, MBX_POLL);
phba             5398 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_SLI,
phba             5402 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_sli_config_mbox_subsys_get(phba, mboxq),
phba             5403 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_sli_config_mbox_opcode_get(phba, mboxq),
phba             5410 drivers/scsi/lpfc/lpfc_sli.c 	phba->sli4_hba.lnk_info.lnk_dv = LPFC_LNK_DAT_VAL;
phba             5411 drivers/scsi/lpfc/lpfc_sli.c 	phba->sli4_hba.lnk_info.lnk_tp =
phba             5413 drivers/scsi/lpfc/lpfc_sli.c 	phba->sli4_hba.lnk_info.lnk_no =
phba             5416 drivers/scsi/lpfc/lpfc_sli.c 	memset(phba->BIOSVersion, 0, sizeof(phba->BIOSVersion));
phba             5417 drivers/scsi/lpfc/lpfc_sli.c 	strlcat(phba->BIOSVersion, (char *)cntl_attr->bios_ver_str,
phba             5418 drivers/scsi/lpfc/lpfc_sli.c 		sizeof(phba->BIOSVersion));
phba             5420 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_printf_log(phba, KERN_INFO, LOG_SLI,
phba             5422 drivers/scsi/lpfc/lpfc_sli.c 			phba->sli4_hba.lnk_info.lnk_tp,
phba             5423 drivers/scsi/lpfc/lpfc_sli.c 			phba->sli4_hba.lnk_info.lnk_no,
phba             5424 drivers/scsi/lpfc/lpfc_sli.c 			phba->BIOSVersion);
phba             5428 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_sli4_mbox_cmd_free(phba, mboxq);
phba             5430 drivers/scsi/lpfc/lpfc_sli.c 			mempool_free(mboxq, phba->mbox_mem_pool);
phba             5447 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_retrieve_pport_name(struct lpfc_hba *phba)
phba             5457 drivers/scsi/lpfc/lpfc_sli.c 	phba->sli4_hba.lnk_info.lnk_dv = LPFC_LNK_DAT_INVAL;
phba             5458 drivers/scsi/lpfc/lpfc_sli.c 	phba->sli4_hba.pport_name_sta = LPFC_SLI4_PPNAME_NON;
phba             5460 drivers/scsi/lpfc/lpfc_sli.c 	mboxq = (LPFC_MBOXQ_t *)mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             5464 drivers/scsi/lpfc/lpfc_sli.c 	phba->sli4_hba.lnk_info.lnk_dv = LPFC_LNK_DAT_INVAL;
phba             5465 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli4_read_config(phba);
phba             5466 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->sli4_hba.lnk_info.lnk_dv == LPFC_LNK_DAT_VAL)
phba             5470 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli4_get_ctl_attr(phba);
phba             5475 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli4_config(phba, mboxq, LPFC_MBOX_SUBSYSTEM_COMMON,
phba             5484 drivers/scsi/lpfc/lpfc_sli.c 		phba->sli4_hba.lnk_info.lnk_tp);
phba             5485 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli_issue_mbox(phba, mboxq, MBX_POLL);
phba             5489 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_SLI,
phba             5493 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_sli_config_mbox_subsys_get(phba, mboxq),
phba             5494 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_sli_config_mbox_opcode_get(phba, mboxq),
phba             5499 drivers/scsi/lpfc/lpfc_sli.c 	switch (phba->sli4_hba.lnk_info.lnk_no) {
phba             5503 drivers/scsi/lpfc/lpfc_sli.c 		phba->sli4_hba.pport_name_sta = LPFC_SLI4_PPNAME_GET;
phba             5508 drivers/scsi/lpfc/lpfc_sli.c 		phba->sli4_hba.pport_name_sta = LPFC_SLI4_PPNAME_GET;
phba             5513 drivers/scsi/lpfc/lpfc_sli.c 		phba->sli4_hba.pport_name_sta = LPFC_SLI4_PPNAME_GET;
phba             5518 drivers/scsi/lpfc/lpfc_sli.c 		phba->sli4_hba.pport_name_sta = LPFC_SLI4_PPNAME_GET;
phba             5524 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->sli4_hba.pport_name_sta == LPFC_SLI4_PPNAME_GET) {
phba             5525 drivers/scsi/lpfc/lpfc_sli.c 		phba->Port[0] = cport_name;
phba             5526 drivers/scsi/lpfc/lpfc_sli.c 		phba->Port[1] = '\0';
phba             5527 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_INFO, LOG_SLI,
phba             5528 drivers/scsi/lpfc/lpfc_sli.c 				"3091 SLI get port name: %s\n", phba->Port);
phba             5534 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_sli4_mbox_cmd_free(phba, mboxq);
phba             5536 drivers/scsi/lpfc/lpfc_sli.c 			mempool_free(mboxq, phba->mbox_mem_pool);
phba             5549 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_arm_cqeq_intr(struct lpfc_hba *phba)
phba             5552 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_sli4_hba *sli4_hba = &phba->sli4_hba;
phba             5556 drivers/scsi/lpfc/lpfc_sli.c 	sli4_hba->sli4_write_cq_db(phba, sli4_hba->mbx_cq, 0, LPFC_QUEUE_REARM);
phba             5557 drivers/scsi/lpfc/lpfc_sli.c 	sli4_hba->sli4_write_cq_db(phba, sli4_hba->els_cq, 0, LPFC_QUEUE_REARM);
phba             5559 drivers/scsi/lpfc/lpfc_sli.c 		sli4_hba->sli4_write_cq_db(phba, sli4_hba->nvmels_cq, 0,
phba             5564 drivers/scsi/lpfc/lpfc_sli.c 		for (qidx = 0; qidx < phba->cfg_hdw_queue; qidx++) {
phba             5567 drivers/scsi/lpfc/lpfc_sli.c 			sli4_hba->sli4_write_cq_db(phba, qp->io_cq, 0,
phba             5572 drivers/scsi/lpfc/lpfc_sli.c 		for (qidx = 0; qidx < phba->cfg_irq_chann; qidx++) {
phba             5575 drivers/scsi/lpfc/lpfc_sli.c 			sli4_hba->sli4_write_eq_db(phba, eq,
phba             5580 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->nvmet_support) {
phba             5581 drivers/scsi/lpfc/lpfc_sli.c 		for (qidx = 0; qidx < phba->cfg_nvmet_mrq; qidx++) {
phba             5582 drivers/scsi/lpfc/lpfc_sli.c 			sli4_hba->sli4_write_cq_db(phba,
phba             5602 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_get_avail_extnt_rsrc(struct lpfc_hba *phba, uint16_t type,
phba             5611 drivers/scsi/lpfc/lpfc_sli.c 	mbox = (LPFC_MBOXQ_t *) mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             5618 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_COMMON,
phba             5623 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli4_mbox_rsrc_extent(phba, mbox, 0, type,
phba             5630 drivers/scsi/lpfc/lpfc_sli.c 	if (!phba->sli4_hba.intr_enable)
phba             5631 drivers/scsi/lpfc/lpfc_sli.c 		rc = lpfc_sli_issue_mbox(phba, mbox, MBX_POLL);
phba             5633 drivers/scsi/lpfc/lpfc_sli.c 		mbox_tmo = lpfc_mbox_tmo_val(phba, mbox);
phba             5634 drivers/scsi/lpfc/lpfc_sli.c 		rc = lpfc_sli_issue_mbox_wait(phba, mbox, mbox_tmo);
phba             5644 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_MBOX | LOG_INIT,
phba             5660 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_printf_log(phba, KERN_INFO, LOG_SLI,
phba             5665 drivers/scsi/lpfc/lpfc_sli.c 	mempool_free(mbox, phba->mbox_mem_pool);
phba             5685 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_chk_avail_extnt_rsrc(struct lpfc_hba *phba, uint16_t type)
phba             5695 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli4_get_avail_extnt_rsrc(phba, type,
phba             5703 drivers/scsi/lpfc/lpfc_sli.c 		rsrc_blk_list = &phba->sli4_hba.lpfc_rpi_blk_list;
phba             5706 drivers/scsi/lpfc/lpfc_sli.c 		rsrc_blk_list = &phba->lpfc_vpi_blk_list;
phba             5709 drivers/scsi/lpfc/lpfc_sli.c 		rsrc_blk_list = &phba->sli4_hba.lpfc_xri_blk_list;
phba             5712 drivers/scsi/lpfc/lpfc_sli.c 		rsrc_blk_list = &phba->sli4_hba.lpfc_vfi_blk_list;
phba             5748 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_cfg_post_extnts(struct lpfc_hba *phba, uint16_t extnt_cnt,
phba             5778 drivers/scsi/lpfc/lpfc_sli.c 	alloc_len = lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_COMMON,
phba             5782 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             5788 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli4_mbox_rsrc_extent(phba, mbox, extnt_cnt, type, *emb);
phba             5792 drivers/scsi/lpfc/lpfc_sli.c 	if (!phba->sli4_hba.intr_enable)
phba             5793 drivers/scsi/lpfc/lpfc_sli.c 		rc = lpfc_sli_issue_mbox(phba, mbox, MBX_POLL);
phba             5795 drivers/scsi/lpfc/lpfc_sli.c 		mbox_tmo = lpfc_mbox_tmo_val(phba, mbox);
phba             5796 drivers/scsi/lpfc/lpfc_sli.c 		rc = lpfc_sli_issue_mbox_wait(phba, mbox, mbox_tmo);
phba             5813 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_alloc_extent(struct lpfc_hba *phba, uint16_t type)
phba             5831 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli4_get_avail_extnt_rsrc(phba, type,
phba             5838 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_MBOX | LOG_INIT,
phba             5846 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_printf_log(phba, KERN_INFO, LOG_MBOX | LOG_INIT | LOG_SLI,
phba             5850 drivers/scsi/lpfc/lpfc_sli.c 	mbox = (LPFC_MBOXQ_t *) mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             5854 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli4_cfg_post_extnts(phba, rsrc_cnt, type, &emb, mbox);
phba             5887 drivers/scsi/lpfc/lpfc_sli.c 		phba->sli4_hba.rpi_bmask = kcalloc(longs,
phba             5890 drivers/scsi/lpfc/lpfc_sli.c 		if (unlikely(!phba->sli4_hba.rpi_bmask)) {
phba             5894 drivers/scsi/lpfc/lpfc_sli.c 		phba->sli4_hba.rpi_ids = kcalloc(rsrc_id_cnt,
phba             5897 drivers/scsi/lpfc/lpfc_sli.c 		if (unlikely(!phba->sli4_hba.rpi_ids)) {
phba             5898 drivers/scsi/lpfc/lpfc_sli.c 			kfree(phba->sli4_hba.rpi_bmask);
phba             5908 drivers/scsi/lpfc/lpfc_sli.c 		phba->sli4_hba.next_rpi = rsrc_id_cnt;
phba             5911 drivers/scsi/lpfc/lpfc_sli.c 		bmask = phba->sli4_hba.rpi_bmask;
phba             5912 drivers/scsi/lpfc/lpfc_sli.c 		ids = phba->sli4_hba.rpi_ids;
phba             5913 drivers/scsi/lpfc/lpfc_sli.c 		ext_blk_list = &phba->sli4_hba.lpfc_rpi_blk_list;
phba             5916 drivers/scsi/lpfc/lpfc_sli.c 		phba->vpi_bmask = kcalloc(longs, sizeof(unsigned long),
phba             5918 drivers/scsi/lpfc/lpfc_sli.c 		if (unlikely(!phba->vpi_bmask)) {
phba             5922 drivers/scsi/lpfc/lpfc_sli.c 		phba->vpi_ids = kcalloc(rsrc_id_cnt, sizeof(uint16_t),
phba             5924 drivers/scsi/lpfc/lpfc_sli.c 		if (unlikely(!phba->vpi_ids)) {
phba             5925 drivers/scsi/lpfc/lpfc_sli.c 			kfree(phba->vpi_bmask);
phba             5931 drivers/scsi/lpfc/lpfc_sli.c 		bmask = phba->vpi_bmask;
phba             5932 drivers/scsi/lpfc/lpfc_sli.c 		ids = phba->vpi_ids;
phba             5933 drivers/scsi/lpfc/lpfc_sli.c 		ext_blk_list = &phba->lpfc_vpi_blk_list;
phba             5936 drivers/scsi/lpfc/lpfc_sli.c 		phba->sli4_hba.xri_bmask = kcalloc(longs,
phba             5939 drivers/scsi/lpfc/lpfc_sli.c 		if (unlikely(!phba->sli4_hba.xri_bmask)) {
phba             5943 drivers/scsi/lpfc/lpfc_sli.c 		phba->sli4_hba.max_cfg_param.xri_used = 0;
phba             5944 drivers/scsi/lpfc/lpfc_sli.c 		phba->sli4_hba.xri_ids = kcalloc(rsrc_id_cnt,
phba             5947 drivers/scsi/lpfc/lpfc_sli.c 		if (unlikely(!phba->sli4_hba.xri_ids)) {
phba             5948 drivers/scsi/lpfc/lpfc_sli.c 			kfree(phba->sli4_hba.xri_bmask);
phba             5954 drivers/scsi/lpfc/lpfc_sli.c 		bmask = phba->sli4_hba.xri_bmask;
phba             5955 drivers/scsi/lpfc/lpfc_sli.c 		ids = phba->sli4_hba.xri_ids;
phba             5956 drivers/scsi/lpfc/lpfc_sli.c 		ext_blk_list = &phba->sli4_hba.lpfc_xri_blk_list;
phba             5959 drivers/scsi/lpfc/lpfc_sli.c 		phba->sli4_hba.vfi_bmask = kcalloc(longs,
phba             5962 drivers/scsi/lpfc/lpfc_sli.c 		if (unlikely(!phba->sli4_hba.vfi_bmask)) {
phba             5966 drivers/scsi/lpfc/lpfc_sli.c 		phba->sli4_hba.vfi_ids = kcalloc(rsrc_id_cnt,
phba             5969 drivers/scsi/lpfc/lpfc_sli.c 		if (unlikely(!phba->sli4_hba.vfi_ids)) {
phba             5970 drivers/scsi/lpfc/lpfc_sli.c 			kfree(phba->sli4_hba.vfi_bmask);
phba             5976 drivers/scsi/lpfc/lpfc_sli.c 		bmask = phba->sli4_hba.vfi_bmask;
phba             5977 drivers/scsi/lpfc/lpfc_sli.c 		ids = phba->sli4_hba.vfi_ids;
phba             5978 drivers/scsi/lpfc/lpfc_sli.c 		ext_blk_list = &phba->sli4_hba.lpfc_vfi_blk_list;
phba             6015 drivers/scsi/lpfc/lpfc_sli.c 			phba->sli4_hba.io_xri_start = rsrc_start +
phba             6016 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_sli4_get_iocb_cnt(phba);
phba             6029 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli4_mbox_cmd_free(phba, mbox);
phba             6045 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_dealloc_extent(struct lpfc_hba *phba, uint16_t type)
phba             6053 drivers/scsi/lpfc/lpfc_sli.c 	mbox = (LPFC_MBOXQ_t *) mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             6064 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_COMMON,
phba             6069 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli4_mbox_rsrc_extent(phba, mbox, 0, type,
phba             6075 drivers/scsi/lpfc/lpfc_sli.c 	if (!phba->sli4_hba.intr_enable)
phba             6076 drivers/scsi/lpfc/lpfc_sli.c 		rc = lpfc_sli_issue_mbox(phba, mbox, MBX_POLL);
phba             6078 drivers/scsi/lpfc/lpfc_sli.c 		mbox_tmo = lpfc_mbox_tmo_val(phba, mbox);
phba             6079 drivers/scsi/lpfc/lpfc_sli.c 		rc = lpfc_sli_issue_mbox_wait(phba, mbox, mbox_tmo);
phba             6089 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_MBOX | LOG_INIT,
phba             6105 drivers/scsi/lpfc/lpfc_sli.c 		kfree(phba->vpi_bmask);
phba             6106 drivers/scsi/lpfc/lpfc_sli.c 		kfree(phba->vpi_ids);
phba             6107 drivers/scsi/lpfc/lpfc_sli.c 		bf_set(lpfc_vpi_rsrc_rdy, &phba->sli4_hba.sli4_flags, 0);
phba             6109 drivers/scsi/lpfc/lpfc_sli.c 				    &phba->lpfc_vpi_blk_list, list) {
phba             6113 drivers/scsi/lpfc/lpfc_sli.c 		phba->sli4_hba.max_cfg_param.vpi_used = 0;
phba             6116 drivers/scsi/lpfc/lpfc_sli.c 		kfree(phba->sli4_hba.xri_bmask);
phba             6117 drivers/scsi/lpfc/lpfc_sli.c 		kfree(phba->sli4_hba.xri_ids);
phba             6119 drivers/scsi/lpfc/lpfc_sli.c 				    &phba->sli4_hba.lpfc_xri_blk_list, list) {
phba             6125 drivers/scsi/lpfc/lpfc_sli.c 		kfree(phba->sli4_hba.vfi_bmask);
phba             6126 drivers/scsi/lpfc/lpfc_sli.c 		kfree(phba->sli4_hba.vfi_ids);
phba             6127 drivers/scsi/lpfc/lpfc_sli.c 		bf_set(lpfc_vfi_rsrc_rdy, &phba->sli4_hba.sli4_flags, 0);
phba             6129 drivers/scsi/lpfc/lpfc_sli.c 				    &phba->sli4_hba.lpfc_vfi_blk_list, list) {
phba             6137 drivers/scsi/lpfc/lpfc_sli.c 				    &phba->sli4_hba.lpfc_rpi_blk_list, list) {
phba             6146 drivers/scsi/lpfc/lpfc_sli.c 	bf_set(lpfc_idx_rsrc_rdy, &phba->sli4_hba.sli4_flags, 0);
phba             6149 drivers/scsi/lpfc/lpfc_sli.c 	mempool_free(mbox, phba->mbox_mem_pool);
phba             6154 drivers/scsi/lpfc/lpfc_sli.c lpfc_set_features(struct lpfc_hba *phba, LPFC_MBOXQ_t *mbox,
phba             6161 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_COMMON,
phba             6193 drivers/scsi/lpfc/lpfc_sli.c lpfc_ras_stop_fwlog(struct lpfc_hba *phba)
phba             6195 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_ras_fwlog *ras_fwlog = &phba->ras_fwlog;
phba             6201 drivers/scsi/lpfc/lpfc_sli.c 	       phba->sli4_hba.conf_regs_memmap_p + LPFC_CTL_PDEV_CTL_OFFSET);
phba             6212 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_ras_dma_free(struct lpfc_hba *phba)
phba             6214 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_ras_fwlog *ras_fwlog = &phba->ras_fwlog;
phba             6222 drivers/scsi/lpfc/lpfc_sli.c 			dma_free_coherent(&phba->pcidev->dev,
phba             6230 drivers/scsi/lpfc/lpfc_sli.c 		dma_free_coherent(&phba->pcidev->dev,
phba             6252 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_ras_dma_alloc(struct lpfc_hba *phba,
phba             6255 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_ras_fwlog *ras_fwlog = &phba->ras_fwlog;
phba             6263 drivers/scsi/lpfc/lpfc_sli.c 	ras_fwlog->lwpd.virt = dma_alloc_coherent(&phba->pcidev->dev,
phba             6268 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             6280 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_WARNING, LOG_INIT,
phba             6285 drivers/scsi/lpfc/lpfc_sli.c 		dmabuf->virt = dma_alloc_coherent(&phba->pcidev->dev,
phba             6291 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_WARNING, LOG_INIT,
phba             6301 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli4_ras_dma_free(phba);
phba             6314 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_ras_mbox_cmpl(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb)
phba             6319 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_ras_fwlog *ras_fwlog = &phba->ras_fwlog;
phba             6329 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_MBOX,
phba             6340 drivers/scsi/lpfc/lpfc_sli.c 	mempool_free(pmb, phba->mbox_mem_pool);
phba             6346 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli4_ras_dma_free(phba);
phba             6347 drivers/scsi/lpfc/lpfc_sli.c 	mempool_free(pmb, phba->mbox_mem_pool);
phba             6360 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_ras_fwlog_init(struct lpfc_hba *phba,
phba             6364 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_ras_fwlog *ras_fwlog = &phba->ras_fwlog;
phba             6372 drivers/scsi/lpfc/lpfc_sli.c 			  phba->cfg_ras_fwlog_buffsize);
phba             6380 drivers/scsi/lpfc/lpfc_sli.c 		rc = lpfc_sli4_ras_dma_alloc(phba, fwlog_entry_count);
phba             6382 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_WARNING, LOG_INIT,
phba             6389 drivers/scsi/lpfc/lpfc_sli.c 	mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             6391 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             6401 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_LOWLEVEL,
phba             6430 drivers/scsi/lpfc/lpfc_sli.c 	mbox->vport = phba->pport;
phba             6433 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT);
phba             6436 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             6440 drivers/scsi/lpfc/lpfc_sli.c 		mempool_free(mbox, phba->mbox_mem_pool);
phba             6447 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli4_ras_dma_free(phba);
phba             6459 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_ras_setup(struct lpfc_hba *phba)
phba             6462 drivers/scsi/lpfc/lpfc_sli.c 	if (lpfc_check_fwlog_support(phba))
phba             6465 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli4_ras_fwlog_init(phba, phba->cfg_ras_fwlog_level,
phba             6476 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_alloc_resource_identifiers(struct lpfc_hba *phba)
phba             6482 drivers/scsi/lpfc/lpfc_sli.c 	if (!phba->sli4_hba.rpi_hdrs_in_use)
phba             6483 drivers/scsi/lpfc/lpfc_sli.c 		phba->sli4_hba.next_rpi = phba->sli4_hba.max_cfg_param.max_rpi;
phba             6484 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->sli4_hba.extents_in_use) {
phba             6490 drivers/scsi/lpfc/lpfc_sli.c 		if (bf_get(lpfc_idx_rsrc_rdy, &phba->sli4_hba.sli4_flags) ==
phba             6497 drivers/scsi/lpfc/lpfc_sli.c 			rc = lpfc_sli4_chk_avail_extnt_rsrc(phba,
phba             6501 drivers/scsi/lpfc/lpfc_sli.c 			rc = lpfc_sli4_chk_avail_extnt_rsrc(phba,
phba             6505 drivers/scsi/lpfc/lpfc_sli.c 			rc = lpfc_sli4_chk_avail_extnt_rsrc(phba,
phba             6509 drivers/scsi/lpfc/lpfc_sli.c 			rc = lpfc_sli4_chk_avail_extnt_rsrc(phba,
phba             6521 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_printf_log(phba, KERN_INFO,
phba             6526 drivers/scsi/lpfc/lpfc_sli.c 				rc = lpfc_sli4_dealloc_extent(phba,
phba             6528 drivers/scsi/lpfc/lpfc_sli.c 				rc = lpfc_sli4_dealloc_extent(phba,
phba             6530 drivers/scsi/lpfc/lpfc_sli.c 				rc = lpfc_sli4_dealloc_extent(phba,
phba             6532 drivers/scsi/lpfc/lpfc_sli.c 				rc = lpfc_sli4_dealloc_extent(phba,
phba             6538 drivers/scsi/lpfc/lpfc_sli.c 		rc = lpfc_sli4_alloc_extent(phba, LPFC_RSC_TYPE_FCOE_VFI);
phba             6542 drivers/scsi/lpfc/lpfc_sli.c 		rc = lpfc_sli4_alloc_extent(phba, LPFC_RSC_TYPE_FCOE_VPI);
phba             6546 drivers/scsi/lpfc/lpfc_sli.c 		rc = lpfc_sli4_alloc_extent(phba, LPFC_RSC_TYPE_FCOE_RPI);
phba             6550 drivers/scsi/lpfc/lpfc_sli.c 		rc = lpfc_sli4_alloc_extent(phba, LPFC_RSC_TYPE_FCOE_XRI);
phba             6553 drivers/scsi/lpfc/lpfc_sli.c 		bf_set(lpfc_idx_rsrc_rdy, &phba->sli4_hba.sli4_flags,
phba             6564 drivers/scsi/lpfc/lpfc_sli.c 		if (bf_get(lpfc_idx_rsrc_rdy, &phba->sli4_hba.sli4_flags) ==
phba             6566 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_sli4_dealloc_resource_identifiers(phba);
phba             6567 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_sli4_remove_rpis(phba);
phba             6570 drivers/scsi/lpfc/lpfc_sli.c 		count = phba->sli4_hba.max_cfg_param.max_rpi;
phba             6572 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             6578 drivers/scsi/lpfc/lpfc_sli.c 		base = phba->sli4_hba.max_cfg_param.rpi_base;
phba             6580 drivers/scsi/lpfc/lpfc_sli.c 		phba->sli4_hba.rpi_bmask = kcalloc(longs,
phba             6583 drivers/scsi/lpfc/lpfc_sli.c 		if (unlikely(!phba->sli4_hba.rpi_bmask)) {
phba             6587 drivers/scsi/lpfc/lpfc_sli.c 		phba->sli4_hba.rpi_ids = kcalloc(count, sizeof(uint16_t),
phba             6589 drivers/scsi/lpfc/lpfc_sli.c 		if (unlikely(!phba->sli4_hba.rpi_ids)) {
phba             6595 drivers/scsi/lpfc/lpfc_sli.c 			phba->sli4_hba.rpi_ids[i] = base + i;
phba             6598 drivers/scsi/lpfc/lpfc_sli.c 		count = phba->sli4_hba.max_cfg_param.max_vpi;
phba             6600 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             6606 drivers/scsi/lpfc/lpfc_sli.c 		base = phba->sli4_hba.max_cfg_param.vpi_base;
phba             6608 drivers/scsi/lpfc/lpfc_sli.c 		phba->vpi_bmask = kcalloc(longs, sizeof(unsigned long),
phba             6610 drivers/scsi/lpfc/lpfc_sli.c 		if (unlikely(!phba->vpi_bmask)) {
phba             6614 drivers/scsi/lpfc/lpfc_sli.c 		phba->vpi_ids = kcalloc(count, sizeof(uint16_t),
phba             6616 drivers/scsi/lpfc/lpfc_sli.c 		if (unlikely(!phba->vpi_ids)) {
phba             6622 drivers/scsi/lpfc/lpfc_sli.c 			phba->vpi_ids[i] = base + i;
phba             6625 drivers/scsi/lpfc/lpfc_sli.c 		count = phba->sli4_hba.max_cfg_param.max_xri;
phba             6627 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             6633 drivers/scsi/lpfc/lpfc_sli.c 		base = phba->sli4_hba.max_cfg_param.xri_base;
phba             6635 drivers/scsi/lpfc/lpfc_sli.c 		phba->sli4_hba.xri_bmask = kcalloc(longs,
phba             6638 drivers/scsi/lpfc/lpfc_sli.c 		if (unlikely(!phba->sli4_hba.xri_bmask)) {
phba             6642 drivers/scsi/lpfc/lpfc_sli.c 		phba->sli4_hba.max_cfg_param.xri_used = 0;
phba             6643 drivers/scsi/lpfc/lpfc_sli.c 		phba->sli4_hba.xri_ids = kcalloc(count, sizeof(uint16_t),
phba             6645 drivers/scsi/lpfc/lpfc_sli.c 		if (unlikely(!phba->sli4_hba.xri_ids)) {
phba             6651 drivers/scsi/lpfc/lpfc_sli.c 			phba->sli4_hba.xri_ids[i] = base + i;
phba             6654 drivers/scsi/lpfc/lpfc_sli.c 		count = phba->sli4_hba.max_cfg_param.max_vfi;
phba             6656 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             6662 drivers/scsi/lpfc/lpfc_sli.c 		base = phba->sli4_hba.max_cfg_param.vfi_base;
phba             6664 drivers/scsi/lpfc/lpfc_sli.c 		phba->sli4_hba.vfi_bmask = kcalloc(longs,
phba             6667 drivers/scsi/lpfc/lpfc_sli.c 		if (unlikely(!phba->sli4_hba.vfi_bmask)) {
phba             6671 drivers/scsi/lpfc/lpfc_sli.c 		phba->sli4_hba.vfi_ids = kcalloc(count, sizeof(uint16_t),
phba             6673 drivers/scsi/lpfc/lpfc_sli.c 		if (unlikely(!phba->sli4_hba.vfi_ids)) {
phba             6679 drivers/scsi/lpfc/lpfc_sli.c 			phba->sli4_hba.vfi_ids[i] = base + i;
phba             6685 drivers/scsi/lpfc/lpfc_sli.c 		bf_set(lpfc_idx_rsrc_rdy, &phba->sli4_hba.sli4_flags,
phba             6691 drivers/scsi/lpfc/lpfc_sli.c 	kfree(phba->sli4_hba.vfi_bmask);
phba             6692 drivers/scsi/lpfc/lpfc_sli.c 	phba->sli4_hba.vfi_bmask = NULL;
phba             6694 drivers/scsi/lpfc/lpfc_sli.c 	kfree(phba->sli4_hba.xri_ids);
phba             6695 drivers/scsi/lpfc/lpfc_sli.c 	phba->sli4_hba.xri_ids = NULL;
phba             6697 drivers/scsi/lpfc/lpfc_sli.c 	kfree(phba->sli4_hba.xri_bmask);
phba             6698 drivers/scsi/lpfc/lpfc_sli.c 	phba->sli4_hba.xri_bmask = NULL;
phba             6700 drivers/scsi/lpfc/lpfc_sli.c 	kfree(phba->vpi_ids);
phba             6701 drivers/scsi/lpfc/lpfc_sli.c 	phba->vpi_ids = NULL;
phba             6703 drivers/scsi/lpfc/lpfc_sli.c 	kfree(phba->vpi_bmask);
phba             6704 drivers/scsi/lpfc/lpfc_sli.c 	phba->vpi_bmask = NULL;
phba             6706 drivers/scsi/lpfc/lpfc_sli.c 	kfree(phba->sli4_hba.rpi_ids);
phba             6707 drivers/scsi/lpfc/lpfc_sli.c 	phba->sli4_hba.rpi_ids = NULL;
phba             6709 drivers/scsi/lpfc/lpfc_sli.c 	kfree(phba->sli4_hba.rpi_bmask);
phba             6710 drivers/scsi/lpfc/lpfc_sli.c 	phba->sli4_hba.rpi_bmask = NULL;
phba             6723 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_dealloc_resource_identifiers(struct lpfc_hba *phba)
phba             6725 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->sli4_hba.extents_in_use) {
phba             6726 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli4_dealloc_extent(phba, LPFC_RSC_TYPE_FCOE_VPI);
phba             6727 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli4_dealloc_extent(phba, LPFC_RSC_TYPE_FCOE_RPI);
phba             6728 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli4_dealloc_extent(phba, LPFC_RSC_TYPE_FCOE_XRI);
phba             6729 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli4_dealloc_extent(phba, LPFC_RSC_TYPE_FCOE_VFI);
phba             6731 drivers/scsi/lpfc/lpfc_sli.c 		kfree(phba->vpi_bmask);
phba             6732 drivers/scsi/lpfc/lpfc_sli.c 		phba->sli4_hba.max_cfg_param.vpi_used = 0;
phba             6733 drivers/scsi/lpfc/lpfc_sli.c 		kfree(phba->vpi_ids);
phba             6734 drivers/scsi/lpfc/lpfc_sli.c 		bf_set(lpfc_vpi_rsrc_rdy, &phba->sli4_hba.sli4_flags, 0);
phba             6735 drivers/scsi/lpfc/lpfc_sli.c 		kfree(phba->sli4_hba.xri_bmask);
phba             6736 drivers/scsi/lpfc/lpfc_sli.c 		kfree(phba->sli4_hba.xri_ids);
phba             6737 drivers/scsi/lpfc/lpfc_sli.c 		kfree(phba->sli4_hba.vfi_bmask);
phba             6738 drivers/scsi/lpfc/lpfc_sli.c 		kfree(phba->sli4_hba.vfi_ids);
phba             6739 drivers/scsi/lpfc/lpfc_sli.c 		bf_set(lpfc_vfi_rsrc_rdy, &phba->sli4_hba.sli4_flags, 0);
phba             6740 drivers/scsi/lpfc/lpfc_sli.c 		bf_set(lpfc_idx_rsrc_rdy, &phba->sli4_hba.sli4_flags, 0);
phba             6757 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_get_allocated_extnts(struct lpfc_hba *phba, uint16_t type,
phba             6775 drivers/scsi/lpfc/lpfc_sli.c 		blk_list_head = &phba->lpfc_vpi_blk_list;
phba             6778 drivers/scsi/lpfc/lpfc_sli.c 		blk_list_head = &phba->sli4_hba.lpfc_xri_blk_list;
phba             6781 drivers/scsi/lpfc/lpfc_sli.c 		blk_list_head = &phba->sli4_hba.lpfc_vfi_blk_list;
phba             6784 drivers/scsi/lpfc/lpfc_sli.c 		blk_list_head = &phba->sli4_hba.lpfc_rpi_blk_list;
phba             6825 drivers/scsi/lpfc/lpfc_sli.c 	mbox = (LPFC_MBOXQ_t *) mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             6830 drivers/scsi/lpfc/lpfc_sli.c 	alloc_len = lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_COMMON,
phba             6834 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             6841 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli4_mbox_rsrc_extent(phba, mbox, curr_blks, type, emb);
phba             6847 drivers/scsi/lpfc/lpfc_sli.c 	if (!phba->sli4_hba.intr_enable)
phba             6848 drivers/scsi/lpfc/lpfc_sli.c 		rc = lpfc_sli_issue_mbox(phba, mbox, MBX_POLL);
phba             6850 drivers/scsi/lpfc/lpfc_sli.c 		mbox_tmo = lpfc_mbox_tmo_val(phba, mbox);
phba             6851 drivers/scsi/lpfc/lpfc_sli.c 		rc = lpfc_sli_issue_mbox_wait(phba, mbox, mbox_tmo);
phba             6877 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_MBOX | LOG_INIT,
phba             6887 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli4_mbox_cmd_free(phba, mbox);
phba             6909 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_repost_sgl_list(struct lpfc_hba *phba,
phba             6924 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irq(&phba->hbalock);
phba             6925 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock(&phba->sli4_hba.sgl_list_lock);
phba             6927 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock(&phba->sli4_hba.sgl_list_lock);
phba             6928 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irq(&phba->hbalock);
phba             6966 drivers/scsi/lpfc/lpfc_sli.c 				status = lpfc_sli4_post_sgl(phba,
phba             6975 drivers/scsi/lpfc/lpfc_sli.c 					lpfc_printf_log(phba, KERN_WARNING,
phba             6992 drivers/scsi/lpfc/lpfc_sli.c 		status = lpfc_sli4_post_sgl_list(phba, &blck_sgl_list,
phba             7003 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_WARNING, LOG_SLI,
phba             7022 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_free_sgl_list(phba, &free_sgl_list);
phba             7026 drivers/scsi/lpfc/lpfc_sli.c 		spin_lock_irq(&phba->hbalock);
phba             7027 drivers/scsi/lpfc/lpfc_sli.c 		spin_lock(&phba->sli4_hba.sgl_list_lock);
phba             7029 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock(&phba->sli4_hba.sgl_list_lock);
phba             7030 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irq(&phba->hbalock);
phba             7032 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             7054 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_repost_io_sgl_list(struct lpfc_hba *phba)
phba             7060 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_io_buf_flush(phba, &post_nblist);
phba             7065 drivers/scsi/lpfc/lpfc_sli.c 			phba, &post_nblist, phba->sli4_hba.io_xri_cnt);
phba             7074 drivers/scsi/lpfc/lpfc_sli.c lpfc_set_host_data(struct lpfc_hba *phba, LPFC_MBOXQ_t *mbox)
phba             7080 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_COMMON,
phba             7090 drivers/scsi/lpfc/lpfc_sli.c 		 (phba->hba_flag & HBA_FCOE_MODE) ? "FCoE" : "FC");
phba             7094 drivers/scsi/lpfc/lpfc_sli.c lpfc_post_rq_buffer(struct lpfc_hba *phba, struct lpfc_queue *hrq,
phba             7105 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irqsave(&phba->hbalock, flags);
phba             7111 drivers/scsi/lpfc/lpfc_sli.c 		rqb_buffer = rqbp->rqb_alloc_buffer(phba);
phba             7129 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             7138 drivers/scsi/lpfc/lpfc_sli.c 			rqbp->rqb_free_buffer(phba, rqb_buffer);
phba             7145 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irqrestore(&phba->hbalock, flags);
phba             7159 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_hba_setup(struct lpfc_hba *phba)
phba             7167 drivers/scsi/lpfc/lpfc_sli.c 	struct Scsi_Host *shost = lpfc_shost_from_vport(phba->pport);
phba             7168 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_vport *vport = phba->pport;
phba             7173 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_pci_function_reset(phba);
phba             7178 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli4_post_status_check(phba);
phba             7182 drivers/scsi/lpfc/lpfc_sli.c 		spin_lock_irq(&phba->hbalock);
phba             7183 drivers/scsi/lpfc/lpfc_sli.c 		phba->sli.sli_flag |= LPFC_SLI_ACTIVE;
phba             7184 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irq(&phba->hbalock);
phba             7191 drivers/scsi/lpfc/lpfc_sli.c 	mboxq = (LPFC_MBOXQ_t *) mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             7203 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli4_read_rev(phba, mboxq, vpd, &vpd_size);
phba             7210 drivers/scsi/lpfc/lpfc_sli.c 	phba->sli_rev = bf_get(lpfc_mbx_rd_rev_sli_lvl, &mqe->un.read_rev);
phba             7212 drivers/scsi/lpfc/lpfc_sli.c 		phba->hba_flag |= HBA_FCOE_MODE;
phba             7213 drivers/scsi/lpfc/lpfc_sli.c 		phba->fcp_embed_io = 0;	/* SLI4 FC support only */
phba             7215 drivers/scsi/lpfc/lpfc_sli.c 		phba->hba_flag &= ~HBA_FCOE_MODE;
phba             7220 drivers/scsi/lpfc/lpfc_sli.c 		phba->hba_flag |= HBA_FIP_SUPPORT;
phba             7222 drivers/scsi/lpfc/lpfc_sli.c 		phba->hba_flag &= ~HBA_FIP_SUPPORT;
phba             7224 drivers/scsi/lpfc/lpfc_sli.c 	phba->hba_flag &= ~HBA_IOQ_FLUSH;
phba             7226 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->sli_rev != LPFC_SLI_REV4) {
phba             7227 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_MBOX | LOG_SLI,
phba             7230 drivers/scsi/lpfc/lpfc_sli.c 			phba->sli_rev, phba->hba_flag & HBA_FCOE_MODE);
phba             7241 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->hba_flag & HBA_FCOE_MODE &&
phba             7242 drivers/scsi/lpfc/lpfc_sli.c 	    lpfc_sli4_read_fcoe_params(phba))
phba             7243 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_MBOX | LOG_INIT,
phba             7250 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli4_retrieve_pport_name(phba);
phba             7252 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_INFO, LOG_MBOX | LOG_SLI,
phba             7254 drivers/scsi/lpfc/lpfc_sli.c 				"physical port name: %s.\n", phba->Port);
phba             7256 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli4_get_ctl_attr(phba);
phba             7258 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_INFO, LOG_MBOX | LOG_SLI,
phba             7267 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_parse_vpd(phba, vpd, vpd_size);
phba             7269 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_MBOX | LOG_SLI,
phba             7277 drivers/scsi/lpfc/lpfc_sli.c 	phba->vpd.rev.biuRev = mqe->un.read_rev.first_hw_rev;
phba             7278 drivers/scsi/lpfc/lpfc_sli.c 	phba->vpd.rev.smRev = mqe->un.read_rev.second_hw_rev;
phba             7284 drivers/scsi/lpfc/lpfc_sli.c 	if ((bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) ==
phba             7286 drivers/scsi/lpfc/lpfc_sli.c 	    (phba->vpd.rev.biuRev == LPFC_G7_ASIC_1) &&
phba             7287 drivers/scsi/lpfc/lpfc_sli.c 	    (phba->vpd.rev.smRev == 0) &&
phba             7288 drivers/scsi/lpfc/lpfc_sli.c 	    (phba->cfg_nvme_embed_cmd == 1))
phba             7289 drivers/scsi/lpfc/lpfc_sli.c 		phba->cfg_nvme_embed_cmd = 0;
phba             7291 drivers/scsi/lpfc/lpfc_sli.c 	phba->vpd.rev.endecRev = mqe->un.read_rev.third_hw_rev;
phba             7292 drivers/scsi/lpfc/lpfc_sli.c 	phba->vpd.rev.fcphHigh = bf_get(lpfc_mbx_rd_rev_fcph_high,
phba             7294 drivers/scsi/lpfc/lpfc_sli.c 	phba->vpd.rev.fcphLow = bf_get(lpfc_mbx_rd_rev_fcph_low,
phba             7296 drivers/scsi/lpfc/lpfc_sli.c 	phba->vpd.rev.feaLevelHigh = bf_get(lpfc_mbx_rd_rev_ftr_lvl_high,
phba             7298 drivers/scsi/lpfc/lpfc_sli.c 	phba->vpd.rev.feaLevelLow = bf_get(lpfc_mbx_rd_rev_ftr_lvl_low,
phba             7300 drivers/scsi/lpfc/lpfc_sli.c 	phba->vpd.rev.sli1FwRev = mqe->un.read_rev.fw_id_rev;
phba             7301 drivers/scsi/lpfc/lpfc_sli.c 	memcpy(phba->vpd.rev.sli1FwName, mqe->un.read_rev.fw_name, 16);
phba             7302 drivers/scsi/lpfc/lpfc_sli.c 	phba->vpd.rev.sli2FwRev = mqe->un.read_rev.ulp_fw_id_rev;
phba             7303 drivers/scsi/lpfc/lpfc_sli.c 	memcpy(phba->vpd.rev.sli2FwName, mqe->un.read_rev.ulp_fw_name, 16);
phba             7304 drivers/scsi/lpfc/lpfc_sli.c 	phba->vpd.rev.opFwRev = mqe->un.read_rev.fw_id_rev;
phba             7305 drivers/scsi/lpfc/lpfc_sli.c 	memcpy(phba->vpd.rev.opFwName, mqe->un.read_rev.fw_name, 16);
phba             7306 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_printf_log(phba, KERN_INFO, LOG_MBOX | LOG_SLI,
phba             7311 drivers/scsi/lpfc/lpfc_sli.c 			phba->vpd.rev.opFwName,
phba             7312 drivers/scsi/lpfc/lpfc_sli.c 			phba->vpd.rev.fcphHigh, phba->vpd.rev.fcphLow,
phba             7313 drivers/scsi/lpfc/lpfc_sli.c 			phba->vpd.rev.feaLevelHigh, phba->vpd.rev.feaLevelLow);
phba             7316 drivers/scsi/lpfc/lpfc_sli.c 	rc = (phba->sli4_hba.max_cfg_param.max_xri >> 3);
phba             7317 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->pport->cfg_lun_queue_depth > rc) {
phba             7318 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_INIT,
phba             7320 drivers/scsi/lpfc/lpfc_sli.c 				phba->pport->cfg_lun_queue_depth, rc);
phba             7321 drivers/scsi/lpfc/lpfc_sli.c 		phba->pport->cfg_lun_queue_depth = rc;
phba             7324 drivers/scsi/lpfc/lpfc_sli.c 	if (bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) ==
phba             7326 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_set_features(phba, mboxq, LPFC_SET_UE_RECOVERY);
phba             7327 drivers/scsi/lpfc/lpfc_sli.c 		rc = lpfc_sli_issue_mbox(phba, mboxq, MBX_POLL);
phba             7329 drivers/scsi/lpfc/lpfc_sli.c 			phba->hba_flag |= HBA_RECOVERABLE_UE;
phba             7331 drivers/scsi/lpfc/lpfc_sli.c 			phba->eratt_poll_interval = 1;
phba             7332 drivers/scsi/lpfc/lpfc_sli.c 			phba->sli4_hba.ue_to_sr = bf_get(
phba             7335 drivers/scsi/lpfc/lpfc_sli.c 			phba->sli4_hba.ue_to_rp = bf_get(
phba             7341 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->cfg_enable_mds_diags && phba->mds_diags_support) {
phba             7343 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_set_features(phba, mboxq, LPFC_SET_MDS_DIAGS);
phba             7344 drivers/scsi/lpfc/lpfc_sli.c 		rc = lpfc_sli_issue_mbox(phba, mboxq, MBX_POLL);
phba             7346 drivers/scsi/lpfc/lpfc_sli.c 			phba->mds_diags_support = 0;
phba             7353 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_request_features(phba, mboxq);
phba             7354 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli_issue_mbox(phba, mboxq, MBX_POLL);
phba             7365 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_MBOX | LOG_SLI,
phba             7371 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->hba_flag & HBA_FCOE_MODE) {
phba             7373 drivers/scsi/lpfc/lpfc_sli.c 			phba->sli3_options |= LPFC_SLI4_PERFH_ENABLED;
phba             7375 drivers/scsi/lpfc/lpfc_sli.c 			phba->sli3_options &= ~LPFC_SLI4_PERFH_ENABLED;
phba             7383 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->sli3_options & LPFC_SLI3_BG_ENABLED) {
phba             7385 drivers/scsi/lpfc/lpfc_sli.c 			phba->cfg_enable_bg = 0;
phba             7386 drivers/scsi/lpfc/lpfc_sli.c 			phba->sli3_options &= ~LPFC_SLI3_BG_ENABLED;
phba             7391 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->max_vpi && phba->cfg_enable_npiv &&
phba             7396 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_MBOX | LOG_SLI,
phba             7399 drivers/scsi/lpfc/lpfc_sli.c 				mqe->un.req_ftrs.word3, phba->cfg_enable_bg,
phba             7400 drivers/scsi/lpfc/lpfc_sli.c 				phba->cfg_enable_npiv, phba->max_vpi);
phba             7402 drivers/scsi/lpfc/lpfc_sli.c 			phba->cfg_enable_bg = 0;
phba             7404 drivers/scsi/lpfc/lpfc_sli.c 			phba->cfg_enable_npiv = 0;
phba             7408 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irq(&phba->hbalock);
phba             7409 drivers/scsi/lpfc/lpfc_sli.c 	phba->sli3_options |= (LPFC_SLI3_NPIV_ENABLED | LPFC_SLI3_HBQ_ENABLED);
phba             7410 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irq(&phba->hbalock);
phba             7416 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli4_alloc_resource_identifiers(phba);
phba             7418 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_MBOX | LOG_SLI,
phba             7424 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_set_host_data(phba, mboxq);
phba             7426 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli_issue_mbox(phba, mboxq, MBX_POLL);
phba             7428 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_MBOX | LOG_SLI,
phba             7434 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_read_sparam(phba, mboxq, vport->vpi);
phba             7436 drivers/scsi/lpfc/lpfc_sli.c 		phba->link_state = LPFC_HBA_ERROR;
phba             7442 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli_issue_mbox(phba, mboxq, MBX_POLL);
phba             7453 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_mbuf_free(phba, mp->virt, mp->phys);
phba             7457 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_MBOX | LOG_SLI,
phba             7461 drivers/scsi/lpfc/lpfc_sli.c 		phba->link_state = LPFC_HBA_ERROR;
phba             7473 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli4_queue_create(phba);
phba             7475 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             7481 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli4_queue_setup(phba);
phba             7483 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_MBOX | LOG_SLI,
phba             7488 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli4_setup(phba);
phba             7489 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli4_queue_init(phba);
phba             7492 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli4_els_sgl_update(phba);
phba             7494 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_MBOX | LOG_SLI,
phba             7501 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli4_repost_sgl_list(phba, &phba->sli4_hba.lpfc_els_sgl_list,
phba             7502 drivers/scsi/lpfc/lpfc_sli.c 				       phba->sli4_hba.els_xri_cnt);
phba             7504 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_MBOX | LOG_SLI,
phba             7510 drivers/scsi/lpfc/lpfc_sli.c 	phba->sli4_hba.els_xri_cnt = rc;
phba             7512 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->nvmet_support) {
phba             7514 drivers/scsi/lpfc/lpfc_sli.c 		rc = lpfc_sli4_nvmet_sgl_update(phba);
phba             7516 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_ERR, LOG_MBOX | LOG_SLI,
phba             7524 drivers/scsi/lpfc/lpfc_sli.c 			phba,
phba             7525 drivers/scsi/lpfc/lpfc_sli.c 			&phba->sli4_hba.lpfc_nvmet_sgl_list,
phba             7526 drivers/scsi/lpfc/lpfc_sli.c 			phba->sli4_hba.nvmet_xri_cnt);
phba             7528 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_ERR, LOG_MBOX | LOG_SLI,
phba             7534 drivers/scsi/lpfc/lpfc_sli.c 		phba->sli4_hba.nvmet_xri_cnt = rc;
phba             7536 drivers/scsi/lpfc/lpfc_sli.c 		cnt = phba->cfg_iocb_cnt * 1024;
phba             7538 drivers/scsi/lpfc/lpfc_sli.c 		cnt += phba->sli4_hba.nvmet_xri_cnt;
phba             7541 drivers/scsi/lpfc/lpfc_sli.c 		rc = lpfc_sli4_io_sgl_update(phba);
phba             7543 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_ERR, LOG_MBOX | LOG_SLI,
phba             7550 drivers/scsi/lpfc/lpfc_sli.c 		rc = lpfc_sli4_repost_io_sgl_list(phba);
phba             7552 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_ERR, LOG_MBOX | LOG_SLI,
phba             7560 drivers/scsi/lpfc/lpfc_sli.c 		cnt = phba->cfg_iocb_cnt * 1024;
phba             7563 drivers/scsi/lpfc/lpfc_sli.c 	if (!phba->sli.iocbq_lookup) {
phba             7565 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             7567 drivers/scsi/lpfc/lpfc_sli.c 				phba->cfg_iocb_cnt, cnt);
phba             7568 drivers/scsi/lpfc/lpfc_sli.c 		rc = lpfc_init_iocb_list(phba, cnt);
phba             7570 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             7576 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->nvmet_support)
phba             7577 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_nvmet_create_targetport(phba);
phba             7579 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->nvmet_support && phba->cfg_nvmet_mrq) {
phba             7581 drivers/scsi/lpfc/lpfc_sli.c 		for (i = 0; i < phba->cfg_nvmet_mrq; i++) {
phba             7582 drivers/scsi/lpfc/lpfc_sli.c 			rqbp = phba->sli4_hba.nvmet_mrq_hdr[i]->rqbp;
phba             7590 drivers/scsi/lpfc/lpfc_sli.c 				phba, phba->sli4_hba.nvmet_mrq_hdr[i],
phba             7591 drivers/scsi/lpfc/lpfc_sli.c 				phba->sli4_hba.nvmet_mrq_data[i],
phba             7592 drivers/scsi/lpfc/lpfc_sli.c 				phba->cfg_nvmet_mrq_post, i);
phba             7597 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli4_post_all_rpi_hdrs(phba);
phba             7599 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_MBOX | LOG_SLI,
phba             7605 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli4_node_prep(phba);
phba             7607 drivers/scsi/lpfc/lpfc_sli.c 	if (!(phba->hba_flag & HBA_FCOE_MODE)) {
phba             7608 drivers/scsi/lpfc/lpfc_sli.c 		if ((phba->nvmet_support == 0) || (phba->cfg_nvmet_mrq == 1)) {
phba             7612 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_reg_fcfi(phba, mboxq);
phba             7613 drivers/scsi/lpfc/lpfc_sli.c 			mboxq->vport = phba->pport;
phba             7614 drivers/scsi/lpfc/lpfc_sli.c 			rc = lpfc_sli_issue_mbox(phba, mboxq, MBX_POLL);
phba             7618 drivers/scsi/lpfc/lpfc_sli.c 			phba->fcf.fcfi = bf_get(lpfc_reg_fcfi_fcfi,
phba             7624 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_reg_fcfi_mrq(phba, mboxq, 0);
phba             7625 drivers/scsi/lpfc/lpfc_sli.c 			mboxq->vport = phba->pport;
phba             7626 drivers/scsi/lpfc/lpfc_sli.c 			rc = lpfc_sli_issue_mbox(phba, mboxq, MBX_POLL);
phba             7630 drivers/scsi/lpfc/lpfc_sli.c 			phba->fcf.fcfi = bf_get(lpfc_reg_fcfi_mrq_fcfi,
phba             7634 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_reg_fcfi_mrq(phba, mboxq, 1);
phba             7635 drivers/scsi/lpfc/lpfc_sli.c 			mboxq->vport = phba->pport;
phba             7636 drivers/scsi/lpfc/lpfc_sli.c 			rc = lpfc_sli_issue_mbox(phba, mboxq, MBX_POLL);
phba             7642 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli_read_link_ste(phba);
phba             7648 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->nvmet_support == 0) {
phba             7649 drivers/scsi/lpfc/lpfc_sli.c 		if (phba->sli4_hba.io_xri_cnt == 0) {
phba             7651 drivers/scsi/lpfc/lpfc_sli.c 					      phba, phba->sli4_hba.io_xri_max);
phba             7657 drivers/scsi/lpfc/lpfc_sli.c 			if (phba->cfg_xri_rebalancing)
phba             7658 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_create_multixri_pools(phba);
phba             7661 drivers/scsi/lpfc/lpfc_sli.c 		phba->cfg_xri_rebalancing = 0;
phba             7665 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irq(&phba->hbalock);
phba             7666 drivers/scsi/lpfc/lpfc_sli.c 	phba->sli.sli_flag &= ~LPFC_SLI_ASYNC_MBX_BLK;
phba             7667 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irq(&phba->hbalock);
phba             7670 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli4_rb_setup(phba);
phba             7673 drivers/scsi/lpfc/lpfc_sli.c 	phba->fcf.fcf_flag = 0;
phba             7674 drivers/scsi/lpfc/lpfc_sli.c 	phba->fcf.current_rec.flag = 0;
phba             7678 drivers/scsi/lpfc/lpfc_sli.c 		  jiffies + msecs_to_jiffies(1000 * (phba->fc_ratov * 2)));
phba             7681 drivers/scsi/lpfc/lpfc_sli.c 	mod_timer(&phba->hb_tmofunc,
phba             7683 drivers/scsi/lpfc/lpfc_sli.c 	phba->hb_outstanding = 0;
phba             7684 drivers/scsi/lpfc/lpfc_sli.c 	phba->last_completion_time = jiffies;
phba             7687 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->cfg_auto_imax)
phba             7688 drivers/scsi/lpfc/lpfc_sli.c 		queue_delayed_work(phba->wq, &phba->eq_delay_work,
phba             7692 drivers/scsi/lpfc/lpfc_sli.c 	mod_timer(&phba->eratt_poll,
phba             7693 drivers/scsi/lpfc/lpfc_sli.c 		  jiffies + msecs_to_jiffies(1000 * phba->eratt_poll_interval));
phba             7696 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->cfg_aer_support == 1 && !(phba->hba_flag & HBA_AER_ENABLED)) {
phba             7697 drivers/scsi/lpfc/lpfc_sli.c 		rc = pci_enable_pcie_error_reporting(phba->pcidev);
phba             7699 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             7702 drivers/scsi/lpfc/lpfc_sli.c 			spin_lock_irq(&phba->hbalock);
phba             7703 drivers/scsi/lpfc/lpfc_sli.c 			phba->hba_flag |= HBA_AER_ENABLED;
phba             7704 drivers/scsi/lpfc/lpfc_sli.c 			spin_unlock_irq(&phba->hbalock);
phba             7706 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             7709 drivers/scsi/lpfc/lpfc_sli.c 			phba->cfg_aer_support = 0;
phba             7718 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irq(&phba->hbalock);
phba             7719 drivers/scsi/lpfc/lpfc_sli.c 	phba->link_state = LPFC_LINK_DOWN;
phba             7722 drivers/scsi/lpfc/lpfc_sli.c 	if (bf_get(lpfc_conf_trunk_port0, &phba->sli4_hba))
phba             7723 drivers/scsi/lpfc/lpfc_sli.c 		phba->trunk_link.link0.state = LPFC_LINK_DOWN;
phba             7724 drivers/scsi/lpfc/lpfc_sli.c 	if (bf_get(lpfc_conf_trunk_port1, &phba->sli4_hba))
phba             7725 drivers/scsi/lpfc/lpfc_sli.c 		phba->trunk_link.link1.state = LPFC_LINK_DOWN;
phba             7726 drivers/scsi/lpfc/lpfc_sli.c 	if (bf_get(lpfc_conf_trunk_port2, &phba->sli4_hba))
phba             7727 drivers/scsi/lpfc/lpfc_sli.c 		phba->trunk_link.link2.state = LPFC_LINK_DOWN;
phba             7728 drivers/scsi/lpfc/lpfc_sli.c 	if (bf_get(lpfc_conf_trunk_port3, &phba->sli4_hba))
phba             7729 drivers/scsi/lpfc/lpfc_sli.c 		phba->trunk_link.link3.state = LPFC_LINK_DOWN;
phba             7730 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irq(&phba->hbalock);
phba             7733 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli4_arm_cqeq_intr(phba);
phba             7736 drivers/scsi/lpfc/lpfc_sli.c 	phba->sli4_hba.intr_enable = 1;
phba             7738 drivers/scsi/lpfc/lpfc_sli.c 	if (!(phba->hba_flag & HBA_FCOE_MODE) &&
phba             7739 drivers/scsi/lpfc/lpfc_sli.c 	    (phba->hba_flag & LINK_DISABLED)) {
phba             7740 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT | LOG_SLI,
phba             7742 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_down_link(phba, mboxq);
phba             7743 drivers/scsi/lpfc/lpfc_sli.c 		rc = lpfc_sli_issue_mbox(phba, mboxq, MBX_POLL);
phba             7745 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_ERR, LOG_INIT | LOG_SLI,
phba             7750 drivers/scsi/lpfc/lpfc_sli.c 	} else if (phba->cfg_suppress_link_up == LPFC_INITIALIZE_LINK) {
phba             7752 drivers/scsi/lpfc/lpfc_sli.c 		if (!(phba->link_flag & LS_LOOPBACK_MODE)) {
phba             7753 drivers/scsi/lpfc/lpfc_sli.c 			rc = phba->lpfc_hba_init_link(phba, MBX_NOWAIT);
phba             7758 drivers/scsi/lpfc/lpfc_sli.c 	mempool_free(mboxq, phba->mbox_mem_pool);
phba             7762 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_io_free(phba);
phba             7765 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli4_queue_unset(phba);
phba             7767 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_free_iocb_list(phba);
phba             7768 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli4_queue_destroy(phba);
phba             7770 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_stop_hba_timers(phba);
phba             7772 drivers/scsi/lpfc/lpfc_sli.c 	mempool_free(mboxq, phba->mbox_mem_pool);
phba             7791 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_hba  *phba = from_timer(phba, t, sli.mbox_tmo);
phba             7795 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irqsave(&phba->pport->work_port_lock, iflag);
phba             7796 drivers/scsi/lpfc/lpfc_sli.c 	tmo_posted = phba->pport->work_port_events & WORKER_MBOX_TMO;
phba             7798 drivers/scsi/lpfc/lpfc_sli.c 		phba->pport->work_port_events |= WORKER_MBOX_TMO;
phba             7799 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irqrestore(&phba->pport->work_port_lock, iflag);
phba             7802 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_worker_wake_up(phba);
phba             7815 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_mbox_completions_pending(struct lpfc_hba *phba)
phba             7824 drivers/scsi/lpfc/lpfc_sli.c 	if (unlikely(!phba) || (phba->sli_rev != LPFC_SLI_REV4))
phba             7829 drivers/scsi/lpfc/lpfc_sli.c 	mcq = phba->sli4_hba.mbx_cq;
phba             7845 drivers/scsi/lpfc/lpfc_sli.c 		if (phba->sli4_hba.pc_sli4_params.cqav && !idx)
phba             7864 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_process_missed_mbox_completions(struct lpfc_hba *phba)
phba             7866 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_sli4_hba *sli4_hba = &phba->sli4_hba;
phba             7872 drivers/scsi/lpfc/lpfc_sli.c 	if (unlikely(!phba) || (phba->sli_rev != LPFC_SLI_REV4))
phba             7877 drivers/scsi/lpfc/lpfc_sli.c 		for (eqidx = 0; eqidx < phba->cfg_irq_chann; eqidx++) {
phba             7878 drivers/scsi/lpfc/lpfc_sli.c 			eq = phba->sli4_hba.hba_eq_hdl[eqidx].eq;
phba             7894 drivers/scsi/lpfc/lpfc_sli.c 	mbox_pending = lpfc_sli4_mbox_completions_pending(phba);
phba             7905 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli4_process_eq(phba, fpeq, LPFC_QUEUE_REARM);
phba             7908 drivers/scsi/lpfc/lpfc_sli.c 		sli4_hba->sli4_write_eq_db(phba, fpeq, 0, LPFC_QUEUE_REARM);
phba             7923 drivers/scsi/lpfc/lpfc_sli.c lpfc_mbox_timeout_handler(struct lpfc_hba *phba)
phba             7925 drivers/scsi/lpfc/lpfc_sli.c 	LPFC_MBOXQ_t *pmbox = phba->sli.mbox_active;
phba             7928 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_sli *psli = &phba->sli;
phba             7931 drivers/scsi/lpfc/lpfc_sli.c 	if (lpfc_sli4_process_missed_mbox_completions(phba))
phba             7941 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irq(&phba->hbalock);
phba             7943 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_WARNING,
phba             7947 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irq(&phba->hbalock);
phba             7952 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_printf_log(phba, KERN_ERR, LOG_MBOX | LOG_SLI,
phba             7955 drivers/scsi/lpfc/lpfc_sli.c 			phba->pport->port_state,
phba             7956 drivers/scsi/lpfc/lpfc_sli.c 			phba->sli.sli_flag,
phba             7957 drivers/scsi/lpfc/lpfc_sli.c 			phba->sli.mbox_active);
phba             7958 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irq(&phba->hbalock);
phba             7964 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irq(&phba->pport->work_port_lock);
phba             7965 drivers/scsi/lpfc/lpfc_sli.c 	phba->pport->work_port_events &= ~WORKER_MBOX_TMO;
phba             7966 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irq(&phba->pport->work_port_lock);
phba             7967 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irq(&phba->hbalock);
phba             7968 drivers/scsi/lpfc/lpfc_sli.c 	phba->link_state = LPFC_LINK_UNKNOWN;
phba             7970 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irq(&phba->hbalock);
phba             7972 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli_abort_fcp_rings(phba);
phba             7974 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_printf_log(phba, KERN_ERR, LOG_MBOX | LOG_SLI,
phba             7978 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_reset_hba(phba);
phba             8008 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_issue_mbox_s3(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmbox,
phba             8012 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_sli *psli = &phba->sli;
phba             8022 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irqsave(&phba->hbalock, drvr_flag);
phba             8024 drivers/scsi/lpfc/lpfc_sli.c 		phba->sli.sli_flag &= ~LPFC_SLI_MBOX_ACTIVE;
phba             8027 drivers/scsi/lpfc/lpfc_sli.c 			spin_unlock_irqrestore(&phba->hbalock, drvr_flag);
phba             8031 drivers/scsi/lpfc/lpfc_sli.c 		pmbox = lpfc_mbox_get(phba);
phba             8033 drivers/scsi/lpfc/lpfc_sli.c 			spin_unlock_irqrestore(&phba->hbalock, drvr_flag);
phba             8041 drivers/scsi/lpfc/lpfc_sli.c 			spin_unlock_irqrestore(&phba->hbalock, drvr_flag);
phba             8042 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_ERR,
phba             8052 drivers/scsi/lpfc/lpfc_sli.c 	if (unlikely(pci_channel_offline(phba->pcidev))) {
phba             8053 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irqrestore(&phba->hbalock, drvr_flag);
phba             8058 drivers/scsi/lpfc/lpfc_sli.c 	if (unlikely(phba->hba_flag & DEFER_ERATT)) {
phba             8059 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irqrestore(&phba->hbalock, drvr_flag);
phba             8063 drivers/scsi/lpfc/lpfc_sli.c 	psli = &phba->sli;
phba             8068 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->link_state == LPFC_HBA_ERROR) {
phba             8069 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irqrestore(&phba->hbalock, drvr_flag);
phba             8072 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_MBOX | LOG_SLI,
phba             8081 drivers/scsi/lpfc/lpfc_sli.c 		if (lpfc_readl(phba->HCregaddr, &hc_copy) ||
phba             8083 drivers/scsi/lpfc/lpfc_sli.c 			spin_unlock_irqrestore(&phba->hbalock, drvr_flag);
phba             8084 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_ERR, LOG_MBOX | LOG_SLI,
phba             8100 drivers/scsi/lpfc/lpfc_sli.c 			spin_unlock_irqrestore(&phba->hbalock, drvr_flag);
phba             8103 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_ERR, LOG_MBOX | LOG_SLI,
phba             8113 drivers/scsi/lpfc/lpfc_sli.c 			spin_unlock_irqrestore(&phba->hbalock, drvr_flag);
phba             8115 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_ERR, LOG_MBOX | LOG_SLI,
phba             8127 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_mbox_put(phba, pmbox);
phba             8130 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_INFO, LOG_MBOX | LOG_SLI,
phba             8135 drivers/scsi/lpfc/lpfc_sli.c 				phba->pport ? phba->pport->port_state : 0xff,
phba             8139 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irqrestore(&phba->hbalock, drvr_flag);
phba             8149 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_debugfs_disc_trc(phba->pport,
phba             8166 drivers/scsi/lpfc/lpfc_sli.c 			spin_unlock_irqrestore(&phba->hbalock, drvr_flag);
phba             8168 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_ERR, LOG_MBOX | LOG_SLI,
phba             8177 drivers/scsi/lpfc/lpfc_sli.c 		timeout = msecs_to_jiffies(lpfc_mbox_tmo_val(phba, pmbox) *
phba             8183 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_printf_log(phba, KERN_INFO, LOG_MBOX | LOG_SLI,
phba             8188 drivers/scsi/lpfc/lpfc_sli.c 			phba->pport ? phba->pport->port_state : 0xff,
phba             8200 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_debugfs_disc_trc(phba->pport,
phba             8218 drivers/scsi/lpfc/lpfc_sli.c 				= (uint8_t *)phba->mbox_ext
phba             8219 drivers/scsi/lpfc/lpfc_sli.c 				  - (uint8_t *)phba->mbox;
phba             8225 drivers/scsi/lpfc/lpfc_sli.c 					      (uint8_t *)phba->mbox_ext,
phba             8229 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli_pcimem_bcopy(mbx, phba->mbox, MAILBOX_CMD_SIZE);
phba             8238 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_memcpy_to_slim(phba->MBslimaddr +
phba             8244 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_sli_pcimem_bcopy(mbx, phba->mbox,
phba             8249 drivers/scsi/lpfc/lpfc_sli.c 		to_slim = phba->MBslimaddr + sizeof (uint32_t);
phba             8255 drivers/scsi/lpfc/lpfc_sli.c 		to_slim = phba->MBslimaddr;
phba             8271 drivers/scsi/lpfc/lpfc_sli.c 		writel(CA_MBATT, phba->CAregaddr);
phba             8272 drivers/scsi/lpfc/lpfc_sli.c 		readl(phba->CAregaddr); /* flush */
phba             8280 drivers/scsi/lpfc/lpfc_sli.c 		writel(CA_MBATT, phba->CAregaddr);
phba             8281 drivers/scsi/lpfc/lpfc_sli.c 		readl(phba->CAregaddr); /* flush */
phba             8285 drivers/scsi/lpfc/lpfc_sli.c 			word0 = *((uint32_t *)phba->mbox);
phba             8289 drivers/scsi/lpfc/lpfc_sli.c 			if (lpfc_readl(phba->MBslimaddr, &word0)) {
phba             8290 drivers/scsi/lpfc/lpfc_sli.c 				spin_unlock_irqrestore(&phba->hbalock,
phba             8297 drivers/scsi/lpfc/lpfc_sli.c 		if (lpfc_readl(phba->HAregaddr, &ha_copy)) {
phba             8298 drivers/scsi/lpfc/lpfc_sli.c 			spin_unlock_irqrestore(&phba->hbalock,
phba             8302 drivers/scsi/lpfc/lpfc_sli.c 		timeout = msecs_to_jiffies(lpfc_mbox_tmo_val(phba, pmbox) *
phba             8308 drivers/scsi/lpfc/lpfc_sli.c 			(phba->link_state > LPFC_WARM_START))) {
phba             8311 drivers/scsi/lpfc/lpfc_sli.c 				spin_unlock_irqrestore(&phba->hbalock,
phba             8323 drivers/scsi/lpfc/lpfc_sli.c 				spin_unlock_irqrestore(&phba->hbalock,
phba             8326 drivers/scsi/lpfc/lpfc_sli.c 				spin_lock_irqsave(&phba->hbalock, drvr_flag);
phba             8331 drivers/scsi/lpfc/lpfc_sli.c 				word0 = *((uint32_t *)phba->mbox);
phba             8337 drivers/scsi/lpfc/lpfc_sli.c 					slimword0 = readl(phba->MBslimaddr);
phba             8348 drivers/scsi/lpfc/lpfc_sli.c 				word0 = readl(phba->MBslimaddr);
phba             8351 drivers/scsi/lpfc/lpfc_sli.c 			if (lpfc_readl(phba->HAregaddr, &ha_copy)) {
phba             8352 drivers/scsi/lpfc/lpfc_sli.c 				spin_unlock_irqrestore(&phba->hbalock,
phba             8360 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_sli_pcimem_bcopy(phba->mbox, mbx,
phba             8364 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_sli_pcimem_bcopy(phba->mbox_ext,
phba             8370 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_memcpy_from_slim(mbx, phba->MBslimaddr,
phba             8376 drivers/scsi/lpfc/lpfc_sli.c 					phba->MBslimaddr +
phba             8382 drivers/scsi/lpfc/lpfc_sli.c 		writel(HA_MBATT, phba->HAregaddr);
phba             8383 drivers/scsi/lpfc/lpfc_sli.c 		readl(phba->HAregaddr); /* flush */
phba             8389 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irqrestore(&phba->hbalock, drvr_flag);
phba             8395 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_mbox_cmpl_put(phba, pmbox);
phba             8413 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_async_mbox_block(struct lpfc_hba *phba)
phba             8415 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_sli *psli = &phba->sli;
phba             8420 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irq(&phba->hbalock);
phba             8425 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->sli.mbox_active)
phba             8426 drivers/scsi/lpfc/lpfc_sli.c 		timeout = msecs_to_jiffies(lpfc_mbox_tmo_val(phba,
phba             8427 drivers/scsi/lpfc/lpfc_sli.c 						phba->sli.mbox_active) *
phba             8429 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irq(&phba->hbalock);
phba             8433 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli4_process_missed_mbox_completions(phba);
phba             8436 drivers/scsi/lpfc/lpfc_sli.c 	while (phba->sli.mbox_active) {
phba             8448 drivers/scsi/lpfc/lpfc_sli.c 		spin_lock_irq(&phba->hbalock);
phba             8450 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irq(&phba->hbalock);
phba             8467 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_async_mbox_unblock(struct lpfc_hba *phba)
phba             8469 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_sli *psli = &phba->sli;
phba             8471 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irq(&phba->hbalock);
phba             8474 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irq(&phba->hbalock);
phba             8484 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irq(&phba->hbalock);
phba             8487 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_worker_wake_up(phba);
phba             8502 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_wait_bmbx_ready(struct lpfc_hba *phba, LPFC_MBOXQ_t *mboxq)
phba             8508 drivers/scsi/lpfc/lpfc_sli.c 	timeout = msecs_to_jiffies(lpfc_mbox_tmo_val(phba, mboxq)
phba             8512 drivers/scsi/lpfc/lpfc_sli.c 		bmbx_reg.word0 = readl(phba->sli4_hba.BMBXregaddr);
phba             8541 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_post_sync_mbox(struct lpfc_hba *phba, LPFC_MBOXQ_t *mboxq)
phba             8547 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_sli *psli = &phba->sli;
phba             8556 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irqsave(&phba->hbalock, iflag);
phba             8558 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irqrestore(&phba->hbalock, iflag);
phba             8559 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_MBOX | LOG_SLI,
phba             8564 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_sli_config_mbox_subsys_get(phba, mboxq),
phba             8565 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_sli_config_mbox_opcode_get(phba, mboxq),
phba             8571 drivers/scsi/lpfc/lpfc_sli.c 	phba->sli.mbox_active = mboxq;
phba             8572 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irqrestore(&phba->hbalock, iflag);
phba             8575 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli4_wait_bmbx_ready(phba, mboxq);
phba             8584 drivers/scsi/lpfc/lpfc_sli.c 	memset(phba->sli4_hba.bmbx.avirt, 0, sizeof(struct lpfc_bmbx_create));
phba             8585 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli4_pcimem_bcopy(mb, phba->sli4_hba.bmbx.avirt,
phba             8589 drivers/scsi/lpfc/lpfc_sli.c 	dma_address = &phba->sli4_hba.bmbx.dma_address;
phba             8590 drivers/scsi/lpfc/lpfc_sli.c 	writel(dma_address->addr_hi, phba->sli4_hba.BMBXregaddr);
phba             8593 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli4_wait_bmbx_ready(phba, mboxq);
phba             8598 drivers/scsi/lpfc/lpfc_sli.c 	writel(dma_address->addr_lo, phba->sli4_hba.BMBXregaddr);
phba             8601 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli4_wait_bmbx_ready(phba, mboxq);
phba             8610 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli4_pcimem_bcopy(phba->sli4_hba.bmbx.avirt, mb,
phba             8612 drivers/scsi/lpfc/lpfc_sli.c 	mbox_rgn = (struct lpfc_bmbx_create *) phba->sli4_hba.bmbx.avirt;
phba             8627 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli4_swap_str(phba, mboxq);
phba             8629 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_printf_log(phba, KERN_INFO, LOG_MBOX | LOG_SLI,
phba             8634 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_sli_config_mbox_subsys_get(phba, mboxq),
phba             8635 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_sli_config_mbox_opcode_get(phba, mboxq),
phba             8648 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irqsave(&phba->hbalock, iflag);
phba             8650 drivers/scsi/lpfc/lpfc_sli.c 	phba->sli.mbox_active = NULL;
phba             8651 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irqrestore(&phba->hbalock, iflag);
phba             8668 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_issue_mbox_s4(struct lpfc_hba *phba, LPFC_MBOXQ_t *mboxq,
phba             8671 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_sli *psli = &phba->sli;
phba             8676 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_idiag_mbxacc_dump_issue_mbox(phba, &mboxq->u.mb);
phba             8678 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_mbox_dev_check(phba);
phba             8680 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_MBOX | LOG_SLI,
phba             8685 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_sli_config_mbox_subsys_get(phba, mboxq),
phba             8686 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_sli_config_mbox_opcode_get(phba, mboxq),
phba             8692 drivers/scsi/lpfc/lpfc_sli.c 	if (!phba->sli4_hba.intr_enable) {
phba             8694 drivers/scsi/lpfc/lpfc_sli.c 			rc = lpfc_sli4_post_sync_mbox(phba, mboxq);
phba             8698 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_WARNING, LOG_MBOX | LOG_SLI,
phba             8705 drivers/scsi/lpfc/lpfc_sli.c 					lpfc_sli_config_mbox_subsys_get(phba,
phba             8707 drivers/scsi/lpfc/lpfc_sli.c 					lpfc_sli_config_mbox_opcode_get(phba,
phba             8716 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_MBOX | LOG_SLI,
phba             8722 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_sli_config_mbox_subsys_get(phba, mboxq),
phba             8723 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_sli_config_mbox_opcode_get(phba, mboxq),
phba             8726 drivers/scsi/lpfc/lpfc_sli.c 		rc = lpfc_sli4_async_mbox_block(phba);
phba             8729 drivers/scsi/lpfc/lpfc_sli.c 			rc = lpfc_sli4_post_sync_mbox(phba, mboxq);
phba             8731 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_printf_log(phba, KERN_WARNING,
phba             8739 drivers/scsi/lpfc/lpfc_sli.c 					lpfc_sli_config_mbox_subsys_get(phba,
phba             8741 drivers/scsi/lpfc/lpfc_sli.c 					lpfc_sli_config_mbox_opcode_get(phba,
phba             8749 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_sli4_async_mbox_unblock(phba);
phba             8755 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_mbox_cmd_check(phba, mboxq);
phba             8757 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_MBOX | LOG_SLI,
phba             8762 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_sli_config_mbox_subsys_get(phba, mboxq),
phba             8763 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_sli_config_mbox_opcode_get(phba, mboxq),
phba             8770 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irqsave(&phba->hbalock, iflags);
phba             8771 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_mbox_put(phba, mboxq);
phba             8772 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             8773 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_printf_log(phba, KERN_INFO, LOG_MBOX | LOG_SLI,
phba             8778 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_sli_config_mbox_subsys_get(phba, mboxq),
phba             8779 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_sli_config_mbox_opcode_get(phba, mboxq),
phba             8780 drivers/scsi/lpfc/lpfc_sli.c 			phba->pport->port_state,
phba             8783 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_worker_wake_up(phba);
phba             8800 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_post_async_mbox(struct lpfc_hba *phba)
phba             8802 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_sli *psli = &phba->sli;
phba             8810 drivers/scsi/lpfc/lpfc_sli.c 	if (unlikely(!phba->sli4_hba.intr_enable))
phba             8814 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irqsave(&phba->hbalock, iflags);
phba             8816 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             8820 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             8823 drivers/scsi/lpfc/lpfc_sli.c 	if (unlikely(phba->sli.mbox_active)) {
phba             8824 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             8825 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_MBOX | LOG_SLI,
phba             8833 drivers/scsi/lpfc/lpfc_sli.c 	mboxq = lpfc_mbox_get(phba);
phba             8838 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             8841 drivers/scsi/lpfc/lpfc_sli.c 	phba->sli.mbox_active = mboxq;
phba             8842 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             8845 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_mbox_dev_check(phba);
phba             8856 drivers/scsi/lpfc/lpfc_sli.c 		  msecs_to_jiffies(1000 * lpfc_mbox_tmo_val(phba, mboxq))));
phba             8858 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_printf_log(phba, KERN_INFO, LOG_MBOX | LOG_SLI,
phba             8862 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_sli_config_mbox_subsys_get(phba, mboxq),
phba             8863 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_sli_config_mbox_opcode_get(phba, mboxq),
phba             8864 drivers/scsi/lpfc/lpfc_sli.c 			phba->pport->port_state, psli->sli_flag);
phba             8874 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_debugfs_disc_trc(phba->pport,
phba             8884 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli4_mq_put(phba->sli4_hba.mbx_wq, mqe);
phba             8886 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_MBOX | LOG_SLI,
phba             8891 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_sli_config_mbox_subsys_get(phba, mboxq),
phba             8892 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_sli_config_mbox_opcode_get(phba, mboxq),
phba             8900 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irqsave(&phba->hbalock, iflags);
phba             8901 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->sli.mbox_active) {
phba             8903 drivers/scsi/lpfc/lpfc_sli.c 		__lpfc_mbox_cmpl_put(phba, mboxq);
phba             8906 drivers/scsi/lpfc/lpfc_sli.c 		phba->sli.mbox_active = NULL;
phba             8908 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             8926 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_issue_mbox(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmbox, uint32_t flag)
phba             8928 drivers/scsi/lpfc/lpfc_sli.c 	return phba->lpfc_sli_issue_mbox(phba, pmbox, flag);
phba             8941 drivers/scsi/lpfc/lpfc_sli.c lpfc_mbox_api_table_setup(struct lpfc_hba *phba, uint8_t dev_grp)
phba             8946 drivers/scsi/lpfc/lpfc_sli.c 		phba->lpfc_sli_issue_mbox = lpfc_sli_issue_mbox_s3;
phba             8947 drivers/scsi/lpfc/lpfc_sli.c 		phba->lpfc_sli_handle_slow_ring_event =
phba             8949 drivers/scsi/lpfc/lpfc_sli.c 		phba->lpfc_sli_hbq_to_firmware = lpfc_sli_hbq_to_firmware_s3;
phba             8950 drivers/scsi/lpfc/lpfc_sli.c 		phba->lpfc_sli_brdrestart = lpfc_sli_brdrestart_s3;
phba             8951 drivers/scsi/lpfc/lpfc_sli.c 		phba->lpfc_sli_brdready = lpfc_sli_brdready_s3;
phba             8954 drivers/scsi/lpfc/lpfc_sli.c 		phba->lpfc_sli_issue_mbox = lpfc_sli_issue_mbox_s4;
phba             8955 drivers/scsi/lpfc/lpfc_sli.c 		phba->lpfc_sli_handle_slow_ring_event =
phba             8957 drivers/scsi/lpfc/lpfc_sli.c 		phba->lpfc_sli_hbq_to_firmware = lpfc_sli_hbq_to_firmware_s4;
phba             8958 drivers/scsi/lpfc/lpfc_sli.c 		phba->lpfc_sli_brdrestart = lpfc_sli_brdrestart_s4;
phba             8959 drivers/scsi/lpfc/lpfc_sli.c 		phba->lpfc_sli_brdready = lpfc_sli_brdready_s4;
phba             8962 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             8982 drivers/scsi/lpfc/lpfc_sli.c __lpfc_sli_ringtx_put(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
phba             8985 drivers/scsi/lpfc/lpfc_sli.c 	lockdep_assert_held(&phba->hbalock);
phba             9008 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_next_iocb(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
phba             9013 drivers/scsi/lpfc/lpfc_sli.c 	lockdep_assert_held(&phba->hbalock);
phba             9015 drivers/scsi/lpfc/lpfc_sli.c 	nextiocb = lpfc_sli_ringtx_get(phba, pring);
phba             9047 drivers/scsi/lpfc/lpfc_sli.c __lpfc_sli_issue_iocb_s3(struct lpfc_hba *phba, uint32_t ring_number,
phba             9052 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_sli_ring *pring = &phba->sli.sli3_ring[ring_number];
phba             9054 drivers/scsi/lpfc/lpfc_sli.c 	lockdep_assert_held(&phba->hbalock);
phba             9059 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR,
phba             9069 drivers/scsi/lpfc/lpfc_sli.c 	if (unlikely(pci_channel_offline(phba->pcidev)))
phba             9073 drivers/scsi/lpfc/lpfc_sli.c 	if (unlikely(phba->hba_flag & DEFER_ERATT))
phba             9079 drivers/scsi/lpfc/lpfc_sli.c 	if (unlikely(phba->link_state < LPFC_LINK_DOWN))
phba             9089 drivers/scsi/lpfc/lpfc_sli.c 	if (unlikely(phba->link_state == LPFC_LINK_DOWN)) {
phba             9097 drivers/scsi/lpfc/lpfc_sli.c 			if (!(phba->sli.sli_flag & LPFC_MENLO_MAINT) ||
phba             9127 drivers/scsi/lpfc/lpfc_sli.c 			    !(phba->sli.sli_flag & LPFC_PROCESS_LA))) {
phba             9131 drivers/scsi/lpfc/lpfc_sli.c 	while ((iocb = lpfc_sli_next_iocb_slot(phba, pring)) &&
phba             9132 drivers/scsi/lpfc/lpfc_sli.c 	       (nextiocb = lpfc_sli_next_iocb(phba, pring, &piocb)))
phba             9133 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli_submit_iocb(phba, pring, iocb, nextiocb);
phba             9136 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli_update_ring(phba, pring);
phba             9138 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli_update_full_ring(phba, pring);
phba             9151 drivers/scsi/lpfc/lpfc_sli.c 		__lpfc_sli_ringtx_put(phba, pring, piocb);
phba             9176 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_bpl2sgl(struct lpfc_hba *phba, struct lpfc_iocbq *piocbq,
phba             9281 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_iocb2wqe(struct lpfc_hba *phba, struct lpfc_iocbq *iocbq,
phba             9301 drivers/scsi/lpfc/lpfc_sli.c 	fip = phba->hba_flag & HBA_FIP_SUPPORT;
phba             9310 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->fcp_embed_io)
phba             9355 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             9382 drivers/scsi/lpfc/lpfc_sli.c 					&phba->sli4_hba.sli_intf);
phba             9394 drivers/scsi/lpfc/lpfc_sli.c 					!(phba->fc_topology ==
phba             9399 drivers/scsi/lpfc/lpfc_sli.c 					phba->vpi_ids[iocbq->vport->vpi]);
phba             9403 drivers/scsi/lpfc/lpfc_sli.c 					phba->sli4_hba.rpi_ids[ndlp->nlp_rpi]);
phba             9407 drivers/scsi/lpfc/lpfc_sli.c 		       phba->sli4_hba.rpi_ids[ndlp->nlp_rpi]);
phba             9424 drivers/scsi/lpfc/lpfc_sli.c 		if (phba->link_flag & LS_LOOPBACK_MODE)
phba             9483 drivers/scsi/lpfc/lpfc_sli.c 				       (phba->cfg_XLanePriority << 1));
phba             9489 drivers/scsi/lpfc/lpfc_sli.c 		if (phba->cfg_enable_pbde)
phba             9494 drivers/scsi/lpfc/lpfc_sli.c 		if (phba->fcp_embed_io) {
phba             9547 drivers/scsi/lpfc/lpfc_sli.c 				       (phba->cfg_XLanePriority << 1));
phba             9553 drivers/scsi/lpfc/lpfc_sli.c 		if (phba->cfg_enable_pbde)
phba             9558 drivers/scsi/lpfc/lpfc_sli.c 		if (phba->fcp_embed_io) {
phba             9610 drivers/scsi/lpfc/lpfc_sli.c 				       (phba->cfg_XLanePriority << 1));
phba             9615 drivers/scsi/lpfc/lpfc_sli.c 		if (phba->fcp_embed_io) {
phba             9662 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             9690 drivers/scsi/lpfc/lpfc_sli.c 					&phba->sli4_hba.sli_intf);
phba             9709 drivers/scsi/lpfc/lpfc_sli.c 			       phba->vpi_ids[iocbq->vport->vpi]);
phba             9717 drivers/scsi/lpfc/lpfc_sli.c 		       phba->sli4_hba.rpi_ids[ndlp->nlp_rpi]);
phba             9720 drivers/scsi/lpfc/lpfc_sli.c 		if (phba->fc_topology == LPFC_TOPOLOGY_LOOP) {
phba             9726 drivers/scsi/lpfc/lpfc_sli.c 					phba->vpi_ids[phba->pport->vpi]);
phba             9736 drivers/scsi/lpfc/lpfc_sli.c 		if (abrt_iotag != 0 && abrt_iotag <= phba->sli.last_iotag) {
phba             9737 drivers/scsi/lpfc/lpfc_sli.c 			abrtiocbq = phba->sli.iocbq_lookup[abrt_iotag];
phba             9805 drivers/scsi/lpfc/lpfc_sli.c 			phba->vpi_ids[phba->pport->vpi]);
phba             9841 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             9881 drivers/scsi/lpfc/lpfc_sli.c __lpfc_sli_issue_iocb_s4(struct lpfc_hba *phba, uint32_t ring_number,
phba             9892 drivers/scsi/lpfc/lpfc_sli.c 		wq = phba->sli4_hba.hdwq[piocb->hba_wqidx].io_wq;
phba             9894 drivers/scsi/lpfc/lpfc_sli.c 		wq = phba->sli4_hba.els_wq;
phba             9913 drivers/scsi/lpfc/lpfc_sli.c 					__lpfc_sli_ringtx_put(phba,
phba             9920 drivers/scsi/lpfc/lpfc_sli.c 				sglq = __lpfc_sli_get_els_sglq(phba, piocb);
phba             9923 drivers/scsi/lpfc/lpfc_sli.c 						__lpfc_sli_ringtx_put(phba,
phba             9940 drivers/scsi/lpfc/lpfc_sli.c 		sglq = __lpfc_get_active_sglq(phba, piocb->sli4_lxritag);
phba             9948 drivers/scsi/lpfc/lpfc_sli.c 		if (NO_XRI == lpfc_sli4_bpl2sgl(phba, piocb, sglq))
phba             9952 drivers/scsi/lpfc/lpfc_sli.c 	if (lpfc_sli4_iocb2wqe(phba, piocb, &wqe))
phba             9957 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli_ringtxcmpl_put(phba, pring, piocb);
phba             9974 drivers/scsi/lpfc/lpfc_sli.c __lpfc_sli_issue_iocb(struct lpfc_hba *phba, uint32_t ring_number,
phba             9977 drivers/scsi/lpfc/lpfc_sli.c 	return phba->__lpfc_sli_issue_iocb(phba, ring_number, piocb, flag);
phba             9990 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_api_table_setup(struct lpfc_hba *phba, uint8_t dev_grp)
phba             9995 drivers/scsi/lpfc/lpfc_sli.c 		phba->__lpfc_sli_issue_iocb = __lpfc_sli_issue_iocb_s3;
phba             9996 drivers/scsi/lpfc/lpfc_sli.c 		phba->__lpfc_sli_release_iocbq = __lpfc_sli_release_iocbq_s3;
phba             9999 drivers/scsi/lpfc/lpfc_sli.c 		phba->__lpfc_sli_issue_iocb = __lpfc_sli_issue_iocb_s4;
phba             10000 drivers/scsi/lpfc/lpfc_sli.c 		phba->__lpfc_sli_release_iocbq = __lpfc_sli_release_iocbq_s4;
phba             10003 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             10009 drivers/scsi/lpfc/lpfc_sli.c 	phba->lpfc_get_iocb_from_iocbq = lpfc_get_iocb_from_iocbq;
phba             10024 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_calc_ring(struct lpfc_hba *phba, struct lpfc_iocbq *piocb)
phba             10029 drivers/scsi/lpfc/lpfc_sli.c 		if (unlikely(!phba->sli4_hba.hdwq))
phba             10039 drivers/scsi/lpfc/lpfc_sli.c 		return phba->sli4_hba.hdwq[piocb->hba_wqidx].io_wq->pring;
phba             10041 drivers/scsi/lpfc/lpfc_sli.c 		if (unlikely(!phba->sli4_hba.els_wq))
phba             10044 drivers/scsi/lpfc/lpfc_sli.c 		return phba->sli4_hba.els_wq->pring;
phba             10062 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_issue_iocb(struct lpfc_hba *phba, uint32_t ring_number,
phba             10070 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->sli_rev == LPFC_SLI_REV4) {
phba             10071 drivers/scsi/lpfc/lpfc_sli.c 		eq = phba->sli4_hba.hdwq[piocb->hba_wqidx].hba_eq;
phba             10073 drivers/scsi/lpfc/lpfc_sli.c 		pring = lpfc_sli4_calc_ring(phba, piocb);
phba             10078 drivers/scsi/lpfc/lpfc_sli.c 		rc = __lpfc_sli_issue_iocb(phba, ring_number, piocb, flag);
phba             10084 drivers/scsi/lpfc/lpfc_sli.c 		spin_lock_irqsave(&phba->hbalock, iflags);
phba             10085 drivers/scsi/lpfc/lpfc_sli.c 		rc = __lpfc_sli_issue_iocb(phba, ring_number, piocb, flag);
phba             10086 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             10103 drivers/scsi/lpfc/lpfc_sli.c lpfc_extra_ring_setup( struct lpfc_hba *phba)
phba             10108 drivers/scsi/lpfc/lpfc_sli.c 	psli = &phba->sli;
phba             10131 drivers/scsi/lpfc/lpfc_sli.c 	pring->prt[0].rctl = phba->cfg_multi_ring_rctl;
phba             10132 drivers/scsi/lpfc/lpfc_sli.c 	pring->prt[0].type = phba->cfg_multi_ring_type;
phba             10150 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_abts_err_handler(struct lpfc_hba *phba,
phba             10161 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_printf_log(phba, KERN_WARNING, LOG_SLI,
phba             10166 drivers/scsi/lpfc/lpfc_sli.c 	vport = lpfc_find_vport_by_vpid(phba, vpi);
phba             10178 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_printf_log(phba, KERN_INFO, LOG_SLI,
phba             10196 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_abts_err_handler(struct lpfc_hba *phba,
phba             10204 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_INFO, LOG_SLI,
phba             10211 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_printf_log(phba, KERN_WARNING, LOG_SLI,
phba             10214 drivers/scsi/lpfc/lpfc_sli.c 			ndlp->vport->vpi, phba->sli4_hba.rpi_ids[ndlp->nlp_rpi],
phba             10244 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_async_event_handler(struct lpfc_hba * phba,
phba             10263 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_ERR, LOG_TEMP,
phba             10269 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_ERR, LOG_TEMP,
phba             10276 drivers/scsi/lpfc/lpfc_sli.c 		shost = lpfc_shost_from_vport(phba->pport);
phba             10282 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli_abts_err_handler(phba, iocbq);
phba             10286 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             10316 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_setup(struct lpfc_hba *phba)
phba             10320 drivers/scsi/lpfc/lpfc_sli.c 	pring = phba->sli4_hba.els_wq->pring;
phba             10361 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_setup(struct lpfc_hba *phba)
phba             10364 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_sli *psli = &phba->sli;
phba             10389 drivers/scsi/lpfc/lpfc_sli.c 			pring->sli.sli3.sizeCiocb = (phba->sli_rev == 3) ?
phba             10392 drivers/scsi/lpfc/lpfc_sli.c 			pring->sli.sli3.sizeRiocb = (phba->sli_rev == 3) ?
phba             10397 drivers/scsi/lpfc/lpfc_sli.c 			    (phba->cfg_hba_queue_depth * 2);
phba             10405 drivers/scsi/lpfc/lpfc_sli.c 			pring->sli.sli3.sizeCiocb = (phba->sli_rev == 3) ?
phba             10408 drivers/scsi/lpfc/lpfc_sli.c 			pring->sli.sli3.sizeRiocb = (phba->sli_rev == 3) ?
phba             10411 drivers/scsi/lpfc/lpfc_sli.c 			pring->iotag_max = phba->cfg_hba_queue_depth;
phba             10418 drivers/scsi/lpfc/lpfc_sli.c 			pring->sli.sli3.sizeCiocb = (phba->sli_rev == 3) ?
phba             10421 drivers/scsi/lpfc/lpfc_sli.c 			pring->sli.sli3.sizeRiocb = (phba->sli_rev == 3) ?
phba             10464 drivers/scsi/lpfc/lpfc_sli.c 		       phba->brd_no, totiocbsize,
phba             10467 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->cfg_multi_ring_support == 2)
phba             10468 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_extra_ring_setup(phba);
phba             10485 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_queue_init(struct lpfc_hba *phba)
phba             10491 drivers/scsi/lpfc/lpfc_sli.c 	psli = &phba->sli;
phba             10492 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irq(&phba->hbalock);
phba             10496 drivers/scsi/lpfc/lpfc_sli.c 	for (i = 0; i < phba->cfg_hdw_queue; i++) {
phba             10497 drivers/scsi/lpfc/lpfc_sli.c 		pring = phba->sli4_hba.hdwq[i].io_wq->pring;
phba             10506 drivers/scsi/lpfc/lpfc_sli.c 	pring = phba->sli4_hba.els_wq->pring;
phba             10515 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->cfg_enable_fc4_type & LPFC_ENABLE_NVME) {
phba             10516 drivers/scsi/lpfc/lpfc_sli.c 		pring = phba->sli4_hba.nvmels_wq->pring;
phba             10526 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irq(&phba->hbalock);
phba             10541 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_queue_init(struct lpfc_hba *phba)
phba             10547 drivers/scsi/lpfc/lpfc_sli.c 	psli = &phba->sli;
phba             10548 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irq(&phba->hbalock);
phba             10566 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irq(&phba->hbalock);
phba             10585 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_mbox_sys_flush(struct lpfc_hba *phba)
phba             10588 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_sli *psli = &phba->sli;
phba             10596 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irqsave(&phba->hbalock, iflag);
phba             10599 drivers/scsi/lpfc/lpfc_sli.c 	list_splice_init(&phba->sli.mboxq, &completions);
phba             10607 drivers/scsi/lpfc/lpfc_sli.c 	list_splice_init(&phba->sli.mboxq_cmpl, &completions);
phba             10608 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irqrestore(&phba->hbalock, iflag);
phba             10618 drivers/scsi/lpfc/lpfc_sli.c 			pmb->mbox_cmpl(phba, pmb);
phba             10643 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_hba *phba = vport->phba;
phba             10644 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_sli *psli = &phba->sli;
phba             10654 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irqsave(&phba->hbalock, flags);
phba             10661 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->sli_rev != LPFC_SLI_REV4) {
phba             10669 drivers/scsi/lpfc/lpfc_sli.c 				set_bit(LPFC_DATA_READY, &phba->data_flags);
phba             10681 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_sli_issue_abort_iotag(phba, pring, iocb);
phba             10686 drivers/scsi/lpfc/lpfc_sli.c 		list_for_each_entry(qp, &phba->sli4_hba.lpfc_wq_list, wq_list) {
phba             10690 drivers/scsi/lpfc/lpfc_sli.c 			if (pring == phba->sli4_hba.els_wq->pring) {
phba             10693 drivers/scsi/lpfc/lpfc_sli.c 				set_bit(LPFC_DATA_READY, &phba->data_flags);
phba             10708 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_sli_issue_abort_iotag(phba, pring, iocb);
phba             10713 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irqrestore(&phba->hbalock, flags);
phba             10716 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli_cancel_iocbs(phba, &completions, IOSTAT_LOCAL_REJECT,
phba             10737 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_hba_down(struct lpfc_hba *phba)
phba             10740 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_sli *psli = &phba->sli;
phba             10748 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli_mbox_sys_shutdown(phba, LPFC_MBX_WAIT);
phba             10750 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_hba_down_prep(phba);
phba             10755 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_fabric_abort_hba(phba);
phba             10757 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irqsave(&phba->hbalock, flags);
phba             10763 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->sli_rev != LPFC_SLI_REV4) {
phba             10770 drivers/scsi/lpfc/lpfc_sli.c 				set_bit(LPFC_DATA_READY, &phba->data_flags);
phba             10775 drivers/scsi/lpfc/lpfc_sli.c 		list_for_each_entry(qp, &phba->sli4_hba.lpfc_wq_list, wq_list) {
phba             10782 drivers/scsi/lpfc/lpfc_sli.c 			if (pring == phba->sli4_hba.els_wq->pring) {
phba             10785 drivers/scsi/lpfc/lpfc_sli.c 				set_bit(LPFC_DATA_READY, &phba->data_flags);
phba             10789 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irqrestore(&phba->hbalock, flags);
phba             10792 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli_cancel_iocbs(phba, &completions, IOSTAT_LOCAL_REJECT,
phba             10795 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irqsave(&phba->hbalock, flags);
phba             10796 drivers/scsi/lpfc/lpfc_sli.c 	list_splice_init(&phba->elsbuf, &completions);
phba             10797 drivers/scsi/lpfc/lpfc_sli.c 	phba->elsbuf_cnt = 0;
phba             10798 drivers/scsi/lpfc/lpfc_sli.c 	phba->elsbuf_prev_cnt = 0;
phba             10799 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irqrestore(&phba->hbalock, flags);
phba             10804 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_mbuf_free(phba, buf_ptr->virt, buf_ptr->phys);
phba             10814 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irqsave(&phba->pport->work_port_lock, flags);
phba             10815 drivers/scsi/lpfc/lpfc_sli.c 	phba->pport->work_port_events &= ~WORKER_MBOX_TMO;
phba             10816 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irqrestore(&phba->pport->work_port_lock, flags);
phba             10889 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_ringpostbuf_put(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
phba             10894 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irq(&phba->hbalock);
phba             10897 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irq(&phba->hbalock);
phba             10913 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_get_buffer_tag(struct lpfc_hba *phba)
phba             10915 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irq(&phba->hbalock);
phba             10916 drivers/scsi/lpfc/lpfc_sli.c 	phba->buffer_tag_count++;
phba             10921 drivers/scsi/lpfc/lpfc_sli.c 	phba->buffer_tag_count |= QUE_BUFTAG_BIT;
phba             10922 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irq(&phba->hbalock);
phba             10923 drivers/scsi/lpfc/lpfc_sli.c 	return phba->buffer_tag_count;
phba             10942 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_ring_taggedbuf_get(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
phba             10949 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irq(&phba->hbalock);
phba             10954 drivers/scsi/lpfc/lpfc_sli.c 			spin_unlock_irq(&phba->hbalock);
phba             10959 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irq(&phba->hbalock);
phba             10960 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             10986 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_ringpostbuf_get(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
phba             10993 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irq(&phba->hbalock);
phba             10998 drivers/scsi/lpfc/lpfc_sli.c 			spin_unlock_irq(&phba->hbalock);
phba             11003 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irq(&phba->hbalock);
phba             11004 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             11024 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_abort_els_cmpl(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
phba             11040 drivers/scsi/lpfc/lpfc_sli.c 		spin_lock_irq(&phba->hbalock);
phba             11041 drivers/scsi/lpfc/lpfc_sli.c 		if (phba->sli_rev < LPFC_SLI_REV4) {
phba             11045 drivers/scsi/lpfc/lpfc_sli.c 				spin_unlock_irq(&phba->hbalock);
phba             11049 drivers/scsi/lpfc/lpfc_sli.c 				abort_iotag <= phba->sli.last_iotag)
phba             11051 drivers/scsi/lpfc/lpfc_sli.c 					phba->sli.iocbq_lookup[abort_iotag];
phba             11058 drivers/scsi/lpfc/lpfc_sli.c 			abort_iocb = phba->sli.iocbq_lookup[abort_context];
phba             11060 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_ELS | LOG_SLI,
phba             11067 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irq(&phba->hbalock);
phba             11070 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli_release_iocbq(phba, cmdiocb);
phba             11086 drivers/scsi/lpfc/lpfc_sli.c lpfc_ignore_els_cmpl(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
phba             11092 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_printf_log(phba, KERN_INFO, LOG_ELS,
phba             11098 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_ct_free_iocb(phba, cmdiocb);
phba             11100 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_els_free_iocb(phba, cmdiocb);
phba             11117 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_abort_iotag_issue(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
phba             11128 drivers/scsi/lpfc/lpfc_sli.c 	lockdep_assert_held(&phba->hbalock);
phba             11142 drivers/scsi/lpfc/lpfc_sli.c 	abtsiocbp = __lpfc_sli_get_iocbq(phba);
phba             11154 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->sli_rev == LPFC_SLI_REV4) {
phba             11174 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->link_state >= LPFC_LINK_UP)
phba             11189 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->sli_rev == LPFC_SLI_REV4) {
phba             11190 drivers/scsi/lpfc/lpfc_sli.c 		pring = lpfc_sli4_calc_ring(phba, abtsiocbp);
phba             11195 drivers/scsi/lpfc/lpfc_sli.c 		retval = __lpfc_sli_issue_iocb(phba, pring->ringno,
phba             11199 drivers/scsi/lpfc/lpfc_sli.c 		retval = __lpfc_sli_issue_iocb(phba, pring->ringno,
phba             11204 drivers/scsi/lpfc/lpfc_sli.c 		__lpfc_sli_release_iocbq(phba, abtsiocbp);
phba             11228 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_issue_abort_iotag(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
phba             11235 drivers/scsi/lpfc/lpfc_sli.c 	lockdep_assert_held(&phba->hbalock);
phba             11270 drivers/scsi/lpfc/lpfc_sli.c 	retval = lpfc_sli_abort_iotag_issue(phba, pring, cmdiocb);
phba             11288 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_hba_iocb_abort(struct lpfc_hba *phba)
phba             11290 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_sli *psli = &phba->sli;
phba             11295 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->sli_rev != LPFC_SLI_REV4) {
phba             11298 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_sli_abort_iocb_ring(phba, pring);
phba             11302 drivers/scsi/lpfc/lpfc_sli.c 	list_for_each_entry(qp, &phba->sli4_hba.lpfc_wq_list, wq_list) {
phba             11306 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli_abort_iocb_ring(phba, pring);
phba             11399 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_hba *phba = vport->phba;
phba             11403 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irq(&phba->hbalock);
phba             11404 drivers/scsi/lpfc/lpfc_sli.c 	for (i = 1, sum = 0; i <= phba->sli.last_iotag; i++) {
phba             11405 drivers/scsi/lpfc/lpfc_sli.c 		iocbq = phba->sli.iocbq_lookup[i];
phba             11411 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irq(&phba->hbalock);
phba             11427 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_abort_fcp_cmpl(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
phba             11430 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_printf_log(phba, KERN_INFO, LOG_SLI,
phba             11438 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli_release_iocbq(phba, cmdiocb);
phba             11467 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_hba *phba = vport->phba;
phba             11476 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->hba_flag & HBA_IOQ_FLUSH)
phba             11479 drivers/scsi/lpfc/lpfc_sli.c 	for (i = 1; i <= phba->sli.last_iotag; i++) {
phba             11480 drivers/scsi/lpfc/lpfc_sli.c 		iocbq = phba->sli.iocbq_lookup[i];
phba             11494 drivers/scsi/lpfc/lpfc_sli.c 		abtsiocb = lpfc_sli_get_iocbq(phba);
phba             11506 drivers/scsi/lpfc/lpfc_sli.c 		if (phba->sli_rev == LPFC_SLI_REV4)
phba             11521 drivers/scsi/lpfc/lpfc_sli.c 		if (lpfc_is_link_up(phba))
phba             11528 drivers/scsi/lpfc/lpfc_sli.c 		if (phba->sli_rev == LPFC_SLI_REV4) {
phba             11529 drivers/scsi/lpfc/lpfc_sli.c 			pring_s4 = lpfc_sli4_calc_ring(phba, iocbq);
phba             11532 drivers/scsi/lpfc/lpfc_sli.c 			ret_val = lpfc_sli_issue_iocb(phba, pring_s4->ringno,
phba             11535 drivers/scsi/lpfc/lpfc_sli.c 			ret_val = lpfc_sli_issue_iocb(phba, pring->ringno,
phba             11538 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_sli_release_iocbq(phba, abtsiocb);
phba             11573 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_hba *phba = vport->phba;
phba             11583 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irqsave(&phba->hbalock, iflags);
phba             11586 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->hba_flag & HBA_IOQ_FLUSH) {
phba             11587 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             11592 drivers/scsi/lpfc/lpfc_sli.c 	for (i = 1; i <= phba->sli.last_iotag; i++) {
phba             11593 drivers/scsi/lpfc/lpfc_sli.c 		iocbq = phba->sli.iocbq_lookup[i];
phba             11608 drivers/scsi/lpfc/lpfc_sli.c 		if (phba->sli_rev == LPFC_SLI_REV4) {
phba             11610 drivers/scsi/lpfc/lpfc_sli.c 			    phba->sli4_hba.hdwq[iocbq->hba_wqidx].io_wq->pring;
phba             11625 drivers/scsi/lpfc/lpfc_sli.c 			if (phba->sli_rev == LPFC_SLI_REV4)
phba             11632 drivers/scsi/lpfc/lpfc_sli.c 		abtsiocbq = __lpfc_sli_get_iocbq(phba);
phba             11634 drivers/scsi/lpfc/lpfc_sli.c 			if (phba->sli_rev == LPFC_SLI_REV4)
phba             11643 drivers/scsi/lpfc/lpfc_sli.c 		if (phba->sli_rev == LPFC_SLI_REV4)
phba             11661 drivers/scsi/lpfc/lpfc_sli.c 		if (lpfc_is_link_up(phba) &&
phba             11676 drivers/scsi/lpfc/lpfc_sli.c 		if (phba->sli_rev == LPFC_SLI_REV4) {
phba             11677 drivers/scsi/lpfc/lpfc_sli.c 			ret_val = __lpfc_sli_issue_iocb(phba, pring_s4->ringno,
phba             11681 drivers/scsi/lpfc/lpfc_sli.c 			ret_val = __lpfc_sli_issue_iocb(phba, pring->ringno,
phba             11688 drivers/scsi/lpfc/lpfc_sli.c 			__lpfc_sli_release_iocbq(phba, abtsiocbq);
phba             11692 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             11714 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_wake_iocb_wait(struct lpfc_hba *phba,
phba             11722 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irqsave(&phba->hbalock, iflags);
phba             11731 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             11735 drivers/scsi/lpfc/lpfc_sli.c 			(cmdiocbq->iocb_cmpl)(phba, cmdiocbq, NULL);
phba             11737 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_sli_release_iocbq(phba, cmdiocbq);
phba             11760 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             11777 drivers/scsi/lpfc/lpfc_sli.c lpfc_chk_iocb_flg(struct lpfc_hba *phba,
phba             11783 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irqsave(&phba->hbalock, iflags);
phba             11785 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             11827 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_issue_iocb_wait(struct lpfc_hba *phba,
phba             11844 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->sli_rev >= LPFC_SLI_REV4)
phba             11845 drivers/scsi/lpfc/lpfc_sli.c 		pring = lpfc_sli4_calc_ring(phba, piocb);
phba             11847 drivers/scsi/lpfc/lpfc_sli.c 		pring = &phba->sli.sli3_ring[ring_number];
phba             11863 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->cfg_poll & DISABLE_FCP_RING_INT) {
phba             11864 drivers/scsi/lpfc/lpfc_sli.c 		if (lpfc_readl(phba->HCregaddr, &creg_val))
phba             11867 drivers/scsi/lpfc/lpfc_sli.c 		writel(creg_val, phba->HCregaddr);
phba             11868 drivers/scsi/lpfc/lpfc_sli.c 		readl(phba->HCregaddr); /* flush */
phba             11871 drivers/scsi/lpfc/lpfc_sli.c 	retval = lpfc_sli_issue_iocb(phba, ring_number, piocb,
phba             11876 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_chk_iocb_flg(phba, piocb, LPFC_IO_WAKE),
phba             11878 drivers/scsi/lpfc/lpfc_sli.c 		spin_lock_irqsave(&phba->hbalock, iflags);
phba             11889 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             11891 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_INFO, LOG_SLI,
phba             11899 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             11904 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             11911 drivers/scsi/lpfc/lpfc_sli.c 		if (phba->cfg_log_verbose & LOG_SLI) {
phba             11918 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_INFO, LOG_SLI,
phba             11920 drivers/scsi/lpfc/lpfc_sli.c 				phba->iocb_cnt, txq_cnt, txcmplq_cnt);
phba             11924 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_INFO, LOG_SLI,
phba             11930 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->cfg_poll & DISABLE_FCP_RING_INT) {
phba             11931 drivers/scsi/lpfc/lpfc_sli.c 		if (lpfc_readl(phba->HCregaddr, &creg_val))
phba             11934 drivers/scsi/lpfc/lpfc_sli.c 		writel(creg_val, phba->HCregaddr);
phba             11935 drivers/scsi/lpfc/lpfc_sli.c 		readl(phba->HCregaddr); /* flush */
phba             11973 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_issue_mbox_wait(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmboxq,
phba             11988 drivers/scsi/lpfc/lpfc_sli.c 	retval = lpfc_sli_issue_mbox(phba, pmboxq, MBX_NOWAIT);
phba             11993 drivers/scsi/lpfc/lpfc_sli.c 		spin_lock_irqsave(&phba->hbalock, flag);
phba             12005 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irqrestore(&phba->hbalock, flag);
phba             12026 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_mbox_sys_shutdown(struct lpfc_hba *phba, int mbx_action)
phba             12028 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_sli *psli = &phba->sli;
phba             12034 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli_mbox_sys_flush(phba);
phba             12042 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irq(&phba->hbalock);
phba             12049 drivers/scsi/lpfc/lpfc_sli.c 		if (phba->sli.mbox_active)
phba             12050 drivers/scsi/lpfc/lpfc_sli.c 			timeout = msecs_to_jiffies(lpfc_mbox_tmo_val(phba,
phba             12051 drivers/scsi/lpfc/lpfc_sli.c 						phba->sli.mbox_active) *
phba             12053 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irq(&phba->hbalock);
phba             12058 drivers/scsi/lpfc/lpfc_sli.c 		while (phba->sli.mbox_active) {
phba             12068 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irq(&phba->hbalock);
phba             12074 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli_mbox_sys_flush(phba);
phba             12089 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_eratt_read(struct lpfc_hba *phba)
phba             12094 drivers/scsi/lpfc/lpfc_sli.c 	if (lpfc_readl(phba->HAregaddr, &ha_copy))
phba             12099 drivers/scsi/lpfc/lpfc_sli.c 		if (lpfc_sli_read_hs(phba))
phba             12103 drivers/scsi/lpfc/lpfc_sli.c 		if ((HS_FFER1 & phba->work_hs) &&
phba             12105 drivers/scsi/lpfc/lpfc_sli.c 		      HS_FFER6 | HS_FFER7 | HS_FFER8) & phba->work_hs)) {
phba             12106 drivers/scsi/lpfc/lpfc_sli.c 			phba->hba_flag |= DEFER_ERATT;
phba             12108 drivers/scsi/lpfc/lpfc_sli.c 			writel(0, phba->HCregaddr);
phba             12109 drivers/scsi/lpfc/lpfc_sli.c 			readl(phba->HCregaddr);
phba             12113 drivers/scsi/lpfc/lpfc_sli.c 		phba->work_ha |= HA_ERATT;
phba             12115 drivers/scsi/lpfc/lpfc_sli.c 		phba->hba_flag |= HBA_ERATT_HANDLED;
phba             12122 drivers/scsi/lpfc/lpfc_sli.c 	phba->work_hs |= UNPLUG_ERR;
phba             12124 drivers/scsi/lpfc/lpfc_sli.c 	phba->work_ha |= HA_ERATT;
phba             12126 drivers/scsi/lpfc/lpfc_sli.c 	phba->hba_flag |= HBA_ERATT_HANDLED;
phba             12142 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_eratt_read(struct lpfc_hba *phba)
phba             12152 drivers/scsi/lpfc/lpfc_sli.c 	if_type = bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf);
phba             12155 drivers/scsi/lpfc/lpfc_sli.c 		if (lpfc_readl(phba->sli4_hba.u.if_type0.UERRLOregaddr,
phba             12157 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_readl(phba->sli4_hba.u.if_type0.UERRHIregaddr,
phba             12159 drivers/scsi/lpfc/lpfc_sli.c 			phba->work_hs |= UNPLUG_ERR;
phba             12160 drivers/scsi/lpfc/lpfc_sli.c 			phba->work_ha |= HA_ERATT;
phba             12161 drivers/scsi/lpfc/lpfc_sli.c 			phba->hba_flag |= HBA_ERATT_HANDLED;
phba             12164 drivers/scsi/lpfc/lpfc_sli.c 		if ((~phba->sli4_hba.ue_mask_lo & uerr_sta_lo) ||
phba             12165 drivers/scsi/lpfc/lpfc_sli.c 		    (~phba->sli4_hba.ue_mask_hi & uerr_sta_hi)) {
phba             12166 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             12172 drivers/scsi/lpfc/lpfc_sli.c 					phba->sli4_hba.ue_mask_lo,
phba             12173 drivers/scsi/lpfc/lpfc_sli.c 					phba->sli4_hba.ue_mask_hi);
phba             12174 drivers/scsi/lpfc/lpfc_sli.c 			phba->work_status[0] = uerr_sta_lo;
phba             12175 drivers/scsi/lpfc/lpfc_sli.c 			phba->work_status[1] = uerr_sta_hi;
phba             12176 drivers/scsi/lpfc/lpfc_sli.c 			phba->work_ha |= HA_ERATT;
phba             12177 drivers/scsi/lpfc/lpfc_sli.c 			phba->hba_flag |= HBA_ERATT_HANDLED;
phba             12183 drivers/scsi/lpfc/lpfc_sli.c 		if (lpfc_readl(phba->sli4_hba.u.if_type2.STATUSregaddr,
phba             12185 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_readl(phba->sli4_hba.PSMPHRregaddr,
phba             12187 drivers/scsi/lpfc/lpfc_sli.c 			phba->work_hs |= UNPLUG_ERR;
phba             12188 drivers/scsi/lpfc/lpfc_sli.c 			phba->work_ha |= HA_ERATT;
phba             12189 drivers/scsi/lpfc/lpfc_sli.c 			phba->hba_flag |= HBA_ERATT_HANDLED;
phba             12193 drivers/scsi/lpfc/lpfc_sli.c 			phba->work_status[0] =
phba             12194 drivers/scsi/lpfc/lpfc_sli.c 				readl(phba->sli4_hba.u.if_type2.ERR1regaddr);
phba             12195 drivers/scsi/lpfc/lpfc_sli.c 			phba->work_status[1] =
phba             12196 drivers/scsi/lpfc/lpfc_sli.c 				readl(phba->sli4_hba.u.if_type2.ERR2regaddr);
phba             12197 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             12204 drivers/scsi/lpfc/lpfc_sli.c 					phba->work_status[0],
phba             12205 drivers/scsi/lpfc/lpfc_sli.c 					phba->work_status[1]);
phba             12206 drivers/scsi/lpfc/lpfc_sli.c 			phba->work_ha |= HA_ERATT;
phba             12207 drivers/scsi/lpfc/lpfc_sli.c 			phba->hba_flag |= HBA_ERATT_HANDLED;
phba             12213 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             12233 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_check_eratt(struct lpfc_hba *phba)
phba             12240 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->link_flag & LS_IGNORE_ERATT)
phba             12244 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irq(&phba->hbalock);
phba             12245 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->hba_flag & HBA_ERATT_HANDLED) {
phba             12247 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irq(&phba->hbalock);
phba             12255 drivers/scsi/lpfc/lpfc_sli.c 	if (unlikely(phba->hba_flag & DEFER_ERATT)) {
phba             12256 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irq(&phba->hbalock);
phba             12261 drivers/scsi/lpfc/lpfc_sli.c 	if (unlikely(pci_channel_offline(phba->pcidev))) {
phba             12262 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irq(&phba->hbalock);
phba             12266 drivers/scsi/lpfc/lpfc_sli.c 	switch (phba->sli_rev) {
phba             12270 drivers/scsi/lpfc/lpfc_sli.c 		ha_copy = lpfc_sli_eratt_read(phba);
phba             12274 drivers/scsi/lpfc/lpfc_sli.c 		ha_copy = lpfc_sli4_eratt_read(phba);
phba             12277 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             12279 drivers/scsi/lpfc/lpfc_sli.c 				phba->sli_rev);
phba             12283 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irq(&phba->hbalock);
phba             12299 drivers/scsi/lpfc/lpfc_sli.c lpfc_intr_state_check(struct lpfc_hba *phba)
phba             12302 drivers/scsi/lpfc/lpfc_sli.c 	if (unlikely(pci_channel_offline(phba->pcidev)))
phba             12306 drivers/scsi/lpfc/lpfc_sli.c 	phba->sli.slistat.sli_intr++;
phba             12309 drivers/scsi/lpfc/lpfc_sli.c 	if (unlikely(phba->link_state < LPFC_LINK_DOWN))
phba             12339 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_hba  *phba;
phba             12357 drivers/scsi/lpfc/lpfc_sli.c 	phba = (struct lpfc_hba *)dev_id;
phba             12359 drivers/scsi/lpfc/lpfc_sli.c 	if (unlikely(!phba))
phba             12366 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->intr_type == MSIX) {
phba             12368 drivers/scsi/lpfc/lpfc_sli.c 		if (lpfc_intr_state_check(phba))
phba             12371 drivers/scsi/lpfc/lpfc_sli.c 		spin_lock_irqsave(&phba->hbalock, iflag);
phba             12372 drivers/scsi/lpfc/lpfc_sli.c 		if (lpfc_readl(phba->HAregaddr, &ha_copy))
phba             12377 drivers/scsi/lpfc/lpfc_sli.c 		if (phba->link_flag & LS_IGNORE_ERATT)
phba             12381 drivers/scsi/lpfc/lpfc_sli.c 			if (phba->hba_flag & HBA_ERATT_HANDLED)
phba             12386 drivers/scsi/lpfc/lpfc_sli.c 				phba->hba_flag |= HBA_ERATT_HANDLED;
phba             12393 drivers/scsi/lpfc/lpfc_sli.c 		if (unlikely(phba->hba_flag & DEFER_ERATT)) {
phba             12394 drivers/scsi/lpfc/lpfc_sli.c 			spin_unlock_irqrestore(&phba->hbalock, iflag);
phba             12399 drivers/scsi/lpfc/lpfc_sli.c 		if (lpfc_readl(phba->HCregaddr, &hc_copy))
phba             12404 drivers/scsi/lpfc/lpfc_sli.c 			phba->HCregaddr);
phba             12406 drivers/scsi/lpfc/lpfc_sli.c 			phba->HAregaddr);
phba             12407 drivers/scsi/lpfc/lpfc_sli.c 		writel(hc_copy, phba->HCregaddr);
phba             12408 drivers/scsi/lpfc/lpfc_sli.c 		readl(phba->HAregaddr); /* flush */
phba             12409 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irqrestore(&phba->hbalock, iflag);
phba             12411 drivers/scsi/lpfc/lpfc_sli.c 		ha_copy = phba->ha_copy;
phba             12413 drivers/scsi/lpfc/lpfc_sli.c 	work_ha_copy = ha_copy & phba->work_ha_mask;
phba             12417 drivers/scsi/lpfc/lpfc_sli.c 			if (phba->sli.sli_flag & LPFC_PROCESS_LA) {
phba             12422 drivers/scsi/lpfc/lpfc_sli.c 				spin_lock_irqsave(&phba->hbalock, iflag);
phba             12423 drivers/scsi/lpfc/lpfc_sli.c 				phba->sli.sli_flag &= ~LPFC_PROCESS_LA;
phba             12424 drivers/scsi/lpfc/lpfc_sli.c 				if (lpfc_readl(phba->HCregaddr, &control))
phba             12427 drivers/scsi/lpfc/lpfc_sli.c 				writel(control, phba->HCregaddr);
phba             12428 drivers/scsi/lpfc/lpfc_sli.c 				readl(phba->HCregaddr); /* flush */
phba             12429 drivers/scsi/lpfc/lpfc_sli.c 				spin_unlock_irqrestore(&phba->hbalock, iflag);
phba             12444 drivers/scsi/lpfc/lpfc_sli.c 				spin_lock_irqsave(&phba->hbalock, iflag);
phba             12445 drivers/scsi/lpfc/lpfc_sli.c 				if (lpfc_readl(phba->HCregaddr, &control))
phba             12448 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_debugfs_slow_ring_trc(phba,
phba             12451 drivers/scsi/lpfc/lpfc_sli.c 				(uint32_t)phba->sli.slistat.sli_intr);
phba             12454 drivers/scsi/lpfc/lpfc_sli.c 					lpfc_debugfs_slow_ring_trc(phba,
phba             12457 drivers/scsi/lpfc/lpfc_sli.c 						phba->work_ha, work_ha_copy,
phba             12459 drivers/scsi/lpfc/lpfc_sli.c 						&phba->work_waitq));
phba             12463 drivers/scsi/lpfc/lpfc_sli.c 					writel(control, phba->HCregaddr);
phba             12464 drivers/scsi/lpfc/lpfc_sli.c 					readl(phba->HCregaddr); /* flush */
phba             12467 drivers/scsi/lpfc/lpfc_sli.c 					lpfc_debugfs_slow_ring_trc(phba,
phba             12470 drivers/scsi/lpfc/lpfc_sli.c 						phba->work_ha, work_ha_copy,
phba             12472 drivers/scsi/lpfc/lpfc_sli.c 						&phba->work_waitq));
phba             12474 drivers/scsi/lpfc/lpfc_sli.c 				spin_unlock_irqrestore(&phba->hbalock, iflag);
phba             12477 drivers/scsi/lpfc/lpfc_sli.c 		spin_lock_irqsave(&phba->hbalock, iflag);
phba             12479 drivers/scsi/lpfc/lpfc_sli.c 			if (lpfc_sli_read_hs(phba))
phba             12485 drivers/scsi/lpfc/lpfc_sli.c 			if ((HS_FFER1 & phba->work_hs) &&
phba             12488 drivers/scsi/lpfc/lpfc_sli.c 				  phba->work_hs)) {
phba             12489 drivers/scsi/lpfc/lpfc_sli.c 				phba->hba_flag |= DEFER_ERATT;
phba             12491 drivers/scsi/lpfc/lpfc_sli.c 				writel(0, phba->HCregaddr);
phba             12492 drivers/scsi/lpfc/lpfc_sli.c 				readl(phba->HCregaddr);
phba             12496 drivers/scsi/lpfc/lpfc_sli.c 		if ((work_ha_copy & HA_MBATT) && (phba->sli.mbox_active)) {
phba             12497 drivers/scsi/lpfc/lpfc_sli.c 			pmb = phba->sli.mbox_active;
phba             12499 drivers/scsi/lpfc/lpfc_sli.c 			mbox = phba->mbox;
phba             12505 drivers/scsi/lpfc/lpfc_sli.c 				spin_unlock_irqrestore(&phba->hbalock, iflag);
phba             12510 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_printf_log(phba, KERN_ERR, LOG_MBOX |
phba             12521 drivers/scsi/lpfc/lpfc_sli.c 				phba->sli.mbox_active = NULL;
phba             12522 drivers/scsi/lpfc/lpfc_sli.c 				spin_unlock_irqrestore(&phba->hbalock, iflag);
phba             12523 drivers/scsi/lpfc/lpfc_sli.c 				phba->last_completion_time = jiffies;
phba             12524 drivers/scsi/lpfc/lpfc_sli.c 				del_timer(&phba->sli.mbox_tmo);
phba             12531 drivers/scsi/lpfc/lpfc_sli.c 						phba->mbox_ext,
phba             12556 drivers/scsi/lpfc/lpfc_sli.c 						lpfc_unreg_login(phba,
phba             12565 drivers/scsi/lpfc/lpfc_sli.c 						rc = lpfc_sli_issue_mbox(phba,
phba             12569 drivers/scsi/lpfc/lpfc_sli.c 							lpfc_printf_log(phba,
phba             12579 drivers/scsi/lpfc/lpfc_sli.c 						&phba->pport->work_port_lock,
phba             12581 drivers/scsi/lpfc/lpfc_sli.c 				phba->pport->work_port_events &=
phba             12584 drivers/scsi/lpfc/lpfc_sli.c 						&phba->pport->work_port_lock,
phba             12586 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_mbox_cmpl_put(phba, pmb);
phba             12589 drivers/scsi/lpfc/lpfc_sli.c 			spin_unlock_irqrestore(&phba->hbalock, iflag);
phba             12592 drivers/scsi/lpfc/lpfc_sli.c 		    (phba->sli.mbox_active == NULL)) {
phba             12596 drivers/scsi/lpfc/lpfc_sli.c 				rc = lpfc_sli_issue_mbox(phba, NULL,
phba             12600 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_printf_log(phba, KERN_ERR, LOG_MBOX |
phba             12605 drivers/scsi/lpfc/lpfc_sli.c 		spin_lock_irqsave(&phba->hbalock, iflag);
phba             12606 drivers/scsi/lpfc/lpfc_sli.c 		phba->work_ha |= work_ha_copy;
phba             12607 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irqrestore(&phba->hbalock, iflag);
phba             12608 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_worker_wake_up(phba);
phba             12612 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irqrestore(&phba->hbalock, iflag);
phba             12639 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_hba  *phba;
phba             12648 drivers/scsi/lpfc/lpfc_sli.c 	phba = (struct lpfc_hba *) dev_id;
phba             12650 drivers/scsi/lpfc/lpfc_sli.c 	if (unlikely(!phba))
phba             12657 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->intr_type == MSIX) {
phba             12659 drivers/scsi/lpfc/lpfc_sli.c 		if (lpfc_intr_state_check(phba))
phba             12662 drivers/scsi/lpfc/lpfc_sli.c 		if (lpfc_readl(phba->HAregaddr, &ha_copy))
phba             12665 drivers/scsi/lpfc/lpfc_sli.c 		spin_lock_irqsave(&phba->hbalock, iflag);
phba             12670 drivers/scsi/lpfc/lpfc_sli.c 		if (unlikely(phba->hba_flag & DEFER_ERATT)) {
phba             12671 drivers/scsi/lpfc/lpfc_sli.c 			spin_unlock_irqrestore(&phba->hbalock, iflag);
phba             12675 drivers/scsi/lpfc/lpfc_sli.c 			phba->HAregaddr);
phba             12676 drivers/scsi/lpfc/lpfc_sli.c 		readl(phba->HAregaddr); /* flush */
phba             12677 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irqrestore(&phba->hbalock, iflag);
phba             12679 drivers/scsi/lpfc/lpfc_sli.c 		ha_copy = phba->ha_copy;
phba             12684 drivers/scsi/lpfc/lpfc_sli.c 	ha_copy &= ~(phba->work_ha_mask);
phba             12688 drivers/scsi/lpfc/lpfc_sli.c 	pring = &phba->sli.sli3_ring[LPFC_FCP_RING];
phba             12690 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli_handle_fast_ring_event(phba, pring, status);
phba             12692 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->cfg_multi_ring_support == 2) {
phba             12700 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_sli_handle_fast_ring_event(phba,
phba             12701 drivers/scsi/lpfc/lpfc_sli.c 					&phba->sli.sli3_ring[LPFC_EXTRA_RING],
phba             12728 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_hba  *phba;
phba             12737 drivers/scsi/lpfc/lpfc_sli.c 	phba = (struct lpfc_hba *) dev_id;
phba             12739 drivers/scsi/lpfc/lpfc_sli.c 	if (unlikely(!phba))
phba             12743 drivers/scsi/lpfc/lpfc_sli.c 	if (lpfc_intr_state_check(phba))
phba             12746 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock(&phba->hbalock);
phba             12747 drivers/scsi/lpfc/lpfc_sli.c 	if (lpfc_readl(phba->HAregaddr, &phba->ha_copy)) {
phba             12748 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock(&phba->hbalock);
phba             12752 drivers/scsi/lpfc/lpfc_sli.c 	if (unlikely(!phba->ha_copy)) {
phba             12753 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock(&phba->hbalock);
phba             12755 drivers/scsi/lpfc/lpfc_sli.c 	} else if (phba->ha_copy & HA_ERATT) {
phba             12756 drivers/scsi/lpfc/lpfc_sli.c 		if (phba->hba_flag & HBA_ERATT_HANDLED)
phba             12758 drivers/scsi/lpfc/lpfc_sli.c 			phba->ha_copy &= ~HA_ERATT;
phba             12761 drivers/scsi/lpfc/lpfc_sli.c 			phba->hba_flag |= HBA_ERATT_HANDLED;
phba             12767 drivers/scsi/lpfc/lpfc_sli.c 	if (unlikely(phba->hba_flag & DEFER_ERATT)) {
phba             12768 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock(&phba->hbalock);
phba             12773 drivers/scsi/lpfc/lpfc_sli.c 	if (lpfc_readl(phba->HCregaddr, &hc_copy)) {
phba             12774 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock(&phba->hbalock);
phba             12779 drivers/scsi/lpfc/lpfc_sli.c 		phba->HCregaddr);
phba             12780 drivers/scsi/lpfc/lpfc_sli.c 	writel((phba->ha_copy & ~(HA_LATT | HA_ERATT)), phba->HAregaddr);
phba             12781 drivers/scsi/lpfc/lpfc_sli.c 	writel(hc_copy, phba->HCregaddr);
phba             12782 drivers/scsi/lpfc/lpfc_sli.c 	readl(phba->HAregaddr); /* flush */
phba             12783 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock(&phba->hbalock);
phba             12790 drivers/scsi/lpfc/lpfc_sli.c 	status1 = phba->ha_copy & (HA_MBATT | HA_LATT | HA_ERATT);
phba             12793 drivers/scsi/lpfc/lpfc_sli.c 	status2 = (phba->ha_copy & (HA_RXMASK  << (4*LPFC_ELS_RING)));
phba             12806 drivers/scsi/lpfc/lpfc_sli.c 	status1 = (phba->ha_copy & (HA_RXMASK << (4*LPFC_FCP_RING)));
phba             12810 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->cfg_multi_ring_support == 2) {
phba             12811 drivers/scsi/lpfc/lpfc_sli.c 		status2 = (phba->ha_copy & (HA_RXMASK << (4*LPFC_EXTRA_RING)));
phba             12832 drivers/scsi/lpfc/lpfc_sli.c void lpfc_sli4_els_xri_abort_event_proc(struct lpfc_hba *phba)
phba             12837 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irq(&phba->hbalock);
phba             12838 drivers/scsi/lpfc/lpfc_sli.c 	phba->hba_flag &= ~ELS_XRI_ABORT_EVENT;
phba             12839 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irq(&phba->hbalock);
phba             12841 drivers/scsi/lpfc/lpfc_sli.c 	while (!list_empty(&phba->sli4_hba.sp_els_xri_aborted_work_queue)) {
phba             12843 drivers/scsi/lpfc/lpfc_sli.c 		spin_lock_irq(&phba->hbalock);
phba             12844 drivers/scsi/lpfc/lpfc_sli.c 		list_remove_head(&phba->sli4_hba.sp_els_xri_aborted_work_queue,
phba             12846 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irq(&phba->hbalock);
phba             12848 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli4_els_xri_aborted(phba, &cq_event->cqe.wcqe_axri);
phba             12850 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli4_cq_event_release(phba, cq_event);
phba             12866 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_iocb_param_transfer(struct lpfc_hba *phba,
phba             12964 drivers/scsi/lpfc/lpfc_sli.c 		spin_lock_irqsave(&phba->hbalock, iflags);
phba             12966 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             12982 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_els_wcqe_to_rspiocbq(struct lpfc_hba *phba,
phba             12990 drivers/scsi/lpfc/lpfc_sli.c 	pring = lpfc_phba_elsring(phba);
phba             12997 drivers/scsi/lpfc/lpfc_sli.c 	cmdiocbq = lpfc_sli_iocbq_lookup_by_tag(phba, pring,
phba             13000 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_SLI,
phba             13005 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli_release_iocbq(phba, irspiocbq);
phba             13011 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli_ringtxcmpl_put(phba, pring, cmdiocbq);
phba             13015 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli4_iocb_param_transfer(phba, irspiocbq, cmdiocbq, wcqe);
phba             13021 drivers/scsi/lpfc/lpfc_sli.c lpfc_cq_event_setup(struct lpfc_hba *phba, void *entry, int size)
phba             13026 drivers/scsi/lpfc/lpfc_sli.c 	cq_event = lpfc_sli4_cq_event_alloc(phba);
phba             13028 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             13049 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_sp_handle_async_event(struct lpfc_hba *phba, struct lpfc_mcqe *mcqe)
phba             13054 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_printf_log(phba, KERN_INFO, LOG_SLI,
phba             13059 drivers/scsi/lpfc/lpfc_sli.c 	cq_event = lpfc_cq_event_setup(phba, mcqe, sizeof(struct lpfc_mcqe));
phba             13062 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irqsave(&phba->hbalock, iflags);
phba             13063 drivers/scsi/lpfc/lpfc_sli.c 	list_add_tail(&cq_event->list, &phba->sli4_hba.sp_asynce_work_queue);
phba             13065 drivers/scsi/lpfc/lpfc_sli.c 	phba->hba_flag |= ASYNC_EVENT;
phba             13066 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             13082 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_sp_handle_mbox_event(struct lpfc_hba *phba, struct lpfc_mcqe *mcqe)
phba             13100 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irqsave(&phba->hbalock, iflags);
phba             13101 drivers/scsi/lpfc/lpfc_sli.c 	pmb = phba->sli.mbox_active;
phba             13103 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_MBOX,
phba             13105 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             13108 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             13111 drivers/scsi/lpfc/lpfc_sli.c 	mbox = phba->mbox;
phba             13115 drivers/scsi/lpfc/lpfc_sli.c 	phba->last_completion_time = jiffies;
phba             13116 drivers/scsi/lpfc/lpfc_sli.c 	del_timer(&phba->sli.mbox_tmo);
phba             13144 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_unreg_login(phba, vport->vpi,
phba             13150 drivers/scsi/lpfc/lpfc_sli.c 			rc = lpfc_sli_issue_mbox(phba, pmb, MBX_NOWAIT);
phba             13152 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_printf_log(phba, KERN_ERR, LOG_MBOX |
phba             13159 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irqsave(&phba->pport->work_port_lock, iflags);
phba             13160 drivers/scsi/lpfc/lpfc_sli.c 	phba->pport->work_port_events &= ~WORKER_MBOX_TMO;
phba             13161 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irqrestore(&phba->pport->work_port_lock, iflags);
phba             13164 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irqsave(&phba->hbalock, iflags);
phba             13165 drivers/scsi/lpfc/lpfc_sli.c 	__lpfc_mbox_cmpl_put(phba, pmb);
phba             13166 drivers/scsi/lpfc/lpfc_sli.c 	phba->work_ha |= HA_MBATT;
phba             13167 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             13171 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irqsave(&phba->hbalock, iflags);
phba             13173 drivers/scsi/lpfc/lpfc_sli.c 	phba->sli.sli_flag &= ~LPFC_SLI_MBOX_ACTIVE;
phba             13175 drivers/scsi/lpfc/lpfc_sli.c 	phba->sli.mbox_active = NULL;
phba             13177 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli4_mq_release(phba->sli4_hba.mbx_wq);
phba             13178 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             13180 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_worker_wake_up(phba);
phba             13184 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irqsave(&phba->hbalock, iflags);
phba             13186 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli4_mq_release(phba->sli4_hba.mbx_wq);
phba             13187 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             13203 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_sp_handle_mcqe(struct lpfc_hba *phba, struct lpfc_queue *cq,
phba             13216 drivers/scsi/lpfc/lpfc_sli.c 		workposted = lpfc_sli4_sp_handle_mbox_event(phba, &mcqe);
phba             13218 drivers/scsi/lpfc/lpfc_sli.c 		workposted = lpfc_sli4_sp_handle_async_event(phba, &mcqe);
phba             13233 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_sp_handle_els_wcqe(struct lpfc_hba *phba, struct lpfc_queue *cq,
phba             13246 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_INFO, LOG_SLI,
phba             13255 drivers/scsi/lpfc/lpfc_sli.c 	irspiocbq = lpfc_sli_get_iocbq(phba);
phba             13261 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             13264 drivers/scsi/lpfc/lpfc_sli.c 			txq_cnt, phba->iocb_cnt,
phba             13272 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irqsave(&phba->hbalock, iflags);
phba             13274 drivers/scsi/lpfc/lpfc_sli.c 		      &phba->sli4_hba.sp_queue_event);
phba             13275 drivers/scsi/lpfc/lpfc_sli.c 	phba->hba_flag |= HBA_SP_QUEUE_EVT;
phba             13276 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             13290 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_sp_handle_rel_wcqe(struct lpfc_hba *phba,
phba             13294 drivers/scsi/lpfc/lpfc_sli.c 	if (unlikely(!phba->sli4_hba.els_wq))
phba             13297 drivers/scsi/lpfc/lpfc_sli.c 	if (bf_get(lpfc_wcqe_r_wq_id, wcqe) == phba->sli4_hba.els_wq->queue_id)
phba             13298 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli4_wq_release(phba->sli4_hba.els_wq,
phba             13301 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_SLI,
phba             13305 drivers/scsi/lpfc/lpfc_sli.c 				phba->sli4_hba.els_wq->queue_id);
phba             13319 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_sp_handle_abort_xri_wcqe(struct lpfc_hba *phba,
phba             13329 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli4_io_xri_aborted(phba, wcqe, cq->hdwq);
phba             13330 drivers/scsi/lpfc/lpfc_sli.c 		if (phba->cfg_enable_fc4_type & LPFC_ENABLE_NVME) {
phba             13332 drivers/scsi/lpfc/lpfc_sli.c 			if (phba->nvmet_support)
phba             13333 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_sli4_nvmet_xri_aborted(phba, wcqe);
phba             13340 drivers/scsi/lpfc/lpfc_sli.c 			phba, wcqe, sizeof(struct sli4_wcqe_xri_aborted));
phba             13344 drivers/scsi/lpfc/lpfc_sli.c 		spin_lock_irqsave(&phba->hbalock, iflags);
phba             13346 drivers/scsi/lpfc/lpfc_sli.c 			      &phba->sli4_hba.sp_els_xri_aborted_work_queue);
phba             13348 drivers/scsi/lpfc/lpfc_sli.c 		phba->hba_flag |= ELS_XRI_ABORT_EVENT;
phba             13349 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             13353 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             13376 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_sp_handle_rcqe(struct lpfc_hba *phba, struct lpfc_rcqe *rcqe)
phba             13380 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_queue *hrq = phba->sli4_hba.hdr_rq;
phba             13381 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_queue *drq = phba->sli4_hba.dat_rq;
phba             13401 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             13405 drivers/scsi/lpfc/lpfc_sli.c 		spin_lock_irqsave(&phba->hbalock, iflags);
phba             13407 drivers/scsi/lpfc/lpfc_sli.c 		dma_buf = lpfc_sli_hbqbuf_get(&phba->hbqs[0].hbq_buffer_list);
phba             13410 drivers/scsi/lpfc/lpfc_sli.c 			spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             13421 drivers/scsi/lpfc/lpfc_sli.c 			spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             13423 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_sli4_handle_mds_loopback(phba->pport, dma_buf);
phba             13429 drivers/scsi/lpfc/lpfc_sli.c 			      &phba->sli4_hba.sp_queue_event);
phba             13431 drivers/scsi/lpfc/lpfc_sli.c 		phba->hba_flag |= HBA_SP_QUEUE_EVT;
phba             13432 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             13436 drivers/scsi/lpfc/lpfc_sli.c 		if (phba->nvmet_support) {
phba             13437 drivers/scsi/lpfc/lpfc_sli.c 			tgtp = phba->targetport->private;
phba             13438 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_ERR, LOG_SLI | LOG_NVME,
phba             13452 drivers/scsi/lpfc/lpfc_sli.c 		spin_lock_irqsave(&phba->hbalock, iflags);
phba             13453 drivers/scsi/lpfc/lpfc_sli.c 		phba->hba_flag |= HBA_POST_RECEIVE_BUFFER;
phba             13454 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             13474 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_sp_handle_cqe(struct lpfc_hba *phba, struct lpfc_queue *cq,
phba             13487 drivers/scsi/lpfc/lpfc_sli.c 		phba->last_completion_time = jiffies;
phba             13488 drivers/scsi/lpfc/lpfc_sli.c 		workposted = lpfc_sli4_sp_handle_els_wcqe(phba, cq,
phba             13493 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli4_sp_handle_rel_wcqe(phba,
phba             13498 drivers/scsi/lpfc/lpfc_sli.c 		phba->last_completion_time = jiffies;
phba             13499 drivers/scsi/lpfc/lpfc_sli.c 		workposted = lpfc_sli4_sp_handle_abort_xri_wcqe(phba, cq,
phba             13505 drivers/scsi/lpfc/lpfc_sli.c 		phba->last_completion_time = jiffies;
phba             13506 drivers/scsi/lpfc/lpfc_sli.c 		workposted = lpfc_sli4_sp_handle_rcqe(phba,
phba             13510 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             13532 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_sp_handle_eqe(struct lpfc_hba *phba, struct lpfc_eqe *eqe,
phba             13548 drivers/scsi/lpfc/lpfc_sli.c 		if (phba->sli.sli_flag & LPFC_SLI_ACTIVE)
phba             13549 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             13558 drivers/scsi/lpfc/lpfc_sli.c 	if (!queue_work_on(cq->chann, phba->wq, &cq->spwork))
phba             13559 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             13586 drivers/scsi/lpfc/lpfc_sli.c __lpfc_sli4_process_cq(struct lpfc_hba *phba, struct lpfc_queue *cq,
phba             13605 drivers/scsi/lpfc/lpfc_sli.c 		workposted |= handler(phba, cq, cqe);
phba             13606 drivers/scsi/lpfc/lpfc_sli.c 		__lpfc_sli4_consume_cqe(phba, cq, cqe);
phba             13613 drivers/scsi/lpfc/lpfc_sli.c 			phba->sli4_hba.sli4_write_cq_db(phba, cq, consumed,
phba             13623 drivers/scsi/lpfc/lpfc_sli.c 	if (count >= phba->cfg_cq_poll_threshold) {
phba             13636 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_INFO, LOG_SLI,
phba             13643 drivers/scsi/lpfc/lpfc_sli.c 	phba->sli4_hba.sli4_write_cq_db(phba, cq, consumed,
phba             13667 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_hba *phba = cq->phba;
phba             13674 drivers/scsi/lpfc/lpfc_sli.c 		workposted |= __lpfc_sli4_process_cq(phba, cq,
phba             13680 drivers/scsi/lpfc/lpfc_sli.c 			workposted |= __lpfc_sli4_process_cq(phba, cq,
phba             13684 drivers/scsi/lpfc/lpfc_sli.c 			workposted |= __lpfc_sli4_process_cq(phba, cq,
phba             13689 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             13696 drivers/scsi/lpfc/lpfc_sli.c 		if (!queue_delayed_work_on(cq->chann, phba->wq,
phba             13698 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             13706 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_worker_wake_up(phba);
phba             13749 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_fp_handle_fcp_wcqe(struct lpfc_hba *phba, struct lpfc_queue *cq,
phba             13766 drivers/scsi/lpfc/lpfc_sli.c 			phba->lpfc_rampdown_queue_depth(phba);
phba             13769 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_INFO, LOG_SLI,
phba             13781 drivers/scsi/lpfc/lpfc_sli.c 	cmdiocbq = lpfc_sli_iocbq_lookup_by_tag(phba, pring,
phba             13784 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_SLI,
phba             13796 drivers/scsi/lpfc/lpfc_sli.c 				spin_lock_irqsave(&phba->hbalock, iflags);
phba             13798 drivers/scsi/lpfc/lpfc_sli.c 				spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             13802 drivers/scsi/lpfc/lpfc_sli.c 			(cmdiocbq->wqe_cmpl)(phba, cmdiocbq, wcqe);
phba             13805 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_SLI,
phba             13813 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli4_iocb_param_transfer(phba, &irspiocbq, cmdiocbq, wcqe);
phba             13816 drivers/scsi/lpfc/lpfc_sli.c 		spin_lock_irqsave(&phba->hbalock, iflags);
phba             13818 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             13822 drivers/scsi/lpfc/lpfc_sli.c 	(cmdiocbq->iocb_cmpl)(phba, cmdiocbq, &irspiocbq);
phba             13835 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_fp_handle_rel_wcqe(struct lpfc_hba *phba, struct lpfc_queue *cq,
phba             13849 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_nvmet_wqfull_process(phba, childwq);
phba             13856 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_SLI,
phba             13871 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_nvmet_handle_rcqe(struct lpfc_hba *phba, struct lpfc_queue *cq,
phba             13884 drivers/scsi/lpfc/lpfc_sli.c 	if ((phba->nvmet_support == 0) ||
phba             13885 drivers/scsi/lpfc/lpfc_sli.c 	    (phba->sli4_hba.nvmet_cqset == NULL))
phba             13888 drivers/scsi/lpfc/lpfc_sli.c 	idx = cq->queue_id - phba->sli4_hba.nvmet_cqset[0]->queue_id;
phba             13889 drivers/scsi/lpfc/lpfc_sli.c 	hrq = phba->sli4_hba.nvmet_mrq_hdr[idx];
phba             13890 drivers/scsi/lpfc/lpfc_sli.c 	drq = phba->sli4_hba.nvmet_mrq_data[idx];
phba             13901 drivers/scsi/lpfc/lpfc_sli.c 	if ((phba->nvmet_support == 0) ||
phba             13908 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             13912 drivers/scsi/lpfc/lpfc_sli.c 		spin_lock_irqsave(&phba->hbalock, iflags);
phba             13914 drivers/scsi/lpfc/lpfc_sli.c 		dma_buf = lpfc_sli_rqbuf_get(phba, hrq);
phba             13917 drivers/scsi/lpfc/lpfc_sli.c 			spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             13920 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             13938 drivers/scsi/lpfc/lpfc_sli.c 				phba, idx, dma_buf, cq->isr_timestamp,
phba             13943 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_rq_buf_free(phba, &dma_buf->hbuf);
phba             13946 drivers/scsi/lpfc/lpfc_sli.c 		if (phba->nvmet_support) {
phba             13947 drivers/scsi/lpfc/lpfc_sli.c 			tgtp = phba->targetport->private;
phba             13948 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_ERR, LOG_SLI | LOG_NVME,
phba             13980 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_fp_handle_cqe(struct lpfc_hba *phba, struct lpfc_queue *cq,
phba             13995 drivers/scsi/lpfc/lpfc_sli.c 		phba->last_completion_time = jiffies;
phba             13997 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_sli4_fp_handle_fcp_wcqe(phba, cq,
phba             14003 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli4_fp_handle_rel_wcqe(phba, cq,
phba             14009 drivers/scsi/lpfc/lpfc_sli.c 		phba->last_completion_time = jiffies;
phba             14010 drivers/scsi/lpfc/lpfc_sli.c 		workposted = lpfc_sli4_sp_handle_abort_xri_wcqe(phba, cq,
phba             14015 drivers/scsi/lpfc/lpfc_sli.c 		phba->last_completion_time = jiffies;
phba             14018 drivers/scsi/lpfc/lpfc_sli.c 				phba, cq, (struct lpfc_rcqe *)&wcqe);
phba             14022 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             14043 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_hba_handle_eqe(struct lpfc_hba *phba, struct lpfc_queue *eq,
phba             14051 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             14063 drivers/scsi/lpfc/lpfc_sli.c 	if (cqid <= phba->sli4_hba.cq_max) {
phba             14064 drivers/scsi/lpfc/lpfc_sli.c 		cq = phba->sli4_hba.cq_lookup[cqid];
phba             14070 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->cfg_nvmet_mrq && phba->sli4_hba.nvmet_cqset) {
phba             14071 drivers/scsi/lpfc/lpfc_sli.c 		id = phba->sli4_hba.nvmet_cqset[0]->queue_id;
phba             14072 drivers/scsi/lpfc/lpfc_sli.c 		if ((cqid >= id) && (cqid < (id + phba->cfg_nvmet_mrq))) {
phba             14074 drivers/scsi/lpfc/lpfc_sli.c 			cq = phba->sli4_hba.nvmet_cqset[cqid - id];
phba             14079 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->sli4_hba.nvmels_cq &&
phba             14080 drivers/scsi/lpfc/lpfc_sli.c 	    (cqid == phba->sli4_hba.nvmels_cq->queue_id)) {
phba             14082 drivers/scsi/lpfc/lpfc_sli.c 		cq = phba->sli4_hba.nvmels_cq;
phba             14087 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli4_sp_handle_eqe(phba, eqe,
phba             14088 drivers/scsi/lpfc/lpfc_sli.c 					phba->sli4_hba.hdwq[qidx].hba_eq);
phba             14094 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             14103 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->ktime_on)
phba             14108 drivers/scsi/lpfc/lpfc_sli.c 	if (!queue_work_on(cq->chann, phba->wq, &cq->irqwork))
phba             14109 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             14133 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_hba *phba = cq->phba;
phba             14138 drivers/scsi/lpfc/lpfc_sli.c 	workposted |= __lpfc_sli4_process_cq(phba, cq, lpfc_sli4_fp_handle_cqe,
phba             14142 drivers/scsi/lpfc/lpfc_sli.c 		if (!queue_delayed_work_on(cq->chann, phba->wq,
phba             14144 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             14152 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_worker_wake_up(phba);
phba             14214 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_hba *phba;
phba             14225 drivers/scsi/lpfc/lpfc_sli.c 	phba = hba_eq_hdl->phba;
phba             14228 drivers/scsi/lpfc/lpfc_sli.c 	if (unlikely(!phba))
phba             14230 drivers/scsi/lpfc/lpfc_sli.c 	if (unlikely(!phba->sli4_hba.hdwq))
phba             14234 drivers/scsi/lpfc/lpfc_sli.c 	fpeq = phba->sli4_hba.hba_eq_hdl[hba_eqidx].eq;
phba             14239 drivers/scsi/lpfc/lpfc_sli.c 	if (unlikely(lpfc_intr_state_check(phba))) {
phba             14241 drivers/scsi/lpfc/lpfc_sli.c 		spin_lock_irqsave(&phba->hbalock, iflag);
phba             14242 drivers/scsi/lpfc/lpfc_sli.c 		if (phba->link_state < LPFC_LINK_DOWN)
phba             14244 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_sli4_eq_flush(phba, fpeq);
phba             14245 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irqrestore(&phba->hbalock, iflag);
phba             14249 drivers/scsi/lpfc/lpfc_sli.c 	eqi = phba->sli4_hba.eq_info;
phba             14254 drivers/scsi/lpfc/lpfc_sli.c 	    phba->cfg_irq_chann == 1 &&
phba             14255 drivers/scsi/lpfc/lpfc_sli.c 	    phba->cfg_auto_imax &&
phba             14257 drivers/scsi/lpfc/lpfc_sli.c 	    phba->sli.sli_flag & LPFC_SLI_USE_EQDR)
phba             14258 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli4_mod_hba_eq_delay(phba, fpeq, LPFC_MAX_AUTO_EQ_DELAY);
phba             14261 drivers/scsi/lpfc/lpfc_sli.c 	ecount = lpfc_sli4_process_eq(phba, fpeq, LPFC_QUEUE_REARM);
phba             14265 drivers/scsi/lpfc/lpfc_sli.c 		if (phba->intr_type == MSIX)
phba             14267 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_WARNING, LOG_SLI,
phba             14297 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_hba  *phba;
phba             14303 drivers/scsi/lpfc/lpfc_sli.c 	phba = (struct lpfc_hba *)dev_id;
phba             14305 drivers/scsi/lpfc/lpfc_sli.c 	if (unlikely(!phba))
phba             14311 drivers/scsi/lpfc/lpfc_sli.c 	for (qidx = 0; qidx < phba->cfg_irq_chann; qidx++) {
phba             14313 drivers/scsi/lpfc/lpfc_sli.c 					&phba->sli4_hba.hba_eq_hdl[qidx]);
phba             14323 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_hba *phba = from_timer(phba, t, cpuhp_poll_timer);
phba             14329 drivers/scsi/lpfc/lpfc_sli.c 	list_for_each_entry_rcu(eq, &phba->poll_list, _poll_list)
phba             14331 drivers/scsi/lpfc/lpfc_sli.c 	if (!list_empty(&phba->poll_list))
phba             14332 drivers/scsi/lpfc/lpfc_sli.c 		mod_timer(&phba->cpuhp_poll_timer,
phba             14340 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_hba *phba = eq->phba;
phba             14360 drivers/scsi/lpfc/lpfc_sli.c 		i = lpfc_sli4_process_eq(phba, eq, LPFC_QUEUE_NOARM);
phba             14367 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_hba *phba = eq->phba;
phba             14369 drivers/scsi/lpfc/lpfc_sli.c 	if (list_empty(&phba->poll_list)) {
phba             14370 drivers/scsi/lpfc/lpfc_sli.c 		timer_setup(&phba->cpuhp_poll_timer, lpfc_sli4_poll_hbtimer, 0);
phba             14372 drivers/scsi/lpfc/lpfc_sli.c 		mod_timer(&phba->cpuhp_poll_timer,
phba             14376 drivers/scsi/lpfc/lpfc_sli.c 	list_add_rcu(&eq->_poll_list, &phba->poll_list);
phba             14382 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_hba *phba = eq->phba;
phba             14390 drivers/scsi/lpfc/lpfc_sli.c 	if (list_empty(&phba->poll_list))
phba             14391 drivers/scsi/lpfc/lpfc_sli.c 		del_timer_sync(&phba->cpuhp_poll_timer);
phba             14394 drivers/scsi/lpfc/lpfc_sli.c void lpfc_sli4_cleanup_poll_list(struct lpfc_hba *phba)
phba             14398 drivers/scsi/lpfc/lpfc_sli.c 	list_for_each_entry_safe(eq, next, &phba->poll_list, _poll_list)
phba             14401 drivers/scsi/lpfc/lpfc_sli.c 	INIT_LIST_HEAD(&phba->poll_list);
phba             14448 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_hba *phba = eq->phba;
phba             14459 drivers/scsi/lpfc/lpfc_sli.c 	phba->sli4_hba.sli4_write_eq_db(phba, eq, 0, LPFC_QUEUE_REARM);
phba             14484 drivers/scsi/lpfc/lpfc_sli.c 		dma_free_coherent(&queue->phba->pcidev->dev, queue->page_size,
phba             14489 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_free_rq_buffer(queue->phba, queue);
phba             14513 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_queue_alloc(struct lpfc_hba *phba, uint32_t page_size,
phba             14518 drivers/scsi/lpfc/lpfc_sli.c 	uint32_t hw_page_size = phba->sli4_hba.pc_sli4_params.if_page_sz;
phba             14521 drivers/scsi/lpfc/lpfc_sli.c 	if (!phba->sli4_hba.pc_sli4_params.supported)
phba             14527 drivers/scsi/lpfc/lpfc_sli.c 	if (pgcnt > phba->sli4_hba.pc_sli4_params.wqpcnt)
phba             14528 drivers/scsi/lpfc/lpfc_sli.c 		pgcnt = phba->sli4_hba.pc_sli4_params.wqpcnt;
phba             14552 drivers/scsi/lpfc/lpfc_sli.c 	queue->phba = phba;
phba             14556 drivers/scsi/lpfc/lpfc_sli.c 				      dev_to_node(&phba->pcidev->dev));
phba             14559 drivers/scsi/lpfc/lpfc_sli.c 		dmabuf->virt = dma_alloc_coherent(&phba->pcidev->dev,
phba             14594 drivers/scsi/lpfc/lpfc_sli.c lpfc_dual_chute_pci_bar_map(struct lpfc_hba *phba, uint16_t pci_barset)
phba             14596 drivers/scsi/lpfc/lpfc_sli.c 	if (!phba->pcidev)
phba             14601 drivers/scsi/lpfc/lpfc_sli.c 		return phba->pci_bar0_memmap_p;
phba             14603 drivers/scsi/lpfc/lpfc_sli.c 		return phba->pci_bar2_memmap_p;
phba             14605 drivers/scsi/lpfc/lpfc_sli.c 		return phba->pci_bar4_memmap_p;
phba             14636 drivers/scsi/lpfc/lpfc_sli.c lpfc_modify_hba_eq_delay(struct lpfc_hba *phba, uint32_t startq,
phba             14648 drivers/scsi/lpfc/lpfc_sli.c 	if (startq >= phba->cfg_irq_chann)
phba             14652 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_INFO, LOG_INIT | LOG_FCP | LOG_NVME,
phba             14659 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->sli.sli_flag & LPFC_SLI_USE_EQDR) {
phba             14660 drivers/scsi/lpfc/lpfc_sli.c 		for (qidx = startq; qidx < phba->cfg_irq_chann; qidx++) {
phba             14661 drivers/scsi/lpfc/lpfc_sli.c 			eq = phba->sli4_hba.hba_eq_hdl[qidx].eq;
phba             14665 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_sli4_mod_hba_eq_delay(phba, eq, usdelay);
phba             14675 drivers/scsi/lpfc/lpfc_sli.c 	mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             14677 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT | LOG_FCP | LOG_NVME,
phba             14684 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_COMMON,
phba             14696 drivers/scsi/lpfc/lpfc_sli.c 	for (qidx = startq; qidx < phba->cfg_irq_chann; qidx++) {
phba             14697 drivers/scsi/lpfc/lpfc_sli.c 		eq = phba->sli4_hba.hba_eq_hdl[qidx].eq;
phba             14710 drivers/scsi/lpfc/lpfc_sli.c 	mbox->vport = phba->pport;
phba             14714 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli_issue_mbox(phba, mbox, MBX_POLL);
phba             14719 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             14724 drivers/scsi/lpfc/lpfc_sli.c 	mempool_free(mbox, phba->mbox_mem_pool);
phba             14749 drivers/scsi/lpfc/lpfc_sli.c lpfc_eq_create(struct lpfc_hba *phba, struct lpfc_queue *eq, uint32_t imax)
phba             14758 drivers/scsi/lpfc/lpfc_sli.c 	uint32_t hw_page_size = phba->sli4_hba.pc_sli4_params.if_page_sz;
phba             14763 drivers/scsi/lpfc/lpfc_sli.c 	if (!phba->sli4_hba.pc_sli4_params.supported)
phba             14766 drivers/scsi/lpfc/lpfc_sli.c 	mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             14771 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_COMMON,
phba             14783 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->sli4_hba.pc_sli4_params.eqav) {
phba             14787 drivers/scsi/lpfc/lpfc_sli.c 		       phba->sli4_hba.pc_sli4_params.eqav);
phba             14796 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             14832 drivers/scsi/lpfc/lpfc_sli.c 	mbox->vport = phba->pport;
phba             14836 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli_issue_mbox(phba, mbox, MBX_POLL);
phba             14840 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             14855 drivers/scsi/lpfc/lpfc_sli.c 	mempool_free(mbox, phba->mbox_mem_pool);
phba             14881 drivers/scsi/lpfc/lpfc_sli.c lpfc_cq_create(struct lpfc_hba *phba, struct lpfc_queue *cq,
phba             14895 drivers/scsi/lpfc/lpfc_sli.c 	mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             14900 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_COMMON,
phba             14910 drivers/scsi/lpfc/lpfc_sli.c 	       phba->sli4_hba.pc_sli4_params.cqv);
phba             14911 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->sli4_hba.pc_sli4_params.cqv == LPFC_Q_CREATE_VERSION_2) {
phba             14917 drivers/scsi/lpfc/lpfc_sli.c 		       phba->sli4_hba.pc_sli4_params.cqav);
phba             14925 drivers/scsi/lpfc/lpfc_sli.c 		if (phba->sli4_hba.pc_sli4_params.cqv ==
phba             14936 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             14966 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli_issue_mbox(phba, mbox, MBX_POLL);
phba             14972 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             14994 drivers/scsi/lpfc/lpfc_sli.c 	cq->max_proc_limit = min(phba->cfg_cq_max_proc_limit, cq->entry_count);
phba             14996 drivers/scsi/lpfc/lpfc_sli.c 	if (cq->queue_id > phba->sli4_hba.cq_max)
phba             14997 drivers/scsi/lpfc/lpfc_sli.c 		phba->sli4_hba.cq_max = cq->queue_id;
phba             14999 drivers/scsi/lpfc/lpfc_sli.c 	mempool_free(mbox, phba->mbox_mem_pool);
phba             15026 drivers/scsi/lpfc/lpfc_sli.c lpfc_cq_create_set(struct lpfc_hba *phba, struct lpfc_queue **cqp,
phba             15039 drivers/scsi/lpfc/lpfc_sli.c 	uint32_t hw_page_size = phba->sli4_hba.pc_sli4_params.if_page_sz;
phba             15042 drivers/scsi/lpfc/lpfc_sli.c 	numcq = phba->cfg_nvmet_mrq;
phba             15046 drivers/scsi/lpfc/lpfc_sli.c 	mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             15053 drivers/scsi/lpfc/lpfc_sli.c 	alloclen = lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_FCOE,
phba             15057 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             15075 drivers/scsi/lpfc/lpfc_sli.c 		if (!phba->sli4_hba.pc_sli4_params.supported)
phba             15095 drivers/scsi/lpfc/lpfc_sli.c 			       phba->sli4_hba.pc_sli4_params.cqav);
phba             15099 drivers/scsi/lpfc/lpfc_sli.c 				if (phba->sli4_hba.pc_sli4_params.cqv ==
phba             15111 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             15206 drivers/scsi/lpfc/lpfc_sli.c 		cq->max_proc_limit = min(phba->cfg_cq_max_proc_limit,
phba             15223 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli_issue_mbox(phba, mbox, MBX_POLL);
phba             15229 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             15245 drivers/scsi/lpfc/lpfc_sli.c 		if (cq->queue_id > phba->sli4_hba.cq_max)
phba             15246 drivers/scsi/lpfc/lpfc_sli.c 			phba->sli4_hba.cq_max = cq->queue_id;
phba             15250 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli4_mbox_cmd_free(phba, mbox);
phba             15269 drivers/scsi/lpfc/lpfc_sli.c lpfc_mq_create_fb_init(struct lpfc_hba *phba, struct lpfc_queue *mq,
phba             15278 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_COMMON,
phba             15335 drivers/scsi/lpfc/lpfc_sli.c lpfc_mq_create(struct lpfc_hba *phba, struct lpfc_queue *mq,
phba             15345 drivers/scsi/lpfc/lpfc_sli.c 	uint32_t hw_page_size = phba->sli4_hba.pc_sli4_params.if_page_sz;
phba             15350 drivers/scsi/lpfc/lpfc_sli.c 	if (!phba->sli4_hba.pc_sli4_params.supported)
phba             15353 drivers/scsi/lpfc/lpfc_sli.c 	mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             15358 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_COMMON,
phba             15378 drivers/scsi/lpfc/lpfc_sli.c 	       phba->sli4_hba.pc_sli4_params.mqv);
phba             15379 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->sli4_hba.pc_sli4_params.mqv == LPFC_Q_CREATE_VERSION_1)
phba             15387 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             15423 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli_issue_mbox(phba, mbox, MBX_POLL);
phba             15427 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             15431 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_mq_create_fb_init(phba, mq, mbox, cq);
phba             15433 drivers/scsi/lpfc/lpfc_sli.c 		rc = lpfc_sli_issue_mbox(phba, mbox, MBX_POLL);
phba             15443 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             15463 drivers/scsi/lpfc/lpfc_sli.c 	mempool_free(mbox, phba->mbox_mem_pool);
phba             15490 drivers/scsi/lpfc/lpfc_sli.c lpfc_wq_create(struct lpfc_hba *phba, struct lpfc_queue *wq,
phba             15499 drivers/scsi/lpfc/lpfc_sli.c 	uint32_t hw_page_size = phba->sli4_hba.pc_sli4_params.if_page_sz;
phba             15512 drivers/scsi/lpfc/lpfc_sli.c 	if (!phba->sli4_hba.pc_sli4_params.supported)
phba             15515 drivers/scsi/lpfc/lpfc_sli.c 	mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             15520 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_FCOE,
phba             15532 drivers/scsi/lpfc/lpfc_sli.c 	       phba->sli4_hba.pc_sli4_params.wqv);
phba             15534 drivers/scsi/lpfc/lpfc_sli.c 	if ((phba->sli4_hba.pc_sli4_params.wqsize & LPFC_WQ_SZ128_SUPPORT) ||
phba             15541 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->sli4_hba.pc_sli4_params.wqsize & LPFC_WQ_SZ128_SUPPORT)
phba             15584 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->sli4_hba.fw_func_mode & LPFC_DUA_MODE)
phba             15587 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli_issue_mbox(phba, mbox, MBX_POLL);
phba             15592 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             15614 drivers/scsi/lpfc/lpfc_sli.c 		if (phba->sli4_hba.fw_func_mode & LPFC_DUA_MODE) {
phba             15619 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             15628 drivers/scsi/lpfc/lpfc_sli.c 			bar_memmap_p = lpfc_dual_chute_pci_bar_map(phba,
phba             15631 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             15641 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             15649 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             15654 drivers/scsi/lpfc/lpfc_sli.c 			wq->db_regaddr = phba->sli4_hba.WQDBregaddr;
phba             15662 drivers/scsi/lpfc/lpfc_sli.c 			bar_memmap_p = lpfc_dual_chute_pci_bar_map(phba,
phba             15665 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             15678 drivers/scsi/lpfc/lpfc_sli.c 			bar_memmap_p = lpfc_dual_chute_pci_bar_map(phba,
phba             15681 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             15690 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             15702 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             15706 drivers/scsi/lpfc/lpfc_sli.c 				phba->cfg_enable_dpp = 0;
phba             15709 drivers/scsi/lpfc/lpfc_sli.c 			phba->cfg_enable_dpp = 0;
phba             15712 drivers/scsi/lpfc/lpfc_sli.c 			wq->db_regaddr = phba->sli4_hba.WQDBregaddr;
phba             15729 drivers/scsi/lpfc/lpfc_sli.c 	mempool_free(mbox, phba->mbox_mem_pool);
phba             15757 drivers/scsi/lpfc/lpfc_sli.c lpfc_rq_create(struct lpfc_hba *phba, struct lpfc_queue *hrq,
phba             15766 drivers/scsi/lpfc/lpfc_sli.c 	uint32_t hw_page_size = phba->sli4_hba.pc_sli4_params.if_page_sz;
phba             15774 drivers/scsi/lpfc/lpfc_sli.c 	if (!phba->sli4_hba.pc_sli4_params.supported)
phba             15779 drivers/scsi/lpfc/lpfc_sli.c 	mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             15784 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_FCOE,
phba             15790 drivers/scsi/lpfc/lpfc_sli.c 	       phba->sli4_hba.pc_sli4_params.rqv);
phba             15791 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->sli4_hba.pc_sli4_params.rqv == LPFC_Q_CREATE_VERSION_1) {
phba             15805 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             15848 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->sli4_hba.fw_func_mode & LPFC_DUA_MODE)
phba             15851 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli_issue_mbox(phba, mbox, MBX_POLL);
phba             15856 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             15869 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->sli4_hba.fw_func_mode & LPFC_DUA_MODE) {
phba             15874 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             15884 drivers/scsi/lpfc/lpfc_sli.c 		bar_memmap_p = lpfc_dual_chute_pci_bar_map(phba, pci_barset);
phba             15886 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             15897 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             15905 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             15911 drivers/scsi/lpfc/lpfc_sli.c 		hrq->db_regaddr = phba->sli4_hba.RQDBregaddr;
phba             15921 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_FCOE,
phba             15925 drivers/scsi/lpfc/lpfc_sli.c 	       phba->sli4_hba.pc_sli4_params.rqv);
phba             15926 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->sli4_hba.pc_sli4_params.rqv == LPFC_Q_CREATE_VERSION_1) {
phba             15942 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             15990 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->sli4_hba.fw_func_mode & LPFC_DUA_MODE)
phba             15992 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli_issue_mbox(phba, mbox, MBX_POLL);
phba             16018 drivers/scsi/lpfc/lpfc_sli.c 	mempool_free(mbox, phba->mbox_mem_pool);
phba             16046 drivers/scsi/lpfc/lpfc_sli.c lpfc_mrq_create(struct lpfc_hba *phba, struct lpfc_queue **hrqp,
phba             16058 drivers/scsi/lpfc/lpfc_sli.c 	uint32_t hw_page_size = phba->sli4_hba.pc_sli4_params.if_page_sz;
phba             16060 drivers/scsi/lpfc/lpfc_sli.c 	numrq = phba->cfg_nvmet_mrq;
phba             16064 drivers/scsi/lpfc/lpfc_sli.c 	if (!phba->sli4_hba.pc_sli4_params.supported)
phba             16067 drivers/scsi/lpfc/lpfc_sli.c 	mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             16075 drivers/scsi/lpfc/lpfc_sli.c 	alloclen = lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_FCOE,
phba             16079 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             16163 drivers/scsi/lpfc/lpfc_sli.c 		hrq->db_regaddr = phba->sli4_hba.RQDBregaddr;
phba             16172 drivers/scsi/lpfc/lpfc_sli.c 		drq->db_regaddr = phba->sli4_hba.RQDBregaddr;
phba             16184 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli_issue_mbox(phba, mbox, MBX_POLL);
phba             16189 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             16211 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli4_mbox_cmd_free(phba, mbox);
phba             16228 drivers/scsi/lpfc/lpfc_sli.c lpfc_eq_destroy(struct lpfc_hba *phba, struct lpfc_queue *eq)
phba             16239 drivers/scsi/lpfc/lpfc_sli.c 	mbox = mempool_alloc(eq->phba->mbox_mem_pool, GFP_KERNEL);
phba             16244 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_COMMON,
phba             16249 drivers/scsi/lpfc/lpfc_sli.c 	mbox->vport = eq->phba->pport;
phba             16252 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli_issue_mbox(eq->phba, mbox, MBX_POLL);
phba             16259 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             16268 drivers/scsi/lpfc/lpfc_sli.c 	mempool_free(mbox, eq->phba->mbox_mem_pool);
phba             16285 drivers/scsi/lpfc/lpfc_sli.c lpfc_cq_destroy(struct lpfc_hba *phba, struct lpfc_queue *cq)
phba             16295 drivers/scsi/lpfc/lpfc_sli.c 	mbox = mempool_alloc(cq->phba->mbox_mem_pool, GFP_KERNEL);
phba             16300 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_COMMON,
phba             16305 drivers/scsi/lpfc/lpfc_sli.c 	mbox->vport = cq->phba->pport;
phba             16307 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli_issue_mbox(cq->phba, mbox, MBX_POLL);
phba             16314 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             16322 drivers/scsi/lpfc/lpfc_sli.c 	mempool_free(mbox, cq->phba->mbox_mem_pool);
phba             16339 drivers/scsi/lpfc/lpfc_sli.c lpfc_mq_destroy(struct lpfc_hba *phba, struct lpfc_queue *mq)
phba             16349 drivers/scsi/lpfc/lpfc_sli.c 	mbox = mempool_alloc(mq->phba->mbox_mem_pool, GFP_KERNEL);
phba             16354 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_COMMON,
phba             16359 drivers/scsi/lpfc/lpfc_sli.c 	mbox->vport = mq->phba->pport;
phba             16361 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli_issue_mbox(mq->phba, mbox, MBX_POLL);
phba             16368 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             16376 drivers/scsi/lpfc/lpfc_sli.c 	mempool_free(mbox, mq->phba->mbox_mem_pool);
phba             16393 drivers/scsi/lpfc/lpfc_sli.c lpfc_wq_destroy(struct lpfc_hba *phba, struct lpfc_queue *wq)
phba             16403 drivers/scsi/lpfc/lpfc_sli.c 	mbox = mempool_alloc(wq->phba->mbox_mem_pool, GFP_KERNEL);
phba             16408 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_FCOE,
phba             16413 drivers/scsi/lpfc/lpfc_sli.c 	mbox->vport = wq->phba->pport;
phba             16415 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli_issue_mbox(wq->phba, mbox, MBX_POLL);
phba             16421 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             16431 drivers/scsi/lpfc/lpfc_sli.c 	mempool_free(mbox, wq->phba->mbox_mem_pool);
phba             16448 drivers/scsi/lpfc/lpfc_sli.c lpfc_rq_destroy(struct lpfc_hba *phba, struct lpfc_queue *hrq,
phba             16459 drivers/scsi/lpfc/lpfc_sli.c 	mbox = mempool_alloc(hrq->phba->mbox_mem_pool, GFP_KERNEL);
phba             16464 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_FCOE,
phba             16469 drivers/scsi/lpfc/lpfc_sli.c 	mbox->vport = hrq->phba->pport;
phba             16471 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli_issue_mbox(hrq->phba, mbox, MBX_POLL);
phba             16478 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             16483 drivers/scsi/lpfc/lpfc_sli.c 			mempool_free(mbox, hrq->phba->mbox_mem_pool);
phba             16488 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli_issue_mbox(drq->phba, mbox, MBX_POLL);
phba             16494 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             16502 drivers/scsi/lpfc/lpfc_sli.c 	mempool_free(mbox, hrq->phba->mbox_mem_pool);
phba             16529 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_post_sgl(struct lpfc_hba *phba,
phba             16542 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             16547 drivers/scsi/lpfc/lpfc_sli.c 	mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             16551 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_FCOE,
phba             16570 drivers/scsi/lpfc/lpfc_sli.c 	if (!phba->sli4_hba.intr_enable)
phba             16571 drivers/scsi/lpfc/lpfc_sli.c 		rc = lpfc_sli_issue_mbox(phba, mbox, MBX_POLL);
phba             16573 drivers/scsi/lpfc/lpfc_sli.c 		mbox_tmo = lpfc_mbox_tmo_val(phba, mbox);
phba             16574 drivers/scsi/lpfc/lpfc_sli.c 		rc = lpfc_sli_issue_mbox_wait(phba, mbox, mbox_tmo);
phba             16581 drivers/scsi/lpfc/lpfc_sli.c 		mempool_free(mbox, phba->mbox_mem_pool);
phba             16583 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             16605 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_alloc_xri(struct lpfc_hba *phba)
phba             16613 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irq(&phba->hbalock);
phba             16614 drivers/scsi/lpfc/lpfc_sli.c 	xri = find_next_zero_bit(phba->sli4_hba.xri_bmask,
phba             16615 drivers/scsi/lpfc/lpfc_sli.c 				 phba->sli4_hba.max_cfg_param.max_xri, 0);
phba             16616 drivers/scsi/lpfc/lpfc_sli.c 	if (xri >= phba->sli4_hba.max_cfg_param.max_xri) {
phba             16617 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irq(&phba->hbalock);
phba             16620 drivers/scsi/lpfc/lpfc_sli.c 		set_bit(xri, phba->sli4_hba.xri_bmask);
phba             16621 drivers/scsi/lpfc/lpfc_sli.c 		phba->sli4_hba.max_cfg_param.xri_used++;
phba             16623 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irq(&phba->hbalock);
phba             16635 drivers/scsi/lpfc/lpfc_sli.c __lpfc_sli4_free_xri(struct lpfc_hba *phba, int xri)
phba             16637 drivers/scsi/lpfc/lpfc_sli.c 	if (test_and_clear_bit(xri, phba->sli4_hba.xri_bmask)) {
phba             16638 drivers/scsi/lpfc/lpfc_sli.c 		phba->sli4_hba.max_cfg_param.xri_used--;
phba             16650 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_free_xri(struct lpfc_hba *phba, int xri)
phba             16652 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irq(&phba->hbalock);
phba             16653 drivers/scsi/lpfc/lpfc_sli.c 	__lpfc_sli4_free_xri(phba, xri);
phba             16654 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irq(&phba->hbalock);
phba             16668 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_next_xritag(struct lpfc_hba *phba)
phba             16672 drivers/scsi/lpfc/lpfc_sli.c 	xri_index = lpfc_sli4_alloc_xri(phba);
phba             16674 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_SLI,
phba             16678 drivers/scsi/lpfc/lpfc_sli.c 				phba->sli4_hba.max_cfg_param.max_xri,
phba             16679 drivers/scsi/lpfc/lpfc_sli.c 				phba->sli4_hba.max_cfg_param.xri_used);
phba             16695 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_post_sgl_list(struct lpfc_hba *phba,
phba             16714 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             16720 drivers/scsi/lpfc/lpfc_sli.c 	mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             16725 drivers/scsi/lpfc/lpfc_sli.c 	alloclen = lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_FCOE,
phba             16730 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             16734 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli4_mbox_cmd_free(phba, mbox);
phba             16766 drivers/scsi/lpfc/lpfc_sli.c 	if (!phba->sli4_hba.intr_enable)
phba             16767 drivers/scsi/lpfc/lpfc_sli.c 		rc = lpfc_sli_issue_mbox(phba, mbox, MBX_POLL);
phba             16769 drivers/scsi/lpfc/lpfc_sli.c 		mbox_tmo = lpfc_mbox_tmo_val(phba, mbox);
phba             16770 drivers/scsi/lpfc/lpfc_sli.c 		rc = lpfc_sli_issue_mbox_wait(phba, mbox, mbox_tmo);
phba             16776 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli4_mbox_cmd_free(phba, mbox);
phba             16778 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             16799 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_post_io_sgl_block(struct lpfc_hba *phba, struct list_head *nblist,
phba             16819 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_INIT,
phba             16824 drivers/scsi/lpfc/lpfc_sli.c 	mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             16826 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             16832 drivers/scsi/lpfc/lpfc_sli.c 	alloclen = lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_FCOE,
phba             16837 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             16841 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli4_mbox_cmd_free(phba, mbox);
phba             16859 drivers/scsi/lpfc/lpfc_sli.c 		if (phba->cfg_sg_dma_buf_size > SGL_PAGE_SIZE)
phba             16879 drivers/scsi/lpfc/lpfc_sli.c 	if (!phba->sli4_hba.intr_enable) {
phba             16880 drivers/scsi/lpfc/lpfc_sli.c 		rc = lpfc_sli_issue_mbox(phba, mbox, MBX_POLL);
phba             16882 drivers/scsi/lpfc/lpfc_sli.c 		mbox_tmo = lpfc_mbox_tmo_val(phba, mbox);
phba             16883 drivers/scsi/lpfc/lpfc_sli.c 		rc = lpfc_sli_issue_mbox_wait(phba, mbox, mbox_tmo);
phba             16889 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli4_mbox_cmd_free(phba, mbox);
phba             16891 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             16915 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_post_io_sgl_list(struct lpfc_hba *phba,
phba             16932 drivers/scsi/lpfc/lpfc_sli.c 	sgl_size = phba->cfg_sg_dma_buf_size;
phba             16973 drivers/scsi/lpfc/lpfc_sli.c 						phba, lpfc_ncmd->dma_phys_sgl,
phba             16996 drivers/scsi/lpfc/lpfc_sli.c 		status = lpfc_sli4_post_io_sgl_block(phba, &blck_nblist,
phba             17023 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_io_buf_replenish(phba, &nvme_nblist);
phba             17039 drivers/scsi/lpfc/lpfc_sli.c lpfc_fc_frame_check(struct lpfc_hba *phba, struct fc_frame_header *fc_hdr)
phba             17080 drivers/scsi/lpfc/lpfc_sli.c 		return lpfc_fc_frame_check(phba, fc_hdr);
phba             17098 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_printf_log(phba, KERN_INFO, LOG_ELS,
phba             17108 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_printf_log(phba, KERN_WARNING, LOG_ELS,
phba             17145 drivers/scsi/lpfc/lpfc_sli.c lpfc_fc_frame_to_vport(struct lpfc_hba *phba, struct fc_frame_header *fc_hdr,
phba             17153 drivers/scsi/lpfc/lpfc_sli.c 		return phba->pport;
phba             17154 drivers/scsi/lpfc/lpfc_sli.c 	if ((phba->pport->fc_flag & FC_PT2PT) &&
phba             17155 drivers/scsi/lpfc/lpfc_sli.c 		!(phba->link_state == LPFC_HBA_READY))
phba             17156 drivers/scsi/lpfc/lpfc_sli.c 		return phba->pport;
phba             17158 drivers/scsi/lpfc/lpfc_sli.c 	vports = lpfc_create_vport_work_array(phba);
phba             17160 drivers/scsi/lpfc/lpfc_sli.c 		for (i = 0; i <= phba->max_vpi && vports[i] != NULL; i++) {
phba             17161 drivers/scsi/lpfc/lpfc_sli.c 			if (phba->fcf.fcfi == fcfi &&
phba             17169 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_destroy_vport_work_array(phba, vports);
phba             17220 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_in_buf_free(vport->phba, d_buf);
phba             17222 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_in_buf_free(vport->phba, &dmabuf->dbuf);
phba             17247 drivers/scsi/lpfc/lpfc_sli.c 	timeout = (msecs_to_jiffies(vport->phba->fc_edtov) +
phba             17255 drivers/scsi/lpfc/lpfc_sli.c 		timeout = (msecs_to_jiffies(vport->phba->fc_edtov) +
phba             17264 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_in_buf_free(vport->phba, d_buf);
phba             17266 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_in_buf_free(vport->phba, &dmabuf->dbuf);
phba             17408 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_in_buf_free(vport->phba, d_buf);
phba             17434 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_hba *phba = vport->phba;
phba             17438 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->sli_rev < LPFC_SLI_REV4)
phba             17442 drivers/scsi/lpfc/lpfc_sli.c 	handled = lpfc_ct_handle_unsol_abort(phba, dmabuf);
phba             17460 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_seq_abort_rsp_cmpl(struct lpfc_hba *phba,
phba             17470 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli_release_iocbq(phba, cmd_iocbq);
phba             17475 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             17490 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_xri_inrange(struct lpfc_hba *phba,
phba             17495 drivers/scsi/lpfc/lpfc_sli.c 	for (i = 0; i < phba->sli4_hba.max_cfg_param.max_xri; i++) {
phba             17496 drivers/scsi/lpfc/lpfc_sli.c 		if (xri == phba->sli4_hba.xri_ids[i])
phba             17514 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_hba *phba = vport->phba;
phba             17522 drivers/scsi/lpfc/lpfc_sli.c 	if (!lpfc_is_link_up(phba))
phba             17552 drivers/scsi/lpfc/lpfc_sli.c 	ctiocb = lpfc_sli_get_iocbq(phba);
phba             17571 drivers/scsi/lpfc/lpfc_sli.c 	icmd->ulpContext = phba->sli4_hba.rpi_ids[ndlp->nlp_rpi];
phba             17574 drivers/scsi/lpfc/lpfc_sli.c 	ctiocb->vport = phba->pport;
phba             17586 drivers/scsi/lpfc/lpfc_sli.c 	lxri = lpfc_sli4_xri_inrange(phba, xri);
phba             17588 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_set_rrq_active(phba, ndlp, lxri,
phba             17596 drivers/scsi/lpfc/lpfc_sli.c 	    (lxri > lpfc_sli4_get_iocb_cnt(phba))) {
phba             17633 drivers/scsi/lpfc/lpfc_sli.c 			 icmd->un.xseq64.w5.hcsw.Rctl, oxid, phba->link_state);
phba             17635 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, ctiocb, 0);
phba             17641 drivers/scsi/lpfc/lpfc_sli.c 				 phba->link_state);
phba             17644 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli_release_iocbq(phba, ctiocb);
phba             17665 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_hba *phba = vport->phba;
phba             17683 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_in_buf_free(phba, &dmabuf->dbuf);
phba             17685 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->nvmet_support) {
phba             17773 drivers/scsi/lpfc/lpfc_sli.c 	first_iocbq = lpfc_sli_get_iocbq(vport->phba);
phba             17793 drivers/scsi/lpfc/lpfc_sli.c 			vport->phba->vpi_ids[vport->vpi];
phba             17818 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_in_buf_free(vport->phba, d_buf);
phba             17838 drivers/scsi/lpfc/lpfc_sli.c 			iocbq = lpfc_sli_get_iocbq(vport->phba);
phba             17846 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_in_buf_free(vport->phba, d_buf);
phba             17878 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_hba *phba = vport->phba;
phba             17883 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             17890 drivers/scsi/lpfc/lpfc_sli.c 	if (!lpfc_complete_unsol_iocb(phba,
phba             17891 drivers/scsi/lpfc/lpfc_sli.c 				      phba->sli4_hba.els_wq->pring,
phba             17894 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             17904 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli_release_iocbq(phba, curr_iocb);
phba             17906 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli_release_iocbq(phba, iocbq);
phba             17910 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_mds_loopback_cmpl(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
phba             17916 drivers/scsi/lpfc/lpfc_sli.c 		dma_pool_free(phba->lpfc_drb_pool, pcmd->virt, pcmd->phys);
phba             17918 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli_release_iocbq(phba, cmdiocb);
phba             17919 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_drain_txq(phba);
phba             17927 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_hba *phba = vport->phba;
phba             17939 drivers/scsi/lpfc/lpfc_sli.c 	iocbq = lpfc_sli_get_iocbq(phba);
phba             17942 drivers/scsi/lpfc/lpfc_sli.c 		spin_lock_irqsave(&phba->hbalock, iflags);
phba             17944 drivers/scsi/lpfc/lpfc_sli.c 			      &phba->sli4_hba.sp_queue_event);
phba             17945 drivers/scsi/lpfc/lpfc_sli.c 		phba->hba_flag |= HBA_SP_QUEUE_EVT;
phba             17946 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irqrestore(&phba->hbalock, iflags);
phba             17947 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_worker_wake_up(phba);
phba             17954 drivers/scsi/lpfc/lpfc_sli.c 		pcmd->virt = dma_pool_alloc(phba->lpfc_drb_pool, GFP_KERNEL,
phba             17992 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, iocbq, 0);
phba             17996 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_in_buf_free(phba, &dmabuf->dbuf);
phba             18000 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_printf_log(phba, KERN_WARNING, LOG_SLI,
phba             18003 drivers/scsi/lpfc/lpfc_sli.c 		dma_pool_free(phba->lpfc_drb_pool, pcmd->virt, pcmd->phys);
phba             18006 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli_release_iocbq(phba, iocbq);
phba             18007 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_in_buf_free(phba, &dmabuf->dbuf);
phba             18022 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_handle_received_buffer(struct lpfc_hba *phba,
phba             18036 drivers/scsi/lpfc/lpfc_sli.c 		vport = phba->pport;
phba             18043 drivers/scsi/lpfc/lpfc_sli.c 	if (lpfc_fc_frame_check(phba, fc_hdr)) {
phba             18044 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_in_buf_free(phba, &dmabuf->dbuf);
phba             18057 drivers/scsi/lpfc/lpfc_sli.c 		vport = phba->pport;
phba             18058 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_INFO, LOG_SLI,
phba             18070 drivers/scsi/lpfc/lpfc_sli.c 	vport = lpfc_fc_frame_to_vport(phba, fc_hdr, fcfi, did);
phba             18073 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_in_buf_free(phba, &dmabuf->dbuf);
phba             18086 drivers/scsi/lpfc/lpfc_sli.c 			(phba->link_state == LPFC_HBA_READY)) {
phba             18087 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_in_buf_free(phba, &dmabuf->dbuf);
phba             18102 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_in_buf_free(phba, &dmabuf->dbuf);
phba             18135 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_post_all_rpi_hdrs(struct lpfc_hba *phba)
phba             18142 drivers/scsi/lpfc/lpfc_sli.c 	if (!phba->sli4_hba.rpi_hdrs_in_use)
phba             18144 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->sli4_hba.extents_in_use)
phba             18147 drivers/scsi/lpfc/lpfc_sli.c 	list_for_each_entry(rpi_page, &phba->sli4_hba.lpfc_rpi_hdr_list, list) {
phba             18153 drivers/scsi/lpfc/lpfc_sli.c 		if (bf_get(lpfc_rpi_rsrc_rdy, &phba->sli4_hba.sli4_flags) !=
phba             18155 drivers/scsi/lpfc/lpfc_sli.c 			rpi_page->start_rpi = phba->sli4_hba.rpi_ids[lrpi];
phba             18157 drivers/scsi/lpfc/lpfc_sli.c 		rc = lpfc_sli4_post_rpi_hdr(phba, rpi_page);
phba             18159 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             18168 drivers/scsi/lpfc/lpfc_sli.c 	bf_set(lpfc_rpi_rsrc_rdy, &phba->sli4_hba.sli4_flags,
phba             18188 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_post_rpi_hdr(struct lpfc_hba *phba, struct lpfc_rpi_hdr *rpi_page)
phba             18197 drivers/scsi/lpfc/lpfc_sli.c 	if (!phba->sli4_hba.rpi_hdrs_in_use)
phba             18199 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->sli4_hba.extents_in_use)
phba             18203 drivers/scsi/lpfc/lpfc_sli.c 	mboxq = (LPFC_MBOXQ_t *) mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             18205 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             18213 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli4_config(phba, mboxq, LPFC_MBOX_SUBSYSTEM_FCOE,
phba             18228 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli_issue_mbox(phba, mboxq, MBX_POLL);
phba             18233 drivers/scsi/lpfc/lpfc_sli.c 		mempool_free(mboxq, phba->mbox_mem_pool);
phba             18235 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             18245 drivers/scsi/lpfc/lpfc_sli.c 		spin_lock_irq(&phba->hbalock);
phba             18246 drivers/scsi/lpfc/lpfc_sli.c 		phba->sli4_hba.next_rpi = rpi_page->next_rpi;
phba             18247 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irq(&phba->hbalock);
phba             18266 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_alloc_rpi(struct lpfc_hba *phba)
phba             18278 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irqsave(&phba->hbalock, iflag);
phba             18279 drivers/scsi/lpfc/lpfc_sli.c 	max_rpi = phba->sli4_hba.max_cfg_param.max_rpi;
phba             18280 drivers/scsi/lpfc/lpfc_sli.c 	rpi_limit = phba->sli4_hba.next_rpi;
phba             18282 drivers/scsi/lpfc/lpfc_sli.c 	rpi = find_next_zero_bit(phba->sli4_hba.rpi_bmask, rpi_limit, 0);
phba             18286 drivers/scsi/lpfc/lpfc_sli.c 		set_bit(rpi, phba->sli4_hba.rpi_bmask);
phba             18287 drivers/scsi/lpfc/lpfc_sli.c 		phba->sli4_hba.max_cfg_param.rpi_used++;
phba             18288 drivers/scsi/lpfc/lpfc_sli.c 		phba->sli4_hba.rpi_count++;
phba             18290 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_printf_log(phba, KERN_INFO, LOG_SLI,
phba             18299 drivers/scsi/lpfc/lpfc_sli.c 	    (phba->sli4_hba.rpi_count >= max_rpi)) {
phba             18300 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irqrestore(&phba->hbalock, iflag);
phba             18308 drivers/scsi/lpfc/lpfc_sli.c 	if (!phba->sli4_hba.rpi_hdrs_in_use) {
phba             18309 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irqrestore(&phba->hbalock, iflag);
phba             18319 drivers/scsi/lpfc/lpfc_sli.c 	rpi_remaining = phba->sli4_hba.next_rpi - phba->sli4_hba.rpi_count;
phba             18320 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irqrestore(&phba->hbalock, iflag);
phba             18322 drivers/scsi/lpfc/lpfc_sli.c 		rpi_hdr = lpfc_sli4_create_rpi_hdr(phba);
phba             18324 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             18329 drivers/scsi/lpfc/lpfc_sli.c 			rpi_hdr->start_rpi = phba->sli4_hba.rpi_ids[lrpi];
phba             18330 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_sli4_post_rpi_hdr(phba, rpi_hdr);
phba             18345 drivers/scsi/lpfc/lpfc_sli.c __lpfc_sli4_free_rpi(struct lpfc_hba *phba, int rpi)
phba             18354 drivers/scsi/lpfc/lpfc_sli.c 	if (test_and_clear_bit(rpi, phba->sli4_hba.rpi_bmask)) {
phba             18355 drivers/scsi/lpfc/lpfc_sli.c 		phba->sli4_hba.rpi_count--;
phba             18356 drivers/scsi/lpfc/lpfc_sli.c 		phba->sli4_hba.max_cfg_param.rpi_used--;
phba             18358 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_INFO, LOG_SLI,
phba             18372 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_free_rpi(struct lpfc_hba *phba, int rpi)
phba             18374 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irq(&phba->hbalock);
phba             18375 drivers/scsi/lpfc/lpfc_sli.c 	__lpfc_sli4_free_rpi(phba, rpi);
phba             18376 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irq(&phba->hbalock);
phba             18387 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_remove_rpis(struct lpfc_hba *phba)
phba             18389 drivers/scsi/lpfc/lpfc_sli.c 	kfree(phba->sli4_hba.rpi_bmask);
phba             18390 drivers/scsi/lpfc/lpfc_sli.c 	kfree(phba->sli4_hba.rpi_ids);
phba             18391 drivers/scsi/lpfc/lpfc_sli.c 	bf_set(lpfc_rpi_rsrc_rdy, &phba->sli4_hba.sli4_flags, 0);
phba             18406 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_hba *phba = ndlp->phba;
phba             18410 drivers/scsi/lpfc/lpfc_sli.c 	mboxq = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             18423 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli_issue_mbox(phba, mboxq, MBX_NOWAIT);
phba             18425 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             18429 drivers/scsi/lpfc/lpfc_sli.c 		mempool_free(mboxq, phba->mbox_mem_pool);
phba             18452 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_hba *phba = vport->phba;
phba             18453 drivers/scsi/lpfc/lpfc_sli.c 	mboxq = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             18456 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_init_vpi(phba, mboxq, vport->vpi);
phba             18457 drivers/scsi/lpfc/lpfc_sli.c 	mbox_tmo = lpfc_mbox_tmo_val(phba, mboxq);
phba             18458 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli_issue_mbox_wait(phba, mboxq, mbox_tmo);
phba             18467 drivers/scsi/lpfc/lpfc_sli.c 		mempool_free(mboxq, vport->phba->mbox_mem_pool);
phba             18482 drivers/scsi/lpfc/lpfc_sli.c lpfc_mbx_cmpl_add_fcf_record(struct lpfc_hba *phba, LPFC_MBOXQ_t *mboxq)
phba             18496 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             18501 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli4_mbox_cmd_free(phba, mboxq);
phba             18514 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_add_fcf_record(struct lpfc_hba *phba, struct fcf_record *fcf_record)
phba             18524 drivers/scsi/lpfc/lpfc_sli.c 	mboxq = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             18526 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             18535 drivers/scsi/lpfc/lpfc_sli.c 	alloc_len = lpfc_sli4_config(phba, mboxq, LPFC_MBOX_SUBSYSTEM_FCOE,
phba             18539 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             18543 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli4_mbox_cmd_free(phba, mboxq);
phba             18568 drivers/scsi/lpfc/lpfc_sli.c 	mboxq->vport = phba->pport;
phba             18570 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli_issue_mbox(phba, mboxq, MBX_NOWAIT);
phba             18572 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             18575 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli4_mbox_cmd_free(phba, mboxq);
phba             18594 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_build_dflt_fcf_record(struct lpfc_hba *phba,
phba             18602 drivers/scsi/lpfc/lpfc_sli.c 	bf_set(lpfc_fcf_record_mac_0, fcf_record, phba->fc_map[0]);
phba             18603 drivers/scsi/lpfc/lpfc_sli.c 	bf_set(lpfc_fcf_record_mac_1, fcf_record, phba->fc_map[1]);
phba             18604 drivers/scsi/lpfc/lpfc_sli.c 	bf_set(lpfc_fcf_record_mac_2, fcf_record, phba->fc_map[2]);
phba             18608 drivers/scsi/lpfc/lpfc_sli.c 	bf_set(lpfc_fcf_record_fc_map_0, fcf_record, phba->fc_map[0]);
phba             18609 drivers/scsi/lpfc/lpfc_sli.c 	bf_set(lpfc_fcf_record_fc_map_1, fcf_record, phba->fc_map[1]);
phba             18610 drivers/scsi/lpfc/lpfc_sli.c 	bf_set(lpfc_fcf_record_fc_map_2, fcf_record, phba->fc_map[2]);
phba             18617 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->valid_vlan) {
phba             18618 drivers/scsi/lpfc/lpfc_sli.c 		fcf_record->vlan_bitmap[phba->vlan_id / 8]
phba             18619 drivers/scsi/lpfc/lpfc_sli.c 			= 1 << (phba->vlan_id % 8);
phba             18636 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_fcf_scan_read_fcf_rec(struct lpfc_hba *phba, uint16_t fcf_index)
phba             18641 drivers/scsi/lpfc/lpfc_sli.c 	phba->fcoe_eventtag_at_fcf_scan = phba->fcoe_eventtag;
phba             18642 drivers/scsi/lpfc/lpfc_sli.c 	phba->fcoe_cvl_eventtag_attn = phba->fcoe_cvl_eventtag;
phba             18643 drivers/scsi/lpfc/lpfc_sli.c 	mboxq = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             18645 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             18652 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli4_mbx_read_fcf_rec(phba, mboxq, fcf_index);
phba             18658 drivers/scsi/lpfc/lpfc_sli.c 	mboxq->vport = phba->pport;
phba             18661 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irq(&phba->hbalock);
phba             18662 drivers/scsi/lpfc/lpfc_sli.c 	phba->hba_flag |= FCF_TS_INPROG;
phba             18663 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irq(&phba->hbalock);
phba             18665 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli_issue_mbox(phba, mboxq, MBX_NOWAIT);
phba             18671 drivers/scsi/lpfc/lpfc_sli.c 			phba->fcf.eligible_fcf_cnt = 0;
phba             18677 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_sli4_mbox_cmd_free(phba, mboxq);
phba             18679 drivers/scsi/lpfc/lpfc_sli.c 		spin_lock_irq(&phba->hbalock);
phba             18680 drivers/scsi/lpfc/lpfc_sli.c 		phba->hba_flag &= ~FCF_TS_INPROG;
phba             18681 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irq(&phba->hbalock);
phba             18698 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_fcf_rr_read_fcf_rec(struct lpfc_hba *phba, uint16_t fcf_index)
phba             18703 drivers/scsi/lpfc/lpfc_sli.c 	mboxq = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             18705 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_FIP | LOG_INIT,
phba             18712 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli4_mbx_read_fcf_rec(phba, mboxq, fcf_index);
phba             18718 drivers/scsi/lpfc/lpfc_sli.c 	mboxq->vport = phba->pport;
phba             18720 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli_issue_mbox(phba, mboxq, MBX_NOWAIT);
phba             18728 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli4_mbox_cmd_free(phba, mboxq);
phba             18744 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_read_fcf_rec(struct lpfc_hba *phba, uint16_t fcf_index)
phba             18749 drivers/scsi/lpfc/lpfc_sli.c 	mboxq = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             18751 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_FIP | LOG_INIT,
phba             18758 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli4_mbx_read_fcf_rec(phba, mboxq, fcf_index);
phba             18764 drivers/scsi/lpfc/lpfc_sli.c 	mboxq->vport = phba->pport;
phba             18766 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli_issue_mbox(phba, mboxq, MBX_NOWAIT);
phba             18774 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli4_mbox_cmd_free(phba, mboxq);
phba             18792 drivers/scsi/lpfc/lpfc_sli.c lpfc_check_next_fcf_pri_level(struct lpfc_hba *phba)
phba             18800 drivers/scsi/lpfc/lpfc_sli.c 	last_index = find_first_bit(phba->fcf.fcf_rr_bmask,
phba             18802 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_printf_log(phba, KERN_INFO, LOG_FIP,
phba             18806 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irq(&phba->hbalock);
phba             18807 drivers/scsi/lpfc/lpfc_sli.c 	if (list_empty(&phba->fcf.fcf_pri_list) ||
phba             18808 drivers/scsi/lpfc/lpfc_sli.c 	    list_is_singular(&phba->fcf.fcf_pri_list)) {
phba             18809 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irq(&phba->hbalock);
phba             18810 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_FIP,
phba             18814 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irq(&phba->hbalock);
phba             18821 drivers/scsi/lpfc/lpfc_sli.c 	memset(phba->fcf.fcf_rr_bmask, 0,
phba             18822 drivers/scsi/lpfc/lpfc_sli.c 			sizeof(*phba->fcf.fcf_rr_bmask));
phba             18823 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irq(&phba->hbalock);
phba             18824 drivers/scsi/lpfc/lpfc_sli.c 	list_for_each_entry(fcf_pri, &phba->fcf.fcf_pri_list, list) {
phba             18833 drivers/scsi/lpfc/lpfc_sli.c 		spin_unlock_irq(&phba->hbalock);
phba             18835 drivers/scsi/lpfc/lpfc_sli.c 			rc = lpfc_sli4_fcf_rr_index_set(phba,
phba             18840 drivers/scsi/lpfc/lpfc_sli.c 		spin_lock_irq(&phba->hbalock);
phba             18847 drivers/scsi/lpfc/lpfc_sli.c 	if (!next_fcf_pri && !list_empty(&phba->fcf.fcf_pri_list)) {
phba             18848 drivers/scsi/lpfc/lpfc_sli.c 		list_for_each_entry(fcf_pri, &phba->fcf.fcf_pri_list, list) {
phba             18856 drivers/scsi/lpfc/lpfc_sli.c 			spin_unlock_irq(&phba->hbalock);
phba             18858 drivers/scsi/lpfc/lpfc_sli.c 				rc = lpfc_sli4_fcf_rr_index_set(phba,
phba             18863 drivers/scsi/lpfc/lpfc_sli.c 			spin_lock_irq(&phba->hbalock);
phba             18867 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irq(&phba->hbalock);
phba             18882 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_fcf_rr_next_index_get(struct lpfc_hba *phba)
phba             18888 drivers/scsi/lpfc/lpfc_sli.c 	next_fcf_index = phba->fcf.current_rec.fcf_indx;
phba             18893 drivers/scsi/lpfc/lpfc_sli.c 	next_fcf_index = find_next_bit(phba->fcf.fcf_rr_bmask,
phba             18904 drivers/scsi/lpfc/lpfc_sli.c 		next_fcf_index = find_next_bit(phba->fcf.fcf_rr_bmask,
phba             18911 drivers/scsi/lpfc/lpfc_sli.c 		next_fcf_index == phba->fcf.current_rec.fcf_indx) {
phba             18918 drivers/scsi/lpfc/lpfc_sli.c 		if (lpfc_check_next_fcf_pri_level(phba))
phba             18920 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_WARNING, LOG_FIP,
phba             18927 drivers/scsi/lpfc/lpfc_sli.c 		phba->fcf.fcf_pri[next_fcf_index].fcf_rec.flag &
phba             18929 drivers/scsi/lpfc/lpfc_sli.c 		if (list_is_singular(&phba->fcf.fcf_pri_list))
phba             18935 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_printf_log(phba, KERN_INFO, LOG_FIP,
phba             18955 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_fcf_rr_index_set(struct lpfc_hba *phba, uint16_t fcf_index)
phba             18958 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_FIP,
phba             18965 drivers/scsi/lpfc/lpfc_sli.c 	set_bit(fcf_index, phba->fcf.fcf_rr_bmask);
phba             18967 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_printf_log(phba, KERN_INFO, LOG_FIP,
phba             18984 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_fcf_rr_index_clear(struct lpfc_hba *phba, uint16_t fcf_index)
phba             18988 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_FIP,
phba             18995 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irq(&phba->hbalock);
phba             18996 drivers/scsi/lpfc/lpfc_sli.c 	list_for_each_entry_safe(fcf_pri, fcf_pri_next, &phba->fcf.fcf_pri_list,
phba             19003 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irq(&phba->hbalock);
phba             19004 drivers/scsi/lpfc/lpfc_sli.c 	clear_bit(fcf_index, phba->fcf.fcf_rr_bmask);
phba             19006 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_printf_log(phba, KERN_INFO, LOG_FIP,
phba             19020 drivers/scsi/lpfc/lpfc_sli.c lpfc_mbx_cmpl_redisc_fcf_table(struct lpfc_hba *phba, LPFC_MBOXQ_t *mbox)
phba             19032 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_FIP,
phba             19036 drivers/scsi/lpfc/lpfc_sli.c 		if (phba->fcf.fcf_flag & FCF_ACVL_DISC) {
phba             19037 drivers/scsi/lpfc/lpfc_sli.c 			spin_lock_irq(&phba->hbalock);
phba             19038 drivers/scsi/lpfc/lpfc_sli.c 			phba->fcf.fcf_flag &= ~FCF_ACVL_DISC;
phba             19039 drivers/scsi/lpfc/lpfc_sli.c 			spin_unlock_irq(&phba->hbalock);
phba             19044 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_retry_pport_discovery(phba);
phba             19046 drivers/scsi/lpfc/lpfc_sli.c 			spin_lock_irq(&phba->hbalock);
phba             19047 drivers/scsi/lpfc/lpfc_sli.c 			phba->fcf.fcf_flag &= ~FCF_DEAD_DISC;
phba             19048 drivers/scsi/lpfc/lpfc_sli.c 			spin_unlock_irq(&phba->hbalock);
phba             19054 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_sli4_fcf_dead_failthrough(phba);
phba             19057 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_INFO, LOG_FIP,
phba             19063 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_fcf_redisc_wait_start_timer(phba);
phba             19066 drivers/scsi/lpfc/lpfc_sli.c 	mempool_free(mbox, phba->mbox_mem_pool);
phba             19077 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_redisc_fcf_table(struct lpfc_hba *phba)
phba             19084 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_cancel_all_vport_retry_delay_timer(phba);
phba             19086 drivers/scsi/lpfc/lpfc_sli.c 	mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             19088 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             19096 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_FCOE,
phba             19105 drivers/scsi/lpfc/lpfc_sli.c 	mbox->vport = phba->pport;
phba             19107 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT);
phba             19110 drivers/scsi/lpfc/lpfc_sli.c 		mempool_free(mbox, phba->mbox_mem_pool);
phba             19124 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_fcf_dead_failthrough(struct lpfc_hba *phba)
phba             19133 drivers/scsi/lpfc/lpfc_sli.c 	link_state = phba->link_state;
phba             19134 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_linkdown(phba);
phba             19135 drivers/scsi/lpfc/lpfc_sli.c 	phba->link_state = link_state;
phba             19138 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_unregister_unused_fcf(phba);
phba             19151 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_get_config_region23(struct lpfc_hba *phba, char *rgn23_data)
phba             19161 drivers/scsi/lpfc/lpfc_sli.c 	pmb = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             19163 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             19170 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_dump_mem(phba, pmb, offset, DMP_REGION_23);
phba             19171 drivers/scsi/lpfc/lpfc_sli.c 		rc = lpfc_sli_issue_mbox(phba, pmb, MBX_POLL);
phba             19174 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             19195 drivers/scsi/lpfc/lpfc_sli.c 	mempool_free(pmb, phba->mbox_mem_pool);
phba             19209 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_get_config_region23(struct lpfc_hba *phba, char *rgn23_data)
phba             19220 drivers/scsi/lpfc/lpfc_sli.c 	mboxq = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             19222 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             19227 drivers/scsi/lpfc/lpfc_sli.c 	if (lpfc_sli4_dump_cfg_rg23(phba, mboxq))
phba             19231 drivers/scsi/lpfc/lpfc_sli.c 	rc = lpfc_sli_issue_mbox(phba, mboxq, MBX_POLL);
phba             19243 drivers/scsi/lpfc/lpfc_sli.c 	mempool_free(mboxq, phba->mbox_mem_pool);
phba             19245 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_mbuf_free(phba, mp->virt, mp->phys);
phba             19260 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_read_link_ste(struct lpfc_hba *phba)
phba             19271 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->sli_rev < LPFC_SLI_REV4)
phba             19272 drivers/scsi/lpfc/lpfc_sli.c 		data_size = lpfc_sli_get_config_region23(phba, rgn23_data);
phba             19275 drivers/scsi/lpfc/lpfc_sli.c 				 &phba->sli4_hba.sli_intf);
phba             19278 drivers/scsi/lpfc/lpfc_sli.c 		data_size = lpfc_sli4_get_config_region23(phba, rgn23_data);
phba             19286 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             19294 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             19338 drivers/scsi/lpfc/lpfc_sli.c 				phba->hba_flag |= LINK_DISABLED;
phba             19369 drivers/scsi/lpfc/lpfc_sli.c lpfc_wr_object(struct lpfc_hba *phba, struct list_head *dmabuf_list,
phba             19381 drivers/scsi/lpfc/lpfc_sli.c 	mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba             19385 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_COMMON,
phba             19418 drivers/scsi/lpfc/lpfc_sli.c 	if (!phba->sli4_hba.intr_enable)
phba             19419 drivers/scsi/lpfc/lpfc_sli.c 		rc = lpfc_sli_issue_mbox(phba, mbox, MBX_POLL);
phba             19421 drivers/scsi/lpfc/lpfc_sli.c 		mbox_tmo = lpfc_mbox_tmo_val(phba, mbox);
phba             19422 drivers/scsi/lpfc/lpfc_sli.c 		rc = lpfc_sli_issue_mbox_wait(phba, mbox, mbox_tmo);
phba             19434 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             19439 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             19444 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             19450 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
phba             19459 drivers/scsi/lpfc/lpfc_sli.c 		mempool_free(mbox, phba->mbox_mem_pool);
phba             19461 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
phba             19484 drivers/scsi/lpfc/lpfc_sli.c 	struct lpfc_hba *phba = vport->phba;
phba             19494 drivers/scsi/lpfc/lpfc_sli.c 	spin_lock_irq(&phba->hbalock);
phba             19495 drivers/scsi/lpfc/lpfc_sli.c 	list_for_each_entry_safe(mb, nextmb, &phba->sli.mboxq, list) {
phba             19507 drivers/scsi/lpfc/lpfc_sli.c 	mb = phba->sli.mbox_active;
phba             19523 drivers/scsi/lpfc/lpfc_sli.c 		list_for_each_entry(mb, &phba->sli.mboxq_cmpl, list) {
phba             19542 drivers/scsi/lpfc/lpfc_sli.c 				spin_unlock_irq(&phba->hbalock);
phba             19546 drivers/scsi/lpfc/lpfc_sli.c 				spin_lock_irq(&phba->hbalock);
phba             19552 drivers/scsi/lpfc/lpfc_sli.c 	spin_unlock_irq(&phba->hbalock);
phba             19560 drivers/scsi/lpfc/lpfc_sli.c 				__lpfc_mbuf_free(phba, mp->virt, mp->phys);
phba             19573 drivers/scsi/lpfc/lpfc_sli.c 		mempool_free(mb, phba->mbox_mem_pool);
phba             19597 drivers/scsi/lpfc/lpfc_sli.c lpfc_drain_txq(struct lpfc_hba *phba)
phba             19609 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->link_flag & LS_MDS_LOOPBACK) {
phba             19611 drivers/scsi/lpfc/lpfc_sli.c 		wq = phba->sli4_hba.hdwq[0].io_wq;
phba             19616 drivers/scsi/lpfc/lpfc_sli.c 		wq = phba->sli4_hba.els_wq;
phba             19619 drivers/scsi/lpfc/lpfc_sli.c 		pring = lpfc_phba_elsring(phba);
phba             19638 drivers/scsi/lpfc/lpfc_sli.c 		piocbq = lpfc_sli_ringtx_get(phba, pring);
phba             19641 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             19646 drivers/scsi/lpfc/lpfc_sli.c 		sglq = __lpfc_sli_get_els_sglq(phba, piocbq);
phba             19648 drivers/scsi/lpfc/lpfc_sli.c 			__lpfc_sli_ringtx_put(phba, pring, piocbq);
phba             19659 drivers/scsi/lpfc/lpfc_sli.c 		if (NO_XRI == lpfc_sli4_bpl2sgl(phba, piocbq, sglq))
phba             19661 drivers/scsi/lpfc/lpfc_sli.c 		else if (lpfc_sli4_iocb2wqe(phba, piocbq, &wqe))
phba             19666 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_sli_ringtxcmpl_put(phba, pring, piocbq);
phba             19670 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
phba             19681 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_sli_cancel_iocbs(phba, &completions, IOSTAT_LOCAL_REJECT,
phba             19705 drivers/scsi/lpfc/lpfc_sli.c lpfc_wqe_bpl2sgl(struct lpfc_hba *phba, struct lpfc_iocbq *pwqeq,
phba             19819 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_issue_wqe(struct lpfc_hba *phba, struct lpfc_sli4_hdw_queue *qp,
phba             19832 drivers/scsi/lpfc/lpfc_sli.c 		pring =  phba->sli4_hba.nvmels_wq->pring;
phba             19835 drivers/scsi/lpfc/lpfc_sli.c 		sglq = __lpfc_sli_get_els_sglq(phba, pwqe);
phba             19842 drivers/scsi/lpfc/lpfc_sli.c 		if (lpfc_wqe_bpl2sgl(phba, pwqe, sglq) == NO_XRI) {
phba             19848 drivers/scsi/lpfc/lpfc_sli.c 		ret = lpfc_sli4_wq_put(phba->sli4_hba.nvmels_wq, wqe);
phba             19854 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli_ringtxcmpl_put(phba, pring, pwqe);
phba             19876 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli_ringtxcmpl_put(phba, pring, pwqe);
phba             19906 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_sli_ringtxcmpl_put(phba, pring, pwqe);
phba             19930 drivers/scsi/lpfc/lpfc_sli.c void lpfc_snapshot_mxp(struct lpfc_hba *phba, u32 hwqid)
phba             19938 drivers/scsi/lpfc/lpfc_sli.c 	qp = &phba->sli4_hba.hdwq[hwqid];
phba             19965 drivers/scsi/lpfc/lpfc_sli.c void lpfc_adjust_pvt_pool_count(struct lpfc_hba *phba, u32 hwqid)
phba             19971 drivers/scsi/lpfc/lpfc_sli.c 	multixri_pool = phba->sli4_hba.hdwq[hwqid].p_multixri_pool;
phba             19984 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_move_xri_pvt_to_pbl(phba, hwqid);
phba             19996 drivers/scsi/lpfc/lpfc_sli.c void lpfc_adjust_high_watermark(struct lpfc_hba *phba, u32 hwqid)
phba             20007 drivers/scsi/lpfc/lpfc_sli.c 	qp = &phba->sli4_hba.hdwq[hwqid];
phba             20041 drivers/scsi/lpfc/lpfc_sli.c void lpfc_move_xri_pvt_to_pbl(struct lpfc_hba *phba, u32 hwqid)
phba             20052 drivers/scsi/lpfc/lpfc_sli.c 	qp = &phba->sli4_hba.hdwq[hwqid];
phba             20111 drivers/scsi/lpfc/lpfc_sli.c _lpfc_move_xri_pbl_to_pvt(struct lpfc_hba *phba, struct lpfc_sli4_hdw_queue *qp,
phba             20160 drivers/scsi/lpfc/lpfc_sli.c void lpfc_move_xri_pbl_to_pvt(struct lpfc_hba *phba, u32 hwqid, u32 count)
phba             20171 drivers/scsi/lpfc/lpfc_sli.c 	qp = &phba->sli4_hba.hdwq[hwqid];
phba             20177 drivers/scsi/lpfc/lpfc_sli.c 	ret = _lpfc_move_xri_pbl_to_pvt(phba, qp, pbl_pool, pvt_pool, count);
phba             20185 drivers/scsi/lpfc/lpfc_sli.c 	hwq_count = phba->cfg_hdw_queue;
phba             20195 drivers/scsi/lpfc/lpfc_sli.c 			phba->sli4_hba.hdwq[next_hwqid].p_multixri_pool;
phba             20200 drivers/scsi/lpfc/lpfc_sli.c 			phba, qp, pbl_pool, pvt_pool, count);
phba             20231 drivers/scsi/lpfc/lpfc_sli.c void lpfc_keep_pvt_pool_above_lowwm(struct lpfc_hba *phba, u32 hwqid)
phba             20236 drivers/scsi/lpfc/lpfc_sli.c 	multixri_pool = phba->sli4_hba.hdwq[hwqid].p_multixri_pool;
phba             20240 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_move_xri_pbl_to_pvt(phba, hwqid, XRI_BATCH);
phba             20255 drivers/scsi/lpfc/lpfc_sli.c void lpfc_release_io_buf(struct lpfc_hba *phba, struct lpfc_io_buf *lpfc_ncmd,
phba             20272 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->cfg_xpsgl && !phba->nvmet_support &&
phba             20274 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_put_sgl_per_hdwq(phba, lpfc_ncmd);
phba             20277 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_put_cmd_rsp_buf_per_hdwq(phba, lpfc_ncmd);
phba             20279 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->cfg_xri_rebalancing) {
phba             20282 drivers/scsi/lpfc/lpfc_sli.c 			epd_pool = &phba->epd_pool;
phba             20358 drivers/scsi/lpfc/lpfc_sli.c lpfc_get_io_buf_from_private_pool(struct lpfc_hba *phba,
phba             20371 drivers/scsi/lpfc/lpfc_sli.c 			phba, ndlp, lpfc_ncmd->cur_iocbq.sli4_lxritag))
phba             20394 drivers/scsi/lpfc/lpfc_sli.c lpfc_get_io_buf_from_expedite_pool(struct lpfc_hba *phba)
phba             20401 drivers/scsi/lpfc/lpfc_sli.c 	epd_pool = &phba->epd_pool;
phba             20442 drivers/scsi/lpfc/lpfc_sli.c lpfc_get_io_buf_from_multixri_pools(struct lpfc_hba *phba,
phba             20451 drivers/scsi/lpfc/lpfc_sli.c 	qp = &phba->sli4_hba.hdwq[hwqid];
phba             20459 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_move_xri_pbl_to_pvt(phba, hwqid, XRI_BATCH);
phba             20462 drivers/scsi/lpfc/lpfc_sli.c 	lpfc_ncmd = lpfc_get_io_buf_from_private_pool(phba, qp, pvt_pool, ndlp);
phba             20471 drivers/scsi/lpfc/lpfc_sli.c 		lpfc_ncmd = lpfc_get_io_buf_from_expedite_pool(phba);
phba             20478 drivers/scsi/lpfc/lpfc_sli.c lpfc_io_buf(struct lpfc_hba *phba, struct lpfc_nodelist *ndlp, int idx)
phba             20483 drivers/scsi/lpfc/lpfc_sli.c 	qp = &phba->sli4_hba.hdwq[idx];
phba             20486 drivers/scsi/lpfc/lpfc_sli.c 		if (lpfc_test_rrq_active(phba, ndlp,
phba             20520 drivers/scsi/lpfc/lpfc_sli.c struct lpfc_io_buf *lpfc_get_io_buf(struct lpfc_hba *phba,
phba             20528 drivers/scsi/lpfc/lpfc_sli.c 	qp = &phba->sli4_hba.hdwq[hwqid];
phba             20531 drivers/scsi/lpfc/lpfc_sli.c 	if (phba->cfg_xri_rebalancing)
phba             20533 drivers/scsi/lpfc/lpfc_sli.c 			phba, ndlp, hwqid, expedite);
phba             20538 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_cmd = lpfc_io_buf(phba, ndlp, hwqid);
phba             20550 drivers/scsi/lpfc/lpfc_sli.c 				lpfc_cmd = lpfc_io_buf(phba, ndlp, hwqid);
phba             20571 drivers/scsi/lpfc/lpfc_sli.c lpfc_get_sgl_per_hdwq(struct lpfc_hba *phba, struct lpfc_io_buf *lpfc_buf)
phba             20596 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_INFO, LOG_SLI,
phba             20603 drivers/scsi/lpfc/lpfc_sli.c 		tmp->dma_sgl = dma_pool_alloc(phba->lpfc_sg_dma_buf_pool,
phba             20606 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_INFO, LOG_SLI,
phba             20639 drivers/scsi/lpfc/lpfc_sli.c lpfc_put_sgl_per_hdwq(struct lpfc_hba *phba, struct lpfc_io_buf *lpfc_buf)
phba             20676 drivers/scsi/lpfc/lpfc_sli.c lpfc_free_sgl_per_hdwq(struct lpfc_hba *phba,
phba             20689 drivers/scsi/lpfc/lpfc_sli.c 		dma_pool_free(phba->lpfc_sg_dma_buf_pool,
phba             20712 drivers/scsi/lpfc/lpfc_sli.c lpfc_get_cmd_rsp_buf_per_hdwq(struct lpfc_hba *phba,
phba             20739 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_INFO, LOG_SLI,
phba             20746 drivers/scsi/lpfc/lpfc_sli.c 		tmp->fcp_cmnd = dma_pool_alloc(phba->lpfc_cmd_rsp_buf_pool,
phba             20751 drivers/scsi/lpfc/lpfc_sli.c 			lpfc_printf_log(phba, KERN_INFO, LOG_SLI,
phba             20787 drivers/scsi/lpfc/lpfc_sli.c lpfc_put_cmd_rsp_buf_per_hdwq(struct lpfc_hba *phba,
phba             20825 drivers/scsi/lpfc/lpfc_sli.c lpfc_free_cmd_rsp_buf_per_hdwq(struct lpfc_hba *phba,
phba             20839 drivers/scsi/lpfc/lpfc_sli.c 		dma_pool_free(phba->lpfc_cmd_rsp_buf_pool,
phba              156 drivers/scsi/lpfc/lpfc_sli4.h 	struct lpfc_hba *phba;
phba              470 drivers/scsi/lpfc/lpfc_sli4.h 	struct lpfc_hba *phba;
phba              799 drivers/scsi/lpfc/lpfc_sli4.h 	void (*sli4_write_eq_db)(struct lpfc_hba *phba, struct lpfc_queue *eq,
phba              801 drivers/scsi/lpfc/lpfc_sli4.h 	void (*sli4_write_cq_db)(struct lpfc_hba *phba, struct lpfc_queue *cq,
phba             1019 drivers/scsi/lpfc/lpfc_sli4.h struct lpfc_queue *lpfc_sli4_queue_alloc(struct lpfc_hba *phba,
phba             1025 drivers/scsi/lpfc/lpfc_sli4.h void lpfc_modify_hba_eq_delay(struct lpfc_hba *phba, uint32_t startq,
phba             1029 drivers/scsi/lpfc/lpfc_sli4.h int lpfc_cq_create_set(struct lpfc_hba *phba, struct lpfc_queue **cqp,
phba             1038 drivers/scsi/lpfc/lpfc_sli4.h int lpfc_mrq_create(struct lpfc_hba *phba, struct lpfc_queue **hrqp,
phba             1050 drivers/scsi/lpfc/lpfc_sli4.h int lpfc_repost_io_sgl_list(struct lpfc_hba *phba);
phba             1072 drivers/scsi/lpfc/lpfc_sli4.h void lpfc_sli4_nvme_xri_aborted(struct lpfc_hba *phba,
phba             1075 drivers/scsi/lpfc/lpfc_sli4.h void lpfc_sli4_io_xri_aborted(struct lpfc_hba *phba,
phba             1077 drivers/scsi/lpfc/lpfc_sli4.h void lpfc_sli4_nvmet_xri_aborted(struct lpfc_hba *phba,
phba             1087 drivers/scsi/lpfc/lpfc_sli4.h int lpfc_sli4_get_iocb_cnt(struct lpfc_hba *phba);
phba             1090 drivers/scsi/lpfc/lpfc_sli4.h void lpfc_sli4_write_cq_db(struct lpfc_hba *phba, struct lpfc_queue *q,
phba             1092 drivers/scsi/lpfc/lpfc_sli4.h void lpfc_sli4_write_eq_db(struct lpfc_hba *phba, struct lpfc_queue *q,
phba             1095 drivers/scsi/lpfc/lpfc_sli4.h void lpfc_sli4_if6_write_cq_db(struct lpfc_hba *phba, struct lpfc_queue *q,
phba             1097 drivers/scsi/lpfc/lpfc_sli4.h void lpfc_sli4_if6_write_eq_db(struct lpfc_hba *phba, struct lpfc_queue *q,
phba             1110 drivers/scsi/lpfc/lpfc_sli4.h void lpfc_sli4_ras_dma_free(struct lpfc_hba *phba);
phba             1111 drivers/scsi/lpfc/lpfc_sli4.h struct sli4_hybrid_sgl *lpfc_get_sgl_per_hdwq(struct lpfc_hba *phba,
phba             1113 drivers/scsi/lpfc/lpfc_sli4.h struct fcp_cmd_rsp_buf *lpfc_get_cmd_rsp_buf_per_hdwq(struct lpfc_hba *phba,
phba             1115 drivers/scsi/lpfc/lpfc_sli4.h int lpfc_put_sgl_per_hdwq(struct lpfc_hba *phba, struct lpfc_io_buf *buf);
phba             1116 drivers/scsi/lpfc/lpfc_sli4.h int lpfc_put_cmd_rsp_buf_per_hdwq(struct lpfc_hba *phba,
phba             1118 drivers/scsi/lpfc/lpfc_sli4.h void lpfc_free_sgl_per_hdwq(struct lpfc_hba *phba,
phba             1120 drivers/scsi/lpfc/lpfc_sli4.h void lpfc_free_cmd_rsp_buf_per_hdwq(struct lpfc_hba *phba,
phba               88 drivers/scsi/lpfc/lpfc_vport.c lpfc_alloc_vpi(struct lpfc_hba *phba)
phba               92 drivers/scsi/lpfc/lpfc_vport.c 	spin_lock_irq(&phba->hbalock);
phba               94 drivers/scsi/lpfc/lpfc_vport.c 	vpi = find_next_zero_bit(phba->vpi_bmask, (phba->max_vpi + 1), 1);
phba               95 drivers/scsi/lpfc/lpfc_vport.c 	if (vpi > phba->max_vpi)
phba               98 drivers/scsi/lpfc/lpfc_vport.c 		set_bit(vpi, phba->vpi_bmask);
phba               99 drivers/scsi/lpfc/lpfc_vport.c 	if (phba->sli_rev == LPFC_SLI_REV4)
phba              100 drivers/scsi/lpfc/lpfc_vport.c 		phba->sli4_hba.max_cfg_param.vpi_used++;
phba              101 drivers/scsi/lpfc/lpfc_vport.c 	spin_unlock_irq(&phba->hbalock);
phba              106 drivers/scsi/lpfc/lpfc_vport.c lpfc_free_vpi(struct lpfc_hba *phba, int vpi)
phba              110 drivers/scsi/lpfc/lpfc_vport.c 	spin_lock_irq(&phba->hbalock);
phba              111 drivers/scsi/lpfc/lpfc_vport.c 	clear_bit(vpi, phba->vpi_bmask);
phba              112 drivers/scsi/lpfc/lpfc_vport.c 	if (phba->sli_rev == LPFC_SLI_REV4)
phba              113 drivers/scsi/lpfc/lpfc_vport.c 		phba->sli4_hba.max_cfg_param.vpi_used--;
phba              114 drivers/scsi/lpfc/lpfc_vport.c 	spin_unlock_irq(&phba->hbalock);
phba              118 drivers/scsi/lpfc/lpfc_vport.c lpfc_vport_sparm(struct lpfc_hba *phba, struct lpfc_vport *vport)
phba              125 drivers/scsi/lpfc/lpfc_vport.c 	pmb = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
phba              131 drivers/scsi/lpfc/lpfc_vport.c 	rc = lpfc_read_sparam(phba, pmb, vport->vpi);
phba              133 drivers/scsi/lpfc/lpfc_vport.c 		mempool_free(pmb, phba->mbox_mem_pool);
phba              145 drivers/scsi/lpfc/lpfc_vport.c 	rc = lpfc_sli_issue_mbox_wait(phba, pmb, phba->fc_ratov * 2);
phba              151 drivers/scsi/lpfc/lpfc_vport.c 			lpfc_mbuf_free(phba, mp->virt, mp->phys);
phba              154 drivers/scsi/lpfc/lpfc_vport.c 				mempool_free(pmb, phba->mbox_mem_pool);
phba              161 drivers/scsi/lpfc/lpfc_vport.c 			lpfc_mbuf_free(phba, mp->virt, mp->phys);
phba              164 drivers/scsi/lpfc/lpfc_vport.c 				mempool_free(pmb, phba->mbox_mem_pool);
phba              175 drivers/scsi/lpfc/lpfc_vport.c 	lpfc_mbuf_free(phba, mp->virt, mp->phys);
phba              177 drivers/scsi/lpfc/lpfc_vport.c 	mempool_free(pmb, phba->mbox_mem_pool);
phba              183 drivers/scsi/lpfc/lpfc_vport.c lpfc_valid_wwn_format(struct lpfc_hba *phba, struct lpfc_name *wwn,
phba              193 drivers/scsi/lpfc/lpfc_vport.c 	lpfc_printf_log(phba, KERN_ERR, LOG_VPORT,
phba              205 drivers/scsi/lpfc/lpfc_vport.c lpfc_unique_wwpn(struct lpfc_hba *phba, struct lpfc_vport *new_vport)
phba              210 drivers/scsi/lpfc/lpfc_vport.c 	spin_lock_irqsave(&phba->port_list_lock, flags);
phba              211 drivers/scsi/lpfc/lpfc_vport.c 	list_for_each_entry(vport, &phba->port_list, listentry) {
phba              218 drivers/scsi/lpfc/lpfc_vport.c 			spin_unlock_irqrestore(&phba->port_list_lock, flags);
phba              222 drivers/scsi/lpfc/lpfc_vport.c 	spin_unlock_irqrestore(&phba->port_list_lock, flags);
phba              243 drivers/scsi/lpfc/lpfc_vport.c 	struct lpfc_hba *phba = vport->phba;
phba              256 drivers/scsi/lpfc/lpfc_vport.c 	wait_time_max = msecs_to_jiffies(((phba->fc_ratov * 3) + 3) * 1000);
phba              300 drivers/scsi/lpfc/lpfc_vport.c 	struct lpfc_hba   *phba = pport->phba;
phba              307 drivers/scsi/lpfc/lpfc_vport.c 	if ((phba->sli_rev < 3) || !(phba->cfg_enable_npiv)) {
phba              308 drivers/scsi/lpfc/lpfc_vport.c 		lpfc_printf_log(phba, KERN_ERR, LOG_VPORT,
phba              311 drivers/scsi/lpfc/lpfc_vport.c 				phba->sli_rev);
phba              317 drivers/scsi/lpfc/lpfc_vport.c 	if (phba->nvmet_support) {
phba              318 drivers/scsi/lpfc/lpfc_vport.c 		lpfc_printf_log(phba, KERN_ERR, LOG_VPORT,
phba              325 drivers/scsi/lpfc/lpfc_vport.c 	vpi = lpfc_alloc_vpi(phba);
phba              327 drivers/scsi/lpfc/lpfc_vport.c 		lpfc_printf_log(phba, KERN_ERR, LOG_VPORT,
phba              330 drivers/scsi/lpfc/lpfc_vport.c 				phba->max_vpi);
phba              337 drivers/scsi/lpfc/lpfc_vport.c 		lpfc_printf_log(phba, KERN_ERR, LOG_VPORT,
phba              340 drivers/scsi/lpfc/lpfc_vport.c 		lpfc_free_vpi(phba, vpi);
phba              345 drivers/scsi/lpfc/lpfc_vport.c 	vport = lpfc_create_port(phba, instance, &fc_vport->dev);
phba              347 drivers/scsi/lpfc/lpfc_vport.c 		lpfc_printf_log(phba, KERN_ERR, LOG_VPORT,
phba              349 drivers/scsi/lpfc/lpfc_vport.c 		lpfc_free_vpi(phba, vpi);
phba              357 drivers/scsi/lpfc/lpfc_vport.c 	if ((status = lpfc_vport_sparm(phba, vport))) {
phba              368 drivers/scsi/lpfc/lpfc_vport.c 		lpfc_free_vpi(phba, vpi);
phba              379 drivers/scsi/lpfc/lpfc_vport.c 	if (!lpfc_valid_wwn_format(phba, &vport->fc_sparam.nodeName, "WWNN") ||
phba              380 drivers/scsi/lpfc/lpfc_vport.c 	    !lpfc_valid_wwn_format(phba, &vport->fc_sparam.portName, "WWPN")) {
phba              384 drivers/scsi/lpfc/lpfc_vport.c 		lpfc_free_vpi(phba, vpi);
phba              390 drivers/scsi/lpfc/lpfc_vport.c 	if (!lpfc_unique_wwpn(phba, vport)) {
phba              394 drivers/scsi/lpfc/lpfc_vport.c 		lpfc_free_vpi(phba, vpi);
phba              404 drivers/scsi/lpfc/lpfc_vport.c 	vport->cfg_lun_queue_depth  = phba->pport->cfg_lun_queue_depth;
phba              414 drivers/scsi/lpfc/lpfc_vport.c 	if (phba->cfg_enable_SmartSAN ||
phba              415 drivers/scsi/lpfc/lpfc_vport.c 	    (phba->cfg_fdmi_on == LPFC_FDMI_SUPPORT)) {
phba              417 drivers/scsi/lpfc/lpfc_vport.c 		vport->fdmi_hba_mask = phba->pport->fdmi_hba_mask;
phba              418 drivers/scsi/lpfc/lpfc_vport.c 		vport->fdmi_port_mask = phba->pport->fdmi_port_mask;
phba              425 drivers/scsi/lpfc/lpfc_vport.c 	if ((phba->sli_rev == LPFC_SLI_REV4) &&
phba              429 drivers/scsi/lpfc/lpfc_vport.c 			lpfc_printf_log(phba, KERN_ERR, LOG_VPORT,
phba              433 drivers/scsi/lpfc/lpfc_vport.c 			lpfc_free_vpi(phba, vpi);
phba              436 drivers/scsi/lpfc/lpfc_vport.c 	} else if (phba->sli_rev == LPFC_SLI_REV4) {
phba              447 drivers/scsi/lpfc/lpfc_vport.c 	if ((phba->link_state < LPFC_LINK_UP) ||
phba              449 drivers/scsi/lpfc/lpfc_vport.c 	    (phba->fc_topology == LPFC_TOPOLOGY_LOOP)) {
phba              464 drivers/scsi/lpfc/lpfc_vport.c 	ndlp = lpfc_findnode_did(phba->pport, Fabric_DID);
phba              467 drivers/scsi/lpfc/lpfc_vport.c 		if (phba->link_flag & LS_NPIV_FAB_SUPPORTED) {
phba              492 drivers/scsi/lpfc/lpfc_vport.c 	struct lpfc_hba   *phba = vport->phba;
phba              499 drivers/scsi/lpfc/lpfc_vport.c 	    && phba->link_state >= LPFC_LINK_UP) {
phba              501 drivers/scsi/lpfc/lpfc_vport.c 		timeout = msecs_to_jiffies(phba->fc_ratov * 2000);
phba              530 drivers/scsi/lpfc/lpfc_vport.c 	if (phba->sli_rev == LPFC_SLI_REV4) {
phba              546 drivers/scsi/lpfc/lpfc_vport.c 	struct lpfc_hba   *phba = vport->phba;
phba              550 drivers/scsi/lpfc/lpfc_vport.c 	if ((phba->link_state < LPFC_LINK_UP) ||
phba              551 drivers/scsi/lpfc/lpfc_vport.c 	    (phba->fc_topology == LPFC_TOPOLOGY_LOOP)) {
phba              570 drivers/scsi/lpfc/lpfc_vport.c 	ndlp = lpfc_findnode_did(phba->pport, Fabric_DID);
phba              573 drivers/scsi/lpfc/lpfc_vport.c 		if (phba->link_flag & LS_NPIV_FAB_SUPPORTED) {
phba              607 drivers/scsi/lpfc/lpfc_vport.c 	struct lpfc_hba   *phba = vport->phba;
phba              620 drivers/scsi/lpfc/lpfc_vport.c 		!(phba->pport->load_flag & FC_UNLOADING)) {
phba              626 drivers/scsi/lpfc/lpfc_vport.c 	spin_lock_irq(&phba->hbalock);
phba              628 drivers/scsi/lpfc/lpfc_vport.c 	spin_unlock_irq(&phba->hbalock);
phba              633 drivers/scsi/lpfc/lpfc_vport.c 	if (!(phba->pport->load_flag & FC_UNLOADING)) {
phba              635 drivers/scsi/lpfc/lpfc_vport.c 		while (check_count < ((phba->fc_ratov * 3) + 3) &&
phba              686 drivers/scsi/lpfc/lpfc_vport.c 	ndlp = lpfc_findnode_did(phba->pport, Fabric_DID);
phba              692 drivers/scsi/lpfc/lpfc_vport.c 	if (phba->pport->load_flag & FC_UNLOADING) {
phba              695 drivers/scsi/lpfc/lpfc_vport.c 		    phba->link_state >= LPFC_LINK_UP) {
phba              710 drivers/scsi/lpfc/lpfc_vport.c 			spin_lock_irq(&phba->ndlp_lock);
phba              712 drivers/scsi/lpfc/lpfc_vport.c 			spin_unlock_irq(&phba->ndlp_lock);
phba              722 drivers/scsi/lpfc/lpfc_vport.c 	    phba->link_state >= LPFC_LINK_UP &&
phba              723 drivers/scsi/lpfc/lpfc_vport.c 	    phba->fc_topology != LPFC_TOPOLOGY_LOOP) {
phba              725 drivers/scsi/lpfc/lpfc_vport.c 			timeout = msecs_to_jiffies(phba->fc_ratov * 2000);
phba              730 drivers/scsi/lpfc/lpfc_vport.c 				lpfc_printf_log(vport->phba, KERN_WARNING,
phba              754 drivers/scsi/lpfc/lpfc_vport.c 			spin_lock_irq(&phba->ndlp_lock);
phba              760 drivers/scsi/lpfc/lpfc_vport.c 				spin_unlock_irq(&phba->ndlp_lock);
phba              763 drivers/scsi/lpfc/lpfc_vport.c 			spin_unlock_irq(&phba->ndlp_lock);
phba              777 drivers/scsi/lpfc/lpfc_vport.c 		timeout = msecs_to_jiffies(phba->fc_ratov * 2000);
phba              783 drivers/scsi/lpfc/lpfc_vport.c 	if (!(phba->pport->load_flag & FC_UNLOADING))
phba              802 drivers/scsi/lpfc/lpfc_vport.c 	if (!(phba->pport->load_flag & FC_UNLOADING)) {
phba              815 drivers/scsi/lpfc/lpfc_vport.c 	lpfc_free_vpi(phba, vport->vpi);
phba              817 drivers/scsi/lpfc/lpfc_vport.c 	spin_lock_irq(&phba->port_list_lock);
phba              819 drivers/scsi/lpfc/lpfc_vport.c 	spin_unlock_irq(&phba->port_list_lock);
phba              827 drivers/scsi/lpfc/lpfc_vport.c lpfc_create_vport_work_array(struct lpfc_hba *phba)
phba              832 drivers/scsi/lpfc/lpfc_vport.c 	vports = kcalloc(phba->max_vports + 1, sizeof(struct lpfc_vport *),
phba              836 drivers/scsi/lpfc/lpfc_vport.c 	spin_lock_irq(&phba->port_list_lock);
phba              837 drivers/scsi/lpfc/lpfc_vport.c 	list_for_each_entry(port_iterator, &phba->port_list, listentry) {
phba              848 drivers/scsi/lpfc/lpfc_vport.c 	spin_unlock_irq(&phba->port_list_lock);
phba              853 drivers/scsi/lpfc/lpfc_vport.c lpfc_destroy_vport_work_array(struct lpfc_hba *phba, struct lpfc_vport **vports)
phba              858 drivers/scsi/lpfc/lpfc_vport.c 	for (i = 0; i <= phba->max_vports && vports[i] != NULL; i++)
phba               95 drivers/scsi/lpfc/lpfc_vport.h int lpfc_alloc_vpi(struct lpfc_hba *phba);