Lines Matching defs:vha

34 qla2x00_mailbox_command(scsi_qla_host_t *vha, mbx_cmd_t *mcp)
47 struct qla_hw_data *ha = vha->hw;
50 ql_dbg(ql_dbg_mbx, vha, 0x1000, "Entered %s.\n", __func__);
53 ql_log(ql_log_warn, vha, 0x1001,
59 if (vha->device_flags & DFLG_DEV_FAILED) {
60 ql_log(ql_log_warn, vha, 0x1002,
73 ql_log(ql_log_warn, vha, 0x1003,
81 ql_log(ql_log_warn, vha, 0x1004,
93 ql_log(ql_log_warn, vha, 0x1005,
103 ql_dbg(ql_dbg_mbx, vha, 0x1006,
120 ql_dbg(ql_dbg_mbx, vha, 0x1111,
127 ql_dbg(ql_dbg_mbx, vha, 0x1112,
137 ql_dbg(ql_dbg_mbx + ql_dbg_buffer, vha, 0x1117,
145 ql_dbg(ql_dbg_mbx, vha, 0x100f,
160 ql_dbg(ql_dbg_mbx, vha, 0x1010,
174 ql_dbg(ql_dbg_mbx, vha, 0x117a,
181 ql_dbg(ql_dbg_mbx, vha, 0x1011,
190 ql_dbg(ql_dbg_mbx, vha, 0x1012,
215 ql_dbg(ql_dbg_mbx, vha, 0x1013,
224 ql_dbg(ql_dbg_mbx, vha, 0x1014,
237 ql_log(ql_log_warn, vha, 0x1015,
250 ql_dbg(ql_dbg_mbx, vha, 0x1113,
255 ql_dbg(ql_dbg_mbx, vha, 0x1114,
275 ql_dbg(ql_dbg_mbx + ql_dbg_buffer, vha, 0x1119,
278 ql_dump_regs(ql_dbg_mbx + ql_dbg_buffer, vha, 0x1019);
286 ha->isp_ops->fw_dump(vha, 0);
297 ql_dbg(ql_dbg_mbx, vha, 0x101a,
309 ql_dbg(ql_dbg_mbx, vha, 0x101b,
312 if (!test_bit(ISP_ABORT_NEEDED, &vha->dpc_flags) &&
313 !test_bit(ABORT_ISP_ACTIVE, &vha->dpc_flags) &&
314 !test_bit(ISP_ABORT_RETRY, &vha->dpc_flags)) {
316 ql_dbg(ql_dbg_mbx, vha, 0x112a,
329 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags);
330 qla2xxx_wake_dpc(vha);
334 ql_dbg(ql_dbg_mbx, vha, 0x101d,
337 if (!test_bit(ISP_ABORT_NEEDED, &vha->dpc_flags) &&
338 !test_bit(ABORT_ISP_ACTIVE, &vha->dpc_flags) &&
339 !test_bit(ISP_ABORT_RETRY, &vha->dpc_flags)) {
341 ql_dbg(ql_dbg_mbx, vha, 0x112b,
353 set_bit(ABORT_ISP_ACTIVE, &vha->dpc_flags);
354 clear_bit(ISP_ABORT_NEEDED, &vha->dpc_flags);
357 if (ha->isp_ops->abort_isp(vha)) {
360 &vha->dpc_flags);
362 clear_bit(ABORT_ISP_ACTIVE, &vha->dpc_flags);
363 ql_dbg(ql_dbg_mbx, vha, 0x101f,
387 qla2x00_load_ram(scsi_qla_host_t *vha, dma_addr_t req_dma, uint32_t risc_addr,
391 struct qla_hw_data *ha = vha->hw;
395 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1022,
424 rval = qla2x00_mailbox_command(vha, mcp);
427 ql_dbg(ql_dbg_mbx, vha, 0x1023,
430 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1024,
454 qla2x00_execute_fw(scsi_qla_host_t *vha, uint32_t risc_addr)
457 struct qla_hw_data *ha = vha->hw;
461 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1025,
491 rval = qla2x00_mailbox_command(vha, mcp);
494 ql_dbg(ql_dbg_mbx, vha, 0x1026,
498 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1027,
501 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1028,
526 qla2x00_get_fw_version(scsi_qla_host_t *vha)
531 struct qla_hw_data *ha = vha->hw;
533 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1029,
539 if (IS_QLA81XX(vha->hw) || IS_QLA8031(ha) || IS_QLA8044(ha))
547 rval = qla2x00_mailbox_command(vha, mcp);
556 if (IS_QLA2100(vha->hw) || IS_QLA2200(vha->hw))
560 if (IS_QLA81XX(vha->hw) || IS_QLA8031(vha->hw) || IS_QLA8044(ha)) {
573 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1139,
576 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x112f,
588 ql_dbg(ql_dbg_mbx, vha, 0x102a, "Failed=%x.\n", rval);
591 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x102b,
612 qla2x00_get_fw_options(scsi_qla_host_t *vha, uint16_t *fwopts)
618 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x102c,
626 rval = qla2x00_mailbox_command(vha, mcp);
630 ql_dbg(ql_dbg_mbx, vha, 0x102d, "Failed=%x.\n", rval);
637 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x102e,
660 qla2x00_set_fw_options(scsi_qla_host_t *vha, uint16_t *fwopts)
666 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x102f,
675 if (IS_FWI2_CAPABLE(vha->hw)) {
685 rval = qla2x00_mailbox_command(vha, mcp);
691 ql_dbg(ql_dbg_mbx, vha, 0x1030,
695 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1031,
718 qla2x00_mbx_reg_test(scsi_qla_host_t *vha)
724 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1032,
739 rval = qla2x00_mailbox_command(vha, mcp);
752 ql_dbg(ql_dbg_mbx, vha, 0x1033, "Failed=%x.\n", rval);
755 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1034,
778 qla2x00_verify_checksum(scsi_qla_host_t *vha, uint32_t risc_addr)
784 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1035,
790 if (IS_FWI2_CAPABLE(vha->hw)) {
803 rval = qla2x00_mailbox_command(vha, mcp);
806 ql_dbg(ql_dbg_mbx, vha, 0x1036,
807 "Failed=%x chm sum=%x.\n", rval, IS_FWI2_CAPABLE(vha->hw) ?
810 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1037,
836 qla2x00_issue_iocb_timeout(scsi_qla_host_t *vha, void *buffer,
843 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1038,
856 rval = qla2x00_mailbox_command(vha, mcp);
860 ql_dbg(ql_dbg_mbx, vha, 0x1039, "Failed=%x.\n", rval);
866 IS_FWI2_CAPABLE(vha->hw) ? RF_MASK_24XX : RF_MASK;
867 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x103a,
875 qla2x00_issue_iocb(scsi_qla_host_t *vha, void *buffer, dma_addr_t phys_addr,
878 return qla2x00_issue_iocb_timeout(vha, buffer, phys_addr, size,
905 scsi_qla_host_t *vha = fcport->vha;
906 struct qla_hw_data *ha = vha->hw;
907 struct req_que *req = vha->req;
910 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x103b,
937 rval = qla2x00_mailbox_command(vha, mcp);
940 ql_dbg(ql_dbg_mbx, vha, 0x103c, "Failed=%x.\n", rval);
942 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x103d,
955 scsi_qla_host_t *vha;
960 vha = fcport->vha;
962 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x103e,
965 req = vha->hw->req_q_map[0];
969 if (HAS_EXTENDED_IDS(vha->hw)) {
976 mcp->mb[2] = vha->hw->loop_reset_delay;
977 mcp->mb[9] = vha->vp_idx;
982 rval = qla2x00_mailbox_command(vha, mcp);
984 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x103f,
989 rval2 = qla2x00_marker(vha, req, rsp, fcport->loop_id, 0,
992 ql_dbg(ql_dbg_mbx, vha, 0x1040,
995 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1041,
1008 scsi_qla_host_t *vha;
1012 vha = fcport->vha;
1014 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1042,
1017 req = vha->hw->req_q_map[0];
1021 if (HAS_EXTENDED_IDS(vha->hw))
1027 mcp->mb[9] = vha->vp_idx;
1032 rval = qla2x00_mailbox_command(vha, mcp);
1034 ql_dbg(ql_dbg_mbx, vha, 0x1043, "Failed=%x.\n", rval);
1038 rval2 = qla2x00_marker(vha, req, rsp, fcport->loop_id, l,
1041 ql_dbg(ql_dbg_mbx, vha, 0x1044,
1044 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1045,
1072 qla2x00_get_adapter_id(scsi_qla_host_t *vha, uint16_t *id, uint8_t *al_pa,
1079 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1046,
1083 mcp->mb[9] = vha->vp_idx;
1086 if (IS_CNA_CAPABLE(vha->hw))
1088 if (IS_FWI2_CAPABLE(vha->hw))
1092 rval = qla2x00_mailbox_command(vha, mcp);
1108 ql_dbg(ql_dbg_mbx, vha, 0x1047, "Failed=%x.\n", rval);
1110 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1048,
1113 if (IS_CNA_CAPABLE(vha->hw)) {
1114 vha->fcoe_vlan_id = mcp->mb[9] & 0xfff;
1115 vha->fcoe_fcf_idx = mcp->mb[10];
1116 vha->fcoe_vn_port_mac[5] = mcp->mb[11] >> 8;
1117 vha->fcoe_vn_port_mac[4] = mcp->mb[11] & 0xff;
1118 vha->fcoe_vn_port_mac[3] = mcp->mb[12] >> 8;
1119 vha->fcoe_vn_port_mac[2] = mcp->mb[12] & 0xff;
1120 vha->fcoe_vn_port_mac[1] = mcp->mb[13] >> 8;
1121 vha->fcoe_vn_port_mac[0] = mcp->mb[13] & 0xff;
1125 vha->port_name[0] = MSB(mcp->mb[16]);
1126 vha->port_name[1] = LSB(mcp->mb[16]);
1127 vha->port_name[2] = MSB(mcp->mb[17]);
1128 vha->port_name[3] = LSB(mcp->mb[17]);
1129 vha->port_name[4] = MSB(mcp->mb[18]);
1130 vha->port_name[5] = LSB(mcp->mb[18]);
1131 vha->port_name[6] = MSB(mcp->mb[19]);
1132 vha->port_name[7] = LSB(mcp->mb[19]);
1133 fc_host_port_name(vha->host) =
1134 wwn_to_u64(vha->port_name);
1135 ql_dbg(ql_dbg_mbx, vha, 0x10ca,
1137 wwn_to_u64(vha->port_name));
1160 qla2x00_get_retry_cnt(scsi_qla_host_t *vha, uint8_t *retry_cnt, uint8_t *tov,
1168 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1049,
1176 rval = qla2x00_mailbox_command(vha, mcp);
1180 ql_dbg(ql_dbg_mbx, vha, 0x104a,
1192 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x104b,
1217 qla2x00_init_firmware(scsi_qla_host_t *vha, uint16_t size)
1222 struct qla_hw_data *ha = vha->hw;
1224 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x104c,
1259 rval = qla2x00_mailbox_command(vha, mcp);
1263 ql_dbg(ql_dbg_mbx, vha, 0x104d,
1268 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x104e,
1292 qla2x00_get_node_name_list(scsi_qla_host_t *vha, void **out_data, int *out_len)
1294 struct qla_hw_data *ha = vha->hw;
1308 ql_log(ql_log_warn, vha, 0x113f,
1310 __func__, vha->host_no, dma_size);
1327 rval = qla2x00_mailbox_command(vha, &mc);
1342 ql_log(ql_log_warn, vha, 0x1140,
1344 "structure.\n", __func__, vha->host_no);
1381 qla2x00_get_port_database(scsi_qla_host_t *vha, fc_port_t *fcport, uint8_t opt)
1389 struct qla_hw_data *ha = vha->hw;
1391 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x104f,
1397 ql_log(ql_log_warn, vha, 0x1050,
1410 mcp->mb[9] = vha->vp_idx;
1430 rval = qla2x00_mailbox_command(vha, mcp);
1441 ql_dbg(ql_dbg_mbx, vha, 0x1051,
1485 ql_dbg(ql_dbg_mbx, vha, 0x100a,
1527 ql_dbg(ql_dbg_mbx, vha, 0x1052,
1531 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1053,
1555 qla2x00_get_firmware_state(scsi_qla_host_t *vha, uint16_t *states)
1561 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1054,
1566 if (IS_FWI2_CAPABLE(vha->hw))
1572 rval = qla2x00_mailbox_command(vha, mcp);
1576 if (IS_FWI2_CAPABLE(vha->hw)) {
1586 ql_dbg(ql_dbg_mbx, vha, 0x1055, "Failed=%x.\n", rval);
1589 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1056,
1615 qla2x00_get_port_name(scsi_qla_host_t *vha, uint16_t loop_id, uint8_t *name,
1622 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1057,
1626 mcp->mb[9] = vha->vp_idx;
1628 if (HAS_EXTENDED_IDS(vha->hw)) {
1639 rval = qla2x00_mailbox_command(vha, mcp);
1643 ql_dbg(ql_dbg_mbx, vha, 0x1058, "Failed=%x.\n", rval);
1657 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1059,
1680 qla24xx_link_initialize(scsi_qla_host_t *vha)
1686 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1152,
1689 if (!IS_FWI2_CAPABLE(vha->hw) || IS_CNA_CAPABLE(vha->hw))
1694 if (vha->hw->operating_mode == LOOP)
1704 rval = qla2x00_mailbox_command(vha, mcp);
1707 ql_dbg(ql_dbg_mbx, vha, 0x1153, "Failed=%x.\n", rval);
1709 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1154,
1732 qla2x00_lip_reset(scsi_qla_host_t *vha)
1738 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x105a,
1741 if (IS_CNA_CAPABLE(vha->hw)) {
1747 } else if (IS_FWI2_CAPABLE(vha->hw)) {
1751 mcp->mb[3] = vha->hw->loop_reset_delay;
1756 if (HAS_EXTENDED_IDS(vha->hw)) {
1763 mcp->mb[2] = vha->hw->loop_reset_delay;
1769 rval = qla2x00_mailbox_command(vha, mcp);
1773 ql_dbg(ql_dbg_mbx, vha, 0x105b, "Failed=%x.\n", rval);
1776 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x105c,
1802 qla2x00_send_sns(scsi_qla_host_t *vha, dma_addr_t sns_phys_address,
1809 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x105d,
1812 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x105e,
1814 vha->hw->retry_count, vha->hw->login_timeout, mcp->tov);
1826 mcp->tov = (vha->hw->login_timeout * 2) + (vha->hw->login_timeout / 2);
1827 rval = qla2x00_mailbox_command(vha, mcp);
1831 ql_dbg(ql_dbg_mbx, vha, 0x105f,
1836 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1060,
1844 qla24xx_login_fabric(scsi_qla_host_t *vha, uint16_t loop_id, uint8_t domain,
1852 struct qla_hw_data *ha = vha->hw;
1856 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1061,
1862 req = vha->req;
1867 ql_log(ql_log_warn, vha, 0x1062,
1885 lg->vp_index = vha->vp_idx;
1886 rval = qla2x00_issue_iocb_timeout(vha, lg, lg_dma, 0,
1889 ql_dbg(ql_dbg_mbx, vha, 0x1063,
1892 ql_dbg(ql_dbg_mbx, vha, 0x1064,
1900 ql_dbg(ql_dbg_mbx, vha, 0x1065,
1931 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1066,
1983 qla2x00_login_fabric(scsi_qla_host_t *vha, uint16_t loop_id, uint8_t domain,
1989 struct qla_hw_data *ha = vha->hw;
1991 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1067,
2009 rval = qla2x00_mailbox_command(vha, mcp);
2035 ql_dbg(ql_dbg_mbx, vha, 0x1068,
2040 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1069,
2064 qla2x00_login_local_device(scsi_qla_host_t *vha, fc_port_t *fcport,
2070 struct qla_hw_data *ha = vha->hw;
2072 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x106a,
2076 return qla24xx_login_fabric(vha, fcport->loop_id,
2090 rval = qla2x00_mailbox_command(vha, mcp);
2110 ql_dbg(ql_dbg_mbx, vha, 0x106b,
2115 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x106c,
2123 qla24xx_fabric_logout(scsi_qla_host_t *vha, uint16_t loop_id, uint8_t domain,
2129 struct qla_hw_data *ha = vha->hw;
2133 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x106d,
2138 ql_log(ql_log_warn, vha, 0x106e,
2147 req = vha->req;
2159 lg->vp_index = vha->vp_idx;
2160 rval = qla2x00_issue_iocb_timeout(vha, lg, lg_dma, 0,
2163 ql_dbg(ql_dbg_mbx, vha, 0x106f,
2166 ql_dbg(ql_dbg_mbx, vha, 0x1070,
2171 ql_dbg(ql_dbg_mbx, vha, 0x1071,
2178 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1072,
2204 qla2x00_fabric_logout(scsi_qla_host_t *vha, uint16_t loop_id, uint8_t domain,
2211 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1073,
2216 if (HAS_EXTENDED_IDS(vha->hw)) {
2227 rval = qla2x00_mailbox_command(vha, mcp);
2231 ql_dbg(ql_dbg_mbx, vha, 0x1074,
2235 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1075,
2258 qla2x00_full_login_lip(scsi_qla_host_t *vha)
2264 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1076,
2268 mcp->mb[1] = IS_FWI2_CAPABLE(vha->hw) ? BIT_3 : 0;
2275 rval = qla2x00_mailbox_command(vha, mcp);
2279 ql_dbg(ql_dbg_mbx, vha, 0x1077, "Failed=%x.\n", rval);
2282 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1078,
2302 qla2x00_get_id_list(scsi_qla_host_t *vha, void *id_list, dma_addr_t id_list_dma,
2309 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1079,
2317 if (IS_FWI2_CAPABLE(vha->hw)) {
2323 mcp->mb[9] = vha->vp_idx;
2335 rval = qla2x00_mailbox_command(vha, mcp);
2339 ql_dbg(ql_dbg_mbx, vha, 0x107a, "Failed=%x.\n", rval);
2342 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x107b,
2363 qla2x00_get_resource_cnts(scsi_qla_host_t *vha, uint16_t *cur_xchg_cnt,
2371 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x107c,
2377 if (IS_QLA81XX(vha->hw) || IS_QLA83XX(vha->hw) || IS_QLA27XX(vha->hw))
2381 rval = qla2x00_mailbox_command(vha, mcp);
2385 ql_dbg(ql_dbg_mbx, vha, 0x107d,
2388 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x107e,
2402 if (vha->hw->flags.npiv_supported && max_npiv_vports)
2404 if ((IS_QLA81XX(vha->hw) || IS_QLA83XX(vha->hw)) && max_fcfs)
2426 qla2x00_get_fcal_position_map(scsi_qla_host_t *vha, char *pos_map)
2433 struct qla_hw_data *ha = vha->hw;
2435 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x107f,
2440 ql_log(ql_log_warn, vha, 0x1080,
2456 rval = qla2x00_mailbox_command(vha, mcp);
2459 ql_dbg(ql_dbg_mbx + ql_dbg_buffer, vha, 0x1081,
2462 ql_dump_buffer(ql_dbg_mbx + ql_dbg_buffer, vha, 0x111d,
2471 ql_dbg(ql_dbg_mbx, vha, 0x1082, "Failed=%x.\n", rval);
2473 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1083,
2494 qla2x00_get_link_status(scsi_qla_host_t *vha, uint16_t loop_id,
2501 struct qla_hw_data *ha = vha->hw;
2503 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1084,
2529 rval = qla2x00_mailbox_command(vha, mcp);
2533 ql_dbg(ql_dbg_mbx, vha, 0x1085,
2538 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1086,
2547 ql_dbg(ql_dbg_mbx, vha, 0x1087, "Failed=%x.\n", rval);
2554 qla24xx_get_isp_stats(scsi_qla_host_t *vha, struct link_statistics *stats,
2562 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1088,
2571 mcp->mb[9] = vha->vp_idx;
2577 rval = qla2x00_mailbox_command(vha, mcp);
2581 ql_dbg(ql_dbg_mbx, vha, 0x1089,
2585 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x108a,
2595 ql_dbg(ql_dbg_mbx, vha, 0x108b, "Failed=%x.\n", rval);
2611 struct scsi_qla_host *vha = fcport->vha;
2612 struct qla_hw_data *ha = vha->hw;
2613 struct req_que *req = vha->req;
2615 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x108c,
2634 ql_log(ql_log_warn, vha, 0x108d,
2648 abt->vp_index = fcport->vha->vp_idx;
2652 rval = qla2x00_issue_iocb(vha, abt, abt_dma, 0);
2654 ql_dbg(ql_dbg_mbx, vha, 0x108e,
2657 ql_dbg(ql_dbg_mbx, vha, 0x108f,
2662 ql_dbg(ql_dbg_mbx, vha, 0x1090,
2670 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1091,
2694 scsi_qla_host_t *vha;
2699 vha = fcport->vha;
2700 ha = vha->hw;
2701 req = vha->req;
2703 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1092,
2712 ql_log(ql_log_warn, vha, 0x1093,
2727 tsk->p.tsk.vp_index = fcport->vha->vp_idx;
2735 rval = qla2x00_issue_iocb(vha, tsk, tsk_dma, 0);
2737 ql_dbg(ql_dbg_mbx, vha, 0x1094,
2740 ql_dbg(ql_dbg_mbx, vha, 0x1095,
2746 ql_dbg(ql_dbg_mbx, vha, 0x1096,
2753 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1097,
2758 ql_dbg(ql_dbg_mbx, vha, 0x1098,
2766 rval2 = qla2x00_marker(vha, req, rsp, fcport->loop_id, l,
2769 ql_dbg(ql_dbg_mbx, vha, 0x1099,
2772 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x109a,
2784 struct qla_hw_data *ha = fcport->vha->hw;
2795 struct qla_hw_data *ha = fcport->vha->hw;
2804 qla2x00_system_error(scsi_qla_host_t *vha)
2809 struct qla_hw_data *ha = vha->hw;
2814 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x109b,
2822 rval = qla2x00_mailbox_command(vha, mcp);
2825 ql_dbg(ql_dbg_mbx, vha, 0x109c, "Failed=%x.\n", rval);
2827 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x109d,
2835 qla2x00_write_serdes_word(scsi_qla_host_t *vha, uint16_t addr, uint16_t data)
2841 if (!IS_QLA2031(vha->hw))
2844 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1182,
2855 rval = qla2x00_mailbox_command(vha, mcp);
2858 ql_dbg(ql_dbg_mbx, vha, 0x1183,
2861 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1184,
2869 qla2x00_read_serdes_word(scsi_qla_host_t *vha, uint16_t addr, uint16_t *data)
2875 if (!IS_QLA2031(vha->hw))
2878 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1185,
2888 rval = qla2x00_mailbox_command(vha, mcp);
2893 ql_dbg(ql_dbg_mbx, vha, 0x1186,
2896 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1187,
2904 qla8044_write_serdes_word(scsi_qla_host_t *vha, uint32_t addr, uint32_t data)
2910 if (!IS_QLA8044(vha->hw))
2913 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1186,
2926 rval = qla2x00_mailbox_command(vha, mcp);
2929 ql_dbg(ql_dbg_mbx, vha, 0x1187,
2932 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1188,
2940 qla8044_read_serdes_word(scsi_qla_host_t *vha, uint32_t addr, uint32_t *data)
2946 if (!IS_QLA8044(vha->hw))
2949 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1189,
2960 rval = qla2x00_mailbox_command(vha, mcp);
2965 ql_dbg(ql_dbg_mbx, vha, 0x118a,
2968 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x118b,
2982 qla2x00_set_serdes_params(scsi_qla_host_t *vha, uint16_t sw_em_1g,
2989 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x109e,
3001 rval = qla2x00_mailbox_command(vha, mcp);
3005 ql_dbg(ql_dbg_mbx, vha, 0x109f,
3009 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10a0,
3017 qla2x00_stop_firmware(scsi_qla_host_t *vha)
3023 if (!IS_FWI2_CAPABLE(vha->hw))
3026 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10a1,
3035 rval = qla2x00_mailbox_command(vha, mcp);
3038 ql_dbg(ql_dbg_mbx, vha, 0x10a2, "Failed=%x.\n", rval);
3042 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10a3,
3050 qla2x00_enable_eft_trace(scsi_qla_host_t *vha, dma_addr_t eft_dma,
3057 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10a4,
3060 if (!IS_FWI2_CAPABLE(vha->hw))
3063 if (unlikely(pci_channel_offline(vha->hw->pdev)))
3078 rval = qla2x00_mailbox_command(vha, mcp);
3080 ql_dbg(ql_dbg_mbx, vha, 0x10a5,
3084 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10a6,
3092 qla2x00_disable_eft_trace(scsi_qla_host_t *vha)
3098 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10a7,
3101 if (!IS_FWI2_CAPABLE(vha->hw))
3104 if (unlikely(pci_channel_offline(vha->hw->pdev)))
3113 rval = qla2x00_mailbox_command(vha, mcp);
3115 ql_dbg(ql_dbg_mbx, vha, 0x10a8,
3119 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10a9,
3127 qla2x00_enable_fce_trace(scsi_qla_host_t *vha, dma_addr_t fce_dma,
3134 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10aa,
3137 if (!IS_QLA25XX(vha->hw) && !IS_QLA81XX(vha->hw) &&
3138 !IS_QLA83XX(vha->hw) && !IS_QLA27XX(vha->hw))
3141 if (unlikely(pci_channel_offline(vha->hw->pdev)))
3160 rval = qla2x00_mailbox_command(vha, mcp);
3162 ql_dbg(ql_dbg_mbx, vha, 0x10ab,
3166 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10ac,
3179 qla2x00_disable_fce_trace(scsi_qla_host_t *vha, uint64_t *wr, uint64_t *rd)
3185 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10ad,
3188 if (!IS_FWI2_CAPABLE(vha->hw))
3191 if (unlikely(pci_channel_offline(vha->hw->pdev)))
3202 rval = qla2x00_mailbox_command(vha, mcp);
3204 ql_dbg(ql_dbg_mbx, vha, 0x10ae,
3208 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10af,
3227 qla2x00_get_idma_speed(scsi_qla_host_t *vha, uint16_t loop_id,
3234 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10b0,
3237 if (!IS_IIDMA_CAPABLE(vha->hw))
3243 mcp->mb[9] = vha->vp_idx;
3248 rval = qla2x00_mailbox_command(vha, mcp);
3258 ql_dbg(ql_dbg_mbx, vha, 0x10b1, "Failed=%x.\n", rval);
3260 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10b2,
3270 qla2x00_set_idma_speed(scsi_qla_host_t *vha, uint16_t loop_id,
3277 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10b3,
3280 if (!IS_IIDMA_CAPABLE(vha->hw))
3286 if (IS_CNA_CAPABLE(vha->hw))
3290 mcp->mb[9] = vha->vp_idx;
3295 rval = qla2x00_mailbox_command(vha, mcp);
3305 ql_dbg(ql_dbg_mbx, vha, 0x10b4,
3308 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10b5,
3316 qla24xx_report_id_acquisition(scsi_qla_host_t *vha,
3321 struct qla_hw_data *ha = vha->hw;
3326 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10b6,
3333 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10b7,
3338 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10b8,
3344 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10b9,
3358 memcpy(vha->port_name, wwpn, WWN_SIZE);
3359 fc_host_port_name(vha->host) =
3360 wwn_to_u64(vha->port_name);
3361 ql_dbg(ql_dbg_mbx, vha, 0x1018,
3363 fc_host_port_name(vha->host), MSB(stat));
3366 vp = vha;
3371 ql_dbg(ql_dbg_mbx, vha, 0x10ba,
3402 set_bit(VP_DPC_NEEDED, &vha->dpc_flags);
3403 qla2xxx_wake_dpc(vha);
3409 * Change VP configuration for vha
3412 * vha = adapter block pointer.
3421 qla24xx_modify_vp_config(scsi_qla_host_t *vha)
3426 struct qla_hw_data *ha = vha->hw;
3431 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10bb,
3436 ql_log(ql_log_warn, vha, 0x10bc,
3446 vpmod->vp_index1 = vha->vp_idx;
3449 qlt_modify_vp_config(vha, vpmod);
3451 memcpy(vpmod->node_name_idx1, vha->node_name, WWN_SIZE);
3452 memcpy(vpmod->port_name_idx1, vha->port_name, WWN_SIZE);
3457 ql_dbg(ql_dbg_mbx, vha, 0x10bd,
3460 ql_dbg(ql_dbg_mbx, vha, 0x10be,
3465 ql_dbg(ql_dbg_mbx, vha, 0x10bf,
3471 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10c0,
3473 fc_vport_set_state(vha->fc_vport, FC_VPORT_INITIALIZING);
3496 qla24xx_control_vp(scsi_qla_host_t *vha, int cmd)
3502 struct qla_hw_data *ha = vha->hw;
3503 int vp_index = vha->vp_idx;
3506 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10c1,
3514 ql_log(ql_log_warn, vha, 0x10c2,
3536 ql_dbg(ql_dbg_mbx, vha, 0x10c3,
3539 ql_dbg(ql_dbg_mbx, vha, 0x10c4,
3544 ql_dbg(ql_dbg_mbx, vha, 0x10c5,
3549 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10c6,
3580 qla2x00_send_change_request(scsi_qla_host_t *vha, uint16_t format,
3587 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10c7,
3597 rval = qla2x00_mailbox_command(vha, mcp);
3610 qla2x00_dump_ram(scsi_qla_host_t *vha, dma_addr_t req_dma, uint32_t addr,
3617 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1009,
3620 if (MSW(addr) || IS_FWI2_CAPABLE(vha->hw)) {
3634 if (IS_FWI2_CAPABLE(vha->hw)) {
3646 rval = qla2x00_mailbox_command(vha, mcp);
3649 ql_dbg(ql_dbg_mbx, vha, 0x1008,
3652 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1007,
3668 qla84xx_verify_chip(struct scsi_qla_host *vha, uint16_t *status)
3675 struct qla_hw_data *ha = vha->hw;
3677 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10c8,
3699 ql_dbg(ql_dbg_mbx + ql_dbg_buffer, vha, 0x111c,
3701 ql_dump_buffer(ql_dbg_mbx + ql_dbg_buffer, vha, 0x111e,
3704 rval = qla2x00_issue_iocb_timeout(vha, mn, mn_dma, 0, 120);
3706 ql_dbg(ql_dbg_mbx, vha, 0x10cb,
3711 ql_dbg(ql_dbg_mbx + ql_dbg_buffer, vha, 0x1110,
3713 ql_dump_buffer(ql_dbg_mbx + ql_dbg_buffer, vha, 0x1118,
3719 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10ce,
3725 ql_dbg(ql_dbg_mbx, vha, 0x10cf,
3733 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10d0,
3750 ql_dbg(ql_dbg_mbx, vha, 0x10d1,
3753 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10d2,
3761 qla25xx_init_req_que(struct scsi_qla_host *vha, struct req_que *req)
3767 struct qla_hw_data *ha = vha->hw;
3769 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10d3,
3817 rval = qla2x00_mailbox_command(vha, mcp);
3819 ql_dbg(ql_dbg_mbx, vha, 0x10d4,
3822 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10d5,
3830 qla25xx_init_rsp_que(struct scsi_qla_host *vha, struct rsp_que *rsp)
3836 struct qla_hw_data *ha = vha->hw;
3838 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10d6,
3886 rval = qla2x00_mailbox_command(vha, mcp);
3888 ql_dbg(ql_dbg_mbx, vha, 0x10d7,
3891 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10d8,
3899 qla81xx_idc_ack(scsi_qla_host_t *vha, uint16_t *mb)
3905 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10d9,
3914 rval = qla2x00_mailbox_command(vha, mcp);
3917 ql_dbg(ql_dbg_mbx, vha, 0x10da,
3920 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10db,
3928 qla81xx_fac_get_sector_size(scsi_qla_host_t *vha, uint32_t *sector_size)
3934 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10dc,
3937 if (!IS_QLA81XX(vha->hw) && !IS_QLA83XX(vha->hw) &&
3938 !IS_QLA27XX(vha->hw))
3947 rval = qla2x00_mailbox_command(vha, mcp);
3950 ql_dbg(ql_dbg_mbx, vha, 0x10dd,
3954 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10de,
3963 qla81xx_fac_do_write_enable(scsi_qla_host_t *vha, int enable)
3969 if (!IS_QLA81XX(vha->hw) && !IS_QLA83XX(vha->hw) &&
3970 !IS_QLA27XX(vha->hw))
3973 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10df,
3983 rval = qla2x00_mailbox_command(vha, mcp);
3986 ql_dbg(ql_dbg_mbx, vha, 0x10e0,
3990 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10e1,
3998 qla81xx_fac_erase_sector(scsi_qla_host_t *vha, uint32_t start, uint32_t finish)
4004 if (!IS_QLA81XX(vha->hw) && !IS_QLA83XX(vha->hw) &&
4005 !IS_QLA27XX(vha->hw))
4008 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10e2,
4021 rval = qla2x00_mailbox_command(vha, mcp);
4024 ql_dbg(ql_dbg_mbx, vha, 0x10e3,
4028 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10e4,
4036 qla81xx_restart_mpi_firmware(scsi_qla_host_t *vha)
4042 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10e5,
4050 rval = qla2x00_mailbox_command(vha, mcp);
4053 ql_dbg(ql_dbg_mbx, vha, 0x10e6,
4057 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10e7,
4065 qla82xx_set_driver_version(scsi_qla_host_t *vha, char *version)
4073 struct qla_hw_data *ha = vha->hw;
4078 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x117b,
4098 rval = qla2x00_mailbox_command(vha, mcp);
4101 ql_dbg(ql_dbg_mbx, vha, 0x117c,
4104 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x117d,
4112 qla25xx_set_driver_version(scsi_qla_host_t *vha, char *version)
4121 struct qla_hw_data *ha = vha->hw;
4127 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x117e,
4132 ql_log(ql_log_warn, vha, 0x117f,
4155 rval = qla2x00_mailbox_command(vha, mcp);
4158 ql_dbg(ql_dbg_mbx, vha, 0x1180,
4161 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1181,
4171 qla2x00_read_asic_temperature(scsi_qla_host_t *vha, uint16_t *temp)
4177 if (!IS_FWI2_CAPABLE(vha->hw))
4180 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1159,
4189 rval = qla2x00_mailbox_command(vha, mcp);
4193 ql_dbg(ql_dbg_mbx, vha, 0x115a,
4196 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x115b,
4204 qla2x00_read_sfp(scsi_qla_host_t *vha, dma_addr_t sfp_dma, uint8_t *sfp,
4210 struct qla_hw_data *ha = vha->hw;
4212 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10e8,
4234 rval = qla2x00_mailbox_command(vha, mcp);
4240 ql_dbg(ql_dbg_mbx, vha, 0x10e9,
4243 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10ea,
4251 qla2x00_write_sfp(scsi_qla_host_t *vha, dma_addr_t sfp_dma, uint8_t *sfp,
4257 struct qla_hw_data *ha = vha->hw;
4259 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10eb,
4284 rval = qla2x00_mailbox_command(vha, mcp);
4287 ql_dbg(ql_dbg_mbx, vha, 0x10ec,
4290 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10ed,
4298 qla2x00_get_xgmac_stats(scsi_qla_host_t *vha, dma_addr_t stats_dma,
4305 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10ee,
4308 if (!IS_CNA_CAPABLE(vha->hw))
4321 rval = qla2x00_mailbox_command(vha, mcp);
4324 ql_dbg(ql_dbg_mbx, vha, 0x10ef,
4328 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10f0,
4339 qla2x00_get_dcbx_params(scsi_qla_host_t *vha, dma_addr_t tlv_dma,
4346 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10f1,
4349 if (!IS_CNA_CAPABLE(vha->hw))
4363 rval = qla2x00_mailbox_command(vha, mcp);
4366 ql_dbg(ql_dbg_mbx, vha, 0x10f2,
4370 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10f3,
4378 qla2x00_read_ram_word(scsi_qla_host_t *vha, uint32_t risc_addr, uint32_t *data)
4384 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10f4,
4387 if (!IS_FWI2_CAPABLE(vha->hw))
4397 rval = qla2x00_mailbox_command(vha, mcp);
4399 ql_dbg(ql_dbg_mbx, vha, 0x10f5,
4402 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10f6,
4411 qla2x00_loopback_test(scsi_qla_host_t *vha, struct msg_echo_lb *mreq,
4418 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10f7,
4447 if (IS_CNA_CAPABLE(vha->hw))
4455 rval = qla2x00_mailbox_command(vha, mcp);
4458 ql_dbg(ql_dbg_mbx, vha, 0x10f8,
4463 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10f9,
4473 qla2x00_echo_test(scsi_qla_host_t *vha, struct msg_echo_lb *mreq,
4479 struct qla_hw_data *ha = vha->hw;
4481 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10fa,
4489 mcp->mb[2] = vha->fcoe_fcf_idx;
4519 rval = qla2x00_mailbox_command(vha, mcp);
4522 ql_dbg(ql_dbg_mbx, vha, 0x10fb,
4526 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10fc,
4536 qla84xx_reset_chip(scsi_qla_host_t *vha, uint16_t enable_diagnostic)
4542 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10fd,
4551 rval = qla2x00_mailbox_command(vha, mcp);
4554 ql_dbg(ql_dbg_mbx, vha, 0x10fe, "Failed=%x.\n", rval);
4556 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10ff,
4563 qla2x00_write_ram_word(scsi_qla_host_t *vha, uint32_t risc_addr, uint32_t data)
4569 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1100,
4572 if (!IS_FWI2_CAPABLE(vha->hw))
4584 rval = qla2x00_mailbox_command(vha, mcp);
4586 ql_dbg(ql_dbg_mbx, vha, 0x1101,
4589 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1102,
4597 qla81xx_write_mpi_register(scsi_qla_host_t *vha, uint16_t *mb)
4602 struct qla_hw_data *ha = vha->hw;
4607 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1103,
4648 ql_dbg(ql_dbg_mbx, vha, 0x1104,
4651 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1105,
4659 qla2x00_get_data_rate(scsi_qla_host_t *vha)
4664 struct qla_hw_data *ha = vha->hw;
4666 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1106,
4680 rval = qla2x00_mailbox_command(vha, mcp);
4682 ql_dbg(ql_dbg_mbx, vha, 0x1107,
4685 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1108,
4695 qla81xx_get_port_config(scsi_qla_host_t *vha, uint16_t *mb)
4700 struct qla_hw_data *ha = vha->hw;
4702 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1109,
4714 rval = qla2x00_mailbox_command(vha, mcp);
4717 ql_dbg(ql_dbg_mbx, vha, 0x110a,
4723 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x110b,
4730 qla81xx_set_port_config(scsi_qla_host_t *vha, uint16_t *mb)
4736 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x110c,
4746 rval = qla2x00_mailbox_command(vha, mcp);
4749 ql_dbg(ql_dbg_mbx, vha, 0x110d,
4752 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x110e,
4760 qla24xx_set_fcp_prio(scsi_qla_host_t *vha, uint16_t loop_id, uint16_t priority,
4766 struct qla_hw_data *ha = vha->hw;
4768 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x110f,
4781 mcp->mb[9] = vha->vp_idx;
4786 rval = qla2x00_mailbox_command(vha, mcp);
4795 ql_dbg(ql_dbg_mbx, vha, 0x10cd, "Failed=%x.\n", rval);
4797 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10cc,
4805 qla2x00_get_thermal_temp(scsi_qla_host_t *vha, uint16_t *temp)
4808 struct qla_hw_data *ha = vha->hw;
4812 ql_dbg(ql_dbg_mbx, vha, 0x1150,
4820 rval = qla2x00_read_sfp(vha, 0, &byte,
4827 rval = qla2x00_read_sfp(vha, 0, &byte,
4832 ql_dbg(ql_dbg_mbx, vha, 0x10c9,
4838 *temp = qla82xx_read_temperature(vha);
4842 *temp = qla8044_read_temperature(vha);
4847 rval = qla2x00_read_asic_temperature(vha, temp);
4852 qla82xx_mbx_intr_enable(scsi_qla_host_t *vha)
4855 struct qla_hw_data *ha = vha->hw;
4859 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1017,
4874 rval = qla2x00_mailbox_command(vha, mcp);
4876 ql_dbg(ql_dbg_mbx, vha, 0x1016,
4879 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x100e,
4887 qla82xx_mbx_intr_disable(scsi_qla_host_t *vha)
4890 struct qla_hw_data *ha = vha->hw;
4894 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x100d,
4909 rval = qla2x00_mailbox_command(vha, mcp);
4911 ql_dbg(ql_dbg_mbx, vha, 0x100c,
4914 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x100b,
4922 qla82xx_md_get_template_size(scsi_qla_host_t *vha)
4924 struct qla_hw_data *ha = vha->hw;
4929 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x111f,
4944 rval = qla2x00_mailbox_command(vha, mcp);
4948 ql_dbg(ql_dbg_mbx, vha, 0x1120,
4953 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1121,
4957 ql_dbg(ql_dbg_mbx, vha, 0x1122,
4966 qla82xx_md_get_template(scsi_qla_host_t *vha)
4968 struct qla_hw_data *ha = vha->hw;
4973 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1123,
4979 ql_log(ql_log_warn, vha, 0x1124,
5001 rval = qla2x00_mailbox_command(vha, mcp);
5004 ql_dbg(ql_dbg_mbx, vha, 0x1125,
5009 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1126,
5015 qla8044_md_get_template(scsi_qla_host_t *vha)
5017 struct qla_hw_data *ha = vha->hw;
5022 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0xb11f,
5028 ql_log(ql_log_warn, vha, 0xb11b,
5052 rval = qla2x00_mailbox_command(vha, mcp);
5055 ql_dbg(ql_dbg_mbx, vha, 0xb11c,
5061 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0xb11d,
5069 qla81xx_set_led_config(scsi_qla_host_t *vha, uint16_t *led_cfg)
5072 struct qla_hw_data *ha = vha->hw;
5079 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1133,
5100 rval = qla2x00_mailbox_command(vha, mcp);
5102 ql_dbg(ql_dbg_mbx, vha, 0x1134,
5105 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1135,
5113 qla81xx_get_led_config(scsi_qla_host_t *vha, uint16_t *led_cfg)
5116 struct qla_hw_data *ha = vha->hw;
5123 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1136,
5136 rval = qla2x00_mailbox_command(vha, mcp);
5138 ql_dbg(ql_dbg_mbx, vha, 0x1137,
5149 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1138,
5157 qla82xx_mbx_beacon_ctl(scsi_qla_host_t *vha, int enable)
5160 struct qla_hw_data *ha = vha->hw;
5167 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1127,
5182 rval = qla2x00_mailbox_command(vha, mcp);
5184 ql_dbg(ql_dbg_mbx, vha, 0x1128,
5187 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1129,
5195 qla83xx_wr_reg(scsi_qla_host_t *vha, uint32_t reg, uint32_t data)
5198 struct qla_hw_data *ha = vha->hw;
5205 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1130,
5218 rval = qla2x00_mailbox_command(vha, mcp);
5221 ql_dbg(ql_dbg_mbx, vha, 0x1131,
5224 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1132,
5232 qla2x00_port_logout(scsi_qla_host_t *vha, struct fc_port *fcport)
5235 struct qla_hw_data *ha = vha->hw;
5240 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x113b,
5246 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x113c,
5257 rval = qla2x00_mailbox_command(vha, mcp);
5259 ql_dbg(ql_dbg_mbx, vha, 0x113d,
5262 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x113e,
5269 qla83xx_rd_reg(scsi_qla_host_t *vha, uint32_t reg, uint32_t *data)
5274 struct qla_hw_data *ha = vha->hw;
5280 ql_dbg(ql_dbg_mbx, vha, 0x114b, "Entered %s.\n", __func__);
5290 rval = qla2x00_mailbox_command(vha, mcp);
5293 ql_dbg(ql_dbg_mbx, vha, 0x114c,
5305 ql_dbg(ql_dbg_mbx, vha, 0x1141,
5313 ql_dbg(ql_dbg_mbx, vha, 0x1142, "Done %s.\n", __func__);
5320 qla83xx_restart_nic_firmware(scsi_qla_host_t *vha)
5325 struct qla_hw_data *ha = vha->hw;
5330 ql_dbg(ql_dbg_mbx, vha, 0x1143, "Entered %s.\n", __func__);
5337 rval = qla2x00_mailbox_command(vha, mcp);
5340 ql_dbg(ql_dbg_mbx, vha, 0x1144,
5343 ha->isp_ops->fw_dump(vha, 0);
5345 ql_dbg(ql_dbg_mbx, vha, 0x1145, "Done %s.\n", __func__);
5352 qla83xx_access_control(scsi_qla_host_t *vha, uint16_t options,
5359 struct qla_hw_data *ha = vha->hw;
5364 ql_dbg(ql_dbg_mbx, vha, 0x1146, "Entered %s.\n", __func__);
5381 rval = qla2x00_mailbox_command(vha, mcp);
5384 ql_dbg(ql_dbg_mbx, vha, 0x1147,
5388 ha->isp_ops->fw_dump(vha, 0);
5393 ql_dbg(ql_dbg_mbx, vha, 0x1148,
5396 ql_dbg(ql_dbg_mbx, vha, 0x1149,
5399 ql_dbg(ql_dbg_mbx, vha, 0x114a, "Done %s.\n", __func__);
5406 qla2x00_dump_mctp_data(scsi_qla_host_t *vha, dma_addr_t req_dma, uint32_t addr,
5413 if (!IS_MCTP_CAPABLE(vha->hw))
5416 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x114f,
5439 rval = qla2x00_mailbox_command(vha, mcp);
5442 ql_dbg(ql_dbg_mbx, vha, 0x114e,
5445 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x114d,