Lines Matching refs:vha
32 qla8044_rd_direct(struct scsi_qla_host *vha, in qla8044_rd_direct() argument
35 struct qla_hw_data *ha = vha->hw; in qla8044_rd_direct()
44 qla8044_wr_direct(struct scsi_qla_host *vha, in qla8044_wr_direct() argument
48 struct qla_hw_data *ha = vha->hw; in qla8044_wr_direct()
55 qla8044_set_win_base(scsi_qla_host_t *vha, uint32_t addr) in qla8044_set_win_base() argument
59 struct qla_hw_data *ha = vha->hw; in qla8044_set_win_base()
65 ql_log(ql_log_warn, vha, 0xb087, in qla8044_set_win_base()
75 qla8044_rd_reg_indirect(scsi_qla_host_t *vha, uint32_t addr, uint32_t *data) in qla8044_rd_reg_indirect() argument
78 struct qla_hw_data *ha = vha->hw; in qla8044_rd_reg_indirect()
80 ret_val = qla8044_set_win_base(vha, addr); in qla8044_rd_reg_indirect()
84 ql_log(ql_log_warn, vha, 0xb088, in qla8044_rd_reg_indirect()
90 qla8044_wr_reg_indirect(scsi_qla_host_t *vha, uint32_t addr, uint32_t data) in qla8044_wr_reg_indirect() argument
93 struct qla_hw_data *ha = vha->hw; in qla8044_wr_reg_indirect()
95 ret_val = qla8044_set_win_base(vha, addr); in qla8044_wr_reg_indirect()
99 ql_log(ql_log_warn, vha, 0xb089, in qla8044_wr_reg_indirect()
114 qla8044_read_write_crb_reg(struct scsi_qla_host *vha, in qla8044_read_write_crb_reg() argument
119 qla8044_rd_reg_indirect(vha, raddr, &value); in qla8044_read_write_crb_reg()
120 qla8044_wr_reg_indirect(vha, waddr, value); in qla8044_read_write_crb_reg()
124 qla8044_poll_wait_for_ready(struct scsi_qla_host *vha, uint32_t addr1, in qla8044_poll_wait_for_ready() argument
133 qla8044_rd_reg_indirect(vha, addr1, &temp); in qla8044_poll_wait_for_ready()
137 ql_log(ql_log_warn, vha, 0xb151, in qla8044_poll_wait_for_ready()
147 qla8044_ipmdio_rd_reg(struct scsi_qla_host *vha, in qla8044_ipmdio_rd_reg() argument
153 ret = qla8044_poll_wait_for_ready(vha, addr1, mask); in qla8044_ipmdio_rd_reg()
158 qla8044_wr_reg_indirect(vha, addr1, temp); in qla8044_ipmdio_rd_reg()
160 ret = qla8044_poll_wait_for_ready(vha, addr1, mask); in qla8044_ipmdio_rd_reg()
164 qla8044_rd_reg_indirect(vha, addr3, &ret); in qla8044_ipmdio_rd_reg()
171 qla8044_poll_wait_ipmdio_bus_idle(struct scsi_qla_host *vha, in qla8044_poll_wait_ipmdio_bus_idle() argument
180 temp = qla8044_ipmdio_rd_reg(vha, addr1, addr3, mask, addr2); in qla8044_poll_wait_ipmdio_bus_idle()
184 ql_log(ql_log_warn, vha, 0xb152, in qla8044_poll_wait_ipmdio_bus_idle()
194 qla8044_ipmdio_wr_reg(struct scsi_qla_host *vha, uint32_t addr1, in qla8044_ipmdio_wr_reg() argument
199 ret = qla8044_poll_wait_for_ready(vha, addr1, mask); in qla8044_ipmdio_wr_reg()
203 qla8044_wr_reg_indirect(vha, addr3, value); in qla8044_ipmdio_wr_reg()
204 qla8044_wr_reg_indirect(vha, addr1, addr); in qla8044_ipmdio_wr_reg()
206 ret = qla8044_poll_wait_for_ready(vha, addr1, mask); in qla8044_ipmdio_wr_reg()
223 qla8044_rmw_crb_reg(struct scsi_qla_host *vha, in qla8044_rmw_crb_reg() argument
229 value = vha->reset_tmplt.array[p_rmw_hdr->index_a]; in qla8044_rmw_crb_reg()
231 qla8044_rd_reg_indirect(vha, raddr, &value); in qla8044_rmw_crb_reg()
237 qla8044_wr_reg_indirect(vha, waddr, value); in qla8044_rmw_crb_reg()
242 qla8044_set_qsnt_ready(struct scsi_qla_host *vha) in qla8044_set_qsnt_ready() argument
245 struct qla_hw_data *ha = vha->hw; in qla8044_set_qsnt_ready()
247 qsnt_state = qla8044_rd_direct(vha, QLA8044_CRB_DRV_STATE_INDEX); in qla8044_set_qsnt_ready()
249 qla8044_wr_direct(vha, QLA8044_CRB_DRV_STATE_INDEX, qsnt_state); in qla8044_set_qsnt_ready()
250 ql_log(ql_log_info, vha, 0xb08e, "%s(%ld): qsnt_state: 0x%08x\n", in qla8044_set_qsnt_ready()
251 __func__, vha->host_no, qsnt_state); in qla8044_set_qsnt_ready()
255 qla8044_clear_qsnt_ready(struct scsi_qla_host *vha) in qla8044_clear_qsnt_ready() argument
258 struct qla_hw_data *ha = vha->hw; in qla8044_clear_qsnt_ready()
260 qsnt_state = qla8044_rd_direct(vha, QLA8044_CRB_DRV_STATE_INDEX); in qla8044_clear_qsnt_ready()
262 qla8044_wr_direct(vha, QLA8044_CRB_DRV_STATE_INDEX, qsnt_state); in qla8044_clear_qsnt_ready()
263 ql_log(ql_log_info, vha, 0xb08f, "%s(%ld): qsnt_state: 0x%08x\n", in qla8044_clear_qsnt_ready()
264 __func__, vha->host_no, qsnt_state); in qla8044_clear_qsnt_ready()
294 qla8044_lock_recovery(struct scsi_qla_host *vha) in qla8044_lock_recovery() argument
297 struct qla_hw_data *ha = vha->hw; in qla8044_lock_recovery()
317 ql_dbg(ql_dbg_p3p, vha, 0xb08B, "%s:%d: IDC Lock recovery initiated\n" in qla8044_lock_recovery()
348 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla8044_idc_lock() local
371 ql_log(ql_log_warn, vha, 0xb114, in qla8044_idc_lock()
381 ql_dbg(ql_dbg_p3p, vha, 0xb115, in qla8044_idc_lock()
388 if (qla8044_lock_recovery(vha) == QLA_SUCCESS) { in qla8044_idc_lock()
391 ql_dbg(ql_dbg_p3p, vha, 0xb116, in qla8044_idc_lock()
400 ql_dbg(ql_dbg_p3p, vha, 0xb08a, in qla8044_idc_lock()
416 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla8044_idc_unlock() local
421 ql_log(ql_log_warn, vha, 0xb118, in qla8044_idc_unlock()
434 qla8044_flash_lock(scsi_qla_host_t *vha) in qla8044_flash_lock() argument
440 struct qla_hw_data *ha = vha->hw; in qla8044_flash_lock()
450 ql_log(ql_log_warn, vha, 0xb113, in qla8044_flash_lock()
463 qla8044_flash_unlock(scsi_qla_host_t *vha) in qla8044_flash_unlock() argument
465 struct qla_hw_data *ha = vha->hw; in qla8044_flash_unlock()
474 void qla8044_flash_lock_recovery(struct scsi_qla_host *vha) in qla8044_flash_lock_recovery() argument
477 if (qla8044_flash_lock(vha)) { in qla8044_flash_lock_recovery()
479 ql_log(ql_log_warn, vha, 0xb120, "Resetting flash_lock\n"); in qla8044_flash_lock_recovery()
487 qla8044_flash_unlock(vha); in qla8044_flash_lock_recovery()
494 qla8044_read_flash_data(scsi_qla_host_t *vha, uint8_t *p_data, in qla8044_read_flash_data() argument
500 if (qla8044_flash_lock(vha) != QLA_SUCCESS) { in qla8044_read_flash_data()
506 ql_log(ql_log_warn, vha, 0xb117, in qla8044_read_flash_data()
513 if (qla8044_wr_reg_indirect(vha, QLA8044_FLASH_DIRECT_WINDOW, in qla8044_read_flash_data()
515 ql_log(ql_log_warn, vha, 0xb119, in qla8044_read_flash_data()
523 ret_val = qla8044_rd_reg_indirect(vha, in qla8044_read_flash_data()
527 ql_log(ql_log_warn, vha, 0xb08c, in qla8044_read_flash_data()
539 qla8044_flash_unlock(vha); in qla8044_read_flash_data()
549 qla8044_read_optrom_data(struct scsi_qla_host *vha, uint8_t *buf, in qla8044_read_optrom_data() argument
552 scsi_block_requests(vha->host); in qla8044_read_optrom_data()
553 if (qla8044_read_flash_data(vha, (uint8_t *)buf, offset, length / 4) in qla8044_read_optrom_data()
555 ql_log(ql_log_warn, vha, 0xb08d, in qla8044_read_optrom_data()
559 scsi_unblock_requests(vha->host); in qla8044_read_optrom_data()
564 qla8044_need_reset(struct scsi_qla_host *vha) in qla8044_need_reset() argument
568 struct qla_hw_data *ha = vha->hw; in qla8044_need_reset()
570 drv_active = qla8044_rd_direct(vha, QLA8044_CRB_DRV_ACTIVE_INDEX); in qla8044_need_reset()
571 drv_state = qla8044_rd_direct(vha, QLA8044_CRB_DRV_STATE_INDEX); in qla8044_need_reset()
590 qla8044_write_list(struct scsi_qla_host *vha, in qla8044_write_list() argument
600 qla8044_wr_reg_indirect(vha, p_entry->arg1, p_entry->arg2); in qla8044_write_list()
616 qla8044_read_write_list(struct scsi_qla_host *vha, in qla8044_read_write_list() argument
626 qla8044_read_write_crb_reg(vha, p_entry->arg1, in qla8044_read_write_list()
646 qla8044_poll_reg(struct scsi_qla_host *vha, uint32_t addr, in qla8044_poll_reg() argument
654 ret_val = qla8044_rd_reg_indirect(vha, addr, &value); in qla8044_poll_reg()
667 ret_val = qla8044_rd_reg_indirect(vha, addr, &value); in qla8044_poll_reg()
680 vha->reset_tmplt.seq_error++; in qla8044_poll_reg()
681 ql_log(ql_log_fatal, vha, 0xb090, in qla8044_poll_reg()
699 qla8044_poll_list(struct scsi_qla_host *vha, in qla8044_poll_list() argument
721 qla8044_poll_reg(vha, p_entry->arg1, in qla8044_poll_list()
726 if (qla8044_poll_reg(vha, in qla8044_poll_list()
735 qla8044_rd_reg_indirect(vha, in qla8044_poll_list()
737 qla8044_rd_reg_indirect(vha, in qla8044_poll_list()
755 qla8044_poll_write_list(struct scsi_qla_host *vha, in qla8044_poll_write_list() argument
772 qla8044_wr_reg_indirect(vha, in qla8044_poll_write_list()
774 qla8044_wr_reg_indirect(vha, in qla8044_poll_write_list()
777 if (qla8044_poll_reg(vha, in qla8044_poll_write_list()
781 ql_dbg(ql_dbg_p3p, vha, 0xb091, in qla8044_poll_write_list()
784 ql_dbg(ql_dbg_p3p, vha, 0xb092, in qla8044_poll_write_list()
786 vha->reset_tmplt.seq_index); in qla8044_poll_write_list()
802 qla8044_read_modify_write(struct scsi_qla_host *vha, in qla8044_read_modify_write() argument
816 qla8044_rmw_crb_reg(vha, p_entry->arg1, in qla8044_read_modify_write()
832 void qla8044_pause(struct scsi_qla_host *vha, in qla8044_pause() argument
847 qla8044_template_end(struct scsi_qla_host *vha, in qla8044_template_end() argument
850 vha->reset_tmplt.template_end = 1; in qla8044_template_end()
852 if (vha->reset_tmplt.seq_error == 0) { in qla8044_template_end()
853 ql_dbg(ql_dbg_p3p, vha, 0xb093, in qla8044_template_end()
856 ql_log(ql_log_fatal, vha, 0xb094, in qla8044_template_end()
872 qla8044_poll_read_list(struct scsi_qla_host *vha, in qla8044_poll_read_list() argument
891 qla8044_wr_reg_indirect(vha, p_entry->ar_addr, in qla8044_poll_read_list()
894 if (qla8044_poll_reg(vha, p_entry->ar_addr, delay, in qla8044_poll_read_list()
896 ql_dbg(ql_dbg_p3p, vha, 0xb095, in qla8044_poll_read_list()
899 ql_dbg(ql_dbg_p3p, vha, 0xb096, in qla8044_poll_read_list()
902 vha->reset_tmplt.seq_index); in qla8044_poll_read_list()
904 index = vha->reset_tmplt.array_index; in qla8044_poll_read_list()
905 qla8044_rd_reg_indirect(vha, in qla8044_poll_read_list()
907 vha->reset_tmplt.array[index++] = value; in qla8044_poll_read_list()
909 vha->reset_tmplt.array_index = 1; in qla8044_poll_read_list()
927 qla8044_process_reset_template(struct scsi_qla_host *vha, in qla8044_process_reset_template() argument
934 vha->reset_tmplt.seq_end = 0; in qla8044_process_reset_template()
935 vha->reset_tmplt.template_end = 0; in qla8044_process_reset_template()
936 entries = vha->reset_tmplt.hdr->entries; in qla8044_process_reset_template()
937 index = vha->reset_tmplt.seq_index; in qla8044_process_reset_template()
939 for (; (!vha->reset_tmplt.seq_end) && (index < entries); index++) { in qla8044_process_reset_template()
945 qla8044_write_list(vha, p_hdr); in qla8044_process_reset_template()
948 qla8044_read_write_list(vha, p_hdr); in qla8044_process_reset_template()
951 qla8044_poll_list(vha, p_hdr); in qla8044_process_reset_template()
954 qla8044_poll_write_list(vha, p_hdr); in qla8044_process_reset_template()
957 qla8044_read_modify_write(vha, p_hdr); in qla8044_process_reset_template()
960 qla8044_pause(vha, p_hdr); in qla8044_process_reset_template()
963 vha->reset_tmplt.seq_end = 1; in qla8044_process_reset_template()
966 qla8044_template_end(vha, p_hdr); in qla8044_process_reset_template()
969 qla8044_poll_read_list(vha, p_hdr); in qla8044_process_reset_template()
972 ql_log(ql_log_fatal, vha, 0xb097, in qla8044_process_reset_template()
982 vha->reset_tmplt.seq_index = index; in qla8044_process_reset_template()
986 qla8044_process_init_seq(struct scsi_qla_host *vha) in qla8044_process_init_seq() argument
988 qla8044_process_reset_template(vha, in qla8044_process_init_seq()
989 vha->reset_tmplt.init_offset); in qla8044_process_init_seq()
990 if (vha->reset_tmplt.seq_end != 1) in qla8044_process_init_seq()
991 ql_log(ql_log_fatal, vha, 0xb098, in qla8044_process_init_seq()
997 qla8044_process_stop_seq(struct scsi_qla_host *vha) in qla8044_process_stop_seq() argument
999 vha->reset_tmplt.seq_index = 0; in qla8044_process_stop_seq()
1000 qla8044_process_reset_template(vha, vha->reset_tmplt.stop_offset); in qla8044_process_stop_seq()
1001 if (vha->reset_tmplt.seq_end != 1) in qla8044_process_stop_seq()
1002 ql_log(ql_log_fatal, vha, 0xb099, in qla8044_process_stop_seq()
1007 qla8044_process_start_seq(struct scsi_qla_host *vha) in qla8044_process_start_seq() argument
1009 qla8044_process_reset_template(vha, vha->reset_tmplt.start_offset); in qla8044_process_start_seq()
1010 if (vha->reset_tmplt.template_end != 1) in qla8044_process_start_seq()
1011 ql_log(ql_log_fatal, vha, 0xb09a, in qla8044_process_start_seq()
1017 qla8044_lockless_flash_read_u32(struct scsi_qla_host *vha, in qla8044_lockless_flash_read_u32() argument
1029 ql_log(ql_log_fatal, vha, 0xb09b, "%s: Illegal addr = 0x%x\n", in qla8044_lockless_flash_read_u32()
1035 ret_val = qla8044_wr_reg_indirect(vha, in qla8044_lockless_flash_read_u32()
1039 ql_log(ql_log_fatal, vha, 0xb09c, in qla8044_lockless_flash_read_u32()
1050 ret_val = qla8044_rd_reg_indirect(vha, in qla8044_lockless_flash_read_u32()
1053 ql_log(ql_log_fatal, vha, 0xb09d, in qla8044_lockless_flash_read_u32()
1064 ret_val = qla8044_wr_reg_indirect(vha, in qla8044_lockless_flash_read_u32()
1067 ql_log(ql_log_fatal, vha, 0xb09f, in qla8044_lockless_flash_read_u32()
1079 ret_val = qla8044_rd_reg_indirect(vha, in qla8044_lockless_flash_read_u32()
1082 ql_log(ql_log_fatal, vha, 0xb0a0, in qla8044_lockless_flash_read_u32()
1108 qla8044_ms_mem_write_128b(struct scsi_qla_host *vha, in qla8044_ms_mem_write_128b() argument
1114 struct qla_hw_data *ha = vha->hw; in qla8044_ms_mem_write_128b()
1124 ret_val = qla8044_wr_reg_indirect(vha, MD_MIU_TEST_AGT_ADDR_HI, 0); in qla8044_ms_mem_write_128b()
1126 ql_log(ql_log_fatal, vha, 0xb0a1, in qla8044_ms_mem_write_128b()
1140 ret_val = qla8044_wr_reg_indirect(vha, in qla8044_ms_mem_write_128b()
1144 ret_val += qla8044_wr_reg_indirect(vha, in qla8044_ms_mem_write_128b()
1146 ret_val += qla8044_wr_reg_indirect(vha, in qla8044_ms_mem_write_128b()
1148 ret_val += qla8044_wr_reg_indirect(vha, in qla8044_ms_mem_write_128b()
1150 ret_val += qla8044_wr_reg_indirect(vha, in qla8044_ms_mem_write_128b()
1153 ql_log(ql_log_fatal, vha, 0xb0a2, in qla8044_ms_mem_write_128b()
1160 ret_val = qla8044_wr_reg_indirect(vha, MD_MIU_TEST_AGT_CTRL, in qla8044_ms_mem_write_128b()
1162 ret_val += qla8044_wr_reg_indirect(vha, MD_MIU_TEST_AGT_CTRL, in qla8044_ms_mem_write_128b()
1165 ql_log(ql_log_fatal, vha, 0xb0a3, in qla8044_ms_mem_write_128b()
1171 ret_val = qla8044_rd_reg_indirect(vha, in qla8044_ms_mem_write_128b()
1174 ql_log(ql_log_fatal, vha, 0xb0a4, in qla8044_ms_mem_write_128b()
1185 ql_log(ql_log_fatal, vha, 0xb0a5, in qla8044_ms_mem_write_128b()
1201 qla8044_copy_bootloader(struct scsi_qla_host *vha) in qla8044_copy_bootloader() argument
1207 struct qla_hw_data *ha = vha->hw; in qla8044_copy_bootloader()
1222 ql_log(ql_log_fatal, vha, 0xb0a6, in qla8044_copy_bootloader()
1229 ret_val = qla8044_lockless_flash_read_u32(vha, src, in qla8044_copy_bootloader()
1232 ql_log(ql_log_fatal, vha, 0xb0a7, in qla8044_copy_bootloader()
1236 ql_dbg(ql_dbg_p3p, vha, 0xb0a8, "%s: Read F/W from flash!\n", in qla8044_copy_bootloader()
1240 ret_val = qla8044_ms_mem_write_128b(vha, dest, in qla8044_copy_bootloader()
1243 ql_log(ql_log_fatal, vha, 0xb0a9, in qla8044_copy_bootloader()
1247 ql_dbg(ql_dbg_p3p, vha, 0xb0aa, in qla8044_copy_bootloader()
1259 qla8044_restart(struct scsi_qla_host *vha) in qla8044_restart() argument
1262 struct qla_hw_data *ha = vha->hw; in qla8044_restart()
1264 qla8044_process_stop_seq(vha); in qla8044_restart()
1268 qla8044_get_minidump(vha); in qla8044_restart()
1270 ql_log(ql_log_fatal, vha, 0xb14c, in qla8044_restart()
1273 qla8044_process_init_seq(vha); in qla8044_restart()
1275 if (qla8044_copy_bootloader(vha)) { in qla8044_restart()
1276 ql_log(ql_log_fatal, vha, 0xb0ab, in qla8044_restart()
1288 qla8044_process_start_seq(vha); in qla8044_restart()
1303 qla8044_check_cmd_peg_status(struct scsi_qla_host *vha) in qla8044_check_cmd_peg_status() argument
1307 struct qla_hw_data *ha = vha->hw; in qla8044_check_cmd_peg_status()
1312 ql_dbg(ql_dbg_p3p, vha, 0xb0ac, in qla8044_check_cmd_peg_status()
1325 qla8044_start_firmware(struct scsi_qla_host *vha) in qla8044_start_firmware() argument
1329 if (qla8044_restart(vha)) { in qla8044_start_firmware()
1330 ql_log(ql_log_fatal, vha, 0xb0ad, in qla8044_start_firmware()
1336 ql_dbg(ql_dbg_p3p, vha, 0xb0af, in qla8044_start_firmware()
1339 ret_val = qla8044_check_cmd_peg_status(vha); in qla8044_start_firmware()
1341 ql_log(ql_log_fatal, vha, 0xb0b0, in qla8044_start_firmware()
1354 struct scsi_qla_host *vha = pci_get_drvdata(ha->pdev); in qla8044_clear_drv_active() local
1356 drv_active = qla8044_rd_direct(vha, QLA8044_CRB_DRV_ACTIVE_INDEX); in qla8044_clear_drv_active()
1359 ql_log(ql_log_info, vha, 0xb0b1, in qla8044_clear_drv_active()
1361 __func__, vha->host_no, drv_active); in qla8044_clear_drv_active()
1363 qla8044_wr_direct(vha, QLA8044_CRB_DRV_ACTIVE_INDEX, drv_active); in qla8044_clear_drv_active()
1373 qla8044_device_bootstrap(struct scsi_qla_host *vha) in qla8044_device_bootstrap() argument
1380 struct qla_hw_data *ha = vha->hw; in qla8044_device_bootstrap()
1382 need_reset = qla8044_need_reset(vha); in qla8044_device_bootstrap()
1385 old_count = qla8044_rd_direct(vha, in qla8044_device_bootstrap()
1391 count = qla8044_rd_direct(vha, in qla8044_device_bootstrap()
1398 qla8044_flash_lock_recovery(vha); in qla8044_device_bootstrap()
1402 qla8044_flash_lock_recovery(vha); in qla8044_device_bootstrap()
1406 ql_log(ql_log_info, vha, 0xb0b2, in qla8044_device_bootstrap()
1408 qla8044_wr_direct(vha, QLA8044_CRB_DEV_STATE_INDEX, in qla8044_device_bootstrap()
1412 rval = qla8044_start_firmware(vha); in qla8044_device_bootstrap()
1416 ql_log(ql_log_info, vha, 0xb0b3, in qla8044_device_bootstrap()
1419 qla8044_wr_direct(vha, QLA8044_CRB_DEV_STATE_INDEX, in qla8044_device_bootstrap()
1434 ql_log(ql_log_info, vha, 0xb0b4, in qla8044_device_bootstrap()
1436 qla8044_wr_direct(vha, QLA8044_CRB_DEV_STATE_INDEX, QLA8XXX_DEV_READY); in qla8044_device_bootstrap()
1443 qla8044_dump_reset_seq_hdr(struct scsi_qla_host *vha) in qla8044_dump_reset_seq_hdr() argument
1447 if (!vha->reset_tmplt.buff) { in qla8044_dump_reset_seq_hdr()
1448 ql_log(ql_log_fatal, vha, 0xb0b5, in qla8044_dump_reset_seq_hdr()
1453 phdr = vha->reset_tmplt.buff; in qla8044_dump_reset_seq_hdr()
1454 ql_dbg(ql_dbg_p3p, vha, 0xb0b6, in qla8044_dump_reset_seq_hdr()
1472 qla8044_reset_seq_checksum_test(struct scsi_qla_host *vha) in qla8044_reset_seq_checksum_test() argument
1475 uint16_t *buff = (uint16_t *)vha->reset_tmplt.buff; in qla8044_reset_seq_checksum_test()
1476 int u16_count = vha->reset_tmplt.hdr->size / sizeof(uint16_t); in qla8044_reset_seq_checksum_test()
1488 ql_log(ql_log_fatal, vha, 0xb0b7, in qla8044_reset_seq_checksum_test()
1501 qla8044_read_reset_template(struct scsi_qla_host *vha) in qla8044_read_reset_template() argument
1506 vha->reset_tmplt.seq_error = 0; in qla8044_read_reset_template()
1507 vha->reset_tmplt.buff = vmalloc(QLA8044_RESTART_TEMPLATE_SIZE); in qla8044_read_reset_template()
1508 if (vha->reset_tmplt.buff == NULL) { in qla8044_read_reset_template()
1509 ql_log(ql_log_fatal, vha, 0xb0b8, in qla8044_read_reset_template()
1515 p_buff = vha->reset_tmplt.buff; in qla8044_read_reset_template()
1521 ql_dbg(ql_dbg_p3p, vha, 0xb0b9, in qla8044_read_reset_template()
1526 if (qla8044_read_flash_data(vha, p_buff, addr, tmplt_hdr_def_size)) { in qla8044_read_reset_template()
1527 ql_log(ql_log_fatal, vha, 0xb0ba, in qla8044_read_reset_template()
1532 vha->reset_tmplt.hdr = in qla8044_read_reset_template()
1533 (struct qla8044_reset_template_hdr *) vha->reset_tmplt.buff; in qla8044_read_reset_template()
1536 tmplt_hdr_size = vha->reset_tmplt.hdr->hdr_size/sizeof(uint32_t); in qla8044_read_reset_template()
1538 (vha->reset_tmplt.hdr->signature != RESET_TMPLT_HDR_SIGNATURE)) { in qla8044_read_reset_template()
1539 ql_log(ql_log_fatal, vha, 0xb0bb, in qla8044_read_reset_template()
1546 addr = QLA8044_RESET_TEMPLATE_ADDR + vha->reset_tmplt.hdr->hdr_size; in qla8044_read_reset_template()
1547 p_buff = vha->reset_tmplt.buff + vha->reset_tmplt.hdr->hdr_size; in qla8044_read_reset_template()
1548 tmplt_hdr_def_size = (vha->reset_tmplt.hdr->size - in qla8044_read_reset_template()
1549 vha->reset_tmplt.hdr->hdr_size)/sizeof(uint32_t); in qla8044_read_reset_template()
1551 ql_dbg(ql_dbg_p3p, vha, 0xb0bc, in qla8044_read_reset_template()
1553 __func__, vha->reset_tmplt.hdr->size); in qla8044_read_reset_template()
1556 if (qla8044_read_flash_data(vha, p_buff, addr, tmplt_hdr_def_size)) { in qla8044_read_reset_template()
1557 ql_log(ql_log_fatal, vha, 0xb0bd, in qla8044_read_reset_template()
1563 if (qla8044_reset_seq_checksum_test(vha)) { in qla8044_read_reset_template()
1564 ql_log(ql_log_fatal, vha, 0xb0be, in qla8044_read_reset_template()
1569 ql_dbg(ql_dbg_p3p, vha, 0xb0bf, in qla8044_read_reset_template()
1574 vha->reset_tmplt.init_offset = vha->reset_tmplt.buff + in qla8044_read_reset_template()
1575 vha->reset_tmplt.hdr->init_seq_offset; in qla8044_read_reset_template()
1577 vha->reset_tmplt.start_offset = vha->reset_tmplt.buff + in qla8044_read_reset_template()
1578 vha->reset_tmplt.hdr->start_seq_offset; in qla8044_read_reset_template()
1580 vha->reset_tmplt.stop_offset = vha->reset_tmplt.buff + in qla8044_read_reset_template()
1581 vha->reset_tmplt.hdr->hdr_size; in qla8044_read_reset_template()
1583 qla8044_dump_reset_seq_hdr(vha); in qla8044_read_reset_template()
1588 vfree(vha->reset_tmplt.buff); in qla8044_read_reset_template()
1595 qla8044_set_idc_dontreset(struct scsi_qla_host *vha) in qla8044_set_idc_dontreset() argument
1598 struct qla_hw_data *ha = vha->hw; in qla8044_set_idc_dontreset()
1602 ql_dbg(ql_dbg_p3p, vha, 0xb0c0, in qla8044_set_idc_dontreset()
1608 qla8044_set_rst_ready(struct scsi_qla_host *vha) in qla8044_set_rst_ready() argument
1611 struct qla_hw_data *ha = vha->hw; in qla8044_set_rst_ready()
1613 drv_state = qla8044_rd_direct(vha, QLA8044_CRB_DRV_STATE_INDEX); in qla8044_set_rst_ready()
1619 ql_log(ql_log_info, vha, 0xb0c1, in qla8044_set_rst_ready()
1621 __func__, vha->host_no, drv_state); in qla8044_set_rst_ready()
1622 qla8044_wr_direct(vha, QLA8044_CRB_DRV_STATE_INDEX, drv_state); in qla8044_set_rst_ready()
1632 qla8044_need_reset_handler(struct scsi_qla_host *vha) in qla8044_need_reset_handler() argument
1636 struct qla_hw_data *ha = vha->hw; in qla8044_need_reset_handler()
1638 ql_log(ql_log_fatal, vha, 0xb0c2, in qla8044_need_reset_handler()
1641 if (vha->flags.online) { in qla8044_need_reset_handler()
1643 qla2x00_abort_isp_cleanup(vha); in qla8044_need_reset_handler()
1644 ha->isp_ops->get_flash_version(vha, vha->req->ring); in qla8044_need_reset_handler()
1645 ha->isp_ops->nvram_config(vha); in qla8044_need_reset_handler()
1649 dev_state = qla8044_rd_direct(vha, in qla8044_need_reset_handler()
1651 drv_state = qla8044_rd_direct(vha, in qla8044_need_reset_handler()
1653 drv_active = qla8044_rd_direct(vha, in qla8044_need_reset_handler()
1656 ql_log(ql_log_info, vha, 0xb0c5, in qla8044_need_reset_handler()
1658 __func__, vha->host_no, drv_state, drv_active, dev_state); in qla8044_need_reset_handler()
1660 qla8044_set_rst_ready(vha); in qla8044_need_reset_handler()
1667 ql_log(ql_log_info, vha, 0xb0c4, in qla8044_need_reset_handler()
1677 dev_state = qla8044_rd_direct(vha, in qla8044_need_reset_handler()
1679 drv_state = qla8044_rd_direct(vha, in qla8044_need_reset_handler()
1681 drv_active = qla8044_rd_direct(vha, in qla8044_need_reset_handler()
1688 ql_log(ql_log_info, vha, 0xb0c7, in qla8044_need_reset_handler()
1690 __func__, vha->host_no, ha->portnum, in qla8044_need_reset_handler()
1693 qla8044_wr_direct(vha, QLA8044_CRB_DRV_ACTIVE_INDEX, in qla8044_need_reset_handler()
1703 qla8044_device_bootstrap(vha); in qla8044_need_reset_handler()
1721 qla8044_device_bootstrap(vha); in qla8044_need_reset_handler()
1726 qla8044_set_drv_active(struct scsi_qla_host *vha) in qla8044_set_drv_active() argument
1729 struct qla_hw_data *ha = vha->hw; in qla8044_set_drv_active()
1731 drv_active = qla8044_rd_direct(vha, QLA8044_CRB_DRV_ACTIVE_INDEX); in qla8044_set_drv_active()
1737 ql_log(ql_log_info, vha, 0xb0c8, in qla8044_set_drv_active()
1739 __func__, vha->host_no, drv_active); in qla8044_set_drv_active()
1740 qla8044_wr_direct(vha, QLA8044_CRB_DRV_ACTIVE_INDEX, drv_active); in qla8044_set_drv_active()
1744 qla8044_check_drv_active(struct scsi_qla_host *vha) in qla8044_check_drv_active() argument
1747 struct qla_hw_data *ha = vha->hw; in qla8044_check_drv_active()
1749 drv_active = qla8044_rd_direct(vha, QLA8044_CRB_DRV_ACTIVE_INDEX); in qla8044_check_drv_active()
1757 qla8044_clear_idc_dontreset(struct scsi_qla_host *vha) in qla8044_clear_idc_dontreset() argument
1760 struct qla_hw_data *ha = vha->hw; in qla8044_clear_idc_dontreset()
1764 ql_log(ql_log_info, vha, 0xb0c9, in qla8044_clear_idc_dontreset()
1771 qla8044_set_idc_ver(struct scsi_qla_host *vha) in qla8044_set_idc_ver() argument
1776 struct qla_hw_data *ha = vha->hw; in qla8044_set_idc_ver()
1778 drv_active = qla8044_rd_direct(vha, QLA8044_CRB_DRV_ACTIVE_INDEX); in qla8044_set_idc_ver()
1780 idc_ver = qla8044_rd_direct(vha, in qla8044_set_idc_ver()
1784 qla8044_wr_direct(vha, QLA8044_CRB_DRV_IDC_VERSION_INDEX, in qla8044_set_idc_ver()
1786 ql_log(ql_log_info, vha, 0xb0ca, in qla8044_set_idc_ver()
1790 idc_ver = qla8044_rd_direct(vha, in qla8044_set_idc_ver()
1794 ql_log(ql_log_info, vha, 0xb0cb, in qla8044_set_idc_ver()
1816 qla8044_update_idc_reg(struct scsi_qla_host *vha) in qla8044_update_idc_reg() argument
1820 struct qla_hw_data *ha = vha->hw; in qla8044_update_idc_reg()
1822 if (vha->flags.init_done) in qla8044_update_idc_reg()
1826 qla8044_set_drv_active(vha); in qla8044_update_idc_reg()
1828 drv_active = qla8044_rd_direct(vha, in qla8044_update_idc_reg()
1834 qla8044_clear_idc_dontreset(vha); in qla8044_update_idc_reg()
1836 rval = qla8044_set_idc_ver(vha); in qla8044_update_idc_reg()
1850 qla8044_need_qsnt_handler(struct scsi_qla_host *vha) in qla8044_need_qsnt_handler() argument
1854 struct qla_hw_data *ha = vha->hw; in qla8044_need_qsnt_handler()
1856 if (vha->flags.online) in qla8044_need_qsnt_handler()
1857 qla2x00_quiesce_io(vha); in qla8044_need_qsnt_handler()
1861 qla8044_set_qsnt_ready(vha); in qla8044_need_qsnt_handler()
1865 drv_state = qla8044_rd_direct(vha, QLA8044_CRB_DRV_STATE_INDEX); in qla8044_need_qsnt_handler()
1866 drv_active = qla8044_rd_direct(vha, QLA8044_CRB_DRV_ACTIVE_INDEX); in qla8044_need_qsnt_handler()
1877 clear_bit(ISP_QUIESCE_NEEDED, &vha->dpc_flags); in qla8044_need_qsnt_handler()
1878 qla8044_wr_direct(vha, QLA8044_CRB_DEV_STATE_INDEX, in qla8044_need_qsnt_handler()
1880 qla8044_clear_qsnt_ready(vha); in qla8044_need_qsnt_handler()
1881 ql_log(ql_log_info, vha, 0xb0cc, in qla8044_need_qsnt_handler()
1889 drv_state = qla8044_rd_direct(vha, in qla8044_need_qsnt_handler()
1891 drv_active = qla8044_rd_direct(vha, in qla8044_need_qsnt_handler()
1897 dev_state = qla8044_rd_direct(vha, QLA8044_CRB_DEV_STATE_INDEX); in qla8044_need_qsnt_handler()
1900 qla8044_wr_direct(vha, QLA8044_CRB_DEV_STATE_INDEX, in qla8044_need_qsnt_handler()
1902 ql_log(ql_log_info, vha, 0xb0cd, in qla8044_need_qsnt_handler()
1914 qla8044_device_state_handler(struct scsi_qla_host *vha) in qla8044_device_state_handler() argument
1919 struct qla_hw_data *ha = vha->hw; in qla8044_device_state_handler()
1921 rval = qla8044_update_idc_reg(vha); in qla8044_device_state_handler()
1925 dev_state = qla8044_rd_direct(vha, QLA8044_CRB_DEV_STATE_INDEX); in qla8044_device_state_handler()
1926 ql_dbg(ql_dbg_p3p, vha, 0xb0ce, in qla8044_device_state_handler()
1938 if (qla8044_check_drv_active(vha) == QLA_SUCCESS) { in qla8044_device_state_handler()
1939 ql_log(ql_log_warn, vha, 0xb0cf, in qla8044_device_state_handler()
1944 qla8044_wr_direct(vha, in qla8044_device_state_handler()
1950 dev_state = qla8044_rd_direct(vha, QLA8044_CRB_DEV_STATE_INDEX); in qla8044_device_state_handler()
1951 ql_log(ql_log_info, vha, 0xb0d0, in qla8044_device_state_handler()
1962 rval = qla8044_device_bootstrap(vha); in qla8044_device_state_handler()
1973 qla8044_need_reset_handler(vha); in qla8044_device_state_handler()
1977 qla8044_need_qsnt_handler(vha); in qla8044_device_state_handler()
1984 ql_log(ql_log_info, vha, 0xb0d1, in qla8044_device_state_handler()
1998 qla8xxx_dev_failed_handler(vha); in qla8044_device_state_handler()
2004 qla8xxx_dev_failed_handler(vha); in qla8044_device_state_handler()
2024 qla8044_check_temp(struct scsi_qla_host *vha) in qla8044_check_temp() argument
2029 temp = qla8044_rd_direct(vha, QLA8044_CRB_TEMP_STATE_INDEX); in qla8044_check_temp()
2034 ql_log(ql_log_warn, vha, 0xb0d2, in qla8044_check_temp()
2041 ql_log(ql_log_warn, vha, 0xb0d3, in qla8044_check_temp()
2049 int qla8044_read_temperature(scsi_qla_host_t *vha) in qla8044_read_temperature() argument
2053 temp = qla8044_rd_direct(vha, QLA8044_CRB_TEMP_STATE_INDEX); in qla8044_read_temperature()
2064 qla8044_check_fw_alive(struct scsi_qla_host *vha) in qla8044_check_fw_alive() argument
2070 fw_heartbeat_counter = qla8044_rd_direct(vha, in qla8044_check_fw_alive()
2075 ql_dbg(ql_dbg_p3p, vha, 0xb0d4, in qla8044_check_fw_alive()
2078 vha->host_no, __func__); in qla8044_check_fw_alive()
2082 if (vha->fw_heartbeat_counter == fw_heartbeat_counter) { in qla8044_check_fw_alive()
2083 vha->seconds_since_last_heartbeat++; in qla8044_check_fw_alive()
2085 if (vha->seconds_since_last_heartbeat == 2) { in qla8044_check_fw_alive()
2086 vha->seconds_since_last_heartbeat = 0; in qla8044_check_fw_alive()
2087 halt_status1 = qla8044_rd_direct(vha, in qla8044_check_fw_alive()
2089 halt_status2 = qla8044_rd_direct(vha, in qla8044_check_fw_alive()
2092 ql_log(ql_log_info, vha, 0xb0d5, in qla8044_check_fw_alive()
2097 vha->host_no, __func__, halt_status1, in qla8044_check_fw_alive()
2102 vha->seconds_since_last_heartbeat = 0; in qla8044_check_fw_alive()
2104 vha->fw_heartbeat_counter = fw_heartbeat_counter; in qla8044_check_fw_alive()
2109 qla8044_watchdog(struct scsi_qla_host *vha) in qla8044_watchdog() argument
2113 struct qla_hw_data *ha = vha->hw; in qla8044_watchdog()
2116 if (!(test_bit(ABORT_ISP_ACTIVE, &vha->dpc_flags) || in qla8044_watchdog()
2117 test_bit(FCOE_CTX_RESET_NEEDED, &vha->dpc_flags))) { in qla8044_watchdog()
2118 dev_state = qla8044_rd_direct(vha, QLA8044_CRB_DEV_STATE_INDEX); in qla8044_watchdog()
2120 if (qla8044_check_fw_alive(vha)) { in qla8044_watchdog()
2122 ql_log(ql_log_warn, vha, 0xb10a, in qla8044_watchdog()
2124 qla82xx_clear_pending_mbx(vha); in qla8044_watchdog()
2127 if (qla8044_check_temp(vha)) { in qla8044_watchdog()
2128 set_bit(ISP_UNRECOVERABLE, &vha->dpc_flags); in qla8044_watchdog()
2130 qla2xxx_wake_dpc(vha); in qla8044_watchdog()
2132 !test_bit(ISP_ABORT_NEEDED, &vha->dpc_flags)) { in qla8044_watchdog()
2133 ql_log(ql_log_info, vha, 0xb0d6, in qla8044_watchdog()
2136 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla8044_watchdog()
2137 qla2xxx_wake_dpc(vha); in qla8044_watchdog()
2139 !test_bit(ISP_QUIESCE_NEEDED, &vha->dpc_flags)) { in qla8044_watchdog()
2140 ql_log(ql_log_info, vha, 0xb0d7, in qla8044_watchdog()
2143 set_bit(ISP_QUIESCE_NEEDED, &vha->dpc_flags); in qla8044_watchdog()
2144 qla2xxx_wake_dpc(vha); in qla8044_watchdog()
2148 halt_status = qla8044_rd_direct(vha, in qla8044_watchdog()
2152 ql_log(ql_log_fatal, vha, in qla8044_watchdog()
2167 &vha->dpc_flags); in qla8044_watchdog()
2172 &vha->dpc_flags); in qla8044_watchdog()
2173 ql_log(ql_log_info, vha, 0xb0d9, in qla8044_watchdog()
2177 ql_log(ql_log_info, vha, in qla8044_watchdog()
2182 &vha->dpc_flags); in qla8044_watchdog()
2185 qla2xxx_wake_dpc(vha); in qla8044_watchdog()
2193 qla8044_minidump_process_control(struct scsi_qla_host *vha, in qla8044_minidump_process_control() argument
2202 struct qla_hw_data *ha = vha->hw; in qla8044_minidump_process_control()
2204 ql_dbg(ql_dbg_p3p, vha, 0xb0dd, "Entering fn: %s\n", __func__); in qla8044_minidump_process_control()
2214 qla8044_wr_reg_indirect(vha, crb_addr, in qla8044_minidump_process_control()
2220 qla8044_rd_reg_indirect(vha, crb_addr, &read_value); in qla8044_minidump_process_control()
2221 qla8044_wr_reg_indirect(vha, crb_addr, read_value); in qla8044_minidump_process_control()
2226 qla8044_rd_reg_indirect(vha, crb_addr, &read_value); in qla8044_minidump_process_control()
2233 qla8044_wr_reg_indirect(vha, crb_addr, read_value); in qla8044_minidump_process_control()
2236 qla8044_rd_reg_indirect(vha, crb_addr, &read_value); in qla8044_minidump_process_control()
2238 qla8044_wr_reg_indirect(vha, crb_addr, read_value); in qla8044_minidump_process_control()
2244 qla8044_rd_reg_indirect(vha, crb_addr, &read_value); in qla8044_minidump_process_control()
2255 qla8044_rd_reg_indirect(vha, in qla8044_minidump_process_control()
2270 qla8044_rd_reg_indirect(vha, addr, &read_value); in qla8044_minidump_process_control()
2292 qla8044_wr_reg_indirect(vha, addr, read_value); in qla8044_minidump_process_control()
2314 qla8044_minidump_process_rdcrb(struct scsi_qla_host *vha, in qla8044_minidump_process_rdcrb() argument
2321 ql_dbg(ql_dbg_p3p, vha, 0xb0de, "Entering fn: %s\n", __func__); in qla8044_minidump_process_rdcrb()
2328 qla8044_rd_reg_indirect(vha, r_addr, &r_value); in qla8044_minidump_process_rdcrb()
2337 qla8044_minidump_process_rdmem(struct scsi_qla_host *vha, in qla8044_minidump_process_rdmem() argument
2345 struct qla_hw_data *ha = vha->hw; in qla8044_minidump_process_rdmem()
2347 ql_dbg(ql_dbg_p3p, vha, 0xb0df, "Entering fn: %s\n", __func__); in qla8044_minidump_process_rdmem()
2352 ql_dbg(ql_dbg_p3p, vha, 0xb0f0, in qla8044_minidump_process_rdmem()
2357 ql_dbg(ql_dbg_p3p, vha, 0xb0f1, in qla8044_minidump_process_rdmem()
2364 ql_dbg(ql_dbg_p3p, vha, 0xb0f2, in qla8044_minidump_process_rdmem()
2370 ql_dbg(ql_dbg_p3p, vha, 0xb0f3, in qla8044_minidump_process_rdmem()
2376 qla8044_wr_reg_indirect(vha, MD_MIU_TEST_AGT_ADDR_LO, r_addr); in qla8044_minidump_process_rdmem()
2378 qla8044_wr_reg_indirect(vha, MD_MIU_TEST_AGT_ADDR_HI, r_value); in qla8044_minidump_process_rdmem()
2380 qla8044_wr_reg_indirect(vha, MD_MIU_TEST_AGT_CTRL, r_value); in qla8044_minidump_process_rdmem()
2382 qla8044_wr_reg_indirect(vha, MD_MIU_TEST_AGT_CTRL, r_value); in qla8044_minidump_process_rdmem()
2385 qla8044_rd_reg_indirect(vha, MD_MIU_TEST_AGT_CTRL, in qla8044_minidump_process_rdmem()
2397 qla8044_rd_reg_indirect(vha, MD_MIU_TEST_AGT_RDDATA[j], in qla8044_minidump_process_rdmem()
2406 ql_dbg(ql_dbg_p3p, vha, 0xb0f4, in qla8044_minidump_process_rdmem()
2416 qla8044_minidump_process_rdrom(struct scsi_qla_host *vha, in qla8044_minidump_process_rdrom() argument
2427 ql_dbg(ql_dbg_p3p, vha, 0xb0f5, "[%s]: fl_addr: 0x%x, count: 0x%x\n", in qla8044_minidump_process_rdrom()
2430 rval = qla8044_lockless_flash_read_u32(vha, fl_addr, in qla8044_minidump_process_rdrom()
2434 ql_log(ql_log_fatal, vha, 0xb0f6, in qla8044_minidump_process_rdrom()
2445 qla8044_mark_entry_skipped(struct scsi_qla_host *vha, in qla8044_mark_entry_skipped() argument
2450 ql_log(ql_log_info, vha, 0xb0f7, in qla8044_mark_entry_skipped()
2452 vha->host_no, index, entry_hdr->entry_type, in qla8044_mark_entry_skipped()
2457 qla8044_minidump_process_l2tag(struct scsi_qla_host *vha, in qla8044_minidump_process_l2tag() argument
2469 ql_dbg(ql_dbg_p3p, vha, 0xb0f8, "Entering fn: %s\n", __func__); in qla8044_minidump_process_l2tag()
2484 qla8044_wr_reg_indirect(vha, t_r_addr, t_value); in qla8044_minidump_process_l2tag()
2486 qla8044_wr_reg_indirect(vha, c_addr, c_value_w); in qla8044_minidump_process_l2tag()
2491 qla8044_rd_reg_indirect(vha, c_addr, in qla8044_minidump_process_l2tag()
2504 qla8044_rd_reg_indirect(vha, addr, &r_value); in qla8044_minidump_process_l2tag()
2515 qla8044_minidump_process_l1cache(struct scsi_qla_host *vha, in qla8044_minidump_process_l1cache() argument
2535 qla8044_wr_reg_indirect(vha, t_r_addr, t_value); in qla8044_minidump_process_l1cache()
2536 qla8044_wr_reg_indirect(vha, c_addr, c_value_w); in qla8044_minidump_process_l1cache()
2539 qla8044_rd_reg_indirect(vha, addr, &r_value); in qla8044_minidump_process_l1cache()
2549 qla8044_minidump_process_rdocm(struct scsi_qla_host *vha, in qla8044_minidump_process_rdocm() argument
2555 struct qla_hw_data *ha = vha->hw; in qla8044_minidump_process_rdocm()
2557 ql_dbg(ql_dbg_p3p, vha, 0xb0f9, "Entering fn: %s\n", __func__); in qla8044_minidump_process_rdocm()
2564 ql_dbg(ql_dbg_p3p, vha, 0xb0fa, in qla8044_minidump_process_rdocm()
2573 ql_dbg(ql_dbg_p3p, vha, 0xb0fb, "Leaving fn: %s datacount: 0x%lx\n", in qla8044_minidump_process_rdocm()
2580 qla8044_minidump_process_rdmux(struct scsi_qla_host *vha, in qla8044_minidump_process_rdmux() argument
2588 ql_dbg(ql_dbg_p3p, vha, 0xb0fc, "Entering fn: %s\n", __func__); in qla8044_minidump_process_rdmux()
2598 qla8044_wr_reg_indirect(vha, s_addr, s_value); in qla8044_minidump_process_rdmux()
2599 qla8044_rd_reg_indirect(vha, r_addr, &r_value); in qla8044_minidump_process_rdmux()
2608 qla8044_minidump_process_queue(struct scsi_qla_host *vha, in qla8044_minidump_process_queue() argument
2618 ql_dbg(ql_dbg_p3p, vha, 0xb0fd, "Entering fn: %s\n", __func__); in qla8044_minidump_process_queue()
2626 qla8044_wr_reg_indirect(vha, s_addr, qid); in qla8044_minidump_process_queue()
2629 qla8044_rd_reg_indirect(vha, r_addr, &r_value); in qla8044_minidump_process_queue()
2640 qla8044_minidump_process_pollrd(struct scsi_qla_host *vha, in qla8044_minidump_process_pollrd() argument
2659 qla8044_wr_reg_indirect(vha, s_addr, s_value); in qla8044_minidump_process_pollrd()
2662 qla8044_rd_reg_indirect(vha, s_addr, &r_value); in qla8044_minidump_process_pollrd()
2668 ql_log(ql_log_fatal, vha, 0xb0fe, in qla8044_minidump_process_pollrd()
2674 qla8044_rd_reg_indirect(vha, r_addr, &r_value); in qla8044_minidump_process_pollrd()
2688 qla8044_minidump_process_rdmux2(struct scsi_qla_host *vha, in qla8044_minidump_process_rdmux2() argument
2705 qla8044_wr_reg_indirect(vha, sel_addr1, sel_val1); in qla8044_minidump_process_rdmux2()
2709 qla8044_wr_reg_indirect(vha, sel_addr2, t_sel_val); in qla8044_minidump_process_rdmux2()
2710 qla8044_rd_reg_indirect(vha, read_addr, &data); in qla8044_minidump_process_rdmux2()
2714 qla8044_wr_reg_indirect(vha, sel_addr1, sel_val2); in qla8044_minidump_process_rdmux2()
2718 qla8044_wr_reg_indirect(vha, sel_addr2, t_sel_val); in qla8044_minidump_process_rdmux2()
2719 qla8044_rd_reg_indirect(vha, read_addr, &data); in qla8044_minidump_process_rdmux2()
2731 qla8044_minidump_process_pollrdmwr(struct scsi_qla_host *vha, in qla8044_minidump_process_pollrdmwr() argument
2747 qla8044_wr_reg_indirect(vha, addr_1, value_1); in qla8044_minidump_process_pollrdmwr()
2751 qla8044_rd_reg_indirect(vha, addr_1, &r_value); in qla8044_minidump_process_pollrdmwr()
2758 ql_log(ql_log_fatal, vha, 0xb0ff, in qla8044_minidump_process_pollrdmwr()
2765 qla8044_rd_reg_indirect(vha, addr_2, &data); in qla8044_minidump_process_pollrdmwr()
2767 qla8044_wr_reg_indirect(vha, addr_2, data); in qla8044_minidump_process_pollrdmwr()
2768 qla8044_wr_reg_indirect(vha, addr_1, value_2); in qla8044_minidump_process_pollrdmwr()
2772 qla8044_rd_reg_indirect(vha, addr_1, &r_value); in qla8044_minidump_process_pollrdmwr()
2779 ql_log(ql_log_fatal, vha, 0xb100, in qla8044_minidump_process_pollrdmwr()
2808 qla8044_check_dma_engine_state(struct scsi_qla_host *vha) in qla8044_check_dma_engine_state() argument
2810 struct qla_hw_data *ha = vha->hw; in qla8044_check_dma_engine_state()
2823 rval = qla8044_rd_reg_indirect(vha, in qla8044_check_dma_engine_state()
2837 qla8044_start_pex_dma(struct scsi_qla_host *vha, in qla8044_start_pex_dma() argument
2840 struct qla_hw_data *ha = vha->hw; in qla8044_start_pex_dma()
2852 rval = qla8044_wr_reg_indirect(vha, in qla8044_start_pex_dma()
2858 rval = qla8044_wr_reg_indirect(vha, in qla8044_start_pex_dma()
2863 rval = qla8044_wr_reg_indirect(vha, in qla8044_start_pex_dma()
2871 rval = qla8044_rd_reg_indirect(vha, in qla8044_start_pex_dma()
2894 qla8044_minidump_pex_dma_read(struct scsi_qla_host *vha, in qla8044_minidump_pex_dma_read() argument
2897 struct qla_hw_data *ha = vha->hw; in qla8044_minidump_pex_dma_read()
2906 rval = qla8044_check_dma_engine_state(vha); in qla8044_minidump_pex_dma_read()
2908 ql_dbg(ql_dbg_p3p, vha, 0xb147, in qla8044_minidump_pex_dma_read()
2918 ql_dbg(ql_dbg_p3p, vha, 0xb148, in qla8044_minidump_pex_dma_read()
2953 rval = qla8044_ms_mem_write_128b(vha, in qla8044_minidump_pex_dma_read()
2957 ql_log(ql_log_warn, vha, 0xb14a, in qla8044_minidump_pex_dma_read()
2962 ql_dbg(ql_dbg_p3p, vha, 0xb14b, in qla8044_minidump_pex_dma_read()
2967 rval = qla8044_start_pex_dma(vha, m_hdr); in qla8044_minidump_pex_dma_read()
2987 qla8044_minidump_process_rddfe(struct scsi_qla_host *vha, in qla8044_minidump_process_rddfe() argument
3015 qla8044_wr_reg_indirect(vha, addr1, (0x40000000 | value)); in qla8044_minidump_process_rddfe()
3019 qla8044_rd_reg_indirect(vha, addr1, &temp); in qla8044_minidump_process_rddfe()
3026 ql_log(ql_log_warn, vha, 0xb153, in qla8044_minidump_process_rddfe()
3030 qla8044_rd_reg_indirect(vha, addr2, &temp); in qla8044_minidump_process_rddfe()
3035 qla8044_wr_reg_indirect(vha, addr2, wrVal); in qla8044_minidump_process_rddfe()
3036 qla8044_wr_reg_indirect(vha, addr1, value); in qla8044_minidump_process_rddfe()
3040 qla8044_rd_reg_indirect(vha, addr1, &temp); in qla8044_minidump_process_rddfe()
3046 ql_log(ql_log_warn, vha, 0xb154, in qla8044_minidump_process_rddfe()
3051 qla8044_wr_reg_indirect(vha, addr1, in qla8044_minidump_process_rddfe()
3055 qla8044_rd_reg_indirect(vha, addr1, &temp); in qla8044_minidump_process_rddfe()
3062 ql_log(ql_log_warn, vha, 0xb155, in qla8044_minidump_process_rddfe()
3067 qla8044_rd_reg_indirect(vha, addr2, &data); in qla8044_minidump_process_rddfe()
3084 qla8044_minidump_process_rdmdio(struct scsi_qla_host *vha, in qla8044_minidump_process_rdmdio() argument
3112 ret = qla8044_poll_wait_ipmdio_bus_idle(vha, addr1, addr2, in qla8044_minidump_process_rdmdio()
3118 ret = qla8044_ipmdio_wr_reg(vha, addr1, addr3, mask, addr4, in qla8044_minidump_process_rdmdio()
3124 ret = qla8044_ipmdio_wr_reg(vha, addr1, addr3, mask, addr5, in qla8044_minidump_process_rdmdio()
3130 ret = qla8044_ipmdio_wr_reg(vha, addr1, addr3, mask, in qla8044_minidump_process_rdmdio()
3135 ret = qla8044_poll_wait_ipmdio_bus_idle(vha, addr1, addr2, in qla8044_minidump_process_rdmdio()
3141 data = qla8044_ipmdio_rd_reg(vha, addr1, addr3, mask, addr7); in qla8044_minidump_process_rdmdio()
3161 static uint32_t qla8044_minidump_process_pollwr(struct scsi_qla_host *vha, in qla8044_minidump_process_pollwr() argument
3177 qla8044_rd_reg_indirect(vha, addr1, &r_value); in qla8044_minidump_process_pollwr()
3185 ql_log(ql_log_warn, vha, 0xb156, "%s: TIMEOUT\n", __func__); in qla8044_minidump_process_pollwr()
3189 qla8044_wr_reg_indirect(vha, addr2, value2); in qla8044_minidump_process_pollwr()
3190 qla8044_wr_reg_indirect(vha, addr1, value1); in qla8044_minidump_process_pollwr()
3194 qla8044_rd_reg_indirect(vha, addr1, &r_value); in qla8044_minidump_process_pollwr()
3213 qla8044_collect_md_data(struct scsi_qla_host *vha) in qla8044_collect_md_data() argument
3223 struct qla_hw_data *ha = vha->hw; in qla8044_collect_md_data()
3226 ql_log(ql_log_info, vha, 0xb101, in qla8044_collect_md_data()
3228 __func__, vha->host_no); in qla8044_collect_md_data()
3233 ql_log(ql_log_warn, vha, 0xb10d, in qla8044_collect_md_data()
3242 ql_log(ql_log_warn, vha, 0xb10e, in qla8044_collect_md_data()
3250 ql_log(ql_log_warn, vha, 0xb112, in qla8044_collect_md_data()
3261 if (qla82xx_validate_template_chksum(vha)) { in qla8044_collect_md_data()
3262 ql_log(ql_log_info, vha, 0xb109, in qla8044_collect_md_data()
3272 ql_dbg(ql_dbg_p3p, vha, 0xb11a, in qla8044_collect_md_data()
3279 ql_log(ql_log_warn, vha, 0xb10f, in qla8044_collect_md_data()
3285 ql_log(ql_log_info, vha, 0xb102, in qla8044_collect_md_data()
3288 ql_log(ql_log_info, vha, 0xb10b, in qla8044_collect_md_data()
3291 ql_log(ql_log_info, vha, 0xb10c, in qla8044_collect_md_data()
3308 ql_log(ql_log_info, vha, 0xb103, in qla8044_collect_md_data()
3322 ql_dbg(ql_dbg_p3p, vha, 0xb104, in qla8044_collect_md_data()
3332 qla8044_mark_entry_skipped(vha, entry_hdr, i); in qla8044_collect_md_data()
3335 rval = qla8044_minidump_process_control(vha, in qla8044_collect_md_data()
3338 qla8044_mark_entry_skipped(vha, entry_hdr, i); in qla8044_collect_md_data()
3343 qla8044_minidump_process_rdcrb(vha, in qla8044_collect_md_data()
3347 rval = qla8044_minidump_pex_dma_read(vha, in qla8044_collect_md_data()
3350 rval = qla8044_minidump_process_rdmem(vha, in qla8044_collect_md_data()
3353 qla8044_mark_entry_skipped(vha, in qla8044_collect_md_data()
3361 rval = qla8044_minidump_process_rdrom(vha, in qla8044_collect_md_data()
3364 qla8044_mark_entry_skipped(vha, in qla8044_collect_md_data()
3372 rval = qla8044_minidump_process_l2tag(vha, in qla8044_collect_md_data()
3375 qla8044_mark_entry_skipped(vha, entry_hdr, i); in qla8044_collect_md_data()
3383 qla8044_minidump_process_l1cache(vha, in qla8044_collect_md_data()
3387 qla8044_minidump_process_rdocm(vha, in qla8044_collect_md_data()
3391 qla8044_minidump_process_rdmux(vha, in qla8044_collect_md_data()
3395 qla8044_minidump_process_queue(vha, in qla8044_collect_md_data()
3399 rval = qla8044_minidump_process_pollrd(vha, in qla8044_collect_md_data()
3402 qla8044_mark_entry_skipped(vha, entry_hdr, i); in qla8044_collect_md_data()
3405 qla8044_minidump_process_rdmux2(vha, in qla8044_collect_md_data()
3409 rval = qla8044_minidump_process_pollrdmwr(vha, in qla8044_collect_md_data()
3412 qla8044_mark_entry_skipped(vha, entry_hdr, i); in qla8044_collect_md_data()
3415 rval = qla8044_minidump_process_rddfe(vha, entry_hdr, in qla8044_collect_md_data()
3418 qla8044_mark_entry_skipped(vha, entry_hdr, i); in qla8044_collect_md_data()
3421 rval = qla8044_minidump_process_rdmdio(vha, entry_hdr, in qla8044_collect_md_data()
3424 qla8044_mark_entry_skipped(vha, entry_hdr, i); in qla8044_collect_md_data()
3427 rval = qla8044_minidump_process_pollwr(vha, entry_hdr, in qla8044_collect_md_data()
3430 qla8044_mark_entry_skipped(vha, entry_hdr, i); in qla8044_collect_md_data()
3434 qla8044_mark_entry_skipped(vha, entry_hdr, i); in qla8044_collect_md_data()
3449 ql_log(ql_log_info, vha, 0xb105, in qla8044_collect_md_data()
3457 ql_log(ql_log_info, vha, 0xb110, in qla8044_collect_md_data()
3459 vha->host_no, ha->md_tmplt_hdr, vha->host_no, ha->md_dump); in qla8044_collect_md_data()
3461 qla2x00_post_uevent_work(vha, QLA_UEVENT_CODE_FW_DUMP); in qla8044_collect_md_data()
3464 ql_log(ql_log_info, vha, 0xb106, in qla8044_collect_md_data()
3472 qla8044_get_minidump(struct scsi_qla_host *vha) in qla8044_get_minidump() argument
3474 struct qla_hw_data *ha = vha->hw; in qla8044_get_minidump()
3476 if (!qla8044_collect_md_data(vha)) { in qla8044_get_minidump()
3480 ql_log(ql_log_fatal, vha, 0xb0db, in qla8044_get_minidump()
3488 qla8044_poll_flash_status_reg(struct scsi_qla_host *vha) in qla8044_poll_flash_status_reg() argument
3495 ret_val = qla8044_rd_reg_indirect(vha, QLA8044_FLASH_STATUS, in qla8044_poll_flash_status_reg()
3498 ql_log(ql_log_warn, vha, 0xb13c, in qla8044_poll_flash_status_reg()
3516 qla8044_write_flash_status_reg(struct scsi_qla_host *vha, in qla8044_write_flash_status_reg() argument
3522 cmd = vha->hw->fdt_wrt_sts_reg_cmd; in qla8044_write_flash_status_reg()
3524 ret_val = qla8044_wr_reg_indirect(vha, QLA8044_FLASH_ADDR, in qla8044_write_flash_status_reg()
3527 ql_log(ql_log_warn, vha, 0xb125, in qla8044_write_flash_status_reg()
3532 ret_val = qla8044_wr_reg_indirect(vha, QLA8044_FLASH_WRDATA, data); in qla8044_write_flash_status_reg()
3534 ql_log(ql_log_warn, vha, 0xb126, in qla8044_write_flash_status_reg()
3539 ret_val = qla8044_wr_reg_indirect(vha, QLA8044_FLASH_CONTROL, in qla8044_write_flash_status_reg()
3542 ql_log(ql_log_warn, vha, 0xb127, in qla8044_write_flash_status_reg()
3547 ret_val = qla8044_poll_flash_status_reg(vha); in qla8044_write_flash_status_reg()
3549 ql_log(ql_log_warn, vha, 0xb128, in qla8044_write_flash_status_reg()
3560 qla8044_unprotect_flash(scsi_qla_host_t *vha) in qla8044_unprotect_flash() argument
3563 struct qla_hw_data *ha = vha->hw; in qla8044_unprotect_flash()
3565 ret_val = qla8044_write_flash_status_reg(vha, ha->fdt_wrt_enable); in qla8044_unprotect_flash()
3567 ql_log(ql_log_warn, vha, 0xb139, in qla8044_unprotect_flash()
3577 qla8044_protect_flash(scsi_qla_host_t *vha) in qla8044_protect_flash() argument
3580 struct qla_hw_data *ha = vha->hw; in qla8044_protect_flash()
3582 ret_val = qla8044_write_flash_status_reg(vha, ha->fdt_wrt_disable); in qla8044_protect_flash()
3584 ql_log(ql_log_warn, vha, 0xb13b, in qla8044_protect_flash()
3592 qla8044_erase_flash_sector(struct scsi_qla_host *vha, in qla8044_erase_flash_sector() argument
3598 ret_val = qla8044_poll_flash_status_reg(vha); in qla8044_erase_flash_sector()
3600 ql_log(ql_log_warn, vha, 0xb12e, in qla8044_erase_flash_sector()
3608 ret_val = qla8044_wr_reg_indirect(vha, in qla8044_erase_flash_sector()
3611 ql_log(ql_log_warn, vha, 0xb12f, in qla8044_erase_flash_sector()
3614 ret_val = qla8044_wr_reg_indirect(vha, QLA8044_FLASH_ADDR, in qla8044_erase_flash_sector()
3615 QLA8044_FLASH_ERASE_SIG | vha->hw->fdt_erase_cmd); in qla8044_erase_flash_sector()
3617 ql_log(ql_log_warn, vha, 0xb130, in qla8044_erase_flash_sector()
3620 ret_val = qla8044_wr_reg_indirect(vha, QLA8044_FLASH_CONTROL, in qla8044_erase_flash_sector()
3623 ql_log(ql_log_warn, vha, 0xb131, in qla8044_erase_flash_sector()
3626 ret_val = qla8044_poll_flash_status_reg(vha); in qla8044_erase_flash_sector()
3628 ql_log(ql_log_warn, vha, 0xb132, in qla8044_erase_flash_sector()
3648 qla8044_flash_write_u32(struct scsi_qla_host *vha, uint32_t addr, in qla8044_flash_write_u32() argument
3653 ret_val = qla8044_wr_reg_indirect(vha, QLA8044_FLASH_ADDR, in qla8044_flash_write_u32()
3656 ql_log(ql_log_warn, vha, 0xb134, in qla8044_flash_write_u32()
3660 ret_val = qla8044_wr_reg_indirect(vha, QLA8044_FLASH_WRDATA, *p_data); in qla8044_flash_write_u32()
3662 ql_log(ql_log_warn, vha, 0xb135, in qla8044_flash_write_u32()
3666 ret_val = qla8044_wr_reg_indirect(vha, QLA8044_FLASH_CONTROL, 0x3D); in qla8044_flash_write_u32()
3668 ql_log(ql_log_warn, vha, 0xb136, in qla8044_flash_write_u32()
3672 ret_val = qla8044_poll_flash_status_reg(vha); in qla8044_flash_write_u32()
3674 ql_log(ql_log_warn, vha, 0xb137, in qla8044_flash_write_u32()
3683 qla8044_write_flash_buffer_mode(scsi_qla_host_t *vha, uint32_t *dwptr, in qla8044_write_flash_buffer_mode() argument
3691 ql_dbg(ql_dbg_user, vha, 0xb123, in qla8044_write_flash_buffer_mode()
3697 qla8044_rd_reg_indirect(vha, QLA8044_FLASH_SPI_CONTROL, &spi_val); in qla8044_write_flash_buffer_mode()
3698 qla8044_wr_reg_indirect(vha, QLA8044_FLASH_SPI_CONTROL, in qla8044_write_flash_buffer_mode()
3700 qla8044_wr_reg_indirect(vha, QLA8044_FLASH_ADDR, in qla8044_write_flash_buffer_mode()
3704 ret = qla8044_wr_reg_indirect(vha, QLA8044_FLASH_WRDATA, in qla8044_write_flash_buffer_mode()
3706 qla8044_wr_reg_indirect(vha, QLA8044_FLASH_CONTROL, in qla8044_write_flash_buffer_mode()
3709 ret = qla8044_poll_flash_status_reg(vha); in qla8044_write_flash_buffer_mode()
3711 ql_log(ql_log_warn, vha, 0xb124, in qla8044_write_flash_buffer_mode()
3718 qla8044_wr_reg_indirect(vha, QLA8044_FLASH_ADDR, in qla8044_write_flash_buffer_mode()
3724 qla8044_wr_reg_indirect(vha, QLA8044_FLASH_WRDATA, *dwptr++); in qla8044_write_flash_buffer_mode()
3725 qla8044_wr_reg_indirect(vha, QLA8044_FLASH_CONTROL, in qla8044_write_flash_buffer_mode()
3727 ret = qla8044_poll_flash_status_reg(vha); in qla8044_write_flash_buffer_mode()
3729 ql_log(ql_log_warn, vha, 0xb129, in qla8044_write_flash_buffer_mode()
3736 qla8044_wr_reg_indirect(vha, QLA8044_FLASH_ADDR, in qla8044_write_flash_buffer_mode()
3740 qla8044_wr_reg_indirect(vha, QLA8044_FLASH_WRDATA, *dwptr++); in qla8044_write_flash_buffer_mode()
3741 qla8044_wr_reg_indirect(vha, QLA8044_FLASH_CONTROL, in qla8044_write_flash_buffer_mode()
3743 ret = qla8044_poll_flash_status_reg(vha); in qla8044_write_flash_buffer_mode()
3745 ql_log(ql_log_warn, vha, 0xb12a, in qla8044_write_flash_buffer_mode()
3749 qla8044_rd_reg_indirect(vha, QLA8044_FLASH_SPI_STATUS, &spi_val); in qla8044_write_flash_buffer_mode()
3752 ql_log(ql_log_warn, vha, 0xb12b, in qla8044_write_flash_buffer_mode()
3756 qla8044_rd_reg_indirect(vha, QLA8044_FLASH_SPI_CONTROL, in qla8044_write_flash_buffer_mode()
3758 qla8044_wr_reg_indirect(vha, QLA8044_FLASH_SPI_CONTROL, in qla8044_write_flash_buffer_mode()
3766 qla8044_write_flash_dword_mode(scsi_qla_host_t *vha, uint32_t *dwptr, in qla8044_write_flash_dword_mode() argument
3773 ret = qla8044_flash_write_u32(vha, faddr, dwptr); in qla8044_write_flash_dword_mode()
3775 ql_dbg(ql_dbg_p3p, vha, 0xb141, in qla8044_write_flash_dword_mode()
3786 qla8044_write_optrom_data(struct scsi_qla_host *vha, uint8_t *buf, in qla8044_write_optrom_data() argument
3810 scsi_block_requests(vha->host); in qla8044_write_optrom_data()
3812 qla8044_flash_lock(vha); in qla8044_write_optrom_data()
3813 qla8044_unprotect_flash(vha); in qla8044_write_optrom_data()
3817 rval = qla8044_erase_flash_sector(vha, erase_offset); in qla8044_write_optrom_data()
3818 ql_dbg(ql_dbg_user, vha, 0xb138, in qla8044_write_optrom_data()
3822 ql_log(ql_log_warn, vha, 0xb121, in qla8044_write_optrom_data()
3829 ql_dbg(ql_dbg_user, vha, 0xb13f, in qla8044_write_optrom_data()
3836 rval = qla8044_write_flash_buffer_mode(vha, (uint32_t *)p_src, in qla8044_write_optrom_data()
3840 ql_log(ql_log_warn, vha, 0xb122, in qla8044_write_optrom_data()
3843 rval = qla8044_write_flash_dword_mode(vha, in qla8044_write_optrom_data()
3850 ql_dbg(ql_dbg_user, vha, 0xb133, in qla8044_write_optrom_data()
3854 qla8044_protect_flash(vha); in qla8044_write_optrom_data()
3855 qla8044_flash_unlock(vha); in qla8044_write_optrom_data()
3856 scsi_unblock_requests(vha->host); in qla8044_write_optrom_data()
3877 scsi_qla_host_t *vha; in qla8044_intr_handler() local
3895 vha = pci_get_drvdata(ha->pdev); in qla8044_intr_handler()
3904 ql_dbg(ql_dbg_p3p, vha, 0xb144, in qla8044_intr_handler()
3913 ql_dbg(ql_dbg_p3p, vha, 0xb145, in qla8044_intr_handler()
3946 qla82xx_mbx_completion(vha, MSW(stat)); in qla8044_intr_handler()
3954 qla2x00_async_event(vha, rsp, mb); in qla8044_intr_handler()
3957 qla24xx_process_response_queue(vha, rsp); in qla8044_intr_handler()
3960 ql_dbg(ql_dbg_p3p, vha, 0xb146, in qla8044_intr_handler()
3985 qla8044_clear_rst_ready(scsi_qla_host_t *vha) in qla8044_clear_rst_ready() argument
3989 drv_state = qla8044_rd_direct(vha, QLA8044_CRB_DRV_STATE_INDEX); in qla8044_clear_rst_ready()
3996 drv_state &= ~(1 << vha->hw->portnum); in qla8044_clear_rst_ready()
3998 ql_dbg(ql_dbg_p3p, vha, 0xb13d, in qla8044_clear_rst_ready()
4000 qla8044_wr_direct(vha, QLA8044_CRB_DRV_STATE_INDEX, drv_state); in qla8044_clear_rst_ready()
4004 qla8044_abort_isp(scsi_qla_host_t *vha) in qla8044_abort_isp() argument
4008 struct qla_hw_data *ha = vha->hw; in qla8044_abort_isp()
4011 dev_state = qla8044_rd_direct(vha, QLA8044_CRB_DEV_STATE_INDEX); in qla8044_abort_isp()
4014 qla8044_set_idc_dontreset(vha); in qla8044_abort_isp()
4026 ql_dbg(ql_dbg_p3p, vha, 0xb13e, in qla8044_abort_isp()
4032 ql_dbg(ql_dbg_p3p, vha, 0xb140, in qla8044_abort_isp()
4034 qla8044_wr_direct(vha, QLA8044_CRB_DEV_STATE_INDEX, in qla8044_abort_isp()
4041 qla83xx_reset_ownership(vha); in qla8044_abort_isp()
4044 rval = qla8044_device_state_handler(vha); in qla8044_abort_isp()
4046 qla8044_clear_rst_ready(vha); in qla8044_abort_isp()
4053 rval = qla82xx_restart_isp(vha); in qla8044_abort_isp()
4060 qla8044_fw_dump(scsi_qla_host_t *vha, int hardware_locked) in qla8044_fw_dump() argument
4062 struct qla_hw_data *ha = vha->hw; in qla8044_fw_dump()
4067 scsi_block_requests(vha->host); in qla8044_fw_dump()
4070 qla82xx_set_reset_owner(vha); in qla8044_fw_dump()
4072 qla2x00_wait_for_chip_reset(vha); in qla8044_fw_dump()
4073 scsi_unblock_requests(vha->host); in qla8044_fw_dump()