Lines Matching refs:fcport

604 	struct qla_hw_data *ha = sp->fcport->vha->hw;
643 qla2x00_rel_sp(sp->fcport->vha, sp);
656 ql_dbg(ql_dbg_io, sp->fcport->vha, 0x3015,
677 fc_port_t *fcport = (struct fc_port *) cmd->device->hostdata;
716 if (!fcport) {
721 if (atomic_read(&fcport->state) != FCS_ONLINE) {
722 if (atomic_read(&fcport->state) == FCS_DEVICE_DEAD ||
726 atomic_read(&fcport->state),
738 if (time_after(jiffies, fcport->retry_delay_timestamp))
739 fcport->retry_delay_timestamp = 0;
743 sp = qla2x00_get_sp(vha, fcport, GFP_ATOMIC);
1039 if (vha->vp_idx != sp->fcport->vha->vp_idx)
1079 fc_port_t *fcport = (struct fc_port *) cmd->device->hostdata;
1082 if (!fcport) {
1101 if (do_reset(fcport, cmd->device->lun, cmd->request->cpu + 1)
1168 fc_port_t *fcport = (struct fc_port *) cmd->device->hostdata;
1176 if (!fcport) {
1311 struct fc_port *fcport;
1319 list_for_each_entry(fcport, &vha->vp_fcports, list) {
1320 if (fcport->port_type != FCT_TARGET)
1323 ret = ha->isp_ops->target_reset(fcport, 0, 0);
1327 "d_id=%x.\n", ret, fcport->d_id.b24);
1423 fc_port_t *fcport = (struct fc_port *) sdev->hostdata;
1428 ql_dbg(ql_dbg_io, fcport->vha, 0x3029,
1430 sdev->queue_depth, fcport->vha->host_no, sdev->id, sdev->lun);
1435 fc_port_t *fcport = sdev->hostdata;
1436 struct scsi_qla_host *vha = fcport->vha;
1453 sdev->queue_depth, fcport->vha->host_no, sdev->id, sdev->lun);
2660 /* Setup fcport template structure. */
2661 ha->mr.fcport.vha = base_vha;
2662 ha->mr.fcport.port_type = FCT_UNKNOWN;
2663 ha->mr.fcport.loop_id = FC_NO_LOOP_ID;
2664 qla2x00_set_fcport_state(&ha->mr.fcport, FCS_UNCONFIGURED);
2665 ha->mr.fcport.supported_classes = FC_COS_UNSPECIFIED;
2666 ha->mr.fcport.scan_state = 1;
2899 &base_vha->hw->mr.fcport, FXDISC_GET_CONFIG_INFO);
2925 &base_vha->hw->mr.fcport, FXDISC_GET_PORT_INFO);
2929 &base_vha->hw->mr.fcport, FXDISC_REG_HOST_INFO);
3277 fc_port_t *fcport, *tfcport;
3279 list_for_each_entry_safe(fcport, tfcport, &vha->vp_fcports, list) {
3280 list_del(&fcport->list);
3281 qla2x00_clear_loop_id(fcport);
3282 kfree(fcport);
3283 fcport = NULL;
3288 qla2x00_schedule_rport_del(struct scsi_qla_host *vha, fc_port_t *fcport,
3295 if (!fcport->rport)
3298 rport = fcport->rport;
3302 fcport->drport = rport;
3308 qlt_fc_port_deleted(vha, fcport);
3313 * qla2x00_mark_device_lost Updates fcport state when device goes offline.
3315 * Input: ha = adapter block pointer. fcport = port structure pointer.
3321 void qla2x00_mark_device_lost(scsi_qla_host_t *vha, fc_port_t *fcport,
3325 qla2x00_set_fcport_state(fcport, FCS_DEVICE_LOST);
3326 qla2x00_schedule_rport_del(vha, fcport, defer);
3330 if (atomic_read(&fcport->state) == FCS_ONLINE &&
3331 vha->vp_idx == fcport->vha->vp_idx) {
3332 qla2x00_set_fcport_state(fcport, FCS_DEVICE_LOST);
3333 qla2x00_schedule_rport_del(vha, fcport, defer);
3339 if (atomic_read(&fcport->state) != FCS_DEVICE_DEAD)
3340 qla2x00_set_fcport_state(fcport, FCS_DEVICE_LOST);
3345 if (fcport->login_retry == 0) {
3346 fcport->login_retry = vha->hw->login_retry_count;
3351 fcport->port_name, fcport->loop_id, fcport->login_retry);
3357 * Updates fcport state when device goes offline.
3361 * fcport = port structure pointer.
3371 fc_port_t *fcport;
3373 list_for_each_entry(fcport, &vha->vp_fcports, list) {
3374 if (vha->vp_idx != 0 && vha->vp_idx != fcport->vha->vp_idx)
3381 if (atomic_read(&fcport->state) == FCS_DEVICE_DEAD)
3383 if (atomic_read(&fcport->state) == FCS_ONLINE) {
3384 qla2x00_set_fcport_state(fcport, FCS_DEVICE_LOST);
3386 qla2x00_schedule_rport_del(vha, fcport, defer);
3387 else if (vha->vp_idx == fcport->vha->vp_idx)
3388 qla2x00_schedule_rport_del(vha, fcport, defer);
3919 fc_port_t *fcport, uint16_t *data) \
3927 e->u.logio.fcport = fcport; \
4012 qla2x00_async_login(vha, e->u.logio.fcport,
4016 qla2x00_async_login_done(vha, e->u.logio.fcport,
4020 qla2x00_async_logout(vha, e->u.logio.fcport);
4023 qla2x00_async_logout_done(vha, e->u.logio.fcport,
4027 qla2x00_async_adisc(vha, e->u.logio.fcport,
4031 qla2x00_async_adisc_done(vha, e->u.logio.fcport,
4054 fc_port_t *fcport;
4060 list_for_each_entry(fcport, &vha->vp_fcports, list) {
4065 if (atomic_read(&fcport->state) != FCS_ONLINE &&
4066 fcport->login_retry && !(fcport->flags & FCF_ASYNC_SENT)) {
4067 fcport->login_retry--;
4068 if (fcport->flags & FCF_FABRIC_DEVICE) {
4069 if (fcport->flags & FCF_FCP2_DEVICE)
4071 fcport->loop_id,
4072 fcport->d_id.b.domain,
4073 fcport->d_id.b.area,
4074 fcport->d_id.b.al_pa);
4076 if (fcport->loop_id == FC_NO_LOOP_ID) {
4077 fcport->loop_id = next_loopid =
4080 vha, fcport);
4088 fcport->flags |= FCF_ASYNC_SENT;
4092 vha, fcport, data);
4099 fcport, &next_loopid);
4105 if (fcport->flags &
4110 vha, fcport, opts);
4117 fcport);
4120 fcport->old_loop_id = fcport->loop_id;
4124 fcport->loop_id);
4126 qla2x00_update_fcport(vha, fcport);
4133 fcport->login_retry, fcport->loop_id);
4135 fcport->login_retry = 0;
4138 if (fcport->login_retry == 0 && status != QLA_SUCCESS)
4139 qla2x00_clear_loop_id(fcport);
4984 &base_vha->hw->mr.fcport,
5266 sfcp = sp->fcport;