51 static uint32_t ql_dbg_offset = 0x800;
101 dwords = qla2x00_gid_list_size(ha) / 4;
102 for (cnt = 0; cnt < ram_dwords && rval ==
QLA_SUCCESS;
103 cnt += dwords, addr += dwords) {
104 if (cnt + dwords > ram_dwords)
105 dwords = ram_dwords -
cnt;
119 for (timer = 6000000;
timer; timer--) {
125 if (stat == 0x1 || stat == 0x2 ||
126 stat == 0x10 || stat == 0x11) {
147 for (idx = 0; idx < dwords; idx++)
148 ram[cnt + idx] =
swab32(dump[idx]);
165 rval = qla24xx_dump_ram(ha, 0x20000, code_ram, cram_size / 4, nxt);
170 return qla24xx_dump_ram(ha, 0x100000, *nxt,
181 dmp_reg = ®->iobase_window;
217 for (cnt = 0; cnt < 30000; cnt++) {
231 for (cnt = 10000 ; cnt && mb0; cnt--) {
238 for (cnt = 0; cnt < 30000; cnt++) {
276 words = qla2x00_gid_list_size(ha) / 2;
277 for (cnt = 0; cnt < ram_words && rval ==
QLA_SUCCESS;
278 cnt += words, addr += words) {
279 if (cnt + words > ram_words)
280 words = ram_words -
cnt;
293 for (timer = 6000000;
timer; timer--) {
299 if (stat == 0x1 || stat == 0x2) {
311 }
else if (stat == 0x10 || stat == 0x11) {
332 for (idx = 0; idx < words; idx++)
333 ram[cnt + idx] =
swab16(dump[idx]);
373 *last_chain = &fcec->
type;
381 iter_reg = fcec->
eregs;
382 for (cnt = 0; cnt < 8; cnt++)
387 return (
char *)iter_reg +
ntohl(fcec->
size);
391 qla2xxx_copy_atioqueues(
struct qla_hw_data *ha,
void *ptr,
403 if (!ha->
tgt.atio_q_length)
408 aqp->length = ha->
tgt.atio_q_length;
409 aqp->ring = ha->
tgt.atio_ring;
414 *last_chain = &q->
type;
458 *last_chain = &q->
type;
486 *last_chain = &q->
type;
521 *last_chain = &mq->
type;
528 for (cnt = 0; cnt < que_cnt; cnt++) {
548 "Failed to dump firmware (%x).\n", rval);
552 "Firmware dump saved to temp buffer (%ld/%p).\n",
579 if (!hardware_locked)
584 "No buffer available for dump.\n");
585 goto qla2300_fw_dump_failed;
590 "Firmware has been previously dumped (%p) "
591 "-- ignoring request.\n",
593 goto qla2300_fw_dump_failed;
596 qla2xxx_prep_dump(ha, ha->
fw_dump);
619 for (cnt = 0; cnt <
sizeof(fw->
pbiu_reg) / 2; cnt++)
627 for (cnt = 0; cnt <
sizeof(fw->
mailbox_reg) / 2; cnt++)
634 qla2xxx_read_window(reg, 48, fw->
dma_reg);
638 for (cnt = 0; cnt <
sizeof(fw->
risc_hdw_reg) / 2; cnt++)
676 for (cnt = 0; cnt < 30000; cnt++) {
697 rval = qla2xxx_dump_ram(ha, 0x800, fw->
risc_ram,
702 rval = qla2xxx_dump_ram(ha, 0x10000, fw->
stack_ram,
707 rval = qla2xxx_dump_ram(ha, 0x11000, fw->
data_ram,
711 qla2xxx_copy_queues(ha, nxt);
715 qla2300_fw_dump_failed:
716 if (!hardware_locked)
717 spin_unlock_irqrestore(&ha->hardware_lock, flags);
743 if (!hardware_locked)
748 "No buffer available for dump.\n");
749 goto qla2100_fw_dump_failed;
754 "Firmware has been previously dumped (%p) "
755 "-- ignoring request.\n",
757 goto qla2100_fw_dump_failed;
760 qla2xxx_prep_dump(ha, ha->
fw_dump);
776 for (cnt = 0; cnt <
sizeof(fw->
pbiu_reg) / 2; cnt++)
780 for (cnt = 0; cnt < ha->
mbx_count; cnt++) {
788 for (cnt = 0; cnt <
sizeof(fw->
dma_reg) / 2; cnt++)
793 for (cnt = 0; cnt <
sizeof(fw->
risc_hdw_reg) / 2; cnt++)
869 risc_address = 0x1000;
874 cnt++, risc_address++) {
878 for (timer = 6000000; timer != 0; timer--) {
909 qla2xxx_copy_queues(ha, &fw->
risc_ram[cnt]);
913 qla2100_fw_dump_failed:
914 if (!hardware_locked)
915 spin_unlock_irqrestore(&ha->hardware_lock, flags);
940 risc_address = ext_mem_cnt = 0;
943 if (!hardware_locked)
948 "No buffer available for dump.\n");
949 goto qla24xx_fw_dump_failed;
954 "Firmware has been previously dumped (%p) "
955 "-- ignoring request.\n",
957 goto qla24xx_fw_dump_failed;
960 qla2xxx_prep_dump(ha, ha->
fw_dump);
965 rval = qla24xx_pause_risc(reg);
967 goto qla24xx_fw_dump_failed_0;
971 for (cnt = 0; cnt <
sizeof(fw->
host_reg) / 4; cnt++)
1004 for (cnt = 0; cnt <
sizeof(fw->
mailbox_reg) / 2; cnt++)
1009 iter_reg = qla24xx_read_window(reg, 0xBF00, 16, iter_reg);
1010 iter_reg = qla24xx_read_window(reg, 0xBF10, 16, iter_reg);
1011 iter_reg = qla24xx_read_window(reg, 0xBF20, 16, iter_reg);
1012 iter_reg = qla24xx_read_window(reg, 0xBF30, 16, iter_reg);
1013 iter_reg = qla24xx_read_window(reg, 0xBF40, 16, iter_reg);
1014 iter_reg = qla24xx_read_window(reg, 0xBF50, 16, iter_reg);
1015 iter_reg = qla24xx_read_window(reg, 0xBF60, 16, iter_reg);
1016 qla24xx_read_window(reg, 0xBF70, 16, iter_reg);
1018 qla24xx_read_window(reg, 0xBFE0, 16, fw->
xseq_0_reg);
1019 qla24xx_read_window(reg, 0xBFF0, 16, fw->
xseq_1_reg);
1023 iter_reg = qla24xx_read_window(reg, 0xFF00, 16, iter_reg);
1024 iter_reg = qla24xx_read_window(reg, 0xFF10, 16, iter_reg);
1025 iter_reg = qla24xx_read_window(reg, 0xFF20, 16, iter_reg);
1026 iter_reg = qla24xx_read_window(reg, 0xFF30, 16, iter_reg);
1027 iter_reg = qla24xx_read_window(reg, 0xFF40, 16, iter_reg);
1028 iter_reg = qla24xx_read_window(reg, 0xFF50, 16, iter_reg);
1029 iter_reg = qla24xx_read_window(reg, 0xFF60, 16, iter_reg);
1030 qla24xx_read_window(reg, 0xFF70, 16, iter_reg);
1032 qla24xx_read_window(reg, 0xFFD0, 16, fw->
rseq_0_reg);
1033 qla24xx_read_window(reg, 0xFFE0, 16, fw->
rseq_1_reg);
1034 qla24xx_read_window(reg, 0xFFF0, 16, fw->
rseq_2_reg);
1037 qla24xx_read_window(reg, 0x7100, 16, fw->
cmd_dma_reg);
1041 iter_reg = qla24xx_read_window(reg, 0x7200, 8, iter_reg);
1043 for (cnt = 0; cnt < 7; cnt++)
1047 iter_reg = qla24xx_read_window(reg, 0x7300, 8, iter_reg);
1049 for (cnt = 0; cnt < 7; cnt++)
1053 iter_reg = qla24xx_read_window(reg, 0x7400, 8, iter_reg);
1055 for (cnt = 0; cnt < 7; cnt++)
1060 iter_reg = qla24xx_read_window(reg, 0x7600, 16, iter_reg);
1061 qla24xx_read_window(reg, 0x7610, 16, iter_reg);
1064 iter_reg = qla24xx_read_window(reg, 0x7620, 16, iter_reg);
1065 qla24xx_read_window(reg, 0x7630, 16, iter_reg);
1068 iter_reg = qla24xx_read_window(reg, 0x7640, 16, iter_reg);
1069 qla24xx_read_window(reg, 0x7650, 16, iter_reg);
1072 iter_reg = qla24xx_read_window(reg, 0x7660, 16, iter_reg);
1073 qla24xx_read_window(reg, 0x7670, 16, iter_reg);
1076 iter_reg = qla24xx_read_window(reg, 0x7680, 16, iter_reg);
1077 qla24xx_read_window(reg, 0x7690, 16, iter_reg);
1083 iter_reg = qla24xx_read_window(reg, 0x7700, 16, iter_reg);
1084 qla24xx_read_window(reg, 0x7710, 16, iter_reg);
1087 iter_reg = qla24xx_read_window(reg, 0x7720, 16, iter_reg);
1088 qla24xx_read_window(reg, 0x7730, 16, iter_reg);
1092 iter_reg = qla24xx_read_window(reg, 0x0F00, 16, iter_reg);
1093 iter_reg = qla24xx_read_window(reg, 0x0F10, 16, iter_reg);
1094 iter_reg = qla24xx_read_window(reg, 0x0F20, 16, iter_reg);
1095 iter_reg = qla24xx_read_window(reg, 0x0F30, 16, iter_reg);
1096 iter_reg = qla24xx_read_window(reg, 0x0F40, 16, iter_reg);
1097 iter_reg = qla24xx_read_window(reg, 0x0F50, 16, iter_reg);
1098 iter_reg = qla24xx_read_window(reg, 0x0F60, 16, iter_reg);
1099 qla24xx_read_window(reg, 0x0F70, 16, iter_reg);
1103 iter_reg = qla24xx_read_window(reg, 0x3000, 16, iter_reg);
1104 iter_reg = qla24xx_read_window(reg, 0x3010, 16, iter_reg);
1105 iter_reg = qla24xx_read_window(reg, 0x3020, 16, iter_reg);
1106 iter_reg = qla24xx_read_window(reg, 0x3030, 16, iter_reg);
1107 iter_reg = qla24xx_read_window(reg, 0x3040, 16, iter_reg);
1108 iter_reg = qla24xx_read_window(reg, 0x3050, 16, iter_reg);
1109 qla24xx_read_window(reg, 0x3060, 16, iter_reg);
1113 iter_reg = qla24xx_read_window(reg, 0x4000, 16, iter_reg);
1114 iter_reg = qla24xx_read_window(reg, 0x4010, 16, iter_reg);
1115 iter_reg = qla24xx_read_window(reg, 0x4020, 16, iter_reg);
1116 iter_reg = qla24xx_read_window(reg, 0x4030, 16, iter_reg);
1117 iter_reg = qla24xx_read_window(reg, 0x4040, 16, iter_reg);
1118 iter_reg = qla24xx_read_window(reg, 0x4050, 16, iter_reg);
1119 iter_reg = qla24xx_read_window(reg, 0x4060, 16, iter_reg);
1120 iter_reg = qla24xx_read_window(reg, 0x4070, 16, iter_reg);
1121 iter_reg = qla24xx_read_window(reg, 0x4080, 16, iter_reg);
1122 iter_reg = qla24xx_read_window(reg, 0x4090, 16, iter_reg);
1123 iter_reg = qla24xx_read_window(reg, 0x40A0, 16, iter_reg);
1124 qla24xx_read_window(reg, 0x40B0, 16, iter_reg);
1128 iter_reg = qla24xx_read_window(reg, 0x6000, 16, iter_reg);
1129 iter_reg = qla24xx_read_window(reg, 0x6010, 16, iter_reg);
1130 iter_reg = qla24xx_read_window(reg, 0x6020, 16, iter_reg);
1131 iter_reg = qla24xx_read_window(reg, 0x6030, 16, iter_reg);
1132 iter_reg = qla24xx_read_window(reg, 0x6040, 16, iter_reg);
1133 iter_reg = qla24xx_read_window(reg, 0x6100, 16, iter_reg);
1134 iter_reg = qla24xx_read_window(reg, 0x6130, 16, iter_reg);
1135 iter_reg = qla24xx_read_window(reg, 0x6150, 16, iter_reg);
1136 iter_reg = qla24xx_read_window(reg, 0x6170, 16, iter_reg);
1137 iter_reg = qla24xx_read_window(reg, 0x6190, 16, iter_reg);
1138 qla24xx_read_window(reg, 0x61B0, 16, iter_reg);
1140 rval = qla24xx_soft_reset(ha);
1142 goto qla24xx_fw_dump_failed_0;
1147 goto qla24xx_fw_dump_failed_0;
1149 nxt = qla2xxx_copy_queues(ha, nxt);
1151 qla24xx_copy_eft(ha, nxt);
1154 nxt_chain = qla2xxx_copy_atioqueues(ha, nxt_chain, &last_chain);
1163 qla24xx_fw_dump_failed_0:
1166 qla24xx_fw_dump_failed:
1167 if (!hardware_locked)
1168 spin_unlock_irqrestore(&ha->hardware_lock, flags);
1182 unsigned long flags;
1185 void *nxt, *nxt_chain;
1189 risc_address = ext_mem_cnt = 0;
1192 if (!hardware_locked)
1197 "No buffer available for dump.\n");
1198 goto qla25xx_fw_dump_failed;
1203 "Firmware has been previously dumped (%p) "
1204 "-- ignoring request.\n",
1206 goto qla25xx_fw_dump_failed;
1209 qla2xxx_prep_dump(ha, ha->
fw_dump);
1215 rval = qla24xx_pause_risc(reg);
1217 goto qla25xx_fw_dump_failed_0;
1221 iter_reg = qla24xx_read_window(reg, 0x7000, 16, iter_reg);
1222 qla24xx_read_window(reg, 0x7010, 16, iter_reg);
1239 for (cnt = 0; cnt <
sizeof(fw->
host_reg) / 4; cnt++)
1288 for (cnt = 0; cnt <
sizeof(fw->
mailbox_reg) / 2; cnt++)
1293 iter_reg = qla24xx_read_window(reg, 0xBF00, 16, iter_reg);
1294 iter_reg = qla24xx_read_window(reg, 0xBF10, 16, iter_reg);
1295 iter_reg = qla24xx_read_window(reg, 0xBF20, 16, iter_reg);
1296 iter_reg = qla24xx_read_window(reg, 0xBF30, 16, iter_reg);
1297 iter_reg = qla24xx_read_window(reg, 0xBF40, 16, iter_reg);
1298 iter_reg = qla24xx_read_window(reg, 0xBF50, 16, iter_reg);
1299 iter_reg = qla24xx_read_window(reg, 0xBF60, 16, iter_reg);
1300 qla24xx_read_window(reg, 0xBF70, 16, iter_reg);
1303 iter_reg = qla24xx_read_window(reg, 0xBFC0, 16, iter_reg);
1304 iter_reg = qla24xx_read_window(reg, 0xBFD0, 16, iter_reg);
1305 qla24xx_read_window(reg, 0xBFE0, 16, iter_reg);
1307 qla24xx_read_window(reg, 0xBFF0, 16, fw->
xseq_1_reg);
1311 iter_reg = qla24xx_read_window(reg, 0xFF00, 16, iter_reg);
1312 iter_reg = qla24xx_read_window(reg, 0xFF10, 16, iter_reg);
1313 iter_reg = qla24xx_read_window(reg, 0xFF20, 16, iter_reg);
1314 iter_reg = qla24xx_read_window(reg, 0xFF30, 16, iter_reg);
1315 iter_reg = qla24xx_read_window(reg, 0xFF40, 16, iter_reg);
1316 iter_reg = qla24xx_read_window(reg, 0xFF50, 16, iter_reg);
1317 iter_reg = qla24xx_read_window(reg, 0xFF60, 16, iter_reg);
1318 qla24xx_read_window(reg, 0xFF70, 16, iter_reg);
1321 iter_reg = qla24xx_read_window(reg, 0xFFC0, 16, iter_reg);
1322 qla24xx_read_window(reg, 0xFFD0, 16, iter_reg);
1324 qla24xx_read_window(reg, 0xFFE0, 16, fw->
rseq_1_reg);
1325 qla24xx_read_window(reg, 0xFFF0, 16, fw->
rseq_2_reg);
1329 iter_reg = qla24xx_read_window(reg, 0xB000, 16, iter_reg);
1330 iter_reg = qla24xx_read_window(reg, 0xB010, 16, iter_reg);
1331 iter_reg = qla24xx_read_window(reg, 0xB020, 16, iter_reg);
1332 iter_reg = qla24xx_read_window(reg, 0xB030, 16, iter_reg);
1333 iter_reg = qla24xx_read_window(reg, 0xB040, 16, iter_reg);
1334 iter_reg = qla24xx_read_window(reg, 0xB050, 16, iter_reg);
1335 iter_reg = qla24xx_read_window(reg, 0xB060, 16, iter_reg);
1336 qla24xx_read_window(reg, 0xB070, 16, iter_reg);
1339 iter_reg = qla24xx_read_window(reg, 0xB0C0, 16, iter_reg);
1340 qla24xx_read_window(reg, 0xB0D0, 16, iter_reg);
1342 qla24xx_read_window(reg, 0xB0E0, 16, fw->
aseq_1_reg);
1343 qla24xx_read_window(reg, 0xB0F0, 16, fw->
aseq_2_reg);
1346 qla24xx_read_window(reg, 0x7100, 16, fw->
cmd_dma_reg);
1350 iter_reg = qla24xx_read_window(reg, 0x7200, 8, iter_reg);
1352 for (cnt = 0; cnt < 7; cnt++)
1356 iter_reg = qla24xx_read_window(reg, 0x7300, 8, iter_reg);
1358 for (cnt = 0; cnt < 7; cnt++)
1362 iter_reg = qla24xx_read_window(reg, 0x7400, 8, iter_reg);
1364 for (cnt = 0; cnt < 7; cnt++)
1369 iter_reg = qla24xx_read_window(reg, 0x7600, 16, iter_reg);
1370 qla24xx_read_window(reg, 0x7610, 16, iter_reg);
1373 iter_reg = qla24xx_read_window(reg, 0x7620, 16, iter_reg);
1374 qla24xx_read_window(reg, 0x7630, 16, iter_reg);
1377 iter_reg = qla24xx_read_window(reg, 0x7640, 16, iter_reg);
1378 qla24xx_read_window(reg, 0x7650, 16, iter_reg);
1381 iter_reg = qla24xx_read_window(reg, 0x7660, 16, iter_reg);
1382 qla24xx_read_window(reg, 0x7670, 16, iter_reg);
1385 iter_reg = qla24xx_read_window(reg, 0x7680, 16, iter_reg);
1386 qla24xx_read_window(reg, 0x7690, 16, iter_reg);
1392 iter_reg = qla24xx_read_window(reg, 0x7700, 16, iter_reg);
1393 qla24xx_read_window(reg, 0x7710, 16, iter_reg);
1396 iter_reg = qla24xx_read_window(reg, 0x7720, 16, iter_reg);
1397 qla24xx_read_window(reg, 0x7730, 16, iter_reg);
1401 iter_reg = qla24xx_read_window(reg, 0x0F00, 16, iter_reg);
1402 iter_reg = qla24xx_read_window(reg, 0x0F10, 16, iter_reg);
1403 iter_reg = qla24xx_read_window(reg, 0x0F20, 16, iter_reg);
1404 iter_reg = qla24xx_read_window(reg, 0x0F30, 16, iter_reg);
1405 iter_reg = qla24xx_read_window(reg, 0x0F40, 16, iter_reg);
1406 iter_reg = qla24xx_read_window(reg, 0x0F50, 16, iter_reg);
1407 iter_reg = qla24xx_read_window(reg, 0x0F60, 16, iter_reg);
1408 qla24xx_read_window(reg, 0x0F70, 16, iter_reg);
1412 iter_reg = qla24xx_read_window(reg, 0x3000, 16, iter_reg);
1413 iter_reg = qla24xx_read_window(reg, 0x3010, 16, iter_reg);
1414 iter_reg = qla24xx_read_window(reg, 0x3020, 16, iter_reg);
1415 iter_reg = qla24xx_read_window(reg, 0x3030, 16, iter_reg);
1416 iter_reg = qla24xx_read_window(reg, 0x3040, 16, iter_reg);
1417 iter_reg = qla24xx_read_window(reg, 0x3050, 16, iter_reg);
1418 iter_reg = qla24xx_read_window(reg, 0x3060, 16, iter_reg);
1419 qla24xx_read_window(reg, 0x3070, 16, iter_reg);
1423 iter_reg = qla24xx_read_window(reg, 0x4000, 16, iter_reg);
1424 iter_reg = qla24xx_read_window(reg, 0x4010, 16, iter_reg);
1425 iter_reg = qla24xx_read_window(reg, 0x4020, 16, iter_reg);
1426 iter_reg = qla24xx_read_window(reg, 0x4030, 16, iter_reg);
1427 iter_reg = qla24xx_read_window(reg, 0x4040, 16, iter_reg);
1428 iter_reg = qla24xx_read_window(reg, 0x4050, 16, iter_reg);
1429 iter_reg = qla24xx_read_window(reg, 0x4060, 16, iter_reg);
1430 iter_reg = qla24xx_read_window(reg, 0x4070, 16, iter_reg);
1431 iter_reg = qla24xx_read_window(reg, 0x4080, 16, iter_reg);
1432 iter_reg = qla24xx_read_window(reg, 0x4090, 16, iter_reg);
1433 iter_reg = qla24xx_read_window(reg, 0x40A0, 16, iter_reg);
1434 qla24xx_read_window(reg, 0x40B0, 16, iter_reg);
1438 iter_reg = qla24xx_read_window(reg, 0x6000, 16, iter_reg);
1439 iter_reg = qla24xx_read_window(reg, 0x6010, 16, iter_reg);
1440 iter_reg = qla24xx_read_window(reg, 0x6020, 16, iter_reg);
1441 iter_reg = qla24xx_read_window(reg, 0x6030, 16, iter_reg);
1442 iter_reg = qla24xx_read_window(reg, 0x6040, 16, iter_reg);
1443 iter_reg = qla24xx_read_window(reg, 0x6100, 16, iter_reg);
1444 iter_reg = qla24xx_read_window(reg, 0x6130, 16, iter_reg);
1445 iter_reg = qla24xx_read_window(reg, 0x6150, 16, iter_reg);
1446 iter_reg = qla24xx_read_window(reg, 0x6170, 16, iter_reg);
1447 iter_reg = qla24xx_read_window(reg, 0x6190, 16, iter_reg);
1448 iter_reg = qla24xx_read_window(reg, 0x61B0, 16, iter_reg);
1449 qla24xx_read_window(reg, 0x6F00, 16, iter_reg);
1455 rval = qla24xx_soft_reset(ha);
1457 goto qla25xx_fw_dump_failed_0;
1462 goto qla25xx_fw_dump_failed_0;
1464 nxt = qla2xxx_copy_queues(ha, nxt);
1466 nxt = qla24xx_copy_eft(ha, nxt);
1469 nxt_chain = qla25xx_copy_fce(ha, nxt_chain, &last_chain);
1470 nxt_chain = qla25xx_copy_mqueues(ha, nxt_chain, &last_chain);
1471 nxt_chain = qla2xxx_copy_atioqueues(ha, nxt_chain, &last_chain);
1480 qla25xx_fw_dump_failed_0:
1483 qla25xx_fw_dump_failed:
1484 if (!hardware_locked)
1485 spin_unlock_irqrestore(&ha->hardware_lock, flags);
1499 unsigned long flags;
1502 void *nxt, *nxt_chain;
1506 risc_address = ext_mem_cnt = 0;
1509 if (!hardware_locked)
1514 "No buffer available for dump.\n");
1515 goto qla81xx_fw_dump_failed;
1520 "Firmware has been previously dumped (%p) "
1521 "-- ignoring request.\n",
1523 goto qla81xx_fw_dump_failed;
1526 qla2xxx_prep_dump(ha, ha->
fw_dump);
1531 rval = qla24xx_pause_risc(reg);
1533 goto qla81xx_fw_dump_failed_0;
1537 iter_reg = qla24xx_read_window(reg, 0x7000, 16, iter_reg);
1538 qla24xx_read_window(reg, 0x7010, 16, iter_reg);
1555 for (cnt = 0; cnt <
sizeof(fw->
host_reg) / 4; cnt++)
1604 for (cnt = 0; cnt <
sizeof(fw->
mailbox_reg) / 2; cnt++)
1609 iter_reg = qla24xx_read_window(reg, 0xBF00, 16, iter_reg);
1610 iter_reg = qla24xx_read_window(reg, 0xBF10, 16, iter_reg);
1611 iter_reg = qla24xx_read_window(reg, 0xBF20, 16, iter_reg);
1612 iter_reg = qla24xx_read_window(reg, 0xBF30, 16, iter_reg);
1613 iter_reg = qla24xx_read_window(reg, 0xBF40, 16, iter_reg);
1614 iter_reg = qla24xx_read_window(reg, 0xBF50, 16, iter_reg);
1615 iter_reg = qla24xx_read_window(reg, 0xBF60, 16, iter_reg);
1616 qla24xx_read_window(reg, 0xBF70, 16, iter_reg);
1619 iter_reg = qla24xx_read_window(reg, 0xBFC0, 16, iter_reg);
1620 iter_reg = qla24xx_read_window(reg, 0xBFD0, 16, iter_reg);
1621 qla24xx_read_window(reg, 0xBFE0, 16, iter_reg);
1623 qla24xx_read_window(reg, 0xBFF0, 16, fw->
xseq_1_reg);
1627 iter_reg = qla24xx_read_window(reg, 0xFF00, 16, iter_reg);
1628 iter_reg = qla24xx_read_window(reg, 0xFF10, 16, iter_reg);
1629 iter_reg = qla24xx_read_window(reg, 0xFF20, 16, iter_reg);
1630 iter_reg = qla24xx_read_window(reg, 0xFF30, 16, iter_reg);
1631 iter_reg = qla24xx_read_window(reg, 0xFF40, 16, iter_reg);
1632 iter_reg = qla24xx_read_window(reg, 0xFF50, 16, iter_reg);
1633 iter_reg = qla24xx_read_window(reg, 0xFF60, 16, iter_reg);
1634 qla24xx_read_window(reg, 0xFF70, 16, iter_reg);
1637 iter_reg = qla24xx_read_window(reg, 0xFFC0, 16, iter_reg);
1638 qla24xx_read_window(reg, 0xFFD0, 16, iter_reg);
1640 qla24xx_read_window(reg, 0xFFE0, 16, fw->
rseq_1_reg);
1641 qla24xx_read_window(reg, 0xFFF0, 16, fw->
rseq_2_reg);
1645 iter_reg = qla24xx_read_window(reg, 0xB000, 16, iter_reg);
1646 iter_reg = qla24xx_read_window(reg, 0xB010, 16, iter_reg);
1647 iter_reg = qla24xx_read_window(reg, 0xB020, 16, iter_reg);
1648 iter_reg = qla24xx_read_window(reg, 0xB030, 16, iter_reg);
1649 iter_reg = qla24xx_read_window(reg, 0xB040, 16, iter_reg);
1650 iter_reg = qla24xx_read_window(reg, 0xB050, 16, iter_reg);
1651 iter_reg = qla24xx_read_window(reg, 0xB060, 16, iter_reg);
1652 qla24xx_read_window(reg, 0xB070, 16, iter_reg);
1655 iter_reg = qla24xx_read_window(reg, 0xB0C0, 16, iter_reg);
1656 qla24xx_read_window(reg, 0xB0D0, 16, iter_reg);
1658 qla24xx_read_window(reg, 0xB0E0, 16, fw->
aseq_1_reg);
1659 qla24xx_read_window(reg, 0xB0F0, 16, fw->
aseq_2_reg);
1662 qla24xx_read_window(reg, 0x7100, 16, fw->
cmd_dma_reg);
1666 iter_reg = qla24xx_read_window(reg, 0x7200, 8, iter_reg);
1668 for (cnt = 0; cnt < 7; cnt++)
1672 iter_reg = qla24xx_read_window(reg, 0x7300, 8, iter_reg);
1674 for (cnt = 0; cnt < 7; cnt++)
1678 iter_reg = qla24xx_read_window(reg, 0x7400, 8, iter_reg);
1680 for (cnt = 0; cnt < 7; cnt++)
1685 iter_reg = qla24xx_read_window(reg, 0x7600, 16, iter_reg);
1686 qla24xx_read_window(reg, 0x7610, 16, iter_reg);
1689 iter_reg = qla24xx_read_window(reg, 0x7620, 16, iter_reg);
1690 qla24xx_read_window(reg, 0x7630, 16, iter_reg);
1693 iter_reg = qla24xx_read_window(reg, 0x7640, 16, iter_reg);
1694 qla24xx_read_window(reg, 0x7650, 16, iter_reg);
1697 iter_reg = qla24xx_read_window(reg, 0x7660, 16, iter_reg);
1698 qla24xx_read_window(reg, 0x7670, 16, iter_reg);
1701 iter_reg = qla24xx_read_window(reg, 0x7680, 16, iter_reg);
1702 qla24xx_read_window(reg, 0x7690, 16, iter_reg);
1708 iter_reg = qla24xx_read_window(reg, 0x7700, 16, iter_reg);
1709 qla24xx_read_window(reg, 0x7710, 16, iter_reg);
1712 iter_reg = qla24xx_read_window(reg, 0x7720, 16, iter_reg);
1713 qla24xx_read_window(reg, 0x7730, 16, iter_reg);
1717 iter_reg = qla24xx_read_window(reg, 0x0F00, 16, iter_reg);
1718 iter_reg = qla24xx_read_window(reg, 0x0F10, 16, iter_reg);
1719 iter_reg = qla24xx_read_window(reg, 0x0F20, 16, iter_reg);
1720 iter_reg = qla24xx_read_window(reg, 0x0F30, 16, iter_reg);
1721 iter_reg = qla24xx_read_window(reg, 0x0F40, 16, iter_reg);
1722 iter_reg = qla24xx_read_window(reg, 0x0F50, 16, iter_reg);
1723 iter_reg = qla24xx_read_window(reg, 0x0F60, 16, iter_reg);
1724 qla24xx_read_window(reg, 0x0F70, 16, iter_reg);
1728 iter_reg = qla24xx_read_window(reg, 0x3000, 16, iter_reg);
1729 iter_reg = qla24xx_read_window(reg, 0x3010, 16, iter_reg);
1730 iter_reg = qla24xx_read_window(reg, 0x3020, 16, iter_reg);
1731 iter_reg = qla24xx_read_window(reg, 0x3030, 16, iter_reg);
1732 iter_reg = qla24xx_read_window(reg, 0x3040, 16, iter_reg);
1733 iter_reg = qla24xx_read_window(reg, 0x3050, 16, iter_reg);
1734 iter_reg = qla24xx_read_window(reg, 0x3060, 16, iter_reg);
1735 qla24xx_read_window(reg, 0x3070, 16, iter_reg);
1739 iter_reg = qla24xx_read_window(reg, 0x4000, 16, iter_reg);
1740 iter_reg = qla24xx_read_window(reg, 0x4010, 16, iter_reg);
1741 iter_reg = qla24xx_read_window(reg, 0x4020, 16, iter_reg);
1742 iter_reg = qla24xx_read_window(reg, 0x4030, 16, iter_reg);
1743 iter_reg = qla24xx_read_window(reg, 0x4040, 16, iter_reg);
1744 iter_reg = qla24xx_read_window(reg, 0x4050, 16, iter_reg);
1745 iter_reg = qla24xx_read_window(reg, 0x4060, 16, iter_reg);
1746 iter_reg = qla24xx_read_window(reg, 0x4070, 16, iter_reg);
1747 iter_reg = qla24xx_read_window(reg, 0x4080, 16, iter_reg);
1748 iter_reg = qla24xx_read_window(reg, 0x4090, 16, iter_reg);
1749 iter_reg = qla24xx_read_window(reg, 0x40A0, 16, iter_reg);
1750 iter_reg = qla24xx_read_window(reg, 0x40B0, 16, iter_reg);
1751 iter_reg = qla24xx_read_window(reg, 0x40C0, 16, iter_reg);
1752 qla24xx_read_window(reg, 0x40D0, 16, iter_reg);
1756 iter_reg = qla24xx_read_window(reg, 0x6000, 16, iter_reg);
1757 iter_reg = qla24xx_read_window(reg, 0x6010, 16, iter_reg);
1758 iter_reg = qla24xx_read_window(reg, 0x6020, 16, iter_reg);
1759 iter_reg = qla24xx_read_window(reg, 0x6030, 16, iter_reg);
1760 iter_reg = qla24xx_read_window(reg, 0x6040, 16, iter_reg);
1761 iter_reg = qla24xx_read_window(reg, 0x6100, 16, iter_reg);
1762 iter_reg = qla24xx_read_window(reg, 0x6130, 16, iter_reg);
1763 iter_reg = qla24xx_read_window(reg, 0x6150, 16, iter_reg);
1764 iter_reg = qla24xx_read_window(reg, 0x6170, 16, iter_reg);
1765 iter_reg = qla24xx_read_window(reg, 0x6190, 16, iter_reg);
1766 iter_reg = qla24xx_read_window(reg, 0x61B0, 16, iter_reg);
1767 iter_reg = qla24xx_read_window(reg, 0x61C0, 16, iter_reg);
1768 qla24xx_read_window(reg, 0x6F00, 16, iter_reg);
1774 rval = qla24xx_soft_reset(ha);
1776 goto qla81xx_fw_dump_failed_0;
1781 goto qla81xx_fw_dump_failed_0;
1783 nxt = qla2xxx_copy_queues(ha, nxt);
1785 nxt = qla24xx_copy_eft(ha, nxt);
1788 nxt_chain = qla25xx_copy_fce(ha, nxt_chain, &last_chain);
1789 nxt_chain = qla25xx_copy_mqueues(ha, nxt_chain, &last_chain);
1790 nxt_chain = qla2xxx_copy_atioqueues(ha, nxt_chain, &last_chain);
1799 qla81xx_fw_dump_failed_0:
1802 qla81xx_fw_dump_failed:
1803 if (!hardware_locked)
1804 spin_unlock_irqrestore(&ha->hardware_lock, flags);
1818 unsigned long flags;
1821 void *nxt, *nxt_chain;
1825 risc_address = ext_mem_cnt = 0;
1828 if (!hardware_locked)
1833 "No buffer available for dump!!!\n");
1834 goto qla83xx_fw_dump_failed;
1839 "Firmware has been previously dumped (%p) -- ignoring "
1841 goto qla83xx_fw_dump_failed;
1844 qla2xxx_prep_dump(ha, ha->
fw_dump);
1849 rval = qla24xx_pause_risc(reg);
1851 goto qla83xx_fw_dump_failed_0;
1874 iter_reg = qla24xx_read_window(reg, 0x7000, 16, iter_reg);
1875 iter_reg = qla24xx_read_window(reg, 0x7010, 16, iter_reg);
1876 qla24xx_read_window(reg, 0x7040, 16, iter_reg);
1893 for (cnt = 0; cnt <
sizeof(fw->
host_reg) / 4; cnt++)
1942 for (cnt = 0; cnt <
sizeof(fw->
mailbox_reg) / 2; cnt++)
1947 iter_reg = qla24xx_read_window(reg, 0xBE00, 16, iter_reg);
1948 iter_reg = qla24xx_read_window(reg, 0xBE10, 16, iter_reg);
1949 iter_reg = qla24xx_read_window(reg, 0xBE20, 16, iter_reg);
1950 iter_reg = qla24xx_read_window(reg, 0xBE30, 16, iter_reg);
1951 iter_reg = qla24xx_read_window(reg, 0xBE40, 16, iter_reg);
1952 iter_reg = qla24xx_read_window(reg, 0xBE50, 16, iter_reg);
1953 iter_reg = qla24xx_read_window(reg, 0xBE60, 16, iter_reg);
1954 iter_reg = qla24xx_read_window(reg, 0xBE70, 16, iter_reg);
1955 iter_reg = qla24xx_read_window(reg, 0xBF00, 16, iter_reg);
1956 iter_reg = qla24xx_read_window(reg, 0xBF10, 16, iter_reg);
1957 iter_reg = qla24xx_read_window(reg, 0xBF20, 16, iter_reg);
1958 iter_reg = qla24xx_read_window(reg, 0xBF30, 16, iter_reg);
1959 iter_reg = qla24xx_read_window(reg, 0xBF40, 16, iter_reg);
1960 iter_reg = qla24xx_read_window(reg, 0xBF50, 16, iter_reg);
1961 iter_reg = qla24xx_read_window(reg, 0xBF60, 16, iter_reg);
1962 qla24xx_read_window(reg, 0xBF70, 16, iter_reg);
1965 iter_reg = qla24xx_read_window(reg, 0xBFC0, 16, iter_reg);
1966 iter_reg = qla24xx_read_window(reg, 0xBFD0, 16, iter_reg);
1967 qla24xx_read_window(reg, 0xBFE0, 16, iter_reg);
1969 qla24xx_read_window(reg, 0xBFF0, 16, fw->
xseq_1_reg);
1971 qla24xx_read_window(reg, 0xBEF0, 16, fw->
xseq_2_reg);
1975 iter_reg = qla24xx_read_window(reg, 0xFE00, 16, iter_reg);
1976 iter_reg = qla24xx_read_window(reg, 0xFE10, 16, iter_reg);
1977 iter_reg = qla24xx_read_window(reg, 0xFE20, 16, iter_reg);
1978 iter_reg = qla24xx_read_window(reg, 0xFE30, 16, iter_reg);
1979 iter_reg = qla24xx_read_window(reg, 0xFE40, 16, iter_reg);
1980 iter_reg = qla24xx_read_window(reg, 0xFE50, 16, iter_reg);
1981 iter_reg = qla24xx_read_window(reg, 0xFE60, 16, iter_reg);
1982 iter_reg = qla24xx_read_window(reg, 0xFE70, 16, iter_reg);
1983 iter_reg = qla24xx_read_window(reg, 0xFF00, 16, iter_reg);
1984 iter_reg = qla24xx_read_window(reg, 0xFF10, 16, iter_reg);
1985 iter_reg = qla24xx_read_window(reg, 0xFF20, 16, iter_reg);
1986 iter_reg = qla24xx_read_window(reg, 0xFF30, 16, iter_reg);
1987 iter_reg = qla24xx_read_window(reg, 0xFF40, 16, iter_reg);
1988 iter_reg = qla24xx_read_window(reg, 0xFF50, 16, iter_reg);
1989 iter_reg = qla24xx_read_window(reg, 0xFF60, 16, iter_reg);
1990 qla24xx_read_window(reg, 0xFF70, 16, iter_reg);
1993 iter_reg = qla24xx_read_window(reg, 0xFFC0, 16, iter_reg);
1994 qla24xx_read_window(reg, 0xFFD0, 16, iter_reg);
1996 qla24xx_read_window(reg, 0xFFE0, 16, fw->
rseq_1_reg);
1997 qla24xx_read_window(reg, 0xFFF0, 16, fw->
rseq_2_reg);
1998 qla24xx_read_window(reg, 0xFEF0, 16, fw->
rseq_3_reg);
2002 iter_reg = qla24xx_read_window(reg, 0xB000, 16, iter_reg);
2003 iter_reg = qla24xx_read_window(reg, 0xB010, 16, iter_reg);
2004 iter_reg = qla24xx_read_window(reg, 0xB020, 16, iter_reg);
2005 iter_reg = qla24xx_read_window(reg, 0xB030, 16, iter_reg);
2006 iter_reg = qla24xx_read_window(reg, 0xB040, 16, iter_reg);
2007 iter_reg = qla24xx_read_window(reg, 0xB050, 16, iter_reg);
2008 iter_reg = qla24xx_read_window(reg, 0xB060, 16, iter_reg);
2009 iter_reg = qla24xx_read_window(reg, 0xB070, 16, iter_reg);
2010 iter_reg = qla24xx_read_window(reg, 0xB100, 16, iter_reg);
2011 iter_reg = qla24xx_read_window(reg, 0xB110, 16, iter_reg);
2012 iter_reg = qla24xx_read_window(reg, 0xB120, 16, iter_reg);
2013 iter_reg = qla24xx_read_window(reg, 0xB130, 16, iter_reg);
2014 iter_reg = qla24xx_read_window(reg, 0xB140, 16, iter_reg);
2015 iter_reg = qla24xx_read_window(reg, 0xB150, 16, iter_reg);
2016 iter_reg = qla24xx_read_window(reg, 0xB160, 16, iter_reg);
2017 qla24xx_read_window(reg, 0xB170, 16, iter_reg);
2020 iter_reg = qla24xx_read_window(reg, 0xB0C0, 16, iter_reg);
2021 qla24xx_read_window(reg, 0xB0D0, 16, iter_reg);
2023 qla24xx_read_window(reg, 0xB0E0, 16, fw->
aseq_1_reg);
2024 qla24xx_read_window(reg, 0xB0F0, 16, fw->
aseq_2_reg);
2025 qla24xx_read_window(reg, 0xB1F0, 16, fw->
aseq_3_reg);
2029 iter_reg = qla24xx_read_window(reg, 0x7100, 16, iter_reg);
2030 iter_reg = qla24xx_read_window(reg, 0x7120, 16, iter_reg);
2031 iter_reg = qla24xx_read_window(reg, 0x7130, 16, iter_reg);
2032 qla24xx_read_window(reg, 0x71F0, 16, iter_reg);
2036 iter_reg = qla24xx_read_window(reg, 0x7200, 8, iter_reg);
2038 for (cnt = 0; cnt < 7; cnt++)
2042 iter_reg = qla24xx_read_window(reg, 0x7300, 8, iter_reg);
2044 for (cnt = 0; cnt < 7; cnt++)
2048 iter_reg = qla24xx_read_window(reg, 0x7400, 8, iter_reg);
2050 for (cnt = 0; cnt < 7; cnt++)
2055 iter_reg = qla24xx_read_window(reg, 0x7600, 16, iter_reg);
2056 qla24xx_read_window(reg, 0x7610, 16, iter_reg);
2059 iter_reg = qla24xx_read_window(reg, 0x7620, 16, iter_reg);
2060 qla24xx_read_window(reg, 0x7630, 16, iter_reg);
2063 iter_reg = qla24xx_read_window(reg, 0x7640, 16, iter_reg);
2064 qla24xx_read_window(reg, 0x7650, 16, iter_reg);
2067 iter_reg = qla24xx_read_window(reg, 0x7660, 16, iter_reg);
2068 qla24xx_read_window(reg, 0x7670, 16, iter_reg);
2071 iter_reg = qla24xx_read_window(reg, 0x7680, 16, iter_reg);
2072 qla24xx_read_window(reg, 0x7690, 16, iter_reg);
2078 iter_reg = qla24xx_read_window(reg, 0x7700, 16, iter_reg);
2079 qla24xx_read_window(reg, 0x7710, 16, iter_reg);
2082 iter_reg = qla24xx_read_window(reg, 0x7720, 16, iter_reg);
2083 qla24xx_read_window(reg, 0x7730, 16, iter_reg);
2087 iter_reg = qla24xx_read_window(reg, 0x0F00, 16, iter_reg);
2088 iter_reg = qla24xx_read_window(reg, 0x0F10, 16, iter_reg);
2089 iter_reg = qla24xx_read_window(reg, 0x0F20, 16, iter_reg);
2090 iter_reg = qla24xx_read_window(reg, 0x0F30, 16, iter_reg);
2091 iter_reg = qla24xx_read_window(reg, 0x0F40, 16, iter_reg);
2092 iter_reg = qla24xx_read_window(reg, 0x0F50, 16, iter_reg);
2093 iter_reg = qla24xx_read_window(reg, 0x0F60, 16, iter_reg);
2094 qla24xx_read_window(reg, 0x0F70, 16, iter_reg);
2098 iter_reg = qla24xx_read_window(reg, 0x3000, 16, iter_reg);
2099 iter_reg = qla24xx_read_window(reg, 0x3010, 16, iter_reg);
2100 iter_reg = qla24xx_read_window(reg, 0x3020, 16, iter_reg);
2101 iter_reg = qla24xx_read_window(reg, 0x3030, 16, iter_reg);
2102 iter_reg = qla24xx_read_window(reg, 0x3040, 16, iter_reg);
2103 iter_reg = qla24xx_read_window(reg, 0x3050, 16, iter_reg);
2104 iter_reg = qla24xx_read_window(reg, 0x3060, 16, iter_reg);
2105 qla24xx_read_window(reg, 0x3070, 16, iter_reg);
2109 iter_reg = qla24xx_read_window(reg, 0x4000, 16, iter_reg);
2110 iter_reg = qla24xx_read_window(reg, 0x4010, 16, iter_reg);
2111 iter_reg = qla24xx_read_window(reg, 0x4020, 16, iter_reg);
2112 iter_reg = qla24xx_read_window(reg, 0x4030, 16, iter_reg);
2113 iter_reg = qla24xx_read_window(reg, 0x4040, 16, iter_reg);
2114 iter_reg = qla24xx_read_window(reg, 0x4050, 16, iter_reg);
2115 iter_reg = qla24xx_read_window(reg, 0x4060, 16, iter_reg);
2116 iter_reg = qla24xx_read_window(reg, 0x4070, 16, iter_reg);
2117 iter_reg = qla24xx_read_window(reg, 0x4080, 16, iter_reg);
2118 iter_reg = qla24xx_read_window(reg, 0x4090, 16, iter_reg);
2119 iter_reg = qla24xx_read_window(reg, 0x40A0, 16, iter_reg);
2120 iter_reg = qla24xx_read_window(reg, 0x40B0, 16, iter_reg);
2121 iter_reg = qla24xx_read_window(reg, 0x40C0, 16, iter_reg);
2122 iter_reg = qla24xx_read_window(reg, 0x40D0, 16, iter_reg);
2123 iter_reg = qla24xx_read_window(reg, 0x40E0, 16, iter_reg);
2124 qla24xx_read_window(reg, 0x40F0, 16, iter_reg);
2128 iter_reg = qla24xx_read_window(reg, 0x5C00, 16, iter_reg);
2129 iter_reg = qla24xx_read_window(reg, 0x5C10, 16, iter_reg);
2130 iter_reg = qla24xx_read_window(reg, 0x5C20, 16, iter_reg);
2131 iter_reg = qla24xx_read_window(reg, 0x5C30, 16, iter_reg);
2132 iter_reg = qla24xx_read_window(reg, 0x5C40, 16, iter_reg);
2133 iter_reg = qla24xx_read_window(reg, 0x5C50, 16, iter_reg);
2134 iter_reg = qla24xx_read_window(reg, 0x5C60, 16, iter_reg);
2135 iter_reg = qla24xx_read_window(reg, 0x5C70, 16, iter_reg);
2136 iter_reg = qla24xx_read_window(reg, 0x5C80, 16, iter_reg);
2137 iter_reg = qla24xx_read_window(reg, 0x5C90, 16, iter_reg);
2138 iter_reg = qla24xx_read_window(reg, 0x5CA0, 16, iter_reg);
2139 iter_reg = qla24xx_read_window(reg, 0x5CB0, 16, iter_reg);
2140 iter_reg = qla24xx_read_window(reg, 0x5CC0, 16, iter_reg);
2141 iter_reg = qla24xx_read_window(reg, 0x5CD0, 16, iter_reg);
2142 iter_reg = qla24xx_read_window(reg, 0x5CE0, 16, iter_reg);
2143 qla24xx_read_window(reg, 0x5CF0, 16, iter_reg);
2147 iter_reg = qla24xx_read_window(reg, 0x5D00, 16, iter_reg);
2148 iter_reg = qla24xx_read_window(reg, 0x5D10, 16, iter_reg);
2149 iter_reg = qla24xx_read_window(reg, 0x5D20, 16, iter_reg);
2150 iter_reg = qla24xx_read_window(reg, 0x5D30, 16, iter_reg);
2151 iter_reg = qla24xx_read_window(reg, 0x5D40, 16, iter_reg);
2152 iter_reg = qla24xx_read_window(reg, 0x5D50, 16, iter_reg);
2153 iter_reg = qla24xx_read_window(reg, 0x5D60, 16, iter_reg);
2154 iter_reg = qla24xx_read_window(reg, 0x5D70, 16, iter_reg);
2155 iter_reg = qla24xx_read_window(reg, 0x5D80, 16, iter_reg);
2156 iter_reg = qla24xx_read_window(reg, 0x5D90, 16, iter_reg);
2157 iter_reg = qla24xx_read_window(reg, 0x5DA0, 16, iter_reg);
2158 iter_reg = qla24xx_read_window(reg, 0x5DB0, 16, iter_reg);
2159 iter_reg = qla24xx_read_window(reg, 0x5DC0, 16, iter_reg);
2160 iter_reg = qla24xx_read_window(reg, 0x5DD0, 16, iter_reg);
2161 iter_reg = qla24xx_read_window(reg, 0x5DE0, 16, iter_reg);
2162 qla24xx_read_window(reg, 0x5DF0, 16, iter_reg);
2166 iter_reg = qla24xx_read_window(reg, 0x5E00, 16, iter_reg);
2167 iter_reg = qla24xx_read_window(reg, 0x5E10, 16, iter_reg);
2168 iter_reg = qla24xx_read_window(reg, 0x5E20, 16, iter_reg);
2169 iter_reg = qla24xx_read_window(reg, 0x5E30, 16, iter_reg);
2170 iter_reg = qla24xx_read_window(reg, 0x5E40, 16, iter_reg);
2171 iter_reg = qla24xx_read_window(reg, 0x5E50, 16, iter_reg);
2172 iter_reg = qla24xx_read_window(reg, 0x5E60, 16, iter_reg);
2173 iter_reg = qla24xx_read_window(reg, 0x5E70, 16, iter_reg);
2174 iter_reg = qla24xx_read_window(reg, 0x5E80, 16, iter_reg);
2175 iter_reg = qla24xx_read_window(reg, 0x5E90, 16, iter_reg);
2176 iter_reg = qla24xx_read_window(reg, 0x5EA0, 16, iter_reg);
2177 iter_reg = qla24xx_read_window(reg, 0x5EB0, 16, iter_reg);
2178 iter_reg = qla24xx_read_window(reg, 0x5EC0, 16, iter_reg);
2179 iter_reg = qla24xx_read_window(reg, 0x5ED0, 16, iter_reg);
2180 iter_reg = qla24xx_read_window(reg, 0x5EE0, 16, iter_reg);
2181 qla24xx_read_window(reg, 0x5EF0, 16, iter_reg);
2185 iter_reg = qla24xx_read_window(reg, 0x5F00, 16, iter_reg);
2186 iter_reg = qla24xx_read_window(reg, 0x5F10, 16, iter_reg);
2187 iter_reg = qla24xx_read_window(reg, 0x5F20, 16, iter_reg);
2188 iter_reg = qla24xx_read_window(reg, 0x5F30, 16, iter_reg);
2189 iter_reg = qla24xx_read_window(reg, 0x5F40, 16, iter_reg);
2190 iter_reg = qla24xx_read_window(reg, 0x5F50, 16, iter_reg);
2191 iter_reg = qla24xx_read_window(reg, 0x5F60, 16, iter_reg);
2192 iter_reg = qla24xx_read_window(reg, 0x5F70, 16, iter_reg);
2193 iter_reg = qla24xx_read_window(reg, 0x5F80, 16, iter_reg);
2194 iter_reg = qla24xx_read_window(reg, 0x5F90, 16, iter_reg);
2195 iter_reg = qla24xx_read_window(reg, 0x5FA0, 16, iter_reg);
2196 iter_reg = qla24xx_read_window(reg, 0x5FB0, 16, iter_reg);
2197 iter_reg = qla24xx_read_window(reg, 0x5FC0, 16, iter_reg);
2198 iter_reg = qla24xx_read_window(reg, 0x5FD0, 16, iter_reg);
2199 iter_reg = qla24xx_read_window(reg, 0x5FE0, 16, iter_reg);
2200 qla24xx_read_window(reg, 0x5FF0, 16, iter_reg);
2203 iter_reg = qla24xx_read_window(reg, 0x7080, 16, iter_reg);
2204 iter_reg = qla24xx_read_window(reg, 0x7090, 16, iter_reg);
2205 iter_reg = qla24xx_read_window(reg, 0x70A0, 16, iter_reg);
2206 iter_reg = qla24xx_read_window(reg, 0x70B0, 16, iter_reg);
2207 iter_reg = qla24xx_read_window(reg, 0x70C0, 16, iter_reg);
2208 iter_reg = qla24xx_read_window(reg, 0x70D0, 16, iter_reg);
2209 iter_reg = qla24xx_read_window(reg, 0x70E0, 16, iter_reg);
2210 qla24xx_read_window(reg, 0x70F0, 16, iter_reg);
2217 iter_reg = qla24xx_read_window(reg, 0x6000, 16, iter_reg);
2218 iter_reg = qla24xx_read_window(reg, 0x6010, 16, iter_reg);
2219 iter_reg = qla24xx_read_window(reg, 0x6020, 16, iter_reg);
2220 iter_reg = qla24xx_read_window(reg, 0x6030, 16, iter_reg);
2221 iter_reg = qla24xx_read_window(reg, 0x6040, 16, iter_reg);
2222 iter_reg = qla24xx_read_window(reg, 0x6060, 16, iter_reg);
2223 iter_reg = qla24xx_read_window(reg, 0x6070, 16, iter_reg);
2224 iter_reg = qla24xx_read_window(reg, 0x6100, 16, iter_reg);
2225 iter_reg = qla24xx_read_window(reg, 0x6130, 16, iter_reg);
2226 iter_reg = qla24xx_read_window(reg, 0x6150, 16, iter_reg);
2227 iter_reg = qla24xx_read_window(reg, 0x6170, 16, iter_reg);
2228 iter_reg = qla24xx_read_window(reg, 0x6190, 16, iter_reg);
2229 iter_reg = qla24xx_read_window(reg, 0x61B0, 16, iter_reg);
2230 iter_reg = qla24xx_read_window(reg, 0x61C0, 16, iter_reg);
2231 iter_reg = qla24xx_read_window(reg, 0x6530, 16, iter_reg);
2232 iter_reg = qla24xx_read_window(reg, 0x6540, 16, iter_reg);
2233 iter_reg = qla24xx_read_window(reg, 0x6550, 16, iter_reg);
2234 iter_reg = qla24xx_read_window(reg, 0x6560, 16, iter_reg);
2235 iter_reg = qla24xx_read_window(reg, 0x6570, 16, iter_reg);
2236 iter_reg = qla24xx_read_window(reg, 0x6580, 16, iter_reg);
2237 iter_reg = qla24xx_read_window(reg, 0x6590, 16, iter_reg);
2238 iter_reg = qla24xx_read_window(reg, 0x65A0, 16, iter_reg);
2239 iter_reg = qla24xx_read_window(reg, 0x65B0, 16, iter_reg);
2240 iter_reg = qla24xx_read_window(reg, 0x65C0, 16, iter_reg);
2241 iter_reg = qla24xx_read_window(reg, 0x65D0, 16, iter_reg);
2242 iter_reg = qla24xx_read_window(reg, 0x65E0, 16, iter_reg);
2243 qla24xx_read_window(reg, 0x6F00, 16, iter_reg);
2249 rval = qla24xx_soft_reset(ha);
2252 "SOFT RESET FAILED, forcing continuation of dump!!!\n");
2276 "bigger hammer success?\n");
2282 goto qla83xx_fw_dump_failed_0;
2285 nxt = qla2xxx_copy_queues(ha, nxt);
2287 nxt = qla24xx_copy_eft(ha, nxt);
2290 nxt_chain = qla25xx_copy_fce(ha, nxt_chain, &last_chain);
2291 nxt_chain = qla25xx_copy_mqueues(ha, nxt_chain, &last_chain);
2292 nxt_chain = qla2xxx_copy_atioqueues(ha, nxt_chain, &last_chain);
2301 qla83xx_fw_dump_failed_0:
2304 qla83xx_fw_dump_failed:
2305 if (!hardware_locked)
2306 spin_unlock_irqrestore(&ha->hardware_lock, flags);
2340 if (!ql_mask_match(level))
2351 pr_warn(
"%s [%s]-%04x:%ld: %pV",
2355 pr_warn(
"%s [%s]-%04x: : %pV",
2356 QL_MSGHDR,
"0000:00:00.0",
id + ql_dbg_offset, &vaf);
2379 const char *
fmt, ...)
2386 if (!ql_mask_match(level))
2395 pr_warn(
"%s [%s]-%04x: : %pV",
2396 QL_MSGHDR, dev_name(&(pdev->
dev)),
id + ql_dbg_offset, &vaf);
2427 snprintf(pbuf,
sizeof(pbuf),
"%s [%s]-%04x:%ld: ",
2430 snprintf(pbuf,
sizeof(pbuf),
"%s [%s]-%04x: : ",
2433 pbuf[
sizeof(pbuf) - 1] = 0;
2445 pr_err(
"%s%pV", pbuf, &vaf);
2474 const char *
fmt, ...)
2486 snprintf(pbuf,
sizeof(pbuf),
"%s [%s]-%04x: : ",
2488 pbuf[
sizeof(pbuf) - 1] = 0;
2500 pr_err(
"%s%pV", pbuf, &vaf);
2523 if (!ql_mask_match(level))
2533 ql_dbg(level, vha,
id,
"Mailbox registers:\n");
2534 for (i = 0; i < 6; i++)
2547 if (!ql_mask_match(level))
2550 ql_dbg(level, vha,
id,
" 0 1 2 3 4 5 6 7 8 "
2551 "9 Ah Bh Ch Dh Eh Fh\n");
2552 ql_dbg(level, vha,
id,
"----------------------------------"
2553 "----------------------------\n");
2555 ql_dbg(level, vha,
id,
" ");
2556 for (cnt = 0; cnt <
size;) {
2566 ql_dbg(level, vha,
id,
"\n");