Lines Matching defs:vha

38 qlafx00_mailbox_command(scsi_qla_host_t *vha, struct mbx_cmd_32 *mcp)
52 struct qla_hw_data *ha = vha->hw;
56 ql_log(ql_log_warn, vha, 0x115c,
61 if (vha->device_flags & DFLG_DEV_FAILED) {
62 ql_log(ql_log_warn, vha, 0x115f,
74 ql_log(ql_log_warn, vha, 0x1175,
82 ql_log(ql_log_warn, vha, 0x1176,
95 ql_log(ql_log_warn, vha, 0x1177,
105 ql_dbg(ql_dbg_mbx, vha, 0x1178,
130 ql_dump_buffer(ql_dbg_mbx + ql_dbg_buffer, vha, 0x1172,
132 ql_dump_buffer(ql_dbg_mbx + ql_dbg_buffer, vha, 0x1173,
134 ql_dump_buffer(ql_dbg_mbx + ql_dbg_buffer, vha, 0x1174,
138 ql_dbg(ql_dbg_mbx, vha, 0x1179,
152 ql_dbg(ql_dbg_mbx, vha, 0x112c,
171 ql_dbg(ql_dbg_mbx, vha, 0x112d,
180 ql_dbg(ql_dbg_mbx, vha, 0x112e,
213 ql_dbg(ql_dbg_mbx, vha, 0x113a,
225 ql_dbg(ql_dbg_mbx, vha, 0x115d,
228 if (!test_bit(ISP_ABORT_NEEDED, &vha->dpc_flags) &&
229 !test_bit(ABORT_ISP_ACTIVE, &vha->dpc_flags) &&
230 !test_bit(ISP_ABORT_RETRY, &vha->dpc_flags)) {
237 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags);
238 qla2xxx_wake_dpc(vha);
242 ql_dbg(ql_dbg_mbx, vha, 0x1160,
245 if (!test_bit(ISP_ABORT_NEEDED, &vha->dpc_flags) &&
246 !test_bit(ABORT_ISP_ACTIVE, &vha->dpc_flags) &&
247 !test_bit(ISP_ABORT_RETRY, &vha->dpc_flags)) {
254 set_bit(ABORT_ISP_ACTIVE, &vha->dpc_flags);
255 clear_bit(ISP_ABORT_NEEDED, &vha->dpc_flags);
256 if (ha->isp_ops->abort_isp(vha)) {
259 &vha->dpc_flags);
261 clear_bit(ABORT_ISP_ACTIVE, &vha->dpc_flags);
262 ql_dbg(ql_dbg_mbx, vha, 0x1162,
298 qlafx00_driver_shutdown(scsi_qla_host_t *vha, int tmo)
304 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1166,
315 rval = qlafx00_mailbox_command(vha, mcp);
318 ql_dbg(ql_dbg_mbx, vha, 0x1167,
321 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1168,
344 qlafx00_get_firmware_state(scsi_qla_host_t *vha, uint32_t *states)
350 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1169,
358 rval = qlafx00_mailbox_command(vha, mcp);
364 ql_dbg(ql_dbg_mbx, vha, 0x116a,
367 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x116b,
391 qlafx00_init_firmware(scsi_qla_host_t *vha, uint16_t size)
396 struct qla_hw_data *ha = vha->hw;
398 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x116c,
412 rval = qlafx00_mailbox_command(vha, mcp);
415 ql_dbg(ql_dbg_mbx, vha, 0x116d,
418 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x116e,
428 qlafx00_mbx_reg_test(scsi_qla_host_t *vha)
434 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x116f,
463 rval = qlafx00_mailbox_command(vha, mcp);
480 ql_dbg(ql_dbg_mbx, vha, 0x1170,
483 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1171,
491 * @vha: HA context
496 qlafx00_pci_config(scsi_qla_host_t *vha)
499 struct qla_hw_data *ha = vha->hw;
520 * @vha: HA context
524 qlafx00_soc_cpu_reset(scsi_qla_host_t *vha)
527 struct qla_hw_data *ha = vha->hw;
626 * @vha: HA context
631 qlafx00_soft_reset(scsi_qla_host_t *vha)
633 struct qla_hw_data *ha = vha->hw;
641 qlafx00_soc_cpu_reset(vha);
648 * @vha: HA context
653 qlafx00_chip_diag(scsi_qla_host_t *vha)
656 struct qla_hw_data *ha = vha->hw;
661 rval = qlafx00_mbx_reg_test(vha);
663 ql_log(ql_log_warn, vha, 0x1165,
673 qlafx00_config_rings(struct scsi_qla_host *vha)
675 struct qla_hw_data *ha = vha->hw;
689 qlafx00_pci_info_str(struct scsi_qla_host *vha, char *str, size_t str_len)
691 struct qla_hw_data *ha = vha->hw;
699 qlafx00_fw_version_str(struct scsi_qla_host *vha, char *str, size_t size)
701 struct qla_hw_data *ha = vha->hw;
809 qlafx00_save_queue_ptrs(struct scsi_qla_host *vha)
811 struct qla_hw_data *ha = vha->hw;
823 ql_dbg(ql_dbg_init, vha, 0x012d,
828 ql_dbg(ql_dbg_init, vha, 0x012e,
835 qlafx00_config_queues(struct scsi_qla_host *vha)
837 struct qla_hw_data *ha = vha->hw;
851 ql_dbg(ql_dbg_init, vha, 0x0130,
866 ql_dbg(ql_dbg_init, vha, 0x0132,
876 qlafx00_init_fw_ready(scsi_qla_host_t *vha)
881 struct qla_hw_data *ha = vha->hw;
896 rval = qlafx00_driver_shutdown(vha, 10);
898 qlafx00_soft_reset(vha);
906 ql_dbg(ql_dbg_mbx, vha, 0x0133,
918 qlafx00_soft_reset(vha);
932 ql_dbg(ql_dbg_init, vha, 0x0134,
968 ql_dbg(ql_dbg_init, vha, 0x0135,
975 rval = qlafx00_get_firmware_state(vha, state);
994 ql_dbg(ql_dbg_init, vha, 0x0136,
998 rval = qlafx00_driver_shutdown(vha, 10);
1011 ql_dbg(ql_dbg_init, vha, 0x0137,
1024 ql_dbg(ql_dbg_init, vha, 0x0138,
1027 ql_dbg(ql_dbg_init, vha, 0x0139,
1040 qlafx00_fw_ready(scsi_qla_host_t *vha)
1055 if (!vha->flags.init_done)
1056 ql_dbg(ql_dbg_init, vha, 0x013a,
1060 rval = qlafx00_get_firmware_state(vha, state);
1064 ql_dbg(ql_dbg_init, vha, 0x013b,
1078 ql_dbg(ql_dbg_init, vha, 0x013c,
1084 ql_dbg(ql_dbg_init, vha, 0x013d,
1087 ql_dbg(ql_dbg_init, vha, 0x013e,
1094 qlafx00_find_all_targets(scsi_qla_host_t *vha,
1101 struct qla_hw_data *ha = vha->hw;
1105 if (!test_bit(LOOP_RESYNC_ACTIVE, &vha->dpc_flags))
1108 if ((atomic_read(&vha->loop_down_timer) ||
1109 STATE_TRANSITION(vha))) {
1110 atomic_set(&vha->loop_down_timer, 0);
1111 set_bit(LOOP_RESYNC_NEEDED, &vha->dpc_flags);
1115 ql_dbg(ql_dbg_disc + ql_dbg_init, vha, 0x2088,
1117 ql_dump_buffer(ql_dbg_disc + ql_dbg_init, vha, 0x2089,
1121 new_fcport = qla2x00_alloc_fcport(vha, GFP_KERNEL);
1130 rval = qlafx00_fx_disc(vha, new_fcport,
1133 ql_log(ql_log_warn, vha, 0x208a,
1141 list_for_each_entry(fcport, &vha->vp_fcports, list) {
1159 ql_dbg(ql_dbg_disc + ql_dbg_init, vha, 0x208b,
1168 ql_log(ql_log_info, vha, 0x208c,
1180 ql_log(ql_log_info, vha, 0x208d,
1182 qla2x00_update_fcport(vha, fcport);
1184 ql_log(ql_log_info, vha, 0x208e,
1188 qla2x00_mark_device_lost(vha, fcport, 0);
1189 set_bit(LOOP_RESYNC_NEEDED, &vha->dpc_flags);
1203 new_fcport = qla2x00_alloc_fcport(vha, GFP_KERNEL);
1224 qlafx00_configure_all_targets(scsi_qla_host_t *vha)
1230 rval = qlafx00_fx_disc(vha, &vha->hw->mr.fcport,
1233 set_bit(LOOP_RESYNC_NEEDED, &vha->dpc_flags);
1237 rval = qlafx00_find_all_targets(vha, &new_fcports);
1239 set_bit(LOOP_RESYNC_NEEDED, &vha->dpc_flags);
1246 list_for_each_entry(fcport, &vha->vp_fcports, list) {
1247 if (test_bit(LOOP_RESYNC_NEEDED, &vha->dpc_flags))
1252 qla2x00_mark_device_lost(vha, fcport, 0);
1260 if (test_bit(LOOP_RESYNC_NEEDED, &vha->dpc_flags))
1263 qla2x00_update_fcport(vha, fcport);
1264 list_move_tail(&fcport->list, &vha->vp_fcports);
1265 ql_log(ql_log_info, vha, 0x208f,
1295 qlafx00_configure_devices(scsi_qla_host_t *vha)
1302 flags = vha->dpc_flags;
1304 ql_dbg(ql_dbg_disc, vha, 0x2090,
1307 rval = qlafx00_configure_all_targets(vha);
1310 if (test_bit(LOOP_RESYNC_NEEDED, &vha->dpc_flags)) {
1313 atomic_set(&vha->loop_state, LOOP_READY);
1314 ql_log(ql_log_info, vha, 0x2091,
1320 ql_dbg(ql_dbg_disc, vha, 0x2092,
1323 ql_dbg(ql_dbg_disc, vha, 0x2093,
1330 qlafx00_abort_isp_cleanup(scsi_qla_host_t *vha, bool critemp)
1332 struct qla_hw_data *ha = vha->hw;
1335 vha->flags.online = 0;
1340 clear_bit(ISP_ABORT_NEEDED, &vha->dpc_flags);
1341 vha->qla_stats.total_isp_aborts++;
1342 ql_log(ql_log_info, vha, 0x013f,
1344 ha->isp_ops->reset_chip(vha);
1347 if (atomic_read(&vha->loop_state) != LOOP_DOWN) {
1348 atomic_set(&vha->loop_state, LOOP_DOWN);
1349 atomic_set(&vha->loop_down_timer,
1352 if (!atomic_read(&vha->loop_down_timer))
1353 atomic_set(&vha->loop_down_timer,
1358 list_for_each_entry(fcport, &vha->vp_fcports, list) {
1366 qla2x00_abort_all_cmds(vha, DID_NO_CONNECT << 16);
1369 qla2x00_abort_all_cmds(vha, DID_RESET << 16);
1373 qla2x00_free_irqs(vha);
1375 set_bit(FX00_CRITEMP_RECOVERY, &vha->dpc_flags);
1377 set_bit(FX00_RESET_RECOVERY, &vha->dpc_flags);
1382 ql_log(ql_log_info, vha, 0x0140,
1414 qlafx00_rescan_isp(scsi_qla_host_t *vha)
1417 struct qla_hw_data *ha = vha->hw;
1431 ql_dbg(ql_dbg_disc, vha, 0x2094,
1440 status = qla2x00_init_rings(vha);
1442 vha->flags.online = 1;
1445 if ((vha->device_flags & DFLG_NO_CABLE))
1448 if (qlafx00_fx_disc(vha,
1449 &vha->hw->mr.fcport, FXDISC_REG_HOST_INFO))
1450 ql_dbg(ql_dbg_disc, vha, 0x2095,
1453 scsi_unblock_requests(vha->host);
1458 qlafx00_timer_routine(scsi_qla_host_t *vha)
1460 struct qla_hw_data *ha = vha->hw;
1471 (!test_bit(UNLOADING, &vha->dpc_flags)) &&
1472 (!test_bit(ABORT_ISP_ACTIVE, &vha->dpc_flags)) &&
1483 &vha->dpc_flags);
1484 qla2xxx_wake_dpc(vha);
1492 if (test_bit(FX00_RESET_RECOVERY, &vha->dpc_flags)) {
1496 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags);
1497 qla2xxx_wake_dpc(vha);
1501 set_bit(FX00_TARGET_SCAN, &vha->dpc_flags);
1502 clear_bit(FX00_RESET_RECOVERY, &vha->dpc_flags);
1503 qla2xxx_wake_dpc(vha);
1539 if (test_bit(FX00_CRITEMP_RECOVERY, &vha->dpc_flags)) {
1546 ql_dbg(ql_dbg_timer, vha, 0x6012,
1551 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags);
1553 &vha->dpc_flags);
1554 qla2xxx_wake_dpc(vha);
1569 set_bit(FX00_HOST_INFO_RESEND, &vha->dpc_flags);
1572 qla2xxx_wake_dpc(vha);
1591 qlafx00_reset_initialize(scsi_qla_host_t *vha)
1593 struct qla_hw_data *ha = vha->hw;
1595 if (vha->device_flags & DFLG_DEV_FAILED) {
1596 ql_dbg(ql_dbg_init, vha, 0x0142,
1603 if (vha->flags.online) {
1604 scsi_block_requests(vha->host);
1605 qlafx00_abort_isp_cleanup(vha, false);
1608 ql_log(ql_log_info, vha, 0x0143,
1625 qlafx00_abort_isp(scsi_qla_host_t *vha)
1627 struct qla_hw_data *ha = vha->hw;
1629 if (vha->flags.online) {
1632 clear_bit(ISP_ABORT_RETRY, &vha->dpc_flags);
1636 scsi_block_requests(vha->host);
1637 qlafx00_abort_isp_cleanup(vha, false);
1639 scsi_block_requests(vha->host);
1640 clear_bit(ISP_ABORT_NEEDED, &vha->dpc_flags);
1641 vha->qla_stats.total_isp_aborts++;
1642 ha->isp_ops->reset_chip(vha);
1643 set_bit(FX00_RESET_RECOVERY, &vha->dpc_flags);
1648 ql_log(ql_log_info, vha, 0x0145,
1655 qlafx00_get_fcport(struct scsi_qla_host *vha, int tgt_id)
1660 list_for_each_entry(fcport, &vha->vp_fcports, list) {
1662 ql_dbg(ql_dbg_async, vha, 0x5072,
1673 qlafx00_tgt_detach(struct scsi_qla_host *vha, int tgt_id)
1677 ql_log(ql_log_info, vha, 0x5073,
1680 fcport = qlafx00_get_fcport(vha, tgt_id);
1684 qla2x00_mark_device_lost(vha, fcport, 0);
1690 qlafx00_process_aen(struct scsi_qla_host *vha, struct qla_work_evt *evt)
1701 if (!vha->flags.fw_tgt_reported)
1702 vha->flags.fw_tgt_reported = 1;
1703 atomic_set(&vha->loop_down_timer, 0);
1704 atomic_set(&vha->loop_state, LOOP_UP);
1705 set_bit(LOOP_RESYNC_NEEDED, &vha->dpc_flags);
1706 qla2xxx_wake_dpc(vha);
1708 qlafx00_tgt_detach(vha, evt->u.aenfx.mbx[3]);
1712 if (!vha->flags.fw_tgt_reported)
1713 vha->flags.fw_tgt_reported = 1;
1714 set_bit(LOOP_RESYNC_NEEDED, &vha->dpc_flags);
1716 vha->device_flags |= DFLG_NO_CABLE;
1717 qla2x00_mark_all_devices_lost(vha);
1730 ql_log(ql_log_info, vha, 0x5082,
1734 scsi_block_requests(vha->host);
1735 qlafx00_abort_isp_cleanup(vha, true);
1736 scsi_unblock_requests(vha->host);
1740 fc_host_post_event(vha->host, fc_get_event_number(),
1745 qlafx00_update_host_attr(scsi_qla_host_t *vha, struct port_info_data *pinfo)
1752 fc_host_node_name(vha->host) = node_name;
1753 fc_host_port_name(vha->host) = port_name;
1755 vha->hw->current_topology = ISP_CFG_F;
1757 atomic_set(&vha->loop_state, LOOP_READY);
1759 atomic_set(&vha->loop_state, LOOP_DOWN);
1760 vha->hw->link_data_rate = (uint16_t)pinfo->link_config;
1780 qlafx00_fx_disc(scsi_qla_host_t *vha, fc_port_t *fcport, uint16_t fx_type)
1785 struct qla_hw_data *ha = vha->hw;
1790 sp = qla2x00_get_sp(vha, fcport, GFP_KERNEL);
1829 ql_log(ql_log_warn, vha, 0x303c,
1869 ql_dbg(ql_dbg_init, vha, 0x0149,
1872 ql_dbg(ql_dbg_init, vha, 0x014a,
1877 ql_dbg(ql_dbg_init, vha, 0x014b,
1881 ql_dbg(ql_dbg_init, vha, 0x014c,
1887 ql_dump_buffer(ql_dbg_init + ql_dbg_disc, vha, 0x014d,
1912 strlcpy(vha->hw->model_number, pinfo->model_num,
1913 ARRAY_SIZE(vha->hw->model_number));
1914 strlcpy(vha->hw->model_desc, pinfo->model_description,
1915 ARRAY_SIZE(vha->hw->model_desc));
1916 memcpy(&vha->hw->mr.symbolic_name, pinfo->symbolic_name,
1917 sizeof(vha->hw->mr.symbolic_name));
1918 memcpy(&vha->hw->mr.serial_num, pinfo->serial_num,
1919 sizeof(vha->hw->mr.serial_num));
1920 memcpy(&vha->hw->mr.hw_version, pinfo->hw_version,
1921 sizeof(vha->hw->mr.hw_version));
1922 memcpy(&vha->hw->mr.fw_version, pinfo->fw_version,
1923 sizeof(vha->hw->mr.fw_version));
1924 strim(vha->hw->mr.fw_version);
1925 memcpy(&vha->hw->mr.uboot_version, pinfo->uboot_version,
1926 sizeof(vha->hw->mr.uboot_version));
1927 memcpy(&vha->hw->mr.fru_serial_num, pinfo->fru_serial_num,
1928 sizeof(vha->hw->mr.fru_serial_num));
1929 vha->hw->mr.critical_temperature =
1937 memcpy(vha->node_name, pinfo->node_name, WWN_SIZE);
1938 memcpy(vha->port_name, pinfo->port_name, WWN_SIZE);
1939 vha->d_id.b.domain = pinfo->port_id[0];
1940 vha->d_id.b.area = pinfo->port_id[1];
1941 vha->d_id.b.al_pa = pinfo->port_id[2];
1942 qlafx00_update_host_attr(vha, pinfo);
1943 ql_dump_buffer(ql_dbg_init + ql_dbg_buffer, vha, 0x0141,
1951 ql_dump_buffer(ql_dbg_init + ql_dbg_buffer, vha, 0x0144,
1956 ql_dump_buffer(ql_dbg_init + ql_dbg_buffer, vha, 0x0146,
1958 memcpy(vha->hw->gid_list, pinfo, QLAFX00_TGT_NODE_LIST_SIZE);
1993 qlafx00_initialize_adapter(scsi_qla_host_t *vha)
1996 struct qla_hw_data *ha = vha->hw;
2000 vha->flags.online = 0;
2002 vha->flags.reset_active = 0;
2005 atomic_set(&vha->loop_down_timer, LOOP_DOWN_TIME);
2006 atomic_set(&vha->loop_state, LOOP_DOWN);
2007 vha->device_flags = DFLG_NO_CABLE;
2008 vha->dpc_flags = 0;
2009 vha->flags.management_server_logged_in = 0;
2016 ql_dbg(ql_dbg_init, vha, 0x0147,
2019 rval = ha->isp_ops->pci_config(vha);
2021 ql_log(ql_log_warn, vha, 0x0148,
2026 rval = qlafx00_init_fw_ready(vha);
2030 qlafx00_save_queue_ptrs(vha);
2032 rval = qlafx00_config_queues(vha);
2040 rval = qla2x00_alloc_outstanding_cmds(ha, vha->req);
2044 rval = qla2x00_init_rings(vha);
2048 ql_dbg(ql_dbg_init, vha, 0x0152,
2059 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev));
2063 if (qla2x00_reset_active(vha))
2064 ql_log(ql_log_warn, vha, 0x70ce,
2066 else if (!vha->hw->flags.eeh_busy) {
2067 rval = qlafx00_get_firmware_state(vha, state);
2105 struct scsi_qla_host *vha = sp->vha;
2129 ql_dbg(ql_dbg_io, vha, 0x304d,
2138 ql_dbg(ql_dbg_io + ql_dbg_buffer, vha, 0x3039,
2140 sp->vha->host_no, cp->device->id, cp->device->lun,
2142 ql_dump_buffer(ql_dbg_io + ql_dbg_buffer, vha, 0x3049,
2148 qlafx00_tm_iocb_entry(scsi_qla_host_t *vha, struct req_que *req,
2163 qlafx00_abort_iocb_entry(scsi_qla_host_t *vha, struct req_que *req,
2170 sp = qla2x00_get_sp_from_handle(vha, func, req, pkt);
2180 qlafx00_ioctl_iosb_entry(scsi_qla_host_t *vha, struct req_que *req,
2192 sp = qla2x00_get_sp_from_handle(vha, func, req, pkt);
2229 sp->vha, 0x5080, pkt, sizeof(*pkt));
2232 sp->vha, 0x5074,
2244 * @vha: SCSI driver HA context
2249 qlafx00_status_entry(scsi_qla_host_t *vha, struct rsp_que *rsp, void *pkt)
2262 struct qla_hw_data *ha = vha->hw;
2286 ql_dbg(ql_dbg_io, vha, 0x3034,
2289 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags);
2290 qla2xxx_wake_dpc(vha);
2296 qlafx00_tm_iocb_entry(vha, req, pkt, sp,
2303 qla2x00_process_completed_request(vha, req, handle);
2310 ql_dbg(ql_dbg_io, vha, 0x3048,
2356 ql_dbg(ql_dbg_io, fcport->vha, 0x3050,
2369 ql_dbg(ql_dbg_io, fcport->vha, 0x3051,
2395 ql_dbg(ql_dbg_io, fcport->vha, 0x3052,
2408 ql_dbg(ql_dbg_io, fcport->vha, 0x3053,
2425 ql_dbg(ql_dbg_io, fcport->vha, 0x3054,
2433 ql_dbg(ql_dbg_io, fcport->vha, 0x3055,
2449 ql_dbg(ql_dbg_io, fcport->vha, 0x3056,
2483 ql_dbg(ql_dbg_io, fcport->vha, 0x3057,
2488 qla2x00_mark_device_lost(fcport->vha, fcport, 1);
2501 ql_dbg(ql_dbg_io, fcport->vha, 0x3058,
2506 comp_status, scsi_status, res, vha->host_no,
2530 struct scsi_qla_host *vha = pci_get_drvdata(ha->pdev);
2537 ql_dbg(ql_dbg_io, vha, 0x3037,
2543 ql_dbg(ql_dbg_io, vha, 0x304b,
2549 ql_log(ql_log_warn, vha, 0x303b,
2557 ql_dbg(ql_dbg_io, vha, 0x304c,
2562 ql_dbg(ql_dbg_io, vha, 0x304f,
2572 ql_dump_buffer(ql_dbg_io + ql_dbg_buffer, vha, 0x304e,
2575 ql_dump_buffer(ql_dbg_io + ql_dbg_buffer, vha, 0x304a,
2600 * @vha: SCSI driver HA context
2605 qlafx00_multistatus_entry(struct scsi_qla_host *vha,
2610 struct qla_hw_data *ha = vha->hw;
2621 ql_dbg(ql_dbg_io, vha, 0x3035,
2623 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags);
2624 qla2xxx_wake_dpc(vha);
2643 ql_dbg(ql_dbg_io, vha, 0x3044,
2645 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags);
2646 qla2xxx_wake_dpc(vha);
2649 qla2x00_process_completed_request(vha, req, handle);
2656 * @vha: SCSI driver HA context
2661 qlafx00_error_entry(scsi_qla_host_t *vha, struct rsp_que *rsp,
2665 struct qla_hw_data *ha = vha->hw;
2673 sp = qla2x00_get_sp_from_handle(vha, func, req, pkt);
2679 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags);
2680 qla2xxx_wake_dpc(vha);
2685 * @vha: SCSI driver HA context
2689 qlafx00_process_response_queue(struct scsi_qla_host *vha,
2718 ql_dbg(ql_dbg_async, vha, 0x507f,
2721 qlafx00_error_entry(vha, rsp,
2728 qlafx00_status_entry(vha, rsp, pkt);
2736 qlafx00_multistatus_entry(vha, rsp, pkt);
2740 qlafx00_abort_iocb_entry(vha, rsp->req,
2745 qlafx00_ioctl_iosb_entry(vha, rsp->req,
2750 ql_dbg(ql_dbg_async, vha, 0x5081,
2764 * @vha: SCSI driver HA context
2767 qlafx00_async_event(scsi_qla_host_t *vha)
2769 struct qla_hw_data *ha = vha->hw;
2777 ql_log(ql_log_warn, vha, 0x5079,
2779 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags);
2783 ql_dbg(ql_dbg_async, vha, 0x5076,
2785 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags);
2786 qla2xxx_wake_dpc(vha);
2793 ql_dbg(ql_dbg_async, vha, 0x5077,
2801 ql_log(ql_log_info, vha, 0x5085,
2808 ql_log(ql_log_info, vha, 0x5086,
2815 ql_log(ql_log_info, vha, 0x5083,
2829 ql_dbg(ql_dbg_async, vha, 0x5078,
2835 qlafx00_post_aenfx_work(vha, ha->aenmb[0],
2841 * @vha: SCSI driver HA context
2845 qlafx00_mbx_completion(scsi_qla_host_t *vha, uint32_t mb0)
2849 struct qla_hw_data *ha = vha->hw;
2853 ql_dbg(ql_dbg_async, vha, 0x507e, "MBX pointer ERROR.\n");
2878 scsi_qla_host_t *vha;
2905 vha = pci_get_drvdata(ha->pdev);
2908 if (qla2x00_check_reg32_for_disconnect(vha, stat))
2916 qlafx00_mbx_completion(vha, mb[0]);
2922 qlafx00_async_event(vha);
2926 qlafx00_process_response_queue(vha, rsp);
2971 scsi_qla_host_t *vha;
2979 vha = sp->vha;
2980 req = vha->req;
2998 vha->qla_stats.output_bytes += scsi_bufflen(cmd);
3001 vha->qla_stats.input_bytes += scsi_bufflen(cmd);
3057 struct scsi_qla_host *vha = sp->vha;
3058 struct qla_hw_data *ha = vha->hw;
3065 req = vha->req;
3087 req_cnt = qla24xx_calc_iocbs(vha, tot_dsds);
3135 ql_dump_buffer(ql_dbg_io + ql_dbg_buffer, vha, 0x302e,
3137 ql_dump_buffer(ql_dbg_io + ql_dbg_buffer, vha, 0x3032,
3173 scsi_qla_host_t *vha = sp->vha;
3174 struct req_que *req = vha->req;
3200 scsi_qla_host_t *vha = sp->vha;
3201 struct req_que *req = vha->req;
3308 sp->vha->req, &lcont_pkt);
3325 sp->vha, 0x3042,
3334 sp->vha, 0x3043,
3364 sp->vha->req, &lcont_pkt);
3381 sp->vha, 0x3045,
3390 sp->vha, 0x3046,
3402 sp->vha, 0x3047, &fx_iocb, sizeof(fx_iocb));