Lines Matching refs:fcport
203 qla2x00_ga_nxt(scsi_qla_host_t *vha, fc_port_t *fcport) in qla2x00_ga_nxt() argument
214 return qla2x00_sns_ga_nxt(vha, fcport); in qla2x00_ga_nxt()
233 ct_req->req.port_id.port_id[0] = fcport->d_id.b.domain; in qla2x00_ga_nxt()
234 ct_req->req.port_id.port_id[1] = fcport->d_id.b.area; in qla2x00_ga_nxt()
235 ct_req->req.port_id.port_id[2] = fcport->d_id.b.al_pa; in qla2x00_ga_nxt()
249 fcport->d_id.b.domain = ct_rsp->rsp.ga_nxt.port_id[0]; in qla2x00_ga_nxt()
250 fcport->d_id.b.area = ct_rsp->rsp.ga_nxt.port_id[1]; in qla2x00_ga_nxt()
251 fcport->d_id.b.al_pa = ct_rsp->rsp.ga_nxt.port_id[2]; in qla2x00_ga_nxt()
253 memcpy(fcport->node_name, ct_rsp->rsp.ga_nxt.node_name, in qla2x00_ga_nxt()
255 memcpy(fcport->port_name, ct_rsp->rsp.ga_nxt.port_name, in qla2x00_ga_nxt()
258 fcport->fc4_type = (ct_rsp->rsp.ga_nxt.fc4_types[2] & BIT_0) ? in qla2x00_ga_nxt()
263 fcport->d_id.b.domain = 0xf0; in qla2x00_ga_nxt()
268 fcport->node_name, fcport->port_name, in qla2x00_ga_nxt()
269 fcport->d_id.b.domain, fcport->d_id.b.area, in qla2x00_ga_nxt()
270 fcport->d_id.b.al_pa); in qla2x00_ga_nxt()
1021 qla2x00_sns_ga_nxt(scsi_qla_host_t *vha, fc_port_t *fcport) in qla2x00_sns_ga_nxt() argument
1033 sns_cmd->p.cmd.param[0] = fcport->d_id.b.al_pa; in qla2x00_sns_ga_nxt()
1034 sns_cmd->p.cmd.param[1] = fcport->d_id.b.area; in qla2x00_sns_ga_nxt()
1035 sns_cmd->p.cmd.param[2] = fcport->d_id.b.domain; in qla2x00_sns_ga_nxt()
1053 fcport->d_id.b.domain = sns_cmd->p.gan_data[17]; in qla2x00_sns_ga_nxt()
1054 fcport->d_id.b.area = sns_cmd->p.gan_data[18]; in qla2x00_sns_ga_nxt()
1055 fcport->d_id.b.al_pa = sns_cmd->p.gan_data[19]; in qla2x00_sns_ga_nxt()
1057 memcpy(fcport->node_name, &sns_cmd->p.gan_data[284], WWN_SIZE); in qla2x00_sns_ga_nxt()
1058 memcpy(fcport->port_name, &sns_cmd->p.gan_data[20], WWN_SIZE); in qla2x00_sns_ga_nxt()
1062 fcport->d_id.b.domain = 0xf0; in qla2x00_sns_ga_nxt()
1067 fcport->node_name, fcport->port_name, in qla2x00_sns_ga_nxt()
1068 fcport->d_id.b.domain, fcport->d_id.b.area, in qla2x00_sns_ga_nxt()
1069 fcport->d_id.b.al_pa); in qla2x00_sns_ga_nxt()
2979 fc_port_t *fcport = ea->fcport; in qla24xx_handle_gidpn_event() local
2983 __func__, fcport->port_name, fcport->disc_state, in qla24xx_handle_gidpn_event()
2984 fcport->fw_login_state, ea->rc, fcport->login_gen, ea->sp->gen2, in qla24xx_handle_gidpn_event()
2985 fcport->rscn_gen, ea->sp->gen1, fcport->loop_id); in qla24xx_handle_gidpn_event()
2987 if (fcport->disc_state == DSC_DELETE_PEND) in qla24xx_handle_gidpn_event()
2990 if (ea->sp->gen2 != fcport->login_gen) { in qla24xx_handle_gidpn_event()
2994 __func__, fcport->port_name, fcport->last_rscn_gen, in qla24xx_handle_gidpn_event()
2995 fcport->rscn_gen); in qla24xx_handle_gidpn_event()
3000 if (ea->sp->gen1 == fcport->rscn_gen) { in qla24xx_handle_gidpn_event()
3001 fcport->scan_state = QLA_FCPORT_FOUND; in qla24xx_handle_gidpn_event()
3002 fcport->flags |= FCF_FABRIC_DEVICE; in qla24xx_handle_gidpn_event()
3004 if (fcport->d_id.b24 == ea->id.b24) { in qla24xx_handle_gidpn_event()
3008 if (fcport->fw_login_state == in qla24xx_handle_gidpn_event()
3018 fcport->port_name); in qla24xx_handle_gidpn_event()
3021 vha, fcport, data); in qla24xx_handle_gidpn_event()
3029 __LINE__, fcport->port_name, in qla24xx_handle_gidpn_event()
3030 (atomic_read(&fcport->state) == in qla24xx_handle_gidpn_event()
3033 if (atomic_read(&fcport->state) == in qla24xx_handle_gidpn_event()
3039 vha, fcport, data); in qla24xx_handle_gidpn_event()
3042 fcport); in qla24xx_handle_gidpn_event()
3047 fcport->d_id.b24 = ea->id.b24; in qla24xx_handle_gidpn_event()
3048 fcport->id_changed = 1; in qla24xx_handle_gidpn_event()
3049 if (fcport->deleted != QLA_SESS_DELETED) { in qla24xx_handle_gidpn_event()
3052 __func__, __LINE__, fcport->port_name); in qla24xx_handle_gidpn_event()
3053 qlt_schedule_sess_for_deletion(fcport); in qla24xx_handle_gidpn_event()
3059 __func__, __LINE__, fcport->port_name); in qla24xx_handle_gidpn_event()
3061 qla24xx_post_gidpn_work(vha, fcport); in qla24xx_handle_gidpn_event()
3065 if (ea->sp->gen1 == fcport->rscn_gen) { in qla24xx_handle_gidpn_event()
3066 if (ea->sp->gen2 == fcport->login_gen) { in qla24xx_handle_gidpn_event()
3069 __LINE__, fcport->port_name); in qla24xx_handle_gidpn_event()
3070 qlt_schedule_sess_for_deletion(fcport); in qla24xx_handle_gidpn_event()
3074 fcport->port_name); in qla24xx_handle_gidpn_event()
3075 qla24xx_fcport_handle_login(vha, fcport); in qla24xx_handle_gidpn_event()
3080 fcport->port_name); in qla24xx_handle_gidpn_event()
3081 qla24xx_post_gidpn_work(vha, fcport); in qla24xx_handle_gidpn_event()
3090 fc_port_t *fcport = sp->fcport; in qla2x00_async_gidpn_sp_done() local
3091 u8 *id = fcport->ct_desc.ct_sns->p.rsp.rsp.gid_pn.port_id; in qla2x00_async_gidpn_sp_done()
3094 fcport->flags &= ~(FCF_ASYNC_SENT | FCF_ASYNC_ACTIVE); in qla2x00_async_gidpn_sp_done()
3097 ea.fcport = fcport; in qla2x00_async_gidpn_sp_done()
3108 sp->name, fcport->port_name); in qla2x00_async_gidpn_sp_done()
3109 qla24xx_post_gidpn_work(sp->vha, fcport); in qla2x00_async_gidpn_sp_done()
3115 sp->name, res, fcport->port_name); in qla2x00_async_gidpn_sp_done()
3119 sp->name, fcport->port_name, id); in qla2x00_async_gidpn_sp_done()
3127 int qla24xx_async_gidpn(scsi_qla_host_t *vha, fc_port_t *fcport) in qla24xx_async_gidpn() argument
3133 if (!vha->flags.online || (fcport->flags & FCF_ASYNC_SENT)) in qla24xx_async_gidpn()
3136 fcport->disc_state = DSC_GID_PN; in qla24xx_async_gidpn()
3137 fcport->scan_state = QLA_FCPORT_SCAN; in qla24xx_async_gidpn()
3138 sp = qla2x00_get_sp(vha, fcport, GFP_ATOMIC); in qla24xx_async_gidpn()
3142 fcport->flags |= FCF_ASYNC_SENT; in qla24xx_async_gidpn()
3145 sp->gen1 = fcport->rscn_gen; in qla24xx_async_gidpn()
3146 sp->gen2 = fcport->login_gen; in qla24xx_async_gidpn()
3151 ct_req = qla2x00_prep_ct_req(fcport->ct_desc.ct_sns, GID_PN_CMD, in qla24xx_async_gidpn()
3155 memcpy(ct_req->req.gid_pn.port_name, fcport->port_name, in qla24xx_async_gidpn()
3159 sp->u.iocb_cmd.u.ctarg.req = fcport->ct_desc.ct_sns; in qla24xx_async_gidpn()
3160 sp->u.iocb_cmd.u.ctarg.req_dma = fcport->ct_desc.ct_sns_dma; in qla24xx_async_gidpn()
3161 sp->u.iocb_cmd.u.ctarg.rsp = fcport->ct_desc.ct_sns; in qla24xx_async_gidpn()
3162 sp->u.iocb_cmd.u.ctarg.rsp_dma = fcport->ct_desc.ct_sns_dma; in qla24xx_async_gidpn()
3176 sp->name, fcport->port_name, in qla24xx_async_gidpn()
3177 sp->handle, fcport->loop_id, fcport->d_id.b.domain, in qla24xx_async_gidpn()
3178 fcport->d_id.b.area, fcport->d_id.b.al_pa); in qla24xx_async_gidpn()
3184 fcport->flags &= ~FCF_ASYNC_ACTIVE; in qla24xx_async_gidpn()
3188 int qla24xx_post_gidpn_work(struct scsi_qla_host *vha, fc_port_t *fcport) in qla24xx_post_gidpn_work() argument
3202 e->u.fcport.fcport = fcport; in qla24xx_post_gidpn_work()
3203 fcport->flags |= FCF_ASYNC_ACTIVE; in qla24xx_post_gidpn_work()
3207 int qla24xx_post_gpsc_work(struct scsi_qla_host *vha, fc_port_t *fcport) in qla24xx_post_gpsc_work() argument
3215 e->u.fcport.fcport = fcport; in qla24xx_post_gpsc_work()
3216 fcport->flags |= FCF_ASYNC_ACTIVE; in qla24xx_post_gpsc_work()
3222 struct fc_port *fcport = ea->fcport; in qla24xx_handle_gpsc_event() local
3226 __func__, fcport->port_name, fcport->disc_state, in qla24xx_handle_gpsc_event()
3227 fcport->fw_login_state, ea->rc, ea->sp->gen2, fcport->login_gen, in qla24xx_handle_gpsc_event()
3228 ea->sp->gen2, fcport->rscn_gen|ea->sp->gen1, fcport->loop_id); in qla24xx_handle_gpsc_event()
3230 if (fcport->disc_state == DSC_DELETE_PEND) in qla24xx_handle_gpsc_event()
3233 if (ea->sp->gen2 != fcport->login_gen) { in qla24xx_handle_gpsc_event()
3237 __func__, fcport->port_name); in qla24xx_handle_gpsc_event()
3239 } else if (ea->sp->gen1 != fcport->rscn_gen) { in qla24xx_handle_gpsc_event()
3241 __func__, __LINE__, fcport->port_name); in qla24xx_handle_gpsc_event()
3242 qla24xx_post_gidpn_work(vha, fcport); in qla24xx_handle_gpsc_event()
3246 qla_post_iidma_work(vha, fcport); in qla24xx_handle_gpsc_event()
3254 fc_port_t *fcport = sp->fcport; in qla24xx_async_gpsc_sp_done() local
3258 ct_rsp = &fcport->ct_desc.ct_sns->p.rsp; in qla24xx_async_gpsc_sp_done()
3262 sp->name, res, fcport->port_name); in qla24xx_async_gpsc_sp_done()
3280 fcport->fp_speed = PORT_SPEED_1GB; in qla24xx_async_gpsc_sp_done()
3283 fcport->fp_speed = PORT_SPEED_2GB; in qla24xx_async_gpsc_sp_done()
3286 fcport->fp_speed = PORT_SPEED_4GB; in qla24xx_async_gpsc_sp_done()
3289 fcport->fp_speed = PORT_SPEED_10GB; in qla24xx_async_gpsc_sp_done()
3292 fcport->fp_speed = PORT_SPEED_8GB; in qla24xx_async_gpsc_sp_done()
3295 fcport->fp_speed = PORT_SPEED_16GB; in qla24xx_async_gpsc_sp_done()
3298 fcport->fp_speed = PORT_SPEED_32GB; in qla24xx_async_gpsc_sp_done()
3304 sp->name, fcport->fabric_port_name, in qla24xx_async_gpsc_sp_done()
3312 ea.fcport = fcport; in qla24xx_async_gpsc_sp_done()
3319 int qla24xx_async_gpsc(scsi_qla_host_t *vha, fc_port_t *fcport) in qla24xx_async_gpsc() argument
3325 if (!vha->flags.online || (fcport->flags & FCF_ASYNC_SENT)) in qla24xx_async_gpsc()
3328 sp = qla2x00_get_sp(vha, fcport, GFP_KERNEL); in qla24xx_async_gpsc()
3334 sp->gen1 = fcport->rscn_gen; in qla24xx_async_gpsc()
3335 sp->gen2 = fcport->login_gen; in qla24xx_async_gpsc()
3340 ct_req = qla24xx_prep_ct_fm_req(fcport->ct_desc.ct_sns, GPSC_CMD, in qla24xx_async_gpsc()
3344 memcpy(ct_req->req.gpsc.port_name, fcport->fabric_port_name, in qla24xx_async_gpsc()
3347 sp->u.iocb_cmd.u.ctarg.req = fcport->ct_desc.ct_sns; in qla24xx_async_gpsc()
3348 sp->u.iocb_cmd.u.ctarg.req_dma = fcport->ct_desc.ct_sns_dma; in qla24xx_async_gpsc()
3349 sp->u.iocb_cmd.u.ctarg.rsp = fcport->ct_desc.ct_sns; in qla24xx_async_gpsc()
3350 sp->u.iocb_cmd.u.ctarg.rsp_dma = fcport->ct_desc.ct_sns_dma; in qla24xx_async_gpsc()
3364 sp->name, fcport->port_name, sp->handle, in qla24xx_async_gpsc()
3365 fcport->loop_id, fcport->d_id.b.domain, in qla24xx_async_gpsc()
3366 fcport->d_id.b.area, fcport->d_id.b.al_pa); in qla24xx_async_gpsc()
3371 fcport->flags &= ~FCF_ASYNC_SENT; in qla24xx_async_gpsc()
3373 fcport->flags &= ~FCF_ASYNC_ACTIVE; in qla24xx_async_gpsc()
3435 fc_port_t *fcport, *conflict, *t; in qla24xx_handle_gpnid_event() local
3444 list_for_each_entry_safe(fcport, t, &vha->vp_fcports, list) { in qla24xx_handle_gpnid_event()
3445 if (fcport->d_id.b24 == ea->id.b24) { in qla24xx_handle_gpnid_event()
3449 fcport->port_name, in qla24xx_handle_gpnid_event()
3450 fcport->disc_state); in qla24xx_handle_gpnid_event()
3451 fcport->scan_state = QLA_FCPORT_SCAN; in qla24xx_handle_gpnid_event()
3452 switch (fcport->disc_state) { in qla24xx_handle_gpnid_event()
3460 fcport->port_name); in qla24xx_handle_gpnid_event()
3461 qlt_schedule_sess_for_deletion(fcport); in qla24xx_handle_gpnid_event()
3468 fcport = qla2x00_find_fcport_by_wwpn(vha, ea->port_name, 1); in qla24xx_handle_gpnid_event()
3469 if (fcport) { in qla24xx_handle_gpnid_event()
3473 (fcport != conflict)) { in qla24xx_handle_gpnid_event()
3501 fcport->rscn_gen++; in qla24xx_handle_gpnid_event()
3502 fcport->scan_state = QLA_FCPORT_FOUND; in qla24xx_handle_gpnid_event()
3503 fcport->flags |= FCF_FABRIC_DEVICE; in qla24xx_handle_gpnid_event()
3504 if (fcport->login_retry == 0) { in qla24xx_handle_gpnid_event()
3505 fcport->login_retry = in qla24xx_handle_gpnid_event()
3509 fcport->port_name, fcport->loop_id, in qla24xx_handle_gpnid_event()
3510 fcport->login_retry); in qla24xx_handle_gpnid_event()
3512 switch (fcport->disc_state) { in qla24xx_handle_gpnid_event()
3517 __func__, __LINE__, fcport->port_name); in qla24xx_handle_gpnid_event()
3519 qla2x00_post_async_adisc_work(vha, fcport, in qla24xx_handle_gpnid_event()
3525 fcport->port_name); in qla24xx_handle_gpnid_event()
3526 fcport->d_id = ea->id; in qla24xx_handle_gpnid_event()
3527 qla24xx_fcport_handle_login(vha, fcport); in qla24xx_handle_gpnid_event()
3530 fcport->d_id = ea->id; in qla24xx_handle_gpnid_event()
3533 fcport->d_id = ea->id; in qla24xx_handle_gpnid_event()
3763 fc_port_t *fcport = ea->fcport; in qla24xx_handle_gffid_event() local
3765 qla24xx_post_gnl_work(vha, fcport); in qla24xx_handle_gffid_event()
3772 fc_port_t *fcport = sp->fcport; in qla24xx_async_gffid_sp_done() local
3778 sp->name, res, fcport->d_id.b24, fcport->port_name); in qla24xx_async_gffid_sp_done()
3780 fcport->flags &= ~FCF_ASYNC_SENT; in qla24xx_async_gffid_sp_done()
3781 ct_rsp = &fcport->ct_desc.ct_sns->p.rsp; in qla24xx_async_gffid_sp_done()
3790 fcport->fc4_type = in qla24xx_async_gffid_sp_done()
3792 fcport->fc4_type &= 0xf; in qla24xx_async_gffid_sp_done()
3797 fcport->fc4f_nvme = in qla24xx_async_gffid_sp_done()
3799 fcport->fc4f_nvme &= 0xf; in qla24xx_async_gffid_sp_done()
3805 ea.fcport = sp->fcport; in qla24xx_async_gffid_sp_done()
3814 int qla24xx_async_gffid(scsi_qla_host_t *vha, fc_port_t *fcport) in qla24xx_async_gffid() argument
3820 if (!vha->flags.online || (fcport->flags & FCF_ASYNC_SENT)) in qla24xx_async_gffid()
3823 sp = qla2x00_get_sp(vha, fcport, GFP_KERNEL); in qla24xx_async_gffid()
3827 fcport->flags |= FCF_ASYNC_SENT; in qla24xx_async_gffid()
3830 sp->gen1 = fcport->rscn_gen; in qla24xx_async_gffid()
3831 sp->gen2 = fcport->login_gen; in qla24xx_async_gffid()
3837 ct_req = qla2x00_prep_ct_req(fcport->ct_desc.ct_sns, GFF_ID_CMD, in qla24xx_async_gffid()
3840 ct_req->req.gff_id.port_id[0] = fcport->d_id.b.domain; in qla24xx_async_gffid()
3841 ct_req->req.gff_id.port_id[1] = fcport->d_id.b.area; in qla24xx_async_gffid()
3842 ct_req->req.gff_id.port_id[2] = fcport->d_id.b.al_pa; in qla24xx_async_gffid()
3844 sp->u.iocb_cmd.u.ctarg.req = fcport->ct_desc.ct_sns; in qla24xx_async_gffid()
3845 sp->u.iocb_cmd.u.ctarg.req_dma = fcport->ct_desc.ct_sns_dma; in qla24xx_async_gffid()
3846 sp->u.iocb_cmd.u.ctarg.rsp = fcport->ct_desc.ct_sns; in qla24xx_async_gffid()
3847 sp->u.iocb_cmd.u.ctarg.rsp_dma = fcport->ct_desc.ct_sns_dma; in qla24xx_async_gffid()
3860 sp->handle, fcport->port_name); in qla24xx_async_gffid()
3865 fcport->flags &= ~FCF_ASYNC_SENT; in qla24xx_async_gffid()
3896 fc_port_t *fcport; in qla24xx_async_gnnft_done() local
3927 list_for_each_entry(fcport, &vha->vp_fcports, list) in qla24xx_async_gnnft_done()
3928 fcport->scan_state = QLA_FCPORT_SCAN; in qla24xx_async_gnnft_done()
3951 list_for_each_entry(fcport, &vha->vp_fcports, list) { in qla24xx_async_gnnft_done()
3952 if (memcmp(rp->port_name, fcport->port_name, WWN_SIZE)) in qla24xx_async_gnnft_done()
3954 fcport->rscn_rcvd = 0; in qla24xx_async_gnnft_done()
3955 fcport->scan_state = QLA_FCPORT_FOUND; in qla24xx_async_gnnft_done()
3960 if ((fcport->flags & FCF_FABRIC_DEVICE) == 0) { in qla24xx_async_gnnft_done()
3961 qla2x00_clear_loop_id(fcport); in qla24xx_async_gnnft_done()
3962 fcport->flags |= FCF_FABRIC_DEVICE; in qla24xx_async_gnnft_done()
3963 } else if (fcport->d_id.b24 != rp->id.b24) { in qla24xx_async_gnnft_done()
3964 qlt_schedule_sess_for_deletion(fcport); in qla24xx_async_gnnft_done()
3966 fcport->d_id.b24 = rp->id.b24; in qla24xx_async_gnnft_done()
3982 list_for_each_entry(fcport, &vha->vp_fcports, list) { in qla24xx_async_gnnft_done()
3983 if ((fcport->flags & FCF_FABRIC_DEVICE) == 0) { in qla24xx_async_gnnft_done()
3984 fcport->rscn_rcvd = 0; in qla24xx_async_gnnft_done()
3988 if (fcport->scan_state != QLA_FCPORT_FOUND) { in qla24xx_async_gnnft_done()
3989 fcport->rscn_rcvd = 0; in qla24xx_async_gnnft_done()
3992 atomic_read(&fcport->state) == FCS_ONLINE) { in qla24xx_async_gnnft_done()
3993 qla2x00_mark_device_lost(vha, fcport, in qla24xx_async_gnnft_done()
3996 if (fcport->loop_id != FC_NO_LOOP_ID && in qla24xx_async_gnnft_done()
3997 (fcport->flags & FCF_FCP2_DEVICE) == 0) { in qla24xx_async_gnnft_done()
4001 fcport->port_name); in qla24xx_async_gnnft_done()
4003 qlt_schedule_sess_for_deletion(fcport); in qla24xx_async_gnnft_done()
4008 if (fcport->rscn_rcvd || in qla24xx_async_gnnft_done()
4009 fcport->disc_state != DSC_LOGIN_COMPLETE) { in qla24xx_async_gnnft_done()
4010 if (fcport->login_retry == 0) { in qla24xx_async_gnnft_done()
4011 fcport->login_retry = in qla24xx_async_gnnft_done()
4015 fcport->port_name, fcport->loop_id, in qla24xx_async_gnnft_done()
4016 fcport->login_retry); in qla24xx_async_gnnft_done()
4018 fcport->rscn_rcvd = 0; in qla24xx_async_gnnft_done()
4019 qla24xx_fcport_handle_login(vha, fcport); in qla24xx_async_gnnft_done()
4032 list_for_each_entry(fcport, &vha->vp_fcports, list) { in qla24xx_async_gnnft_done()
4033 if (fcport->rscn_rcvd) { in qla24xx_async_gnnft_done()
4517 qla24xx_post_gnl_work(vha, ea->fcport); in qla24xx_handle_gnnid_event()
4524 fc_port_t *fcport = sp->fcport; in qla2x00_async_gnnid_sp_done() local
4525 u8 *node_name = fcport->ct_desc.ct_sns->p.rsp.rsp.gnn_id.node_name; in qla2x00_async_gnnid_sp_done()
4529 fcport->flags &= ~FCF_ASYNC_SENT; in qla2x00_async_gnnid_sp_done()
4532 memcpy(fcport->node_name, node_name, WWN_SIZE); in qla2x00_async_gnnid_sp_done()
4535 ea.fcport = fcport; in qla2x00_async_gnnid_sp_done()
4542 sp->name, res, fcport->port_name, fcport->node_name); in qla2x00_async_gnnid_sp_done()
4549 int qla24xx_async_gnnid(scsi_qla_host_t *vha, fc_port_t *fcport) in qla24xx_async_gnnid() argument
4555 if (!vha->flags.online || (fcport->flags & FCF_ASYNC_SENT)) in qla24xx_async_gnnid()
4558 fcport->disc_state = DSC_GNN_ID; in qla24xx_async_gnnid()
4559 sp = qla2x00_get_sp(vha, fcport, GFP_ATOMIC); in qla24xx_async_gnnid()
4563 fcport->flags |= FCF_ASYNC_SENT; in qla24xx_async_gnnid()
4566 sp->gen1 = fcport->rscn_gen; in qla24xx_async_gnnid()
4567 sp->gen2 = fcport->login_gen; in qla24xx_async_gnnid()
4573 ct_req = qla2x00_prep_ct_req(fcport->ct_desc.ct_sns, GNN_ID_CMD, in qla24xx_async_gnnid()
4577 ct_req->req.port_id.port_id[0] = fcport->d_id.b.domain; in qla24xx_async_gnnid()
4578 ct_req->req.port_id.port_id[1] = fcport->d_id.b.area; in qla24xx_async_gnnid()
4579 ct_req->req.port_id.port_id[2] = fcport->d_id.b.al_pa; in qla24xx_async_gnnid()
4583 sp->u.iocb_cmd.u.ctarg.req = fcport->ct_desc.ct_sns; in qla24xx_async_gnnid()
4584 sp->u.iocb_cmd.u.ctarg.req_dma = fcport->ct_desc.ct_sns_dma; in qla24xx_async_gnnid()
4585 sp->u.iocb_cmd.u.ctarg.rsp = fcport->ct_desc.ct_sns; in qla24xx_async_gnnid()
4586 sp->u.iocb_cmd.u.ctarg.rsp_dma = fcport->ct_desc.ct_sns_dma; in qla24xx_async_gnnid()
4598 sp->name, fcport->port_name, in qla24xx_async_gnnid()
4599 sp->handle, fcport->loop_id, fcport->d_id.b24); in qla24xx_async_gnnid()
4608 int qla24xx_post_gnnid_work(struct scsi_qla_host *vha, fc_port_t *fcport) in qla24xx_post_gnnid_work() argument
4622 e->u.fcport.fcport = fcport; in qla24xx_post_gnnid_work()
4629 fc_port_t *fcport = ea->fcport; in qla24xx_handle_gfpnid_event() local
4633 __func__, fcport->port_name, fcport->disc_state, in qla24xx_handle_gfpnid_event()
4634 fcport->fw_login_state, ea->rc, fcport->login_gen, ea->sp->gen2, in qla24xx_handle_gfpnid_event()
4635 fcport->rscn_gen, ea->sp->gen1, vha->fcport_count); in qla24xx_handle_gfpnid_event()
4637 if (fcport->disc_state == DSC_DELETE_PEND) in qla24xx_handle_gfpnid_event()
4640 if (ea->sp->gen2 != fcport->login_gen) { in qla24xx_handle_gfpnid_event()
4644 __func__, fcport->port_name); in qla24xx_handle_gfpnid_event()
4646 } else if (ea->sp->gen1 != fcport->rscn_gen) { in qla24xx_handle_gfpnid_event()
4648 __func__, __LINE__, fcport->port_name); in qla24xx_handle_gfpnid_event()
4649 qla24xx_post_gidpn_work(vha, fcport); in qla24xx_handle_gfpnid_event()
4653 qla24xx_post_gpsc_work(vha, fcport); in qla24xx_handle_gfpnid_event()
4660 fc_port_t *fcport = sp->fcport; in qla2x00_async_gfpnid_sp_done() local
4661 u8 *fpn = fcport->ct_desc.ct_sns->p.rsp.rsp.gfpn_id.port_name; in qla2x00_async_gfpnid_sp_done()
4667 memcpy(fcport->fabric_port_name, fpn, WWN_SIZE); in qla2x00_async_gfpnid_sp_done()
4670 ea.fcport = fcport; in qla2x00_async_gfpnid_sp_done()
4677 sp->name, res, fcport->port_name, fcport->fabric_port_name); in qla2x00_async_gfpnid_sp_done()
4684 int qla24xx_async_gfpnid(scsi_qla_host_t *vha, fc_port_t *fcport) in qla24xx_async_gfpnid() argument
4690 if (!vha->flags.online || (fcport->flags & FCF_ASYNC_SENT)) in qla24xx_async_gfpnid()
4693 sp = qla2x00_get_sp(vha, fcport, GFP_ATOMIC); in qla24xx_async_gfpnid()
4699 sp->gen1 = fcport->rscn_gen; in qla24xx_async_gfpnid()
4700 sp->gen2 = fcport->login_gen; in qla24xx_async_gfpnid()
4706 ct_req = qla2x00_prep_ct_req(fcport->ct_desc.ct_sns, GFPN_ID_CMD, in qla24xx_async_gfpnid()
4710 ct_req->req.port_id.port_id[0] = fcport->d_id.b.domain; in qla24xx_async_gfpnid()
4711 ct_req->req.port_id.port_id[1] = fcport->d_id.b.area; in qla24xx_async_gfpnid()
4712 ct_req->req.port_id.port_id[2] = fcport->d_id.b.al_pa; in qla24xx_async_gfpnid()
4716 sp->u.iocb_cmd.u.ctarg.req = fcport->ct_desc.ct_sns; in qla24xx_async_gfpnid()
4717 sp->u.iocb_cmd.u.ctarg.req_dma = fcport->ct_desc.ct_sns_dma; in qla24xx_async_gfpnid()
4718 sp->u.iocb_cmd.u.ctarg.rsp = fcport->ct_desc.ct_sns; in qla24xx_async_gfpnid()
4719 sp->u.iocb_cmd.u.ctarg.rsp_dma = fcport->ct_desc.ct_sns_dma; in qla24xx_async_gfpnid()
4732 sp->name, fcport->port_name, in qla24xx_async_gfpnid()
4733 sp->handle, fcport->loop_id, fcport->d_id.b24); in qla24xx_async_gfpnid()
4738 fcport->flags &= ~FCF_ASYNC_SENT; in qla24xx_async_gfpnid()
4743 int qla24xx_post_gfpnid_work(struct scsi_qla_host *vha, fc_port_t *fcport) in qla24xx_post_gfpnid_work() argument
4757 e->u.fcport.fcport = fcport; in qla24xx_post_gfpnid_work()