Lines Matching defs:ln

48 csio_vport_set_state(struct csio_lnode *ln);
61 struct csio_lnode *ln = csio_rnode_to_lnode(rn);
62 struct Scsi_Host *shost = csio_ln_to_shost(ln);
80 csio_ln_err(ln, "Failed to register rport = 0x%x.\n",
85 ln->num_reg_rnodes++;
108 csio_ln_dbg(ln, "Remote port x%x role 0x%x registered\n",
123 struct csio_lnode *ln = csio_rnode_to_lnode(rn);
128 ln->num_reg_rnodes--;
130 csio_ln_dbg(ln, "Remote port x%x un-registered\n", rn->nport_id);
135 * @ln: lnode representing local port.
141 csio_lnode_async_event(struct csio_lnode *ln, enum csio_ln_fc_evt fc_evt)
145 /* Get payload of rscn from ln */
157 if (csio_is_npiv_ln(ln))
158 csio_vport_set_state(ln);
164 if (csio_is_npiv_ln(ln))
165 csio_vport_set_state(ln);
169 csio_fchost_attr_init(ln);
178 * @ln: Lnode.
182 csio_fchost_attr_init(struct csio_lnode *ln)
184 struct Scsi_Host *shost = csio_ln_to_shost(ln);
186 fc_host_node_name(shost) = wwn_to_u64(csio_ln_wwnn(ln));
187 fc_host_port_name(shost) = wwn_to_u64(csio_ln_wwpn(ln));
191 (csio_lnode_to_hw(ln))->fres_info.max_vnps;
195 fc_host_maxframe_size(shost) = ntohs(ln->ln_sparm.csp.sp_bb_data);
212 struct csio_lnode *ln = shost_priv(shost);
213 struct csio_hw *hw = csio_lnode_to_hw(ln);
216 fc_host_port_id(shost) = ln->nport_id;
228 struct csio_lnode *ln = shost_priv(shost);
229 struct csio_hw *hw = csio_lnode_to_hw(ln);
232 if (csio_is_npiv_ln(ln))
247 struct csio_lnode *ln = shost_priv(shost);
248 struct csio_hw *hw = csio_lnode_to_hw(ln);
253 csio_lnode_state_to_str(ln, state);
272 struct csio_lnode *ln = shost_priv(shost);
273 struct csio_hw *hw = csio_lnode_to_hw(ln);
276 switch (hw->pport[ln->portid].link_speed) {
310 struct csio_lnode *ln = shost_priv(shost);
312 struct csio_hw *hw = csio_lnode_to_hw(ln);
315 rn = csio_rnode_lookup_portid(ln, FC_FID_FLOGI);
325 * @ln: Lnode.
331 struct csio_lnode *ln = shost_priv(shost);
332 struct csio_hw *hw = csio_lnode_to_hw(ln);
333 struct fc_host_statistics *fhs = &ln->fch_stats;
338 csio_get_phy_port_stats(hw, ln->portid, &fcoe_port_stats);
357 fhs->fcp_input_requests += ln->stats.n_input_requests;
358 fhs->fcp_output_requests += ln->stats.n_output_requests;
359 fhs->fcp_control_requests += ln->stats.n_control_requests;
360 fhs->fcp_input_megabytes += ln->stats.n_input_bytes >> 20;
361 fhs->fcp_output_megabytes += ln->stats.n_output_bytes >> 20;
362 fhs->link_failure_count = ln->stats.n_link_down;
389 csio_vport_set_state(struct csio_lnode *ln)
391 struct fc_vport *fc_vport = ln->fc_vport;
392 struct csio_lnode *pln = ln->pln;
408 csio_lnode_state_to_str(ln, state);
417 csio_fcoe_alloc_vnp(struct csio_hw *hw, struct csio_lnode *ln)
435 pln = ln->pln;
436 ln->fcf_flowid = pln->fcf_flowid;
437 ln->portid = pln->portid;
439 csio_fcoe_vnp_alloc_init_mb(ln, mbp, CSIO_MB_DEFAULT_TMO,
441 csio_ln_wwnn(ln), csio_ln_wwpn(ln), NULL);
460 csio_ln_err(ln, "Failed to issue mbox FCoE VNP command\n");
467 csio_ln_err(ln, "FCOE VNP ALLOC cmd returned 0x%x!\n",
473 ln->vnp_flowid = FW_FCOE_VNP_CMD_VNPI_GET(
475 memcpy(csio_ln_wwnn(ln), rsp->vnport_wwnn, 8);
476 memcpy(csio_ln_wwpn(ln), rsp->vnport_wwpn, 8);
478 csio_ln_dbg(ln, "FCOE VNPI: 0x%x\n", ln->vnp_flowid);
479 csio_ln_dbg(ln, "\tWWNN: %x%x%x%x%x%x%x%x\n",
480 ln->ln_sparm.wwnn[0], ln->ln_sparm.wwnn[1],
481 ln->ln_sparm.wwnn[2], ln->ln_sparm.wwnn[3],
482 ln->ln_sparm.wwnn[4], ln->ln_sparm.wwnn[5],
483 ln->ln_sparm.wwnn[6], ln->ln_sparm.wwnn[7]);
484 csio_ln_dbg(ln, "\tWWPN: %x%x%x%x%x%x%x%x\n",
485 ln->ln_sparm.wwpn[0], ln->ln_sparm.wwpn[1],
486 ln->ln_sparm.wwpn[2], ln->ln_sparm.wwpn[3],
487 ln->ln_sparm.wwpn[4], ln->ln_sparm.wwpn[5],
488 ln->ln_sparm.wwpn[6], ln->ln_sparm.wwpn[7]);
498 csio_fcoe_free_vnp(struct csio_hw *hw, struct csio_lnode *ln)
516 csio_fcoe_vnp_free_init_mb(ln, mbp, CSIO_MB_DEFAULT_TMO,
517 ln->fcf_flowid, ln->vnp_flowid,
532 csio_ln_err(ln, "Failed to issue mbox FCoE VNP command\n");
539 csio_ln_err(ln, "FCOE VNP FREE cmd returned 0x%x!\n",
556 struct csio_lnode *ln = NULL;
561 ln = csio_shost_init(hw, &fc_vport->dev, false, pln);
562 if (!ln)
569 csio_ln_err(ln,
573 memcpy(csio_ln_wwnn(ln), wwn, 8);
580 csio_ln_err(ln,
586 csio_ln_err(ln,
590 memcpy(csio_ln_wwpn(ln), wwn, 8);
594 ln->fc_vport = fc_vport;
596 if (csio_fcoe_alloc_vnp(hw, ln))
599 *(struct csio_lnode **)fc_vport->dd_data = ln;
601 fc_vport->node_name = wwn_to_u64(csio_ln_wwnn(ln));
603 fc_vport->port_name = wwn_to_u64(csio_ln_wwpn(ln));
604 csio_fchost_attr_init(ln);
607 if (ln)
608 csio_shost_exit(ln);
616 struct csio_lnode *ln = *(struct csio_lnode **)fc_vport->dd_data;
617 struct Scsi_Host *shost = csio_ln_to_shost(ln);
618 struct csio_hw *hw = csio_lnode_to_hw(ln);
626 csio_shost_exit(ln);
633 csio_scsim_cleanup_io_lnode(csio_hw_to_scsim(hw), ln);
634 csio_lnode_close(ln);
640 csio_fcoe_free_vnp(hw, ln);
642 csio_shost_exit(ln);
649 struct csio_lnode *ln = *(struct csio_lnode **)fc_vport->dd_data;
650 struct Scsi_Host *shost = csio_ln_to_shost(ln);
651 struct csio_hw *hw = csio_lnode_to_hw(ln);
658 csio_scsim_cleanup_io_lnode(csio_hw_to_scsim(hw), ln);
659 csio_lnode_stop(ln);
664 csio_fcoe_free_vnp(hw, ln);
666 csio_ln_err(ln, "vport disabled\n");
671 if (csio_fcoe_alloc_vnp(hw, ln)) {
672 csio_ln_err(ln, "vport enabled failed.\n");
675 csio_ln_err(ln, "vport enabled\n");
685 struct csio_lnode *ln;
688 ln = csio_rnode_to_lnode(rn);
689 hw = csio_lnode_to_hw(ln);
697 csio_ln_dbg(ln, "devloss timeout on rnode:%p portid:x%x flowid:x%x\n",
700 CSIO_INC_STATS(ln, n_dev_loss_tmo);