Lines Matching refs:reg

108 	struct device_reg_24xx __iomem *reg = &ha->iobase->isp24;
119 if (qla_pci_disconnected(vha, reg))
126 wrt_reg_word(&reg->mailbox0, MBC_LOAD_DUMP_MPI_RAM);
127 wrt_reg_word(&reg->mailbox1, LSW(addr));
128 wrt_reg_word(&reg->mailbox8, MSW(addr));
130 wrt_reg_word(&reg->mailbox2, MSW(LSD(dump_dma)));
131 wrt_reg_word(&reg->mailbox3, LSW(LSD(dump_dma)));
132 wrt_reg_word(&reg->mailbox6, MSW(MSD(dump_dma)));
133 wrt_reg_word(&reg->mailbox7, LSW(MSD(dump_dma)));
135 wrt_reg_word(&reg->mailbox4, MSW(dwords));
136 wrt_reg_word(&reg->mailbox5, LSW(dwords));
138 wrt_reg_word(&reg->mailbox9, 0);
139 wrt_reg_dword(&reg->hccr, HCCRX_SET_HOST_INT);
145 if (qla_pci_disconnected(vha, reg))
148 stat = rd_reg_dword(&reg->host_status);
158 wrt_reg_dword(&reg->hccr, HCCRX_CLR_RISC_INT);
159 rd_reg_dword(&reg->hccr);
164 rval = rd_reg_word(&reg->mailbox0) & MBS_MASK;
165 wrt_reg_dword(&reg->hccr, HCCRX_CLR_RISC_INT);
166 rd_reg_dword(&reg->hccr);
196 struct device_reg_24xx __iomem *reg = &ha->iobase->isp24;
206 if (qla_pci_disconnected(vha, reg))
213 wrt_reg_word(&reg->mailbox0, MBC_DUMP_RISC_RAM_EXTENDED);
214 wrt_reg_word(&reg->mailbox1, LSW(addr));
215 wrt_reg_word(&reg->mailbox8, MSW(addr));
216 wrt_reg_word(&reg->mailbox10, 0);
218 wrt_reg_word(&reg->mailbox2, MSW(LSD(dump_dma)));
219 wrt_reg_word(&reg->mailbox3, LSW(LSD(dump_dma)));
220 wrt_reg_word(&reg->mailbox6, MSW(MSD(dump_dma)));
221 wrt_reg_word(&reg->mailbox7, LSW(MSD(dump_dma)));
223 wrt_reg_word(&reg->mailbox4, MSW(dwords));
224 wrt_reg_word(&reg->mailbox5, LSW(dwords));
225 wrt_reg_dword(&reg->hccr, HCCRX_SET_HOST_INT);
230 if (qla_pci_disconnected(vha, reg))
233 stat = rd_reg_dword(&reg->host_status);
241 wrt_reg_dword(&reg->hccr, HCCRX_CLR_RISC_INT);
242 rd_reg_dword(&reg->hccr);
247 rval = rd_reg_word(&reg->mailbox0) & MBS_MASK;
248 wrt_reg_dword(&reg->hccr, HCCRX_CLR_RISC_INT);
249 rd_reg_dword(&reg->hccr);
297 qla24xx_read_window(struct device_reg_24xx __iomem *reg, uint32_t iobase,
302 wrt_reg_dword(&reg->iobase_addr, iobase);
303 dmp_reg = &reg->iobase_window;
311 qla24xx_pause_risc(struct device_reg_24xx __iomem *reg, struct qla_hw_data *ha)
313 wrt_reg_dword(&reg->hccr, HCCRX_SET_RISC_PAUSE);
317 if (rd_reg_dword(&reg->host_status) & HSRX_RISC_PAUSED)
327 struct device_reg_24xx __iomem *reg = &ha->iobase->isp24;
334 wrt_reg_dword(&reg->ctrl_status, CSRX_DMA_SHUTDOWN|MWB_4096_BYTES);
336 if ((rd_reg_dword(&reg->ctrl_status) & CSRX_DMA_ACTIVE) == 0)
341 if (!(rd_reg_dword(&reg->ctrl_status) & CSRX_DMA_ACTIVE))
344 wrt_reg_dword(&reg->ctrl_status,
352 if ((rd_reg_dword(&reg->ctrl_status) &
358 if (!(rd_reg_dword(&reg->ctrl_status) & CSRX_ISP_SOFT_RESET))
361 wrt_reg_dword(&reg->hccr, HCCRX_CLR_RISC_RESET);
362 rd_reg_dword(&reg->hccr); /* PCI Posting. */
364 for (cnt = 10000; rd_reg_word(&reg->mailbox0) != 0 &&
384 struct device_reg_2xxx __iomem *reg = &ha->iobase->isp;
391 WRT_MAILBOX_REG(ha, reg, 0, MBC_DUMP_RISC_RAM_EXTENDED);
400 WRT_MAILBOX_REG(ha, reg, 1, LSW(addr));
401 WRT_MAILBOX_REG(ha, reg, 8, MSW(addr));
403 WRT_MAILBOX_REG(ha, reg, 2, MSW(dump_dma));
404 WRT_MAILBOX_REG(ha, reg, 3, LSW(dump_dma));
405 WRT_MAILBOX_REG(ha, reg, 6, MSW(MSD(dump_dma)));
406 WRT_MAILBOX_REG(ha, reg, 7, LSW(MSD(dump_dma)));
408 WRT_MAILBOX_REG(ha, reg, 4, words);
409 wrt_reg_word(&reg->hccr, HCCR_SET_HOST_INT);
413 stat = rd_reg_dword(&reg->u.isp2300.host_status);
421 mb0 = RD_MAILBOX_REG(ha, reg, 0);
424 wrt_reg_word(&reg->semaphore, 0);
425 wrt_reg_word(&reg->hccr,
427 rd_reg_word(&reg->hccr);
433 mb0 = RD_MAILBOX_REG(ha, reg, 0);
435 wrt_reg_word(&reg->hccr,
437 rd_reg_word(&reg->hccr);
442 wrt_reg_word(&reg->hccr, HCCR_CLR_RISC_INT);
443 rd_reg_word(&reg->hccr);
463 qla2xxx_read_window(struct device_reg_2xxx __iomem *reg, uint32_t count,
466 __le16 __iomem *dmp_reg = &reg->u.isp2300.fb_cmd;
678 device_reg_t *reg;
693 reg = ISP_QUE_REG(ha, cnt);
696 htonl(rd_reg_dword(&reg->isp25mq.req_q_in));
698 htonl(rd_reg_dword(&reg->isp25mq.req_q_out));
700 htonl(rd_reg_dword(&reg->isp25mq.rsp_q_in));
702 htonl(rd_reg_dword(&reg->isp25mq.rsp_q_out));
746 struct device_reg_2xxx __iomem *reg = &ha->iobase->isp;
771 fw->hccr = htons(rd_reg_word(&reg->hccr));
774 wrt_reg_word(&reg->hccr, HCCR_PAUSE_RISC);
777 (rd_reg_word(&reg->hccr) & HCCR_RISC_PAUSE) == 0 &&
785 rd_reg_word(&reg->hccr); /* PCI Posting. */
790 dmp_reg = &reg->flash_address;
794 dmp_reg = &reg->u.isp2300.req_q_in;
799 dmp_reg = &reg->u.isp2300.mailbox0;
804 wrt_reg_word(&reg->ctrl_status, 0x40);
805 qla2xxx_read_window(reg, 32, fw->resp_dma_reg);
807 wrt_reg_word(&reg->ctrl_status, 0x50);
808 qla2xxx_read_window(reg, 48, fw->dma_reg);
810 wrt_reg_word(&reg->ctrl_status, 0x00);
811 dmp_reg = &reg->risc_hw;
816 wrt_reg_word(&reg->pcr, 0x2000);
817 qla2xxx_read_window(reg, 16, fw->risc_gp0_reg);
819 wrt_reg_word(&reg->pcr, 0x2200);
820 qla2xxx_read_window(reg, 16, fw->risc_gp1_reg);
822 wrt_reg_word(&reg->pcr, 0x2400);
823 qla2xxx_read_window(reg, 16, fw->risc_gp2_reg);
825 wrt_reg_word(&reg->pcr, 0x2600);
826 qla2xxx_read_window(reg, 16, fw->risc_gp3_reg);
828 wrt_reg_word(&reg->pcr, 0x2800);
829 qla2xxx_read_window(reg, 16, fw->risc_gp4_reg);
831 wrt_reg_word(&reg->pcr, 0x2A00);
832 qla2xxx_read_window(reg, 16, fw->risc_gp5_reg);
834 wrt_reg_word(&reg->pcr, 0x2C00);
835 qla2xxx_read_window(reg, 16, fw->risc_gp6_reg);
837 wrt_reg_word(&reg->pcr, 0x2E00);
838 qla2xxx_read_window(reg, 16, fw->risc_gp7_reg);
840 wrt_reg_word(&reg->ctrl_status, 0x10);
841 qla2xxx_read_window(reg, 64, fw->frame_buf_hdw_reg);
843 wrt_reg_word(&reg->ctrl_status, 0x20);
844 qla2xxx_read_window(reg, 64, fw->fpm_b0_reg);
846 wrt_reg_word(&reg->ctrl_status, 0x30);
847 qla2xxx_read_window(reg, 64, fw->fpm_b1_reg);
850 wrt_reg_word(&reg->ctrl_status, CSR_ISP_SOFT_RESET);
852 if ((rd_reg_word(&reg->ctrl_status) &
861 for (cnt = 30000; RD_MAILBOX_REG(ha, reg, 0) != 0 &&
903 struct device_reg_2xxx __iomem *reg = &ha->iobase->isp;
927 fw->hccr = htons(rd_reg_word(&reg->hccr));
930 wrt_reg_word(&reg->hccr, HCCR_PAUSE_RISC);
931 for (cnt = 30000; (rd_reg_word(&reg->hccr) & HCCR_RISC_PAUSE) == 0 &&
939 dmp_reg = &reg->flash_address;
943 dmp_reg = &reg->u.isp2100.mailbox0;
946 dmp_reg = &reg->u_end.isp2200.mailbox8;
951 dmp_reg = &reg->u.isp2100.unused_2[0];
955 wrt_reg_word(&reg->ctrl_status, 0x00);
956 dmp_reg = &reg->risc_hw;
960 wrt_reg_word(&reg->pcr, 0x2000);
961 qla2xxx_read_window(reg, 16, fw->risc_gp0_reg);
963 wrt_reg_word(&reg->pcr, 0x2100);
964 qla2xxx_read_window(reg, 16, fw->risc_gp1_reg);
966 wrt_reg_word(&reg->pcr, 0x2200);
967 qla2xxx_read_window(reg, 16, fw->risc_gp2_reg);
969 wrt_reg_word(&reg->pcr, 0x2300);
970 qla2xxx_read_window(reg, 16, fw->risc_gp3_reg);
972 wrt_reg_word(&reg->pcr, 0x2400);
973 qla2xxx_read_window(reg, 16, fw->risc_gp4_reg);
975 wrt_reg_word(&reg->pcr, 0x2500);
976 qla2xxx_read_window(reg, 16, fw->risc_gp5_reg);
978 wrt_reg_word(&reg->pcr, 0x2600);
979 qla2xxx_read_window(reg, 16, fw->risc_gp6_reg);
981 wrt_reg_word(&reg->pcr, 0x2700);
982 qla2xxx_read_window(reg, 16, fw->risc_gp7_reg);
984 wrt_reg_word(&reg->ctrl_status, 0x10);
985 qla2xxx_read_window(reg, 16, fw->frame_buf_hdw_reg);
987 wrt_reg_word(&reg->ctrl_status, 0x20);
988 qla2xxx_read_window(reg, 64, fw->fpm_b0_reg);
990 wrt_reg_word(&reg->ctrl_status, 0x30);
991 qla2xxx_read_window(reg, 64, fw->fpm_b1_reg);
994 wrt_reg_word(&reg->ctrl_status, CSR_ISP_SOFT_RESET);
997 for (cnt = 30000; RD_MAILBOX_REG(ha, reg, 0) != 0 &&
1007 (rd_reg_word(&reg->mctr) & (BIT_1 | BIT_0)) != 0))) {
1009 wrt_reg_word(&reg->hccr, HCCR_PAUSE_RISC);
1011 (rd_reg_word(&reg->hccr) & HCCR_RISC_PAUSE) == 0 &&
1021 wrt_reg_word(&reg->mctr, 0xf1);
1023 wrt_reg_word(&reg->mctr, 0xf2);
1024 rd_reg_word(&reg->mctr); /* PCI Posting. */
1027 wrt_reg_word(&reg->hccr, HCCR_RELEASE_RISC);
1034 WRT_MAILBOX_REG(ha, reg, 0, MBC_READ_RAM_WORD);
1039 WRT_MAILBOX_REG(ha, reg, 1, risc_address);
1040 wrt_reg_word(&reg->hccr, HCCR_SET_HOST_INT);
1044 if (rd_reg_word(&reg->istatus) & ISR_RISC_INT) {
1045 if (rd_reg_word(&reg->semaphore) & BIT_0) {
1049 mb0 = RD_MAILBOX_REG(ha, reg, 0);
1050 mb2 = RD_MAILBOX_REG(ha, reg, 2);
1052 wrt_reg_word(&reg->semaphore, 0);
1053 wrt_reg_word(&reg->hccr,
1055 rd_reg_word(&reg->hccr);
1058 wrt_reg_word(&reg->hccr, HCCR_CLR_RISC_INT);
1059 rd_reg_word(&reg->hccr);
1084 struct device_reg_24xx __iomem *reg = &ha->iobase->isp24;
1118 fw->host_status = htonl(rd_reg_dword(&reg->host_status));
1124 qla24xx_pause_risc(reg, ha);
1127 dmp_reg = &reg->flash_addr;
1132 wrt_reg_dword(&reg->ictrl, 0);
1133 rd_reg_dword(&reg->ictrl);
1136 wrt_reg_dword(&reg->iobase_addr, 0x0F70);
1137 rd_reg_dword(&reg->iobase_addr);
1138 wrt_reg_dword(&reg->iobase_select, 0xB0000000);
1139 fw->shadow_reg[0] = htonl(rd_reg_dword(&reg->iobase_sdata));
1141 wrt_reg_dword(&reg->iobase_select, 0xB0100000);
1142 fw->shadow_reg[1] = htonl(rd_reg_dword(&reg->iobase_sdata));
1144 wrt_reg_dword(&reg->iobase_select, 0xB0200000);
1145 fw->shadow_reg[2] = htonl(rd_reg_dword(&reg->iobase_sdata));
1147 wrt_reg_dword(&reg->iobase_select, 0xB0300000);
1148 fw->shadow_reg[3] = htonl(rd_reg_dword(&reg->iobase_sdata));
1150 wrt_reg_dword(&reg->iobase_select, 0xB0400000);
1151 fw->shadow_reg[4] = htonl(rd_reg_dword(&reg->iobase_sdata));
1153 wrt_reg_dword(&reg->iobase_select, 0xB0500000);
1154 fw->shadow_reg[5] = htonl(rd_reg_dword(&reg->iobase_sdata));
1156 wrt_reg_dword(&reg->iobase_select, 0xB0600000);
1157 fw->shadow_reg[6] = htonl(rd_reg_dword(&reg->iobase_sdata));
1160 mbx_reg = &reg->mailbox0;
1166 iter_reg = qla24xx_read_window(reg, 0xBF00, 16, iter_reg);
1167 iter_reg = qla24xx_read_window(reg, 0xBF10, 16, iter_reg);
1168 iter_reg = qla24xx_read_window(reg, 0xBF20, 16, iter_reg);
1169 iter_reg = qla24xx_read_window(reg, 0xBF30, 16, iter_reg);
1170 iter_reg = qla24xx_read_window(reg, 0xBF40, 16, iter_reg);
1171 iter_reg = qla24xx_read_window(reg, 0xBF50, 16, iter_reg);
1172 iter_reg = qla24xx_read_window(reg, 0xBF60, 16, iter_reg);
1173 qla24xx_read_window(reg, 0xBF70, 16, iter_reg);
1175 qla24xx_read_window(reg, 0xBFE0, 16, fw->xseq_0_reg);
1176 qla24xx_read_window(reg, 0xBFF0, 16, fw->xseq_1_reg);
1180 iter_reg = qla24xx_read_window(reg, 0xFF00, 16, iter_reg);
1181 iter_reg = qla24xx_read_window(reg, 0xFF10, 16, iter_reg);
1182 iter_reg = qla24xx_read_window(reg, 0xFF20, 16, iter_reg);
1183 iter_reg = qla24xx_read_window(reg, 0xFF30, 16, iter_reg);
1184 iter_reg = qla24xx_read_window(reg, 0xFF40, 16, iter_reg);
1185 iter_reg = qla24xx_read_window(reg, 0xFF50, 16, iter_reg);
1186 iter_reg = qla24xx_read_window(reg, 0xFF60, 16, iter_reg);
1187 qla24xx_read_window(reg, 0xFF70, 16, iter_reg);
1189 qla24xx_read_window(reg, 0xFFD0, 16, fw->rseq_0_reg);
1190 qla24xx_read_window(reg, 0xFFE0, 16, fw->rseq_1_reg);
1191 qla24xx_read_window(reg, 0xFFF0, 16, fw->rseq_2_reg);
1194 qla24xx_read_window(reg, 0x7100, 16, fw->cmd_dma_reg);
1198 iter_reg = qla24xx_read_window(reg, 0x7200, 8, iter_reg);
1199 dmp_reg = &reg->iobase_q;
1204 iter_reg = qla24xx_read_window(reg, 0x7300, 8, iter_reg);
1205 dmp_reg = &reg->iobase_q;
1210 iter_reg = qla24xx_read_window(reg, 0x7400, 8, iter_reg);
1211 dmp_reg = &reg->iobase_q;
1217 iter_reg = qla24xx_read_window(reg, 0x7600, 16, iter_reg);
1218 qla24xx_read_window(reg, 0x7610, 16, iter_reg);
1221 iter_reg = qla24xx_read_window(reg, 0x7620, 16, iter_reg);
1222 qla24xx_read_window(reg, 0x7630, 16, iter_reg);
1225 iter_reg = qla24xx_read_window(reg, 0x7640, 16, iter_reg);
1226 qla24xx_read_window(reg, 0x7650, 16, iter_reg);
1229 iter_reg = qla24xx_read_window(reg, 0x7660, 16, iter_reg);
1230 qla24xx_read_window(reg, 0x7670, 16, iter_reg);
1233 iter_reg = qla24xx_read_window(reg, 0x7680, 16, iter_reg);
1234 qla24xx_read_window(reg, 0x7690, 16, iter_reg);
1236 qla24xx_read_window(reg, 0x76A0, 16, fw->xmt_data_dma_reg);
1240 iter_reg = qla24xx_read_window(reg, 0x7700, 16, iter_reg);
1241 qla24xx_read_window(reg, 0x7710, 16, iter_reg);
1244 iter_reg = qla24xx_read_window(reg, 0x7720, 16, iter_reg);
1245 qla24xx_read_window(reg, 0x7730, 16, iter_reg);
1249 iter_reg = qla24xx_read_window(reg, 0x0F00, 16, iter_reg);
1250 iter_reg = qla24xx_read_window(reg, 0x0F10, 16, iter_reg);
1251 iter_reg = qla24xx_read_window(reg, 0x0F20, 16, iter_reg);
1252 iter_reg = qla24xx_read_window(reg, 0x0F30, 16, iter_reg);
1253 iter_reg = qla24xx_read_window(reg, 0x0F40, 16, iter_reg);
1254 iter_reg = qla24xx_read_window(reg, 0x0F50, 16, iter_reg);
1255 iter_reg = qla24xx_read_window(reg, 0x0F60, 16, iter_reg);
1256 qla24xx_read_window(reg, 0x0F70, 16, iter_reg);
1260 iter_reg = qla24xx_read_window(reg, 0x3000, 16, iter_reg);
1261 iter_reg = qla24xx_read_window(reg, 0x3010, 16, iter_reg);
1262 iter_reg = qla24xx_read_window(reg, 0x3020, 16, iter_reg);
1263 iter_reg = qla24xx_read_window(reg, 0x3030, 16, iter_reg);
1264 iter_reg = qla24xx_read_window(reg, 0x3040, 16, iter_reg);
1265 iter_reg = qla24xx_read_window(reg, 0x3050, 16, iter_reg);
1266 qla24xx_read_window(reg, 0x3060, 16, iter_reg);
1270 iter_reg = qla24xx_read_window(reg, 0x4000, 16, iter_reg);
1271 iter_reg = qla24xx_read_window(reg, 0x4010, 16, iter_reg);
1272 iter_reg = qla24xx_read_window(reg, 0x4020, 16, iter_reg);
1273 iter_reg = qla24xx_read_window(reg, 0x4030, 16, iter_reg);
1274 iter_reg = qla24xx_read_window(reg, 0x4040, 16, iter_reg);
1275 iter_reg = qla24xx_read_window(reg, 0x4050, 16, iter_reg);
1276 iter_reg = qla24xx_read_window(reg, 0x4060, 16, iter_reg);
1277 iter_reg = qla24xx_read_window(reg, 0x4070, 16, iter_reg);
1278 iter_reg = qla24xx_read_window(reg, 0x4080, 16, iter_reg);
1279 iter_reg = qla24xx_read_window(reg, 0x4090, 16, iter_reg);
1280 iter_reg = qla24xx_read_window(reg, 0x40A0, 16, iter_reg);
1281 qla24xx_read_window(reg, 0x40B0, 16, iter_reg);
1285 iter_reg = qla24xx_read_window(reg, 0x6000, 16, iter_reg);
1286 iter_reg = qla24xx_read_window(reg, 0x6010, 16, iter_reg);
1287 iter_reg = qla24xx_read_window(reg, 0x6020, 16, iter_reg);
1288 iter_reg = qla24xx_read_window(reg, 0x6030, 16, iter_reg);
1289 iter_reg = qla24xx_read_window(reg, 0x6040, 16, iter_reg);
1290 iter_reg = qla24xx_read_window(reg, 0x6100, 16, iter_reg);
1291 iter_reg = qla24xx_read_window(reg, 0x6130, 16, iter_reg);
1292 iter_reg = qla24xx_read_window(reg, 0x6150, 16, iter_reg);
1293 iter_reg = qla24xx_read_window(reg, 0x6170, 16, iter_reg);
1294 iter_reg = qla24xx_read_window(reg, 0x6190, 16, iter_reg);
1295 qla24xx_read_window(reg, 0x61B0, 16, iter_reg);
1330 struct device_reg_24xx __iomem *reg = &ha->iobase->isp24;
1361 fw->host_status = htonl(rd_reg_dword(&reg->host_status));
1367 qla24xx_pause_risc(reg, ha);
1371 iter_reg = qla24xx_read_window(reg, 0x7000, 16, iter_reg);
1372 qla24xx_read_window(reg, 0x7010, 16, iter_reg);
1375 wrt_reg_dword(&reg->iobase_addr, 0x7C00);
1376 rd_reg_dword(&reg->iobase_addr);
1377 wrt_reg_dword(&reg->iobase_window, 0x01);
1378 dmp_reg = &reg->iobase_c4;
1384 fw->pcie_regs[3] = htonl(rd_reg_dword(&reg->iobase_window));
1386 wrt_reg_dword(&reg->iobase_window, 0x00);
1387 rd_reg_dword(&reg->iobase_window);
1390 dmp_reg = &reg->flash_addr;
1395 wrt_reg_dword(&reg->ictrl, 0);
1396 rd_reg_dword(&reg->ictrl);
1399 wrt_reg_dword(&reg->iobase_addr, 0x0F70);
1400 rd_reg_dword(&reg->iobase_addr);
1401 wrt_reg_dword(&reg->iobase_select, 0xB0000000);
1402 fw->shadow_reg[0] = htonl(rd_reg_dword(&reg->iobase_sdata));
1404 wrt_reg_dword(&reg->iobase_select, 0xB0100000);
1405 fw->shadow_reg[1] = htonl(rd_reg_dword(&reg->iobase_sdata));
1407 wrt_reg_dword(&reg->iobase_select, 0xB0200000);
1408 fw->shadow_reg[2] = htonl(rd_reg_dword(&reg->iobase_sdata));
1410 wrt_reg_dword(&reg->iobase_select, 0xB0300000);
1411 fw->shadow_reg[3] = htonl(rd_reg_dword(&reg->iobase_sdata));
1413 wrt_reg_dword(&reg->iobase_select, 0xB0400000);
1414 fw->shadow_reg[4] = htonl(rd_reg_dword(&reg->iobase_sdata));
1416 wrt_reg_dword(&reg->iobase_select, 0xB0500000);
1417 fw->shadow_reg[5] = htonl(rd_reg_dword(&reg->iobase_sdata));
1419 wrt_reg_dword(&reg->iobase_select, 0xB0600000);
1420 fw->shadow_reg[6] = htonl(rd_reg_dword(&reg->iobase_sdata));
1422 wrt_reg_dword(&reg->iobase_select, 0xB0700000);
1423 fw->shadow_reg[7] = htonl(rd_reg_dword(&reg->iobase_sdata));
1425 wrt_reg_dword(&reg->iobase_select, 0xB0800000);
1426 fw->shadow_reg[8] = htonl(rd_reg_dword(&reg->iobase_sdata));
1428 wrt_reg_dword(&reg->iobase_select, 0xB0900000);
1429 fw->shadow_reg[9] = htonl(rd_reg_dword(&reg->iobase_sdata));
1431 wrt_reg_dword(&reg->iobase_select, 0xB0A00000);
1432 fw->shadow_reg[10] = htonl(rd_reg_dword(&reg->iobase_sdata));
1435 wrt_reg_dword(&reg->iobase_addr, 0x0010);
1436 fw->risc_io_reg = htonl(rd_reg_dword(&reg->iobase_window));
1439 mbx_reg = &reg->mailbox0;
1445 iter_reg = qla24xx_read_window(reg, 0xBF00, 16, iter_reg);
1446 iter_reg = qla24xx_read_window(reg, 0xBF10, 16, iter_reg);
1447 iter_reg = qla24xx_read_window(reg, 0xBF20, 16, iter_reg);
1448 iter_reg = qla24xx_read_window(reg, 0xBF30, 16, iter_reg);
1449 iter_reg = qla24xx_read_window(reg, 0xBF40, 16, iter_reg);
1450 iter_reg = qla24xx_read_window(reg, 0xBF50, 16, iter_reg);
1451 iter_reg = qla24xx_read_window(reg, 0xBF60, 16, iter_reg);
1452 qla24xx_read_window(reg, 0xBF70, 16, iter_reg);
1455 iter_reg = qla24xx_read_window(reg, 0xBFC0, 16, iter_reg);
1456 iter_reg = qla24xx_read_window(reg, 0xBFD0, 16, iter_reg);
1457 qla24xx_read_window(reg, 0xBFE0, 16, iter_reg);
1459 qla24xx_read_window(reg, 0xBFF0, 16, fw->xseq_1_reg);
1463 iter_reg = qla24xx_read_window(reg, 0xFF00, 16, iter_reg);
1464 iter_reg = qla24xx_read_window(reg, 0xFF10, 16, iter_reg);
1465 iter_reg = qla24xx_read_window(reg, 0xFF20, 16, iter_reg);
1466 iter_reg = qla24xx_read_window(reg, 0xFF30, 16, iter_reg);
1467 iter_reg = qla24xx_read_window(reg, 0xFF40, 16, iter_reg);
1468 iter_reg = qla24xx_read_window(reg, 0xFF50, 16, iter_reg);
1469 iter_reg = qla24xx_read_window(reg, 0xFF60, 16, iter_reg);
1470 qla24xx_read_window(reg, 0xFF70, 16, iter_reg);
1473 iter_reg = qla24xx_read_window(reg, 0xFFC0, 16, iter_reg);
1474 qla24xx_read_window(reg, 0xFFD0, 16, iter_reg);
1476 qla24xx_read_window(reg, 0xFFE0, 16, fw->rseq_1_reg);
1477 qla24xx_read_window(reg, 0xFFF0, 16, fw->rseq_2_reg);
1481 iter_reg = qla24xx_read_window(reg, 0xB000, 16, iter_reg);
1482 iter_reg = qla24xx_read_window(reg, 0xB010, 16, iter_reg);
1483 iter_reg = qla24xx_read_window(reg, 0xB020, 16, iter_reg);
1484 iter_reg = qla24xx_read_window(reg, 0xB030, 16, iter_reg);
1485 iter_reg = qla24xx_read_window(reg, 0xB040, 16, iter_reg);
1486 iter_reg = qla24xx_read_window(reg, 0xB050, 16, iter_reg);
1487 iter_reg = qla24xx_read_window(reg, 0xB060, 16, iter_reg);
1488 qla24xx_read_window(reg, 0xB070, 16, iter_reg);
1491 iter_reg = qla24xx_read_window(reg, 0xB0C0, 16, iter_reg);
1492 qla24xx_read_window(reg, 0xB0D0, 16, iter_reg);
1494 qla24xx_read_window(reg, 0xB0E0, 16, fw->aseq_1_reg);
1495 qla24xx_read_window(reg, 0xB0F0, 16, fw->aseq_2_reg);
1498 qla24xx_read_window(reg, 0x7100, 16, fw->cmd_dma_reg);
1502 iter_reg = qla24xx_read_window(reg, 0x7200, 8, iter_reg);
1503 dmp_reg = &reg->iobase_q;
1508 iter_reg = qla24xx_read_window(reg, 0x7300, 8, iter_reg);
1509 dmp_reg = &reg->iobase_q;
1514 iter_reg = qla24xx_read_window(reg, 0x7400, 8, iter_reg);
1515 dmp_reg = &reg->iobase_q;
1521 iter_reg = qla24xx_read_window(reg, 0x7600, 16, iter_reg);
1522 qla24xx_read_window(reg, 0x7610, 16, iter_reg);
1525 iter_reg = qla24xx_read_window(reg, 0x7620, 16, iter_reg);
1526 qla24xx_read_window(reg, 0x7630, 16, iter_reg);
1529 iter_reg = qla24xx_read_window(reg, 0x7640, 16, iter_reg);
1530 qla24xx_read_window(reg, 0x7650, 16, iter_reg);
1533 iter_reg = qla24xx_read_window(reg, 0x7660, 16, iter_reg);
1534 qla24xx_read_window(reg, 0x7670, 16, iter_reg);
1537 iter_reg = qla24xx_read_window(reg, 0x7680, 16, iter_reg);
1538 qla24xx_read_window(reg, 0x7690, 16, iter_reg);
1540 qla24xx_read_window(reg, 0x76A0, 16, fw->xmt_data_dma_reg);
1544 iter_reg = qla24xx_read_window(reg, 0x7700, 16, iter_reg);
1545 qla24xx_read_window(reg, 0x7710, 16, iter_reg);
1548 iter_reg = qla24xx_read_window(reg, 0x7720, 16, iter_reg);
1549 qla24xx_read_window(reg, 0x7730, 16, iter_reg);
1553 iter_reg = qla24xx_read_window(reg, 0x0F00, 16, iter_reg);
1554 iter_reg = qla24xx_read_window(reg, 0x0F10, 16, iter_reg);
1555 iter_reg = qla24xx_read_window(reg, 0x0F20, 16, iter_reg);
1556 iter_reg = qla24xx_read_window(reg, 0x0F30, 16, iter_reg);
1557 iter_reg = qla24xx_read_window(reg, 0x0F40, 16, iter_reg);
1558 iter_reg = qla24xx_read_window(reg, 0x0F50, 16, iter_reg);
1559 iter_reg = qla24xx_read_window(reg, 0x0F60, 16, iter_reg);
1560 qla24xx_read_window(reg, 0x0F70, 16, iter_reg);
1564 iter_reg = qla24xx_read_window(reg, 0x3000, 16, iter_reg);
1565 iter_reg = qla24xx_read_window(reg, 0x3010, 16, iter_reg);
1566 iter_reg = qla24xx_read_window(reg, 0x3020, 16, iter_reg);
1567 iter_reg = qla24xx_read_window(reg, 0x3030, 16, iter_reg);
1568 iter_reg = qla24xx_read_window(reg, 0x3040, 16, iter_reg);
1569 iter_reg = qla24xx_read_window(reg, 0x3050, 16, iter_reg);
1570 iter_reg = qla24xx_read_window(reg, 0x3060, 16, iter_reg);
1571 qla24xx_read_window(reg, 0x3070, 16, iter_reg);
1575 iter_reg = qla24xx_read_window(reg, 0x4000, 16, iter_reg);
1576 iter_reg = qla24xx_read_window(reg, 0x4010, 16, iter_reg);
1577 iter_reg = qla24xx_read_window(reg, 0x4020, 16, iter_reg);
1578 iter_reg = qla24xx_read_window(reg, 0x4030, 16, iter_reg);
1579 iter_reg = qla24xx_read_window(reg, 0x4040, 16, iter_reg);
1580 iter_reg = qla24xx_read_window(reg, 0x4050, 16, iter_reg);
1581 iter_reg = qla24xx_read_window(reg, 0x4060, 16, iter_reg);
1582 iter_reg = qla24xx_read_window(reg, 0x4070, 16, iter_reg);
1583 iter_reg = qla24xx_read_window(reg, 0x4080, 16, iter_reg);
1584 iter_reg = qla24xx_read_window(reg, 0x4090, 16, iter_reg);
1585 iter_reg = qla24xx_read_window(reg, 0x40A0, 16, iter_reg);
1586 qla24xx_read_window(reg, 0x40B0, 16, iter_reg);
1590 iter_reg = qla24xx_read_window(reg, 0x6000, 16, iter_reg);
1591 iter_reg = qla24xx_read_window(reg, 0x6010, 16, iter_reg);
1592 iter_reg = qla24xx_read_window(reg, 0x6020, 16, iter_reg);
1593 iter_reg = qla24xx_read_window(reg, 0x6030, 16, iter_reg);
1594 iter_reg = qla24xx_read_window(reg, 0x6040, 16, iter_reg);
1595 iter_reg = qla24xx_read_window(reg, 0x6100, 16, iter_reg);
1596 iter_reg = qla24xx_read_window(reg, 0x6130, 16, iter_reg);
1597 iter_reg = qla24xx_read_window(reg, 0x6150, 16, iter_reg);
1598 iter_reg = qla24xx_read_window(reg, 0x6170, 16, iter_reg);
1599 iter_reg = qla24xx_read_window(reg, 0x6190, 16, iter_reg);
1600 iter_reg = qla24xx_read_window(reg, 0x61B0, 16, iter_reg);
1601 qla24xx_read_window(reg, 0x6F00, 16, iter_reg);
1643 struct device_reg_24xx __iomem *reg = &ha->iobase->isp24;
1672 fw->host_status = htonl(rd_reg_dword(&reg->host_status));
1678 qla24xx_pause_risc(reg, ha);
1682 iter_reg = qla24xx_read_window(reg, 0x7000, 16, iter_reg);
1683 qla24xx_read_window(reg, 0x7010, 16, iter_reg);
1686 wrt_reg_dword(&reg->iobase_addr, 0x7C00);
1687 rd_reg_dword(&reg->iobase_addr);
1688 wrt_reg_dword(&reg->iobase_window, 0x01);
1689 dmp_reg = &reg->iobase_c4;
1695 fw->pcie_regs[3] = htonl(rd_reg_dword(&reg->iobase_window));
1697 wrt_reg_dword(&reg->iobase_window, 0x00);
1698 rd_reg_dword(&reg->iobase_window);
1701 dmp_reg = &reg->flash_addr;
1706 wrt_reg_dword(&reg->ictrl, 0);
1707 rd_reg_dword(&reg->ictrl);
1710 wrt_reg_dword(&reg->iobase_addr, 0x0F70);
1711 rd_reg_dword(&reg->iobase_addr);
1712 wrt_reg_dword(&reg->iobase_select, 0xB0000000);
1713 fw->shadow_reg[0] = htonl(rd_reg_dword(&reg->iobase_sdata));
1715 wrt_reg_dword(&reg->iobase_select, 0xB0100000);
1716 fw->shadow_reg[1] = htonl(rd_reg_dword(&reg->iobase_sdata));
1718 wrt_reg_dword(&reg->iobase_select, 0xB0200000);
1719 fw->shadow_reg[2] = htonl(rd_reg_dword(&reg->iobase_sdata));
1721 wrt_reg_dword(&reg->iobase_select, 0xB0300000);
1722 fw->shadow_reg[3] = htonl(rd_reg_dword(&reg->iobase_sdata));
1724 wrt_reg_dword(&reg->iobase_select, 0xB0400000);
1725 fw->shadow_reg[4] = htonl(rd_reg_dword(&reg->iobase_sdata));
1727 wrt_reg_dword(&reg->iobase_select, 0xB0500000);
1728 fw->shadow_reg[5] = htonl(rd_reg_dword(&reg->iobase_sdata));
1730 wrt_reg_dword(&reg->iobase_select, 0xB0600000);
1731 fw->shadow_reg[6] = htonl(rd_reg_dword(&reg->iobase_sdata));
1733 wrt_reg_dword(&reg->iobase_select, 0xB0700000);
1734 fw->shadow_reg[7] = htonl(rd_reg_dword(&reg->iobase_sdata));
1736 wrt_reg_dword(&reg->iobase_select, 0xB0800000);
1737 fw->shadow_reg[8] = htonl(rd_reg_dword(&reg->iobase_sdata));
1739 wrt_reg_dword(&reg->iobase_select, 0xB0900000);
1740 fw->shadow_reg[9] = htonl(rd_reg_dword(&reg->iobase_sdata));
1742 wrt_reg_dword(&reg->iobase_select, 0xB0A00000);
1743 fw->shadow_reg[10] = htonl(rd_reg_dword(&reg->iobase_sdata));
1746 wrt_reg_dword(&reg->iobase_addr, 0x0010);
1747 fw->risc_io_reg = htonl(rd_reg_dword(&reg->iobase_window));
1750 mbx_reg = &reg->mailbox0;
1756 iter_reg = qla24xx_read_window(reg, 0xBF00, 16, iter_reg);
1757 iter_reg = qla24xx_read_window(reg, 0xBF10, 16, iter_reg);
1758 iter_reg = qla24xx_read_window(reg, 0xBF20, 16, iter_reg);
1759 iter_reg = qla24xx_read_window(reg, 0xBF30, 16, iter_reg);
1760 iter_reg = qla24xx_read_window(reg, 0xBF40, 16, iter_reg);
1761 iter_reg = qla24xx_read_window(reg, 0xBF50, 16, iter_reg);
1762 iter_reg = qla24xx_read_window(reg, 0xBF60, 16, iter_reg);
1763 qla24xx_read_window(reg, 0xBF70, 16, iter_reg);
1766 iter_reg = qla24xx_read_window(reg, 0xBFC0, 16, iter_reg);
1767 iter_reg = qla24xx_read_window(reg, 0xBFD0, 16, iter_reg);
1768 qla24xx_read_window(reg, 0xBFE0, 16, iter_reg);
1770 qla24xx_read_window(reg, 0xBFF0, 16, fw->xseq_1_reg);
1774 iter_reg = qla24xx_read_window(reg, 0xFF00, 16, iter_reg);
1775 iter_reg = qla24xx_read_window(reg, 0xFF10, 16, iter_reg);
1776 iter_reg = qla24xx_read_window(reg, 0xFF20, 16, iter_reg);
1777 iter_reg = qla24xx_read_window(reg, 0xFF30, 16, iter_reg);
1778 iter_reg = qla24xx_read_window(reg, 0xFF40, 16, iter_reg);
1779 iter_reg = qla24xx_read_window(reg, 0xFF50, 16, iter_reg);
1780 iter_reg = qla24xx_read_window(reg, 0xFF60, 16, iter_reg);
1781 qla24xx_read_window(reg, 0xFF70, 16, iter_reg);
1784 iter_reg = qla24xx_read_window(reg, 0xFFC0, 16, iter_reg);
1785 qla24xx_read_window(reg, 0xFFD0, 16, iter_reg);
1787 qla24xx_read_window(reg, 0xFFE0, 16, fw->rseq_1_reg);
1788 qla24xx_read_window(reg, 0xFFF0, 16, fw->rseq_2_reg);
1792 iter_reg = qla24xx_read_window(reg, 0xB000, 16, iter_reg);
1793 iter_reg = qla24xx_read_window(reg, 0xB010, 16, iter_reg);
1794 iter_reg = qla24xx_read_window(reg, 0xB020, 16, iter_reg);
1795 iter_reg = qla24xx_read_window(reg, 0xB030, 16, iter_reg);
1796 iter_reg = qla24xx_read_window(reg, 0xB040, 16, iter_reg);
1797 iter_reg = qla24xx_read_window(reg, 0xB050, 16, iter_reg);
1798 iter_reg = qla24xx_read_window(reg, 0xB060, 16, iter_reg);
1799 qla24xx_read_window(reg, 0xB070, 16, iter_reg);
1802 iter_reg = qla24xx_read_window(reg, 0xB0C0, 16, iter_reg);
1803 qla24xx_read_window(reg, 0xB0D0, 16, iter_reg);
1805 qla24xx_read_window(reg, 0xB0E0, 16, fw->aseq_1_reg);
1806 qla24xx_read_window(reg, 0xB0F0, 16, fw->aseq_2_reg);
1809 qla24xx_read_window(reg, 0x7100, 16, fw->cmd_dma_reg);
1813 iter_reg = qla24xx_read_window(reg, 0x7200, 8, iter_reg);
1814 dmp_reg = &reg->iobase_q;
1819 iter_reg = qla24xx_read_window(reg, 0x7300, 8, iter_reg);
1820 dmp_reg = &reg->iobase_q;
1825 iter_reg = qla24xx_read_window(reg, 0x7400, 8, iter_reg);
1826 dmp_reg = &reg->iobase_q;
1832 iter_reg = qla24xx_read_window(reg, 0x7600, 16, iter_reg);
1833 qla24xx_read_window(reg, 0x7610, 16, iter_reg);
1836 iter_reg = qla24xx_read_window(reg, 0x7620, 16, iter_reg);
1837 qla24xx_read_window(reg, 0x7630, 16, iter_reg);
1840 iter_reg = qla24xx_read_window(reg, 0x7640, 16, iter_reg);
1841 qla24xx_read_window(reg, 0x7650, 16, iter_reg);
1844 iter_reg = qla24xx_read_window(reg, 0x7660, 16, iter_reg);
1845 qla24xx_read_window(reg, 0x7670, 16, iter_reg);
1848 iter_reg = qla24xx_read_window(reg, 0x7680, 16, iter_reg);
1849 qla24xx_read_window(reg, 0x7690, 16, iter_reg);
1851 qla24xx_read_window(reg, 0x76A0, 16, fw->xmt_data_dma_reg);
1855 iter_reg = qla24xx_read_window(reg, 0x7700, 16, iter_reg);
1856 qla24xx_read_window(reg, 0x7710, 16, iter_reg);
1859 iter_reg = qla24xx_read_window(reg, 0x7720, 16, iter_reg);
1860 qla24xx_read_window(reg, 0x7730, 16, iter_reg);
1864 iter_reg = qla24xx_read_window(reg, 0x0F00, 16, iter_reg);
1865 iter_reg = qla24xx_read_window(reg, 0x0F10, 16, iter_reg);
1866 iter_reg = qla24xx_read_window(reg, 0x0F20, 16, iter_reg);
1867 iter_reg = qla24xx_read_window(reg, 0x0F30, 16, iter_reg);
1868 iter_reg = qla24xx_read_window(reg, 0x0F40, 16, iter_reg);
1869 iter_reg = qla24xx_read_window(reg, 0x0F50, 16, iter_reg);
1870 iter_reg = qla24xx_read_window(reg, 0x0F60, 16, iter_reg);
1871 qla24xx_read_window(reg, 0x0F70, 16, iter_reg);
1875 iter_reg = qla24xx_read_window(reg, 0x3000, 16, iter_reg);
1876 iter_reg = qla24xx_read_window(reg, 0x3010, 16, iter_reg);
1877 iter_reg = qla24xx_read_window(reg, 0x3020, 16, iter_reg);
1878 iter_reg = qla24xx_read_window(reg, 0x3030, 16, iter_reg);
1879 iter_reg = qla24xx_read_window(reg, 0x3040, 16, iter_reg);
1880 iter_reg = qla24xx_read_window(reg, 0x3050, 16, iter_reg);
1881 iter_reg = qla24xx_read_window(reg, 0x3060, 16, iter_reg);
1882 qla24xx_read_window(reg, 0x3070, 16, iter_reg);
1886 iter_reg = qla24xx_read_window(reg, 0x4000, 16, iter_reg);
1887 iter_reg = qla24xx_read_window(reg, 0x4010, 16, iter_reg);
1888 iter_reg = qla24xx_read_window(reg, 0x4020, 16, iter_reg);
1889 iter_reg = qla24xx_read_window(reg, 0x4030, 16, iter_reg);
1890 iter_reg = qla24xx_read_window(reg, 0x4040, 16, iter_reg);
1891 iter_reg = qla24xx_read_window(reg, 0x4050, 16, iter_reg);
1892 iter_reg = qla24xx_read_window(reg, 0x4060, 16, iter_reg);
1893 iter_reg = qla24xx_read_window(reg, 0x4070, 16, iter_reg);
1894 iter_reg = qla24xx_read_window(reg, 0x4080, 16, iter_reg);
1895 iter_reg = qla24xx_read_window(reg, 0x4090, 16, iter_reg);
1896 iter_reg = qla24xx_read_window(reg, 0x40A0, 16, iter_reg);
1897 iter_reg = qla24xx_read_window(reg, 0x40B0, 16, iter_reg);
1898 iter_reg = qla24xx_read_window(reg, 0x40C0, 16, iter_reg);
1899 qla24xx_read_window(reg, 0x40D0, 16, iter_reg);
1903 iter_reg = qla24xx_read_window(reg, 0x6000, 16, iter_reg);
1904 iter_reg = qla24xx_read_window(reg, 0x6010, 16, iter_reg);
1905 iter_reg = qla24xx_read_window(reg, 0x6020, 16, iter_reg);
1906 iter_reg = qla24xx_read_window(reg, 0x6030, 16, iter_reg);
1907 iter_reg = qla24xx_read_window(reg, 0x6040, 16, iter_reg);
1908 iter_reg = qla24xx_read_window(reg, 0x6100, 16, iter_reg);
1909 iter_reg = qla24xx_read_window(reg, 0x6130, 16, iter_reg);
1910 iter_reg = qla24xx_read_window(reg, 0x6150, 16, iter_reg);
1911 iter_reg = qla24xx_read_window(reg, 0x6170, 16, iter_reg);
1912 iter_reg = qla24xx_read_window(reg, 0x6190, 16, iter_reg);
1913 iter_reg = qla24xx_read_window(reg, 0x61B0, 16, iter_reg);
1914 iter_reg = qla24xx_read_window(reg, 0x61C0, 16, iter_reg);
1915 qla24xx_read_window(reg, 0x6F00, 16, iter_reg);
1958 struct device_reg_24xx __iomem *reg = &ha->iobase->isp24;
1987 fw->host_status = htonl(rd_reg_dword(&reg->host_status));
1993 qla24xx_pause_risc(reg, ha);
1995 wrt_reg_dword(&reg->iobase_addr, 0x6000);
1996 dmp_reg = &reg->iobase_window;
2000 dmp_reg = &reg->unused_4_1[0];
2004 wrt_reg_dword(&reg->iobase_addr, 0x6010);
2005 dmp_reg = &reg->unused_4_1[2];
2010 wrt_reg_dword(&reg->iobase_addr, 0x0F70);
2011 rd_reg_dword(&reg->iobase_addr);
2012 wrt_reg_dword(&reg->iobase_select, 0x60000000); /* write to F0h = PCR */
2016 iter_reg = qla24xx_read_window(reg, 0x7000, 16, iter_reg);
2017 iter_reg = qla24xx_read_window(reg, 0x7010, 16, iter_reg);
2018 qla24xx_read_window(reg, 0x7040, 16, iter_reg);
2021 wrt_reg_dword(&reg->iobase_addr, 0x7C00);
2022 rd_reg_dword(&reg->iobase_addr);
2023 wrt_reg_dword(&reg->iobase_window, 0x01);
2024 dmp_reg = &reg->iobase_c4;
2030 fw->pcie_regs[3] = htonl(rd_reg_dword(&reg->iobase_window));
2032 wrt_reg_dword(&reg->iobase_window, 0x00);
2033 rd_reg_dword(&reg->iobase_window);
2036 dmp_reg = &reg->flash_addr;
2041 wrt_reg_dword(&reg->ictrl, 0);
2042 rd_reg_dword(&reg->ictrl);
2045 wrt_reg_dword(&reg->iobase_addr, 0x0F70);
2046 rd_reg_dword(&reg->iobase_addr);
2047 wrt_reg_dword(&reg->iobase_select, 0xB0000000);
2048 fw->shadow_reg[0] = htonl(rd_reg_dword(&reg->iobase_sdata));
2050 wrt_reg_dword(&reg->iobase_select, 0xB0100000);
2051 fw->shadow_reg[1] = htonl(rd_reg_dword(&reg->iobase_sdata));
2053 wrt_reg_dword(&reg->iobase_select, 0xB0200000);
2054 fw->shadow_reg[2] = htonl(rd_reg_dword(&reg->iobase_sdata));
2056 wrt_reg_dword(&reg->iobase_select, 0xB0300000);
2057 fw->shadow_reg[3] = htonl(rd_reg_dword(&reg->iobase_sdata));
2059 wrt_reg_dword(&reg->iobase_select, 0xB0400000);
2060 fw->shadow_reg[4] = htonl(rd_reg_dword(&reg->iobase_sdata));
2062 wrt_reg_dword(&reg->iobase_select, 0xB0500000);
2063 fw->shadow_reg[5] = htonl(rd_reg_dword(&reg->iobase_sdata));
2065 wrt_reg_dword(&reg->iobase_select, 0xB0600000);
2066 fw->shadow_reg[6] = htonl(rd_reg_dword(&reg->iobase_sdata));
2068 wrt_reg_dword(&reg->iobase_select, 0xB0700000);
2069 fw->shadow_reg[7] = htonl(rd_reg_dword(&reg->iobase_sdata));
2071 wrt_reg_dword(&reg->iobase_select, 0xB0800000);
2072 fw->shadow_reg[8] = htonl(rd_reg_dword(&reg->iobase_sdata));
2074 wrt_reg_dword(&reg->iobase_select, 0xB0900000);
2075 fw->shadow_reg[9] = htonl(rd_reg_dword(&reg->iobase_sdata));
2077 wrt_reg_dword(&reg->iobase_select, 0xB0A00000);
2078 fw->shadow_reg[10] = htonl(rd_reg_dword(&reg->iobase_sdata));
2081 wrt_reg_dword(&reg->iobase_addr, 0x0010);
2082 fw->risc_io_reg = htonl(rd_reg_dword(&reg->iobase_window));
2085 mbx_reg = &reg->mailbox0;
2091 iter_reg = qla24xx_read_window(reg, 0xBE00, 16, iter_reg);
2092 iter_reg = qla24xx_read_window(reg, 0xBE10, 16, iter_reg);
2093 iter_reg = qla24xx_read_window(reg, 0xBE20, 16, iter_reg);
2094 iter_reg = qla24xx_read_window(reg, 0xBE30, 16, iter_reg);
2095 iter_reg = qla24xx_read_window(reg, 0xBE40, 16, iter_reg);
2096 iter_reg = qla24xx_read_window(reg, 0xBE50, 16, iter_reg);
2097 iter_reg = qla24xx_read_window(reg, 0xBE60, 16, iter_reg);
2098 iter_reg = qla24xx_read_window(reg, 0xBE70, 16, iter_reg);
2099 iter_reg = qla24xx_read_window(reg, 0xBF00, 16, iter_reg);
2100 iter_reg = qla24xx_read_window(reg, 0xBF10, 16, iter_reg);
2101 iter_reg = qla24xx_read_window(reg, 0xBF20, 16, iter_reg);
2102 iter_reg = qla24xx_read_window(reg, 0xBF30, 16, iter_reg);
2103 iter_reg = qla24xx_read_window(reg, 0xBF40, 16, iter_reg);
2104 iter_reg = qla24xx_read_window(reg, 0xBF50, 16, iter_reg);
2105 iter_reg = qla24xx_read_window(reg, 0xBF60, 16, iter_reg);
2106 qla24xx_read_window(reg, 0xBF70, 16, iter_reg);
2109 iter_reg = qla24xx_read_window(reg, 0xBFC0, 16, iter_reg);
2110 iter_reg = qla24xx_read_window(reg, 0xBFD0, 16, iter_reg);
2111 qla24xx_read_window(reg, 0xBFE0, 16, iter_reg);
2113 qla24xx_read_window(reg, 0xBFF0, 16, fw->xseq_1_reg);
2115 qla24xx_read_window(reg, 0xBEF0, 16, fw->xseq_2_reg);
2119 iter_reg = qla24xx_read_window(reg, 0xFE00, 16, iter_reg);
2120 iter_reg = qla24xx_read_window(reg, 0xFE10, 16, iter_reg);
2121 iter_reg = qla24xx_read_window(reg, 0xFE20, 16, iter_reg);
2122 iter_reg = qla24xx_read_window(reg, 0xFE30, 16, iter_reg);
2123 iter_reg = qla24xx_read_window(reg, 0xFE40, 16, iter_reg);
2124 iter_reg = qla24xx_read_window(reg, 0xFE50, 16, iter_reg);
2125 iter_reg = qla24xx_read_window(reg, 0xFE60, 16, iter_reg);
2126 iter_reg = qla24xx_read_window(reg, 0xFE70, 16, iter_reg);
2127 iter_reg = qla24xx_read_window(reg, 0xFF00, 16, iter_reg);
2128 iter_reg = qla24xx_read_window(reg, 0xFF10, 16, iter_reg);
2129 iter_reg = qla24xx_read_window(reg, 0xFF20, 16, iter_reg);
2130 iter_reg = qla24xx_read_window(reg, 0xFF30, 16, iter_reg);
2131 iter_reg = qla24xx_read_window(reg, 0xFF40, 16, iter_reg);
2132 iter_reg = qla24xx_read_window(reg, 0xFF50, 16, iter_reg);
2133 iter_reg = qla24xx_read_window(reg, 0xFF60, 16, iter_reg);
2134 qla24xx_read_window(reg, 0xFF70, 16, iter_reg);
2137 iter_reg = qla24xx_read_window(reg, 0xFFC0, 16, iter_reg);
2138 qla24xx_read_window(reg, 0xFFD0, 16, iter_reg);
2140 qla24xx_read_window(reg, 0xFFE0, 16, fw->rseq_1_reg);
2141 qla24xx_read_window(reg, 0xFFF0, 16, fw->rseq_2_reg);
2142 qla24xx_read_window(reg, 0xFEF0, 16, fw->rseq_3_reg);
2146 iter_reg = qla24xx_read_window(reg, 0xB000, 16, iter_reg);
2147 iter_reg = qla24xx_read_window(reg, 0xB010, 16, iter_reg);
2148 iter_reg = qla24xx_read_window(reg, 0xB020, 16, iter_reg);
2149 iter_reg = qla24xx_read_window(reg, 0xB030, 16, iter_reg);
2150 iter_reg = qla24xx_read_window(reg, 0xB040, 16, iter_reg);
2151 iter_reg = qla24xx_read_window(reg, 0xB050, 16, iter_reg);
2152 iter_reg = qla24xx_read_window(reg, 0xB060, 16, iter_reg);
2153 iter_reg = qla24xx_read_window(reg, 0xB070, 16, iter_reg);
2154 iter_reg = qla24xx_read_window(reg, 0xB100, 16, iter_reg);
2155 iter_reg = qla24xx_read_window(reg, 0xB110, 16, iter_reg);
2156 iter_reg = qla24xx_read_window(reg, 0xB120, 16, iter_reg);
2157 iter_reg = qla24xx_read_window(reg, 0xB130, 16, iter_reg);
2158 iter_reg = qla24xx_read_window(reg, 0xB140, 16, iter_reg);
2159 iter_reg = qla24xx_read_window(reg, 0xB150, 16, iter_reg);
2160 iter_reg = qla24xx_read_window(reg, 0xB160, 16, iter_reg);
2161 qla24xx_read_window(reg, 0xB170, 16, iter_reg);
2164 iter_reg = qla24xx_read_window(reg, 0xB0C0, 16, iter_reg);
2165 qla24xx_read_window(reg, 0xB0D0, 16, iter_reg);
2167 qla24xx_read_window(reg, 0xB0E0, 16, fw->aseq_1_reg);
2168 qla24xx_read_window(reg, 0xB0F0, 16, fw->aseq_2_reg);
2169 qla24xx_read_window(reg, 0xB1F0, 16, fw->aseq_3_reg);
2173 iter_reg = qla24xx_read_window(reg, 0x7100, 16, iter_reg);
2174 iter_reg = qla24xx_read_window(reg, 0x7120, 16, iter_reg);
2175 iter_reg = qla24xx_read_window(reg, 0x7130, 16, iter_reg);
2176 qla24xx_read_window(reg, 0x71F0, 16, iter_reg);
2180 iter_reg = qla24xx_read_window(reg, 0x7200, 8, iter_reg);
2181 dmp_reg = &reg->iobase_q;
2186 iter_reg = qla24xx_read_window(reg, 0x7300, 8, iter_reg);
2187 dmp_reg = &reg->iobase_q;
2192 iter_reg = qla24xx_read_window(reg, 0x7400, 8, iter_reg);
2193 dmp_reg = &reg->iobase_q;
2199 iter_reg = qla24xx_read_window(reg, 0x7600, 16, iter_reg);
2200 qla24xx_read_window(reg, 0x7610, 16, iter_reg);
2203 iter_reg = qla24xx_read_window(reg, 0x7620, 16, iter_reg);
2204 qla24xx_read_window(reg, 0x7630, 16, iter_reg);
2207 iter_reg = qla24xx_read_window(reg, 0x7640, 16, iter_reg);
2208 qla24xx_read_window(reg, 0x7650, 16, iter_reg);
2211 iter_reg = qla24xx_read_window(reg, 0x7660, 16, iter_reg);
2212 qla24xx_read_window(reg, 0x7670, 16, iter_reg);
2215 iter_reg = qla24xx_read_window(reg, 0x7680, 16, iter_reg);
2216 qla24xx_read_window(reg, 0x7690, 16, iter_reg);
2218 qla24xx_read_window(reg, 0x76A0, 16, fw->xmt_data_dma_reg);
2222 iter_reg = qla24xx_read_window(reg, 0x7700, 16, iter_reg);
2223 qla24xx_read_window(reg, 0x7710, 16, iter_reg);
2226 iter_reg = qla24xx_read_window(reg, 0x7720, 16, iter_reg);
2227 qla24xx_read_window(reg, 0x7730, 16, iter_reg);
2231 iter_reg = qla24xx_read_window(reg, 0x0F00, 16, iter_reg);
2232 iter_reg = qla24xx_read_window(reg, 0x0F10, 16, iter_reg);
2233 iter_reg = qla24xx_read_window(reg, 0x0F20, 16, iter_reg);
2234 iter_reg = qla24xx_read_window(reg, 0x0F30, 16, iter_reg);
2235 iter_reg = qla24xx_read_window(reg, 0x0F40, 16, iter_reg);
2236 iter_reg = qla24xx_read_window(reg, 0x0F50, 16, iter_reg);
2237 iter_reg = qla24xx_read_window(reg, 0x0F60, 16, iter_reg);
2238 qla24xx_read_window(reg, 0x0F70, 16, iter_reg);
2242 iter_reg = qla24xx_read_window(reg, 0x3000, 16, iter_reg);
2243 iter_reg = qla24xx_read_window(reg, 0x3010, 16, iter_reg);
2244 iter_reg = qla24xx_read_window(reg, 0x3020, 16, iter_reg);
2245 iter_reg = qla24xx_read_window(reg, 0x3030, 16, iter_reg);
2246 iter_reg = qla24xx_read_window(reg, 0x3040, 16, iter_reg);
2247 iter_reg = qla24xx_read_window(reg, 0x3050, 16, iter_reg);
2248 iter_reg = qla24xx_read_window(reg, 0x3060, 16, iter_reg);
2249 qla24xx_read_window(reg, 0x3070, 16, iter_reg);
2253 iter_reg = qla24xx_read_window(reg, 0x4000, 16, iter_reg);
2254 iter_reg = qla24xx_read_window(reg, 0x4010, 16, iter_reg);
2255 iter_reg = qla24xx_read_window(reg, 0x4020, 16, iter_reg);
2256 iter_reg = qla24xx_read_window(reg, 0x4030, 16, iter_reg);
2257 iter_reg = qla24xx_read_window(reg, 0x4040, 16, iter_reg);
2258 iter_reg = qla24xx_read_window(reg, 0x4050, 16, iter_reg);
2259 iter_reg = qla24xx_read_window(reg, 0x4060, 16, iter_reg);
2260 iter_reg = qla24xx_read_window(reg, 0x4070, 16, iter_reg);
2261 iter_reg = qla24xx_read_window(reg, 0x4080, 16, iter_reg);
2262 iter_reg = qla24xx_read_window(reg, 0x4090, 16, iter_reg);
2263 iter_reg = qla24xx_read_window(reg, 0x40A0, 16, iter_reg);
2264 iter_reg = qla24xx_read_window(reg, 0x40B0, 16, iter_reg);
2265 iter_reg = qla24xx_read_window(reg, 0x40C0, 16, iter_reg);
2266 iter_reg = qla24xx_read_window(reg, 0x40D0, 16, iter_reg);
2267 iter_reg = qla24xx_read_window(reg, 0x40E0, 16, iter_reg);
2268 qla24xx_read_window(reg, 0x40F0, 16, iter_reg);
2272 iter_reg = qla24xx_read_window(reg, 0x5C00, 16, iter_reg);
2273 iter_reg = qla24xx_read_window(reg, 0x5C10, 16, iter_reg);
2274 iter_reg = qla24xx_read_window(reg, 0x5C20, 16, iter_reg);
2275 iter_reg = qla24xx_read_window(reg, 0x5C30, 16, iter_reg);
2276 iter_reg = qla24xx_read_window(reg, 0x5C40, 16, iter_reg);
2277 iter_reg = qla24xx_read_window(reg, 0x5C50, 16, iter_reg);
2278 iter_reg = qla24xx_read_window(reg, 0x5C60, 16, iter_reg);
2279 iter_reg = qla24xx_read_window(reg, 0x5C70, 16, iter_reg);
2280 iter_reg = qla24xx_read_window(reg, 0x5C80, 16, iter_reg);
2281 iter_reg = qla24xx_read_window(reg, 0x5C90, 16, iter_reg);
2282 iter_reg = qla24xx_read_window(reg, 0x5CA0, 16, iter_reg);
2283 iter_reg = qla24xx_read_window(reg, 0x5CB0, 16, iter_reg);
2284 iter_reg = qla24xx_read_window(reg, 0x5CC0, 16, iter_reg);
2285 iter_reg = qla24xx_read_window(reg, 0x5CD0, 16, iter_reg);
2286 iter_reg = qla24xx_read_window(reg, 0x5CE0, 16, iter_reg);
2287 qla24xx_read_window(reg, 0x5CF0, 16, iter_reg);
2291 iter_reg = qla24xx_read_window(reg, 0x5D00, 16, iter_reg);
2292 iter_reg = qla24xx_read_window(reg, 0x5D10, 16, iter_reg);
2293 iter_reg = qla24xx_read_window(reg, 0x5D20, 16, iter_reg);
2294 iter_reg = qla24xx_read_window(reg, 0x5D30, 16, iter_reg);
2295 iter_reg = qla24xx_read_window(reg, 0x5D40, 16, iter_reg);
2296 iter_reg = qla24xx_read_window(reg, 0x5D50, 16, iter_reg);
2297 iter_reg = qla24xx_read_window(reg, 0x5D60, 16, iter_reg);
2298 iter_reg = qla24xx_read_window(reg, 0x5D70, 16, iter_reg);
2299 iter_reg = qla24xx_read_window(reg, 0x5D80, 16, iter_reg);
2300 iter_reg = qla24xx_read_window(reg, 0x5D90, 16, iter_reg);
2301 iter_reg = qla24xx_read_window(reg, 0x5DA0, 16, iter_reg);
2302 iter_reg = qla24xx_read_window(reg, 0x5DB0, 16, iter_reg);
2303 iter_reg = qla24xx_read_window(reg, 0x5DC0, 16, iter_reg);
2304 iter_reg = qla24xx_read_window(reg, 0x5DD0, 16, iter_reg);
2305 iter_reg = qla24xx_read_window(reg, 0x5DE0, 16, iter_reg);
2306 qla24xx_read_window(reg, 0x5DF0, 16, iter_reg);
2310 iter_reg = qla24xx_read_window(reg, 0x5E00, 16, iter_reg);
2311 iter_reg = qla24xx_read_window(reg, 0x5E10, 16, iter_reg);
2312 iter_reg = qla24xx_read_window(reg, 0x5E20, 16, iter_reg);
2313 iter_reg = qla24xx_read_window(reg, 0x5E30, 16, iter_reg);
2314 iter_reg = qla24xx_read_window(reg, 0x5E40, 16, iter_reg);
2315 iter_reg = qla24xx_read_window(reg, 0x5E50, 16, iter_reg);
2316 iter_reg = qla24xx_read_window(reg, 0x5E60, 16, iter_reg);
2317 iter_reg = qla24xx_read_window(reg, 0x5E70, 16, iter_reg);
2318 iter_reg = qla24xx_read_window(reg, 0x5E80, 16, iter_reg);
2319 iter_reg = qla24xx_read_window(reg, 0x5E90, 16, iter_reg);
2320 iter_reg = qla24xx_read_window(reg, 0x5EA0, 16, iter_reg);
2321 iter_reg = qla24xx_read_window(reg, 0x5EB0, 16, iter_reg);
2322 iter_reg = qla24xx_read_window(reg, 0x5EC0, 16, iter_reg);
2323 iter_reg = qla24xx_read_window(reg, 0x5ED0, 16, iter_reg);
2324 iter_reg = qla24xx_read_window(reg, 0x5EE0, 16, iter_reg);
2325 qla24xx_read_window(reg, 0x5EF0, 16, iter_reg);
2329 iter_reg = qla24xx_read_window(reg, 0x5F00, 16, iter_reg);
2330 iter_reg = qla24xx_read_window(reg, 0x5F10, 16, iter_reg);
2331 iter_reg = qla24xx_read_window(reg, 0x5F20, 16, iter_reg);
2332 iter_reg = qla24xx_read_window(reg, 0x5F30, 16, iter_reg);
2333 iter_reg = qla24xx_read_window(reg, 0x5F40, 16, iter_reg);
2334 iter_reg = qla24xx_read_window(reg, 0x5F50, 16, iter_reg);
2335 iter_reg = qla24xx_read_window(reg, 0x5F60, 16, iter_reg);
2336 iter_reg = qla24xx_read_window(reg, 0x5F70, 16, iter_reg);
2337 iter_reg = qla24xx_read_window(reg, 0x5F80, 16, iter_reg);
2338 iter_reg = qla24xx_read_window(reg, 0x5F90, 16, iter_reg);
2339 iter_reg = qla24xx_read_window(reg, 0x5FA0, 16, iter_reg);
2340 iter_reg = qla24xx_read_window(reg, 0x5FB0, 16, iter_reg);
2341 iter_reg = qla24xx_read_window(reg, 0x5FC0, 16, iter_reg);
2342 iter_reg = qla24xx_read_window(reg, 0x5FD0, 16, iter_reg);
2343 iter_reg = qla24xx_read_window(reg, 0x5FE0, 16, iter_reg);
2344 qla24xx_read_window(reg, 0x5FF0, 16, iter_reg);
2347 iter_reg = qla24xx_read_window(reg, 0x7080, 16, iter_reg);
2348 iter_reg = qla24xx_read_window(reg, 0x7090, 16, iter_reg);
2349 iter_reg = qla24xx_read_window(reg, 0x70A0, 16, iter_reg);
2350 iter_reg = qla24xx_read_window(reg, 0x70B0, 16, iter_reg);
2351 iter_reg = qla24xx_read_window(reg, 0x70C0, 16, iter_reg);
2352 iter_reg = qla24xx_read_window(reg, 0x70D0, 16, iter_reg);
2353 iter_reg = qla24xx_read_window(reg, 0x70E0, 16, iter_reg);
2354 qla24xx_read_window(reg, 0x70F0, 16, iter_reg);
2357 qla24xx_read_window(reg, 0x7800, 16, fw->queue_control_reg);
2361 iter_reg = qla24xx_read_window(reg, 0x6000, 16, iter_reg);
2362 iter_reg = qla24xx_read_window(reg, 0x6010, 16, iter_reg);
2363 iter_reg = qla24xx_read_window(reg, 0x6020, 16, iter_reg);
2364 iter_reg = qla24xx_read_window(reg, 0x6030, 16, iter_reg);
2365 iter_reg = qla24xx_read_window(reg, 0x6040, 16, iter_reg);
2366 iter_reg = qla24xx_read_window(reg, 0x6060, 16, iter_reg);
2367 iter_reg = qla24xx_read_window(reg, 0x6070, 16, iter_reg);
2368 iter_reg = qla24xx_read_window(reg, 0x6100, 16, iter_reg);
2369 iter_reg = qla24xx_read_window(reg, 0x6130, 16, iter_reg);
2370 iter_reg = qla24xx_read_window(reg, 0x6150, 16, iter_reg);
2371 iter_reg = qla24xx_read_window(reg, 0x6170, 16, iter_reg);
2372 iter_reg = qla24xx_read_window(reg, 0x6190, 16, iter_reg);
2373 iter_reg = qla24xx_read_window(reg, 0x61B0, 16, iter_reg);
2374 iter_reg = qla24xx_read_window(reg, 0x61C0, 16, iter_reg);
2375 iter_reg = qla24xx_read_window(reg, 0x6530, 16, iter_reg);
2376 iter_reg = qla24xx_read_window(reg, 0x6540, 16, iter_reg);
2377 iter_reg = qla24xx_read_window(reg, 0x6550, 16, iter_reg);
2378 iter_reg = qla24xx_read_window(reg, 0x6560, 16, iter_reg);
2379 iter_reg = qla24xx_read_window(reg, 0x6570, 16, iter_reg);
2380 iter_reg = qla24xx_read_window(reg, 0x6580, 16, iter_reg);
2381 iter_reg = qla24xx_read_window(reg, 0x6590, 16, iter_reg);
2382 iter_reg = qla24xx_read_window(reg, 0x65A0, 16, iter_reg);
2383 iter_reg = qla24xx_read_window(reg, 0x65B0, 16, iter_reg);
2384 iter_reg = qla24xx_read_window(reg, 0x65C0, 16, iter_reg);
2385 iter_reg = qla24xx_read_window(reg, 0x65D0, 16, iter_reg);
2386 iter_reg = qla24xx_read_window(reg, 0x65E0, 16, iter_reg);
2387 qla24xx_read_window(reg, 0x6F00, 16, iter_reg);
2401 wrt_reg_dword(&reg->hccr, HCCRX_SET_RISC_RESET);
2402 rd_reg_dword(&reg->hccr);
2404 wrt_reg_dword(&reg->hccr, HCCRX_REL_RISC_PAUSE);
2405 rd_reg_dword(&reg->hccr);
2407 wrt_reg_dword(&reg->hccr, HCCRX_CLR_RISC_RESET);
2408 rd_reg_dword(&reg->hccr);
2410 for (cnt = 30000; cnt && (rd_reg_word(&reg->mailbox0)); cnt--)
2654 struct device_reg_2xxx __iomem *reg = &ha->iobase->isp;
2667 mbx_reg = MAILBOX_REG(ha, reg, 0);