• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/src/linux/linux-2.6/drivers/scsi/lpfc/

Lines Matching defs:phba

42 lpfc_check_adisc(struct lpfc_hba * phba, struct lpfc_nodelist * ndlp,
59 lpfc_check_sparm(struct lpfc_hba * phba,
63 volatile struct serv_parm *hsp = &phba->fc_sparam;
131 lpfc_check_elscmpl_iocb(struct lpfc_hba * phba,
171 lpfc_els_abort(struct lpfc_hba * phba, struct lpfc_nodelist * ndlp)
180 lpfc_printf_log(phba, KERN_INFO, LOG_DISCOVERY,
183 phba->brd_no, ndlp->nlp_DID, ndlp->nlp_flag,
186 psli = &phba->sli;
190 spin_lock_irq(phba->host->host_lock);
194 if (lpfc_check_sli_ndlp(phba, pring, iocb, ndlp)) {
206 if (lpfc_check_sli_ndlp(phba, pring, iocb, ndlp))
207 lpfc_sli_issue_abort_iotag(phba, pring, iocb);
209 spin_unlock_irq(phba->host->host_lock);
219 (iocb->iocb_cmpl) (phba, iocb, iocb);
221 lpfc_sli_release_iocbq(phba, iocb);
226 lpfc_cancel_retry_delay_tmo(phba, ndlp);
231 lpfc_rcv_plogi(struct lpfc_hba * phba,
244 if (phba->hba_state <= LPFC_FLOGI) {
249 if (phba->fc_flag & FC_PT2PT) {
250 lpfc_els_abort_flogi(phba);
251 if (!(phba->fc_flag & FC_PT2PT_PLOGI)) {
256 phba->fc_edtov = FF_DEF_EDTOV;
257 phba->fc_ratov = FF_DEF_RATOV;
260 lpfc_disc_start(phba);
262 lpfc_initial_flogi(phba);
267 lpfc_els_rsp_reject(phba, stat.un.lsRjtError, cmdiocb,
275 if ((lpfc_check_sparm(phba, ndlp, sp, CLASS3) == 0)) {
279 lpfc_els_rsp_reject(phba, stat.un.lsRjtError, cmdiocb, ndlp);
285 lpfc_printf_log(phba,
289 phba->brd_no,
293 if ((phba->cfg_fcp_class == 2) &&
320 lpfc_els_rsp_acc(phba, ELS_CMD_PLOGI, cmdiocb, ndlp, NULL, 0);
324 if ((phba->fc_flag & FC_PT2PT)
325 && !(phba->fc_flag & FC_PT2PT_PLOGI)) {
327 phba->fc_myDID = icmd->un.rcvels.parmRo;
328 mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
331 lpfc_config_link(phba, mbox);
334 (phba, mbox, (MBX_NOWAIT | MBX_STOP_IOCB));
336 mempool_free( mbox, phba->mbox_mem_pool);
340 lpfc_can_disctmo(phba);
342 mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
346 if (lpfc_reg_login(phba, icmd->un.rcvels.remoteID,
348 mempool_free( mbox, phba->mbox_mem_pool);
373 lpfc_els_abort(phba, ndlp);
376 lpfc_els_rsp_acc(phba, ELS_CMD_PLOGI, cmdiocb, ndlp, mbox, 0);
382 lpfc_els_rsp_reject(phba, stat.un.lsRjtError, cmdiocb, ndlp);
387 lpfc_rcv_padisc(struct lpfc_hba * phba,
416 (lpfc_check_adisc(phba, ndlp, pnn, ppn))) {
418 lpfc_els_rsp_adisc_acc(phba, cmdiocb, ndlp);
420 lpfc_els_rsp_acc(phba, ELS_CMD_PLOGI, cmdiocb, ndlp,
430 lpfc_els_rsp_reject(phba, stat.un.lsRjtError, cmdiocb, ndlp);
435 spin_lock_irq(phba->host->host_lock);
437 spin_unlock_irq(phba->host->host_lock);
440 lpfc_nlp_set_state(phba, ndlp, NLP_STE_NPR_NODE);
445 lpfc_rcv_logo(struct lpfc_hba * phba,
456 lpfc_els_rsp_acc(phba, ELS_CMD_PRLO, cmdiocb, ndlp, NULL, 0);
458 lpfc_els_rsp_acc(phba, ELS_CMD_ACC, cmdiocb, ndlp, NULL, 0);
464 spin_lock_irq(phba->host->host_lock);
466 spin_unlock_irq(phba->host->host_lock);
470 lpfc_nlp_set_state(phba, ndlp, NLP_STE_NPR_NODE);
473 lpfc_nlp_set_state(phba, ndlp, NLP_STE_UNUSED_NODE);
476 spin_lock_irq(phba->host->host_lock);
478 spin_unlock_irq(phba->host->host_lock);
488 lpfc_rcv_prli(struct lpfc_hba * phba,
525 lpfc_disc_set_adisc(struct lpfc_hba * phba,
529 if ((phba->cfg_use_adisc == 0) &&
530 !(phba->fc_flag & FC_RSCN_MODE)) {
534 spin_lock_irq(phba->host->host_lock);
536 spin_unlock_irq(phba->host->host_lock);
541 lpfc_disc_illegal(struct lpfc_hba * phba,
544 lpfc_printf_log(phba,
549 phba->brd_no,
558 lpfc_rcv_plogi_unused_node(struct lpfc_hba * phba,
565 if (lpfc_rcv_plogi(phba, ndlp, cmdiocb)) {
567 lpfc_nlp_set_state(phba, ndlp, NLP_STE_UNUSED_NODE);
570 lpfc_drop_node(phba, ndlp);
575 lpfc_rcv_els_unused_node(struct lpfc_hba * phba,
578 lpfc_issue_els_logo(phba, ndlp, 0);
579 lpfc_nlp_set_state(phba, ndlp, NLP_STE_UNUSED_NODE);
584 lpfc_rcv_logo_unused_node(struct lpfc_hba * phba,
591 spin_lock_irq(phba->host->host_lock);
593 spin_unlock_irq(phba->host->host_lock);
594 lpfc_els_rsp_acc(phba, ELS_CMD_ACC, cmdiocb, ndlp, NULL, 0);
595 lpfc_nlp_set_state(phba, ndlp, NLP_STE_UNUSED_NODE);
601 lpfc_cmpl_logo_unused_node(struct lpfc_hba * phba,
604 lpfc_drop_node(phba, ndlp);
609 lpfc_device_rm_unused_node(struct lpfc_hba * phba,
612 lpfc_drop_node(phba, ndlp);
617 lpfc_rcv_plogi_plogi_issue(struct lpfc_hba * phba, struct lpfc_nodelist * ndlp,
636 phba->fc_stat.elsLogiCol++;
637 port_cmp = memcmp(&phba->fc_portname, &sp->portName,
645 lpfc_els_rsp_reject(phba, stat.un.lsRjtError, cmdiocb, ndlp);
647 lpfc_rcv_plogi(phba, ndlp, cmdiocb);
654 lpfc_rcv_logo_plogi_issue(struct lpfc_hba * phba,
662 lpfc_els_abort(phba, ndlp);
664 lpfc_rcv_logo(phba, ndlp, cmdiocb, ELS_CMD_LOGO);
669 lpfc_rcv_els_plogi_issue(struct lpfc_hba * phba,
677 lpfc_els_abort(phba, ndlp);
680 lpfc_els_rsp_acc(phba, ELS_CMD_ACC, cmdiocb, ndlp, NULL, 0);
682 lpfc_issue_els_logo(phba, ndlp, 0);
687 spin_lock_irq(phba->host->host_lock);
689 spin_unlock_irq(phba->host->host_lock);
692 lpfc_nlp_set_state(phba, ndlp, NLP_STE_NPR_NODE);
698 lpfc_cmpl_plogi_plogi_issue(struct lpfc_hba * phba,
730 if (!lpfc_check_sparm(phba, ndlp, sp, CLASS3))
734 lpfc_printf_log(phba,
739 phba->brd_no,
743 if ((phba->cfg_fcp_class == 2) &&
762 if (!(mbox = mempool_alloc(phba->mbox_mem_pool,
766 lpfc_unreg_rpi(phba, ndlp);
767 if (lpfc_reg_login(phba, irsp->un.elsreq64.remoteID, (uint8_t *) sp,
780 if (lpfc_sli_issue_mbox(phba, mbox,
783 lpfc_nlp_set_state(phba, ndlp, NLP_STE_REG_LOGIN_ISSUE);
788 lpfc_mbuf_free(phba, mp->virt, mp->phys);
790 mempool_free(mbox, phba->mbox_mem_pool);
792 mempool_free(mbox, phba->mbox_mem_pool);
799 lpfc_drop_node(phba, ndlp);
804 lpfc_device_rm_plogi_issue(struct lpfc_hba * phba,
813 lpfc_els_abort(phba, ndlp);
815 lpfc_drop_node(phba, ndlp);
821 lpfc_device_recov_plogi_issue(struct lpfc_hba * phba,
826 lpfc_els_abort(phba, ndlp);
829 lpfc_nlp_set_state(phba, ndlp, NLP_STE_NPR_NODE);
830 spin_lock_irq(phba->host->host_lock);
832 spin_unlock_irq(phba->host->host_lock);
838 lpfc_rcv_plogi_adisc_issue(struct lpfc_hba * phba,
845 lpfc_els_abort(phba, ndlp);
849 if (lpfc_rcv_plogi(phba, ndlp, cmdiocb)) {
853 lpfc_nlp_set_state(phba, ndlp, NLP_STE_PLOGI_ISSUE);
854 lpfc_issue_els_plogi(phba, ndlp->nlp_DID, 0);
860 lpfc_rcv_prli_adisc_issue(struct lpfc_hba * phba,
868 lpfc_els_rsp_prli_acc(phba, cmdiocb, ndlp);
873 lpfc_rcv_logo_adisc_issue(struct lpfc_hba * phba,
882 lpfc_els_abort(phba, ndlp);
884 lpfc_rcv_logo(phba, ndlp, cmdiocb, ELS_CMD_LOGO);
889 lpfc_rcv_padisc_adisc_issue(struct lpfc_hba * phba,
897 lpfc_rcv_padisc(phba, ndlp, cmdiocb);
902 lpfc_rcv_prlo_adisc_issue(struct lpfc_hba * phba,
911 lpfc_rcv_logo(phba, ndlp, cmdiocb, ELS_CMD_PRLO);
916 lpfc_cmpl_adisc_adisc_issue(struct lpfc_hba * phba,
927 ap = (ADISC *)lpfc_check_elscmpl_iocb(phba, cmdiocb, rspiocb);
931 (!lpfc_check_adisc(phba, ndlp, &ap->nodeName, &ap->portName))) {
934 spin_lock_irq(phba->host->host_lock);
936 spin_unlock_irq(phba->host->host_lock);
943 lpfc_nlp_set_state(phba, ndlp, NLP_STE_NPR_NODE);
944 lpfc_unreg_rpi(phba, ndlp);
950 lpfc_nlp_set_state(phba, ndlp, NLP_STE_MAPPED_NODE);
953 lpfc_nlp_set_state(phba, ndlp, NLP_STE_UNMAPPED_NODE);
959 lpfc_device_rm_adisc_issue(struct lpfc_hba * phba,
969 lpfc_els_abort(phba, ndlp);
971 lpfc_drop_node(phba, ndlp);
977 lpfc_device_recov_adisc_issue(struct lpfc_hba * phba,
982 lpfc_els_abort(phba, ndlp);
985 lpfc_nlp_set_state(phba, ndlp, NLP_STE_NPR_NODE);
986 spin_lock_irq(phba->host->host_lock);
989 spin_unlock_irq(phba->host->host_lock);
995 lpfc_rcv_plogi_reglogin_issue(struct lpfc_hba * phba,
1003 lpfc_rcv_plogi(phba, ndlp, cmdiocb);
1008 lpfc_rcv_prli_reglogin_issue(struct lpfc_hba * phba,
1016 lpfc_els_rsp_prli_acc(phba, cmdiocb, ndlp);
1021 lpfc_rcv_logo_reglogin_issue(struct lpfc_hba * phba,
1033 if ((mb = phba->sli.mbox_active)) {
1041 spin_lock_irq(phba->host->host_lock);
1042 list_for_each_entry_safe(mb, nextmb, &phba->sli.mboxq, list) {
1047 lpfc_mbuf_free(phba, mp->virt, mp->phys);
1051 mempool_free(mb, phba->mbox_mem_pool);
1054 spin_unlock_irq(phba->host->host_lock);
1056 lpfc_rcv_logo(phba, ndlp, cmdiocb, ELS_CMD_LOGO);
1061 lpfc_rcv_padisc_reglogin_issue(struct lpfc_hba * phba,
1069 lpfc_rcv_padisc(phba, ndlp, cmdiocb);
1074 lpfc_rcv_prlo_reglogin_issue(struct lpfc_hba * phba,
1081 lpfc_els_rsp_acc(phba, ELS_CMD_PRLO, cmdiocb, ndlp, NULL, 0);
1086 lpfc_cmpl_reglogin_reglogin_issue(struct lpfc_hba * phba,
1099 lpfc_printf_log(phba,
1103 phba->brd_no,
1104 did, mb->mbxStatus, phba->hba_state);
1112 lpfc_nlp_set_state(phba, ndlp, NLP_STE_UNUSED_NODE);
1118 spin_lock_irq(phba->host->host_lock);
1120 spin_unlock_irq(phba->host->host_lock);
1123 lpfc_issue_els_logo(phba, ndlp, 0);
1125 lpfc_nlp_set_state(phba, ndlp, NLP_STE_NPR_NODE);
1134 lpfc_nlp_set_state(phba, ndlp, NLP_STE_PRLI_ISSUE);
1135 lpfc_issue_els_prli(phba, ndlp, 0);
1138 lpfc_nlp_set_state(phba, ndlp, NLP_STE_UNMAPPED_NODE);
1144 lpfc_device_rm_reglogin_issue(struct lpfc_hba * phba,
1153 lpfc_drop_node(phba, ndlp);
1159 lpfc_device_recov_reglogin_issue(struct lpfc_hba * phba,
1164 lpfc_nlp_set_state(phba, ndlp, NLP_STE_NPR_NODE);
1165 spin_lock_irq(phba->host->host_lock);
1167 spin_unlock_irq(phba->host->host_lock);
1172 lpfc_rcv_plogi_prli_issue(struct lpfc_hba * phba,
1179 lpfc_rcv_plogi(phba, ndlp, cmdiocb);
1184 lpfc_rcv_prli_prli_issue(struct lpfc_hba * phba,
1191 lpfc_els_rsp_prli_acc(phba, cmdiocb, ndlp);
1196 lpfc_rcv_logo_prli_issue(struct lpfc_hba * phba,
1204 lpfc_els_abort(phba, ndlp);
1206 lpfc_rcv_logo(phba, ndlp, cmdiocb, ELS_CMD_LOGO);
1211 lpfc_rcv_padisc_prli_issue(struct lpfc_hba * phba,
1218 lpfc_rcv_padisc(phba, ndlp, cmdiocb);
1228 lpfc_rcv_prlo_prli_issue(struct lpfc_hba * phba,
1234 lpfc_els_rsp_acc(phba, ELS_CMD_PRLO, cmdiocb, ndlp, NULL, 0);
1239 lpfc_cmpl_prli_prli_issue(struct lpfc_hba * phba,
1248 npr = (PRLI *)lpfc_check_elscmpl_iocb(phba, cmdiocb, rspiocb);
1253 lpfc_nlp_set_state(phba, ndlp, NLP_STE_UNMAPPED_NODE);
1271 lpfc_nlp_set_state(phba, ndlp, NLP_STE_MAPPED_NODE);
1279 * \param phba
1293 lpfc_device_rm_prli_issue(struct lpfc_hba * phba,
1302 lpfc_els_abort(phba, ndlp);
1304 lpfc_drop_node(phba, ndlp);
1314 * \param phba
1327 lpfc_device_recov_prli_issue(struct lpfc_hba * phba,
1331 lpfc_els_abort(phba, ndlp);
1334 lpfc_nlp_set_state(phba, ndlp, NLP_STE_NPR_NODE);
1335 spin_lock_irq(phba->host->host_lock);
1337 spin_unlock_irq(phba->host->host_lock);
1342 lpfc_rcv_plogi_unmap_node(struct lpfc_hba * phba,
1349 lpfc_rcv_plogi(phba, ndlp, cmdiocb);
1354 lpfc_rcv_prli_unmap_node(struct lpfc_hba * phba,
1361 lpfc_rcv_prli(phba, ndlp, cmdiocb);
1362 lpfc_els_rsp_prli_acc(phba, cmdiocb, ndlp);
1367 lpfc_rcv_logo_unmap_node(struct lpfc_hba * phba,
1374 lpfc_rcv_logo(phba, ndlp, cmdiocb, ELS_CMD_LOGO);
1379 lpfc_rcv_padisc_unmap_node(struct lpfc_hba * phba,
1386 lpfc_rcv_padisc(phba, ndlp, cmdiocb);
1391 lpfc_rcv_prlo_unmap_node(struct lpfc_hba * phba,
1398 lpfc_els_rsp_acc(phba, ELS_CMD_PRLO, cmdiocb, ndlp, NULL, 0);
1403 lpfc_device_recov_unmap_node(struct lpfc_hba * phba,
1407 lpfc_nlp_set_state(phba, ndlp, NLP_STE_NPR_NODE);
1409 lpfc_disc_set_adisc(phba, ndlp);
1415 lpfc_rcv_plogi_mapped_node(struct lpfc_hba * phba,
1422 lpfc_rcv_plogi(phba, ndlp, cmdiocb);
1427 lpfc_rcv_prli_mapped_node(struct lpfc_hba * phba,
1434 lpfc_els_rsp_prli_acc(phba, cmdiocb, ndlp);
1439 lpfc_rcv_logo_mapped_node(struct lpfc_hba * phba,
1446 lpfc_rcv_logo(phba, ndlp, cmdiocb, ELS_CMD_LOGO);
1451 lpfc_rcv_padisc_mapped_node(struct lpfc_hba * phba,
1459 lpfc_rcv_padisc(phba, ndlp, cmdiocb);
1464 lpfc_rcv_prlo_mapped_node(struct lpfc_hba * phba,
1472 spin_lock_irq(phba->host->host_lock);
1473 lpfc_sli_abort_iocb(phba, &phba->sli.ring[phba->sli.fcp_ring],
1475 spin_unlock_irq(phba->host->host_lock);
1478 lpfc_rcv_logo(phba, ndlp, cmdiocb, ELS_CMD_PRLO);
1483 lpfc_device_recov_mapped_node(struct lpfc_hba * phba,
1488 lpfc_nlp_set_state(phba, ndlp, NLP_STE_NPR_NODE);
1489 spin_lock_irq(phba->host->host_lock);
1491 spin_unlock_irq(phba->host->host_lock);
1492 lpfc_disc_set_adisc(phba, ndlp);
1497 lpfc_rcv_plogi_npr_node(struct lpfc_hba * phba,
1510 if (lpfc_rcv_plogi(phba, ndlp, cmdiocb)) {
1511 spin_lock_irq(phba->host->host_lock);
1513 spin_unlock_irq(phba->host->host_lock);
1520 lpfc_nlp_set_state(phba, ndlp, NLP_STE_PLOGI_ISSUE);
1521 lpfc_issue_els_plogi(phba, ndlp->nlp_DID, 0);
1528 lpfc_rcv_prli_npr_node(struct lpfc_hba * phba,
1540 lpfc_els_rsp_reject(phba, stat.un.lsRjtError, cmdiocb, ndlp);
1544 spin_lock_irq(phba->host->host_lock);
1546 spin_unlock_irq(phba->host->host_lock);
1548 lpfc_nlp_set_state(phba, ndlp, NLP_STE_ADISC_ISSUE);
1549 lpfc_issue_els_adisc(phba, ndlp, 0);
1552 lpfc_nlp_set_state(phba, ndlp, NLP_STE_PLOGI_ISSUE);
1553 lpfc_issue_els_plogi(phba, ndlp->nlp_DID, 0);
1560 lpfc_rcv_logo_npr_node(struct lpfc_hba * phba,
1568 lpfc_rcv_logo(phba, ndlp, cmdiocb, ELS_CMD_LOGO);
1573 lpfc_rcv_padisc_npr_node(struct lpfc_hba * phba,
1581 lpfc_rcv_padisc(phba, ndlp, cmdiocb);
1592 lpfc_nlp_set_state(phba, ndlp, NLP_STE_ADISC_ISSUE);
1593 lpfc_issue_els_adisc(phba, ndlp, 0);
1596 lpfc_nlp_set_state(phba, ndlp, NLP_STE_PLOGI_ISSUE);
1597 lpfc_issue_els_plogi(phba, ndlp->nlp_DID, 0);
1604 lpfc_rcv_prlo_npr_node(struct lpfc_hba * phba,
1612 spin_lock_irq(phba->host->host_lock);
1614 spin_unlock_irq(phba->host->host_lock);
1616 lpfc_els_rsp_acc(phba, ELS_CMD_ACC, cmdiocb, ndlp, NULL, 0);
1620 spin_lock_irq(phba->host->host_lock);
1623 spin_unlock_irq(phba->host->host_lock);
1626 spin_lock_irq(phba->host->host_lock);
1628 spin_unlock_irq(phba->host->host_lock);
1634 lpfc_cmpl_plogi_npr_node(struct lpfc_hba * phba,
1645 lpfc_drop_node(phba, ndlp);
1652 lpfc_cmpl_prli_npr_node(struct lpfc_hba * phba,
1663 lpfc_drop_node(phba, ndlp);
1670 lpfc_cmpl_logo_npr_node(struct lpfc_hba * phba,
1673 lpfc_unreg_rpi(phba, ndlp);
1679 lpfc_cmpl_adisc_npr_node(struct lpfc_hba * phba,
1691 lpfc_drop_node(phba, ndlp);
1698 lpfc_cmpl_reglogin_npr_node(struct lpfc_hba * phba,
1712 lpfc_drop_node(phba, ndlp);
1720 lpfc_device_rm_npr_node(struct lpfc_hba * phba,
1728 lpfc_drop_node(phba, ndlp);
1733 lpfc_device_recov_npr_node(struct lpfc_hba * phba,
1737 spin_lock_irq(phba->host->host_lock);
1739 spin_unlock_irq(phba->host->host_lock);
1741 lpfc_cancel_retry_delay_tmo(phba, ndlp);
1920 lpfc_disc_state_machine(struct lpfc_hba * phba,
1931 lpfc_printf_log(phba,
1936 phba->brd_no,
1940 rc = (func) (phba, ndlp, arg, evt);
1943 lpfc_printf_log(phba,
1947 phba->brd_no,