Lines Matching refs:vha

46 qla8044_rd_direct(struct scsi_qla_host *vha,  in qla8044_rd_direct()  argument
49 struct qla_hw_data *ha = vha->hw; in qla8044_rd_direct()
58 qla8044_wr_direct(struct scsi_qla_host *vha, in qla8044_wr_direct() argument
62 struct qla_hw_data *ha = vha->hw; in qla8044_wr_direct()
69 qla8044_set_win_base(scsi_qla_host_t *vha, uint32_t addr) in qla8044_set_win_base() argument
73 struct qla_hw_data *ha = vha->hw; in qla8044_set_win_base()
79 ql_log(ql_log_warn, vha, 0xb087, in qla8044_set_win_base()
89 qla8044_rd_reg_indirect(scsi_qla_host_t *vha, uint32_t addr, uint32_t *data) in qla8044_rd_reg_indirect() argument
92 struct qla_hw_data *ha = vha->hw; in qla8044_rd_reg_indirect()
94 ret_val = qla8044_set_win_base(vha, addr); in qla8044_rd_reg_indirect()
98 ql_log(ql_log_warn, vha, 0xb088, in qla8044_rd_reg_indirect()
104 qla8044_wr_reg_indirect(scsi_qla_host_t *vha, uint32_t addr, uint32_t data) in qla8044_wr_reg_indirect() argument
107 struct qla_hw_data *ha = vha->hw; in qla8044_wr_reg_indirect()
109 ret_val = qla8044_set_win_base(vha, addr); in qla8044_wr_reg_indirect()
113 ql_log(ql_log_warn, vha, 0xb089, in qla8044_wr_reg_indirect()
128 qla8044_read_write_crb_reg(struct scsi_qla_host *vha, in qla8044_read_write_crb_reg() argument
133 qla8044_rd_reg_indirect(vha, raddr, &value); in qla8044_read_write_crb_reg()
134 qla8044_wr_reg_indirect(vha, waddr, value); in qla8044_read_write_crb_reg()
138 qla8044_poll_wait_for_ready(struct scsi_qla_host *vha, uint32_t addr1, in qla8044_poll_wait_for_ready() argument
147 qla8044_rd_reg_indirect(vha, addr1, &temp); in qla8044_poll_wait_for_ready()
151 ql_log(ql_log_warn, vha, 0xb151, in qla8044_poll_wait_for_ready()
161 qla8044_ipmdio_rd_reg(struct scsi_qla_host *vha, in qla8044_ipmdio_rd_reg() argument
167 ret = qla8044_poll_wait_for_ready(vha, addr1, mask); in qla8044_ipmdio_rd_reg()
172 qla8044_wr_reg_indirect(vha, addr1, temp); in qla8044_ipmdio_rd_reg()
174 ret = qla8044_poll_wait_for_ready(vha, addr1, mask); in qla8044_ipmdio_rd_reg()
178 qla8044_rd_reg_indirect(vha, addr3, &ret); in qla8044_ipmdio_rd_reg()
185 qla8044_poll_wait_ipmdio_bus_idle(struct scsi_qla_host *vha, in qla8044_poll_wait_ipmdio_bus_idle() argument
194 temp = qla8044_ipmdio_rd_reg(vha, addr1, addr3, mask, addr2); in qla8044_poll_wait_ipmdio_bus_idle()
198 ql_log(ql_log_warn, vha, 0xb152, in qla8044_poll_wait_ipmdio_bus_idle()
208 qla8044_ipmdio_wr_reg(struct scsi_qla_host *vha, uint32_t addr1, in qla8044_ipmdio_wr_reg() argument
213 ret = qla8044_poll_wait_for_ready(vha, addr1, mask); in qla8044_ipmdio_wr_reg()
217 qla8044_wr_reg_indirect(vha, addr3, value); in qla8044_ipmdio_wr_reg()
218 qla8044_wr_reg_indirect(vha, addr1, addr); in qla8044_ipmdio_wr_reg()
220 ret = qla8044_poll_wait_for_ready(vha, addr1, mask); in qla8044_ipmdio_wr_reg()
237 qla8044_rmw_crb_reg(struct scsi_qla_host *vha, in qla8044_rmw_crb_reg() argument
243 value = vha->reset_tmplt.array[p_rmw_hdr->index_a]; in qla8044_rmw_crb_reg()
245 qla8044_rd_reg_indirect(vha, raddr, &value); in qla8044_rmw_crb_reg()
251 qla8044_wr_reg_indirect(vha, waddr, value); in qla8044_rmw_crb_reg()
256 qla8044_set_qsnt_ready(struct scsi_qla_host *vha) in qla8044_set_qsnt_ready() argument
259 struct qla_hw_data *ha = vha->hw; in qla8044_set_qsnt_ready()
261 qsnt_state = qla8044_rd_direct(vha, QLA8044_CRB_DRV_STATE_INDEX); in qla8044_set_qsnt_ready()
263 qla8044_wr_direct(vha, QLA8044_CRB_DRV_STATE_INDEX, qsnt_state); in qla8044_set_qsnt_ready()
264 ql_log(ql_log_info, vha, 0xb08e, "%s(%ld): qsnt_state: 0x%08x\n", in qla8044_set_qsnt_ready()
265 __func__, vha->host_no, qsnt_state); in qla8044_set_qsnt_ready()
269 qla8044_clear_qsnt_ready(struct scsi_qla_host *vha) in qla8044_clear_qsnt_ready() argument
272 struct qla_hw_data *ha = vha->hw; in qla8044_clear_qsnt_ready()
274 qsnt_state = qla8044_rd_direct(vha, QLA8044_CRB_DRV_STATE_INDEX); in qla8044_clear_qsnt_ready()
276 qla8044_wr_direct(vha, QLA8044_CRB_DRV_STATE_INDEX, qsnt_state); in qla8044_clear_qsnt_ready()
277 ql_log(ql_log_info, vha, 0xb08f, "%s(%ld): qsnt_state: 0x%08x\n", in qla8044_clear_qsnt_ready()
278 __func__, vha->host_no, qsnt_state); in qla8044_clear_qsnt_ready()
307 qla8044_lock_recovery(struct scsi_qla_host *vha) in qla8044_lock_recovery() argument
310 struct qla_hw_data *ha = vha->hw; in qla8044_lock_recovery()
330 ql_dbg(ql_dbg_p3p, vha, 0xb08B, "%s:%d: IDC Lock recovery initiated\n" in qla8044_lock_recovery()
361 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla8044_idc_lock() local
384 ql_log(ql_log_warn, vha, 0xb114, in qla8044_idc_lock()
394 ql_dbg(ql_dbg_p3p, vha, 0xb115, in qla8044_idc_lock()
401 if (qla8044_lock_recovery(vha) == QLA_SUCCESS) { in qla8044_idc_lock()
404 ql_dbg(ql_dbg_p3p, vha, 0xb116, in qla8044_idc_lock()
413 ql_dbg(ql_dbg_p3p, vha, 0xb08a, in qla8044_idc_lock()
429 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla8044_idc_unlock() local
434 ql_log(ql_log_warn, vha, 0xb118, in qla8044_idc_unlock()
447 qla8044_flash_lock(scsi_qla_host_t *vha) in qla8044_flash_lock() argument
453 struct qla_hw_data *ha = vha->hw; in qla8044_flash_lock()
463 ql_log(ql_log_warn, vha, 0xb113, in qla8044_flash_lock()
476 qla8044_flash_unlock(scsi_qla_host_t *vha) in qla8044_flash_unlock() argument
478 struct qla_hw_data *ha = vha->hw; in qla8044_flash_unlock()
487 void qla8044_flash_lock_recovery(struct scsi_qla_host *vha) in qla8044_flash_lock_recovery() argument
490 if (qla8044_flash_lock(vha)) { in qla8044_flash_lock_recovery()
492 ql_log(ql_log_warn, vha, 0xb120, "Resetting flash_lock\n"); in qla8044_flash_lock_recovery()
500 qla8044_flash_unlock(vha); in qla8044_flash_lock_recovery()
507 qla8044_read_flash_data(scsi_qla_host_t *vha, uint8_t *p_data, in qla8044_read_flash_data() argument
513 if (qla8044_flash_lock(vha) != QLA_SUCCESS) { in qla8044_read_flash_data()
519 ql_log(ql_log_warn, vha, 0xb117, in qla8044_read_flash_data()
526 if (qla8044_wr_reg_indirect(vha, QLA8044_FLASH_DIRECT_WINDOW, in qla8044_read_flash_data()
528 ql_log(ql_log_warn, vha, 0xb119, in qla8044_read_flash_data()
536 ret_val = qla8044_rd_reg_indirect(vha, in qla8044_read_flash_data()
540 ql_log(ql_log_warn, vha, 0xb08c, in qla8044_read_flash_data()
552 qla8044_flash_unlock(vha); in qla8044_read_flash_data()
562 qla8044_read_optrom_data(struct scsi_qla_host *vha, void *buf, in qla8044_read_optrom_data() argument
565 scsi_block_requests(vha->host); in qla8044_read_optrom_data()
566 if (qla8044_read_flash_data(vha, buf, offset, length / 4) in qla8044_read_optrom_data()
568 ql_log(ql_log_warn, vha, 0xb08d, in qla8044_read_optrom_data()
572 scsi_unblock_requests(vha->host); in qla8044_read_optrom_data()
577 qla8044_need_reset(struct scsi_qla_host *vha) in qla8044_need_reset() argument
581 struct qla_hw_data *ha = vha->hw; in qla8044_need_reset()
583 drv_active = qla8044_rd_direct(vha, QLA8044_CRB_DRV_ACTIVE_INDEX); in qla8044_need_reset()
584 drv_state = qla8044_rd_direct(vha, QLA8044_CRB_DRV_STATE_INDEX); in qla8044_need_reset()
603 qla8044_write_list(struct scsi_qla_host *vha, in qla8044_write_list() argument
613 qla8044_wr_reg_indirect(vha, p_entry->arg1, p_entry->arg2); in qla8044_write_list()
629 qla8044_read_write_list(struct scsi_qla_host *vha, in qla8044_read_write_list() argument
639 qla8044_read_write_crb_reg(vha, p_entry->arg1, in qla8044_read_write_list()
659 qla8044_poll_reg(struct scsi_qla_host *vha, uint32_t addr, in qla8044_poll_reg() argument
667 ret_val = qla8044_rd_reg_indirect(vha, addr, &value); in qla8044_poll_reg()
680 ret_val = qla8044_rd_reg_indirect(vha, addr, &value); in qla8044_poll_reg()
693 vha->reset_tmplt.seq_error++; in qla8044_poll_reg()
694 ql_log(ql_log_fatal, vha, 0xb090, in qla8044_poll_reg()
712 qla8044_poll_list(struct scsi_qla_host *vha, in qla8044_poll_list() argument
734 qla8044_poll_reg(vha, p_entry->arg1, in qla8044_poll_list()
739 if (qla8044_poll_reg(vha, in qla8044_poll_list()
748 qla8044_rd_reg_indirect(vha, in qla8044_poll_list()
750 qla8044_rd_reg_indirect(vha, in qla8044_poll_list()
768 qla8044_poll_write_list(struct scsi_qla_host *vha, in qla8044_poll_write_list() argument
785 qla8044_wr_reg_indirect(vha, in qla8044_poll_write_list()
787 qla8044_wr_reg_indirect(vha, in qla8044_poll_write_list()
790 if (qla8044_poll_reg(vha, in qla8044_poll_write_list()
794 ql_dbg(ql_dbg_p3p, vha, 0xb091, in qla8044_poll_write_list()
797 ql_dbg(ql_dbg_p3p, vha, 0xb092, in qla8044_poll_write_list()
799 vha->reset_tmplt.seq_index); in qla8044_poll_write_list()
815 qla8044_read_modify_write(struct scsi_qla_host *vha, in qla8044_read_modify_write() argument
829 qla8044_rmw_crb_reg(vha, p_entry->arg1, in qla8044_read_modify_write()
845 void qla8044_pause(struct scsi_qla_host *vha, in qla8044_pause() argument
860 qla8044_template_end(struct scsi_qla_host *vha, in qla8044_template_end() argument
863 vha->reset_tmplt.template_end = 1; in qla8044_template_end()
865 if (vha->reset_tmplt.seq_error == 0) { in qla8044_template_end()
866 ql_dbg(ql_dbg_p3p, vha, 0xb093, in qla8044_template_end()
869 ql_log(ql_log_fatal, vha, 0xb094, in qla8044_template_end()
885 qla8044_poll_read_list(struct scsi_qla_host *vha, in qla8044_poll_read_list() argument
904 qla8044_wr_reg_indirect(vha, p_entry->ar_addr, in qla8044_poll_read_list()
907 if (qla8044_poll_reg(vha, p_entry->ar_addr, delay, in qla8044_poll_read_list()
909 ql_dbg(ql_dbg_p3p, vha, 0xb095, in qla8044_poll_read_list()
912 ql_dbg(ql_dbg_p3p, vha, 0xb096, in qla8044_poll_read_list()
915 vha->reset_tmplt.seq_index); in qla8044_poll_read_list()
917 index = vha->reset_tmplt.array_index; in qla8044_poll_read_list()
918 qla8044_rd_reg_indirect(vha, in qla8044_poll_read_list()
920 vha->reset_tmplt.array[index++] = value; in qla8044_poll_read_list()
922 vha->reset_tmplt.array_index = 1; in qla8044_poll_read_list()
940 qla8044_process_reset_template(struct scsi_qla_host *vha, in qla8044_process_reset_template() argument
947 vha->reset_tmplt.seq_end = 0; in qla8044_process_reset_template()
948 vha->reset_tmplt.template_end = 0; in qla8044_process_reset_template()
949 entries = vha->reset_tmplt.hdr->entries; in qla8044_process_reset_template()
950 index = vha->reset_tmplt.seq_index; in qla8044_process_reset_template()
952 for (; (!vha->reset_tmplt.seq_end) && (index < entries); index++) { in qla8044_process_reset_template()
958 qla8044_write_list(vha, p_hdr); in qla8044_process_reset_template()
961 qla8044_read_write_list(vha, p_hdr); in qla8044_process_reset_template()
964 qla8044_poll_list(vha, p_hdr); in qla8044_process_reset_template()
967 qla8044_poll_write_list(vha, p_hdr); in qla8044_process_reset_template()
970 qla8044_read_modify_write(vha, p_hdr); in qla8044_process_reset_template()
973 qla8044_pause(vha, p_hdr); in qla8044_process_reset_template()
976 vha->reset_tmplt.seq_end = 1; in qla8044_process_reset_template()
979 qla8044_template_end(vha, p_hdr); in qla8044_process_reset_template()
982 qla8044_poll_read_list(vha, p_hdr); in qla8044_process_reset_template()
985 ql_log(ql_log_fatal, vha, 0xb097, in qla8044_process_reset_template()
995 vha->reset_tmplt.seq_index = index; in qla8044_process_reset_template()
999 qla8044_process_init_seq(struct scsi_qla_host *vha) in qla8044_process_init_seq() argument
1001 qla8044_process_reset_template(vha, in qla8044_process_init_seq()
1002 vha->reset_tmplt.init_offset); in qla8044_process_init_seq()
1003 if (vha->reset_tmplt.seq_end != 1) in qla8044_process_init_seq()
1004 ql_log(ql_log_fatal, vha, 0xb098, in qla8044_process_init_seq()
1010 qla8044_process_stop_seq(struct scsi_qla_host *vha) in qla8044_process_stop_seq() argument
1012 vha->reset_tmplt.seq_index = 0; in qla8044_process_stop_seq()
1013 qla8044_process_reset_template(vha, vha->reset_tmplt.stop_offset); in qla8044_process_stop_seq()
1014 if (vha->reset_tmplt.seq_end != 1) in qla8044_process_stop_seq()
1015 ql_log(ql_log_fatal, vha, 0xb099, in qla8044_process_stop_seq()
1020 qla8044_process_start_seq(struct scsi_qla_host *vha) in qla8044_process_start_seq() argument
1022 qla8044_process_reset_template(vha, vha->reset_tmplt.start_offset); in qla8044_process_start_seq()
1023 if (vha->reset_tmplt.template_end != 1) in qla8044_process_start_seq()
1024 ql_log(ql_log_fatal, vha, 0xb09a, in qla8044_process_start_seq()
1030 qla8044_lockless_flash_read_u32(struct scsi_qla_host *vha, in qla8044_lockless_flash_read_u32() argument
1042 ql_log(ql_log_fatal, vha, 0xb09b, "%s: Illegal addr = 0x%x\n", in qla8044_lockless_flash_read_u32()
1048 ret_val = qla8044_wr_reg_indirect(vha, in qla8044_lockless_flash_read_u32()
1052 ql_log(ql_log_fatal, vha, 0xb09c, in qla8044_lockless_flash_read_u32()
1063 ret_val = qla8044_rd_reg_indirect(vha, in qla8044_lockless_flash_read_u32()
1066 ql_log(ql_log_fatal, vha, 0xb09d, in qla8044_lockless_flash_read_u32()
1077 ret_val = qla8044_wr_reg_indirect(vha, in qla8044_lockless_flash_read_u32()
1080 ql_log(ql_log_fatal, vha, 0xb09f, in qla8044_lockless_flash_read_u32()
1092 ret_val = qla8044_rd_reg_indirect(vha, in qla8044_lockless_flash_read_u32()
1095 ql_log(ql_log_fatal, vha, 0xb0a0, in qla8044_lockless_flash_read_u32()
1121 qla8044_ms_mem_write_128b(struct scsi_qla_host *vha, in qla8044_ms_mem_write_128b() argument
1127 struct qla_hw_data *ha = vha->hw; in qla8044_ms_mem_write_128b()
1137 ret_val = qla8044_wr_reg_indirect(vha, MD_MIU_TEST_AGT_ADDR_HI, 0); in qla8044_ms_mem_write_128b()
1139 ql_log(ql_log_fatal, vha, 0xb0a1, in qla8044_ms_mem_write_128b()
1153 ret_val = qla8044_wr_reg_indirect(vha, in qla8044_ms_mem_write_128b()
1157 ret_val += qla8044_wr_reg_indirect(vha, in qla8044_ms_mem_write_128b()
1159 ret_val += qla8044_wr_reg_indirect(vha, in qla8044_ms_mem_write_128b()
1161 ret_val += qla8044_wr_reg_indirect(vha, in qla8044_ms_mem_write_128b()
1163 ret_val += qla8044_wr_reg_indirect(vha, in qla8044_ms_mem_write_128b()
1166 ql_log(ql_log_fatal, vha, 0xb0a2, in qla8044_ms_mem_write_128b()
1173 ret_val = qla8044_wr_reg_indirect(vha, MD_MIU_TEST_AGT_CTRL, in qla8044_ms_mem_write_128b()
1175 ret_val += qla8044_wr_reg_indirect(vha, MD_MIU_TEST_AGT_CTRL, in qla8044_ms_mem_write_128b()
1178 ql_log(ql_log_fatal, vha, 0xb0a3, in qla8044_ms_mem_write_128b()
1184 ret_val = qla8044_rd_reg_indirect(vha, in qla8044_ms_mem_write_128b()
1187 ql_log(ql_log_fatal, vha, 0xb0a4, in qla8044_ms_mem_write_128b()
1198 ql_log(ql_log_fatal, vha, 0xb0a5, in qla8044_ms_mem_write_128b()
1214 qla8044_copy_bootloader(struct scsi_qla_host *vha) in qla8044_copy_bootloader() argument
1220 struct qla_hw_data *ha = vha->hw; in qla8044_copy_bootloader()
1235 ql_log(ql_log_fatal, vha, 0xb0a6, in qla8044_copy_bootloader()
1242 ret_val = qla8044_lockless_flash_read_u32(vha, src, in qla8044_copy_bootloader()
1245 ql_log(ql_log_fatal, vha, 0xb0a7, in qla8044_copy_bootloader()
1249 ql_dbg(ql_dbg_p3p, vha, 0xb0a8, "%s: Read F/W from flash!\n", in qla8044_copy_bootloader()
1253 ret_val = qla8044_ms_mem_write_128b(vha, dest, in qla8044_copy_bootloader()
1256 ql_log(ql_log_fatal, vha, 0xb0a9, in qla8044_copy_bootloader()
1260 ql_dbg(ql_dbg_p3p, vha, 0xb0aa, in qla8044_copy_bootloader()
1272 qla8044_restart(struct scsi_qla_host *vha) in qla8044_restart() argument
1275 struct qla_hw_data *ha = vha->hw; in qla8044_restart()
1277 qla8044_process_stop_seq(vha); in qla8044_restart()
1281 qla8044_get_minidump(vha); in qla8044_restart()
1283 ql_log(ql_log_fatal, vha, 0xb14c, in qla8044_restart()
1286 qla8044_process_init_seq(vha); in qla8044_restart()
1288 if (qla8044_copy_bootloader(vha)) { in qla8044_restart()
1289 ql_log(ql_log_fatal, vha, 0xb0ab, in qla8044_restart()
1301 qla8044_process_start_seq(vha); in qla8044_restart()
1316 qla8044_check_cmd_peg_status(struct scsi_qla_host *vha) in qla8044_check_cmd_peg_status() argument
1320 struct qla_hw_data *ha = vha->hw; in qla8044_check_cmd_peg_status()
1325 ql_dbg(ql_dbg_p3p, vha, 0xb0ac, in qla8044_check_cmd_peg_status()
1338 qla8044_start_firmware(struct scsi_qla_host *vha) in qla8044_start_firmware() argument
1342 if (qla8044_restart(vha)) { in qla8044_start_firmware()
1343 ql_log(ql_log_fatal, vha, 0xb0ad, in qla8044_start_firmware()
1349 ql_dbg(ql_dbg_p3p, vha, 0xb0af, in qla8044_start_firmware()
1352 ret_val = qla8044_check_cmd_peg_status(vha); in qla8044_start_firmware()
1354 ql_log(ql_log_fatal, vha, 0xb0b0, in qla8044_start_firmware()
1367 struct scsi_qla_host *vha = pci_get_drvdata(ha->pdev); in qla8044_clear_drv_active() local
1369 drv_active = qla8044_rd_direct(vha, QLA8044_CRB_DRV_ACTIVE_INDEX); in qla8044_clear_drv_active()
1372 ql_log(ql_log_info, vha, 0xb0b1, in qla8044_clear_drv_active()
1374 __func__, vha->host_no, drv_active); in qla8044_clear_drv_active()
1376 qla8044_wr_direct(vha, QLA8044_CRB_DRV_ACTIVE_INDEX, drv_active); in qla8044_clear_drv_active()
1386 qla8044_device_bootstrap(struct scsi_qla_host *vha) in qla8044_device_bootstrap() argument
1393 struct qla_hw_data *ha = vha->hw; in qla8044_device_bootstrap()
1395 need_reset = qla8044_need_reset(vha); in qla8044_device_bootstrap()
1398 old_count = qla8044_rd_direct(vha, in qla8044_device_bootstrap()
1404 count = qla8044_rd_direct(vha, in qla8044_device_bootstrap()
1411 qla8044_flash_lock_recovery(vha); in qla8044_device_bootstrap()
1415 qla8044_flash_lock_recovery(vha); in qla8044_device_bootstrap()
1419 ql_log(ql_log_info, vha, 0xb0b2, in qla8044_device_bootstrap()
1421 qla8044_wr_direct(vha, QLA8044_CRB_DEV_STATE_INDEX, in qla8044_device_bootstrap()
1425 rval = qla8044_start_firmware(vha); in qla8044_device_bootstrap()
1429 ql_log(ql_log_info, vha, 0xb0b3, in qla8044_device_bootstrap()
1432 qla8044_wr_direct(vha, QLA8044_CRB_DEV_STATE_INDEX, in qla8044_device_bootstrap()
1447 ql_log(ql_log_info, vha, 0xb0b4, in qla8044_device_bootstrap()
1449 qla8044_wr_direct(vha, QLA8044_CRB_DEV_STATE_INDEX, QLA8XXX_DEV_READY); in qla8044_device_bootstrap()
1456 qla8044_dump_reset_seq_hdr(struct scsi_qla_host *vha) in qla8044_dump_reset_seq_hdr() argument
1460 if (!vha->reset_tmplt.buff) { in qla8044_dump_reset_seq_hdr()
1461 ql_log(ql_log_fatal, vha, 0xb0b5, in qla8044_dump_reset_seq_hdr()
1466 phdr = vha->reset_tmplt.buff; in qla8044_dump_reset_seq_hdr()
1467 ql_dbg(ql_dbg_p3p, vha, 0xb0b6, in qla8044_dump_reset_seq_hdr()
1485 qla8044_reset_seq_checksum_test(struct scsi_qla_host *vha) in qla8044_reset_seq_checksum_test() argument
1488 uint16_t *buff = (uint16_t *)vha->reset_tmplt.buff; in qla8044_reset_seq_checksum_test()
1489 int u16_count = vha->reset_tmplt.hdr->size / sizeof(uint16_t); in qla8044_reset_seq_checksum_test()
1501 ql_log(ql_log_fatal, vha, 0xb0b7, in qla8044_reset_seq_checksum_test()
1514 qla8044_read_reset_template(struct scsi_qla_host *vha) in qla8044_read_reset_template() argument
1519 vha->reset_tmplt.seq_error = 0; in qla8044_read_reset_template()
1520 vha->reset_tmplt.buff = vmalloc(QLA8044_RESTART_TEMPLATE_SIZE); in qla8044_read_reset_template()
1521 if (vha->reset_tmplt.buff == NULL) { in qla8044_read_reset_template()
1522 ql_log(ql_log_fatal, vha, 0xb0b8, in qla8044_read_reset_template()
1528 p_buff = vha->reset_tmplt.buff; in qla8044_read_reset_template()
1534 ql_dbg(ql_dbg_p3p, vha, 0xb0b9, in qla8044_read_reset_template()
1539 if (qla8044_read_flash_data(vha, p_buff, addr, tmplt_hdr_def_size)) { in qla8044_read_reset_template()
1540 ql_log(ql_log_fatal, vha, 0xb0ba, in qla8044_read_reset_template()
1545 vha->reset_tmplt.hdr = in qla8044_read_reset_template()
1546 (struct qla8044_reset_template_hdr *) vha->reset_tmplt.buff; in qla8044_read_reset_template()
1549 tmplt_hdr_size = vha->reset_tmplt.hdr->hdr_size/sizeof(uint32_t); in qla8044_read_reset_template()
1551 (vha->reset_tmplt.hdr->signature != RESET_TMPLT_HDR_SIGNATURE)) { in qla8044_read_reset_template()
1552 ql_log(ql_log_fatal, vha, 0xb0bb, in qla8044_read_reset_template()
1559 addr = QLA8044_RESET_TEMPLATE_ADDR + vha->reset_tmplt.hdr->hdr_size; in qla8044_read_reset_template()
1560 p_buff = vha->reset_tmplt.buff + vha->reset_tmplt.hdr->hdr_size; in qla8044_read_reset_template()
1561 tmplt_hdr_def_size = (vha->reset_tmplt.hdr->size - in qla8044_read_reset_template()
1562 vha->reset_tmplt.hdr->hdr_size)/sizeof(uint32_t); in qla8044_read_reset_template()
1564 ql_dbg(ql_dbg_p3p, vha, 0xb0bc, in qla8044_read_reset_template()
1566 __func__, vha->reset_tmplt.hdr->size); in qla8044_read_reset_template()
1569 if (qla8044_read_flash_data(vha, p_buff, addr, tmplt_hdr_def_size)) { in qla8044_read_reset_template()
1570 ql_log(ql_log_fatal, vha, 0xb0bd, in qla8044_read_reset_template()
1576 if (qla8044_reset_seq_checksum_test(vha)) { in qla8044_read_reset_template()
1577 ql_log(ql_log_fatal, vha, 0xb0be, in qla8044_read_reset_template()
1582 ql_dbg(ql_dbg_p3p, vha, 0xb0bf, in qla8044_read_reset_template()
1587 vha->reset_tmplt.init_offset = vha->reset_tmplt.buff + in qla8044_read_reset_template()
1588 vha->reset_tmplt.hdr->init_seq_offset; in qla8044_read_reset_template()
1590 vha->reset_tmplt.start_offset = vha->reset_tmplt.buff + in qla8044_read_reset_template()
1591 vha->reset_tmplt.hdr->start_seq_offset; in qla8044_read_reset_template()
1593 vha->reset_tmplt.stop_offset = vha->reset_tmplt.buff + in qla8044_read_reset_template()
1594 vha->reset_tmplt.hdr->hdr_size; in qla8044_read_reset_template()
1596 qla8044_dump_reset_seq_hdr(vha); in qla8044_read_reset_template()
1601 vfree(vha->reset_tmplt.buff); in qla8044_read_reset_template()
1608 qla8044_set_idc_dontreset(struct scsi_qla_host *vha) in qla8044_set_idc_dontreset() argument
1611 struct qla_hw_data *ha = vha->hw; in qla8044_set_idc_dontreset()
1615 ql_dbg(ql_dbg_p3p, vha, 0xb0c0, in qla8044_set_idc_dontreset()
1621 qla8044_set_rst_ready(struct scsi_qla_host *vha) in qla8044_set_rst_ready() argument
1624 struct qla_hw_data *ha = vha->hw; in qla8044_set_rst_ready()
1626 drv_state = qla8044_rd_direct(vha, QLA8044_CRB_DRV_STATE_INDEX); in qla8044_set_rst_ready()
1632 ql_log(ql_log_info, vha, 0xb0c1, in qla8044_set_rst_ready()
1634 __func__, vha->host_no, drv_state); in qla8044_set_rst_ready()
1635 qla8044_wr_direct(vha, QLA8044_CRB_DRV_STATE_INDEX, drv_state); in qla8044_set_rst_ready()
1645 qla8044_need_reset_handler(struct scsi_qla_host *vha) in qla8044_need_reset_handler() argument
1649 struct qla_hw_data *ha = vha->hw; in qla8044_need_reset_handler()
1651 ql_log(ql_log_fatal, vha, 0xb0c2, in qla8044_need_reset_handler()
1654 if (vha->flags.online) { in qla8044_need_reset_handler()
1656 qla2x00_abort_isp_cleanup(vha); in qla8044_need_reset_handler()
1657 ha->isp_ops->get_flash_version(vha, vha->req->ring); in qla8044_need_reset_handler()
1658 ha->isp_ops->nvram_config(vha); in qla8044_need_reset_handler()
1662 dev_state = qla8044_rd_direct(vha, in qla8044_need_reset_handler()
1664 drv_state = qla8044_rd_direct(vha, in qla8044_need_reset_handler()
1666 drv_active = qla8044_rd_direct(vha, in qla8044_need_reset_handler()
1669 ql_log(ql_log_info, vha, 0xb0c5, in qla8044_need_reset_handler()
1671 __func__, vha->host_no, drv_state, drv_active, dev_state); in qla8044_need_reset_handler()
1673 qla8044_set_rst_ready(vha); in qla8044_need_reset_handler()
1680 ql_log(ql_log_info, vha, 0xb0c4, in qla8044_need_reset_handler()
1690 dev_state = qla8044_rd_direct(vha, in qla8044_need_reset_handler()
1692 drv_state = qla8044_rd_direct(vha, in qla8044_need_reset_handler()
1694 drv_active = qla8044_rd_direct(vha, in qla8044_need_reset_handler()
1701 ql_log(ql_log_info, vha, 0xb0c7, in qla8044_need_reset_handler()
1703 __func__, vha->host_no, ha->portnum, in qla8044_need_reset_handler()
1706 qla8044_wr_direct(vha, QLA8044_CRB_DRV_ACTIVE_INDEX, in qla8044_need_reset_handler()
1716 qla8044_device_bootstrap(vha); in qla8044_need_reset_handler()
1734 qla8044_device_bootstrap(vha); in qla8044_need_reset_handler()
1739 qla8044_set_drv_active(struct scsi_qla_host *vha) in qla8044_set_drv_active() argument
1742 struct qla_hw_data *ha = vha->hw; in qla8044_set_drv_active()
1744 drv_active = qla8044_rd_direct(vha, QLA8044_CRB_DRV_ACTIVE_INDEX); in qla8044_set_drv_active()
1750 ql_log(ql_log_info, vha, 0xb0c8, in qla8044_set_drv_active()
1752 __func__, vha->host_no, drv_active); in qla8044_set_drv_active()
1753 qla8044_wr_direct(vha, QLA8044_CRB_DRV_ACTIVE_INDEX, drv_active); in qla8044_set_drv_active()
1757 qla8044_check_drv_active(struct scsi_qla_host *vha) in qla8044_check_drv_active() argument
1760 struct qla_hw_data *ha = vha->hw; in qla8044_check_drv_active()
1762 drv_active = qla8044_rd_direct(vha, QLA8044_CRB_DRV_ACTIVE_INDEX); in qla8044_check_drv_active()
1770 qla8044_clear_idc_dontreset(struct scsi_qla_host *vha) in qla8044_clear_idc_dontreset() argument
1773 struct qla_hw_data *ha = vha->hw; in qla8044_clear_idc_dontreset()
1777 ql_log(ql_log_info, vha, 0xb0c9, in qla8044_clear_idc_dontreset()
1784 qla8044_set_idc_ver(struct scsi_qla_host *vha) in qla8044_set_idc_ver() argument
1789 struct qla_hw_data *ha = vha->hw; in qla8044_set_idc_ver()
1791 drv_active = qla8044_rd_direct(vha, QLA8044_CRB_DRV_ACTIVE_INDEX); in qla8044_set_idc_ver()
1793 idc_ver = qla8044_rd_direct(vha, in qla8044_set_idc_ver()
1797 qla8044_wr_direct(vha, QLA8044_CRB_DRV_IDC_VERSION_INDEX, in qla8044_set_idc_ver()
1799 ql_log(ql_log_info, vha, 0xb0ca, in qla8044_set_idc_ver()
1803 idc_ver = qla8044_rd_direct(vha, in qla8044_set_idc_ver()
1807 ql_log(ql_log_info, vha, 0xb0cb, in qla8044_set_idc_ver()
1829 qla8044_update_idc_reg(struct scsi_qla_host *vha) in qla8044_update_idc_reg() argument
1833 struct qla_hw_data *ha = vha->hw; in qla8044_update_idc_reg()
1835 if (vha->flags.init_done) in qla8044_update_idc_reg()
1839 qla8044_set_drv_active(vha); in qla8044_update_idc_reg()
1841 drv_active = qla8044_rd_direct(vha, in qla8044_update_idc_reg()
1847 qla8044_clear_idc_dontreset(vha); in qla8044_update_idc_reg()
1849 rval = qla8044_set_idc_ver(vha); in qla8044_update_idc_reg()
1863 qla8044_need_qsnt_handler(struct scsi_qla_host *vha) in qla8044_need_qsnt_handler() argument
1867 struct qla_hw_data *ha = vha->hw; in qla8044_need_qsnt_handler()
1869 if (vha->flags.online) in qla8044_need_qsnt_handler()
1870 qla2x00_quiesce_io(vha); in qla8044_need_qsnt_handler()
1874 qla8044_set_qsnt_ready(vha); in qla8044_need_qsnt_handler()
1878 drv_state = qla8044_rd_direct(vha, QLA8044_CRB_DRV_STATE_INDEX); in qla8044_need_qsnt_handler()
1879 drv_active = qla8044_rd_direct(vha, QLA8044_CRB_DRV_ACTIVE_INDEX); in qla8044_need_qsnt_handler()
1890 clear_bit(ISP_QUIESCE_NEEDED, &vha->dpc_flags); in qla8044_need_qsnt_handler()
1891 qla8044_wr_direct(vha, QLA8044_CRB_DEV_STATE_INDEX, in qla8044_need_qsnt_handler()
1893 qla8044_clear_qsnt_ready(vha); in qla8044_need_qsnt_handler()
1894 ql_log(ql_log_info, vha, 0xb0cc, in qla8044_need_qsnt_handler()
1902 drv_state = qla8044_rd_direct(vha, in qla8044_need_qsnt_handler()
1904 drv_active = qla8044_rd_direct(vha, in qla8044_need_qsnt_handler()
1910 dev_state = qla8044_rd_direct(vha, QLA8044_CRB_DEV_STATE_INDEX); in qla8044_need_qsnt_handler()
1913 qla8044_wr_direct(vha, QLA8044_CRB_DEV_STATE_INDEX, in qla8044_need_qsnt_handler()
1915 ql_log(ql_log_info, vha, 0xb0cd, in qla8044_need_qsnt_handler()
1927 qla8044_device_state_handler(struct scsi_qla_host *vha) in qla8044_device_state_handler() argument
1932 struct qla_hw_data *ha = vha->hw; in qla8044_device_state_handler()
1934 rval = qla8044_update_idc_reg(vha); in qla8044_device_state_handler()
1938 dev_state = qla8044_rd_direct(vha, QLA8044_CRB_DEV_STATE_INDEX); in qla8044_device_state_handler()
1939 ql_dbg(ql_dbg_p3p, vha, 0xb0ce, in qla8044_device_state_handler()
1951 if (qla8044_check_drv_active(vha) == QLA_SUCCESS) { in qla8044_device_state_handler()
1952 ql_log(ql_log_warn, vha, 0xb0cf, in qla8044_device_state_handler()
1957 qla8044_wr_direct(vha, in qla8044_device_state_handler()
1963 dev_state = qla8044_rd_direct(vha, QLA8044_CRB_DEV_STATE_INDEX); in qla8044_device_state_handler()
1964 ql_log(ql_log_info, vha, 0xb0d0, in qla8044_device_state_handler()
1975 rval = qla8044_device_bootstrap(vha); in qla8044_device_state_handler()
1986 qla8044_need_reset_handler(vha); in qla8044_device_state_handler()
1990 qla8044_need_qsnt_handler(vha); in qla8044_device_state_handler()
1997 ql_log(ql_log_info, vha, 0xb0d1, in qla8044_device_state_handler()
2011 qla8xxx_dev_failed_handler(vha); in qla8044_device_state_handler()
2017 qla8xxx_dev_failed_handler(vha); in qla8044_device_state_handler()
2037 qla8044_check_temp(struct scsi_qla_host *vha) in qla8044_check_temp() argument
2042 temp = qla8044_rd_direct(vha, QLA8044_CRB_TEMP_STATE_INDEX); in qla8044_check_temp()
2047 ql_log(ql_log_warn, vha, 0xb0d2, in qla8044_check_temp()
2054 ql_log(ql_log_warn, vha, 0xb0d3, in qla8044_check_temp()
2062 int qla8044_read_temperature(scsi_qla_host_t *vha) in qla8044_read_temperature() argument
2066 temp = qla8044_rd_direct(vha, QLA8044_CRB_TEMP_STATE_INDEX); in qla8044_read_temperature()
2077 qla8044_check_fw_alive(struct scsi_qla_host *vha) in qla8044_check_fw_alive() argument
2083 fw_heartbeat_counter = qla8044_rd_direct(vha, in qla8044_check_fw_alive()
2088 ql_dbg(ql_dbg_p3p, vha, 0xb0d4, in qla8044_check_fw_alive()
2091 vha->host_no, __func__); in qla8044_check_fw_alive()
2095 if (vha->fw_heartbeat_counter == fw_heartbeat_counter) { in qla8044_check_fw_alive()
2096 vha->seconds_since_last_heartbeat++; in qla8044_check_fw_alive()
2098 if (vha->seconds_since_last_heartbeat == 2) { in qla8044_check_fw_alive()
2099 vha->seconds_since_last_heartbeat = 0; in qla8044_check_fw_alive()
2100 halt_status1 = qla8044_rd_direct(vha, in qla8044_check_fw_alive()
2102 halt_status2 = qla8044_rd_direct(vha, in qla8044_check_fw_alive()
2105 ql_log(ql_log_info, vha, 0xb0d5, in qla8044_check_fw_alive()
2110 vha->host_no, __func__, halt_status1, in qla8044_check_fw_alive()
2115 vha->seconds_since_last_heartbeat = 0; in qla8044_check_fw_alive()
2117 vha->fw_heartbeat_counter = fw_heartbeat_counter; in qla8044_check_fw_alive()
2122 qla8044_watchdog(struct scsi_qla_host *vha) in qla8044_watchdog() argument
2126 struct qla_hw_data *ha = vha->hw; in qla8044_watchdog()
2129 if (!(test_bit(ABORT_ISP_ACTIVE, &vha->dpc_flags) || in qla8044_watchdog()
2130 test_bit(FCOE_CTX_RESET_NEEDED, &vha->dpc_flags))) { in qla8044_watchdog()
2131 dev_state = qla8044_rd_direct(vha, QLA8044_CRB_DEV_STATE_INDEX); in qla8044_watchdog()
2133 if (qla8044_check_fw_alive(vha)) { in qla8044_watchdog()
2135 ql_log(ql_log_warn, vha, 0xb10a, in qla8044_watchdog()
2137 qla82xx_clear_pending_mbx(vha); in qla8044_watchdog()
2140 if (qla8044_check_temp(vha)) { in qla8044_watchdog()
2141 set_bit(ISP_UNRECOVERABLE, &vha->dpc_flags); in qla8044_watchdog()
2143 qla2xxx_wake_dpc(vha); in qla8044_watchdog()
2145 !test_bit(ISP_ABORT_NEEDED, &vha->dpc_flags)) { in qla8044_watchdog()
2146 ql_log(ql_log_info, vha, 0xb0d6, in qla8044_watchdog()
2149 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla8044_watchdog()
2150 qla2xxx_wake_dpc(vha); in qla8044_watchdog()
2152 !test_bit(ISP_QUIESCE_NEEDED, &vha->dpc_flags)) { in qla8044_watchdog()
2153 ql_log(ql_log_info, vha, 0xb0d7, in qla8044_watchdog()
2156 set_bit(ISP_QUIESCE_NEEDED, &vha->dpc_flags); in qla8044_watchdog()
2157 qla2xxx_wake_dpc(vha); in qla8044_watchdog()
2161 halt_status = qla8044_rd_direct(vha, in qla8044_watchdog()
2165 ql_log(ql_log_fatal, vha, in qla8044_watchdog()
2180 &vha->dpc_flags); in qla8044_watchdog()
2185 &vha->dpc_flags); in qla8044_watchdog()
2186 ql_log(ql_log_info, vha, 0xb0d9, in qla8044_watchdog()
2190 ql_log(ql_log_info, vha, in qla8044_watchdog()
2195 &vha->dpc_flags); in qla8044_watchdog()
2198 qla2xxx_wake_dpc(vha); in qla8044_watchdog()
2206 qla8044_minidump_process_control(struct scsi_qla_host *vha, in qla8044_minidump_process_control() argument
2215 struct qla_hw_data *ha = vha->hw; in qla8044_minidump_process_control()
2217 ql_dbg(ql_dbg_p3p, vha, 0xb0dd, "Entering fn: %s\n", __func__); in qla8044_minidump_process_control()
2227 qla8044_wr_reg_indirect(vha, crb_addr, in qla8044_minidump_process_control()
2233 qla8044_rd_reg_indirect(vha, crb_addr, &read_value); in qla8044_minidump_process_control()
2234 qla8044_wr_reg_indirect(vha, crb_addr, read_value); in qla8044_minidump_process_control()
2239 qla8044_rd_reg_indirect(vha, crb_addr, &read_value); in qla8044_minidump_process_control()
2246 qla8044_wr_reg_indirect(vha, crb_addr, read_value); in qla8044_minidump_process_control()
2249 qla8044_rd_reg_indirect(vha, crb_addr, &read_value); in qla8044_minidump_process_control()
2251 qla8044_wr_reg_indirect(vha, crb_addr, read_value); in qla8044_minidump_process_control()
2257 qla8044_rd_reg_indirect(vha, crb_addr, &read_value); in qla8044_minidump_process_control()
2268 qla8044_rd_reg_indirect(vha, in qla8044_minidump_process_control()
2283 qla8044_rd_reg_indirect(vha, addr, &read_value); in qla8044_minidump_process_control()
2305 qla8044_wr_reg_indirect(vha, addr, read_value); in qla8044_minidump_process_control()
2327 qla8044_minidump_process_rdcrb(struct scsi_qla_host *vha, in qla8044_minidump_process_rdcrb() argument
2334 ql_dbg(ql_dbg_p3p, vha, 0xb0de, "Entering fn: %s\n", __func__); in qla8044_minidump_process_rdcrb()
2341 qla8044_rd_reg_indirect(vha, r_addr, &r_value); in qla8044_minidump_process_rdcrb()
2350 qla8044_minidump_process_rdmem(struct scsi_qla_host *vha, in qla8044_minidump_process_rdmem() argument
2358 struct qla_hw_data *ha = vha->hw; in qla8044_minidump_process_rdmem()
2360 ql_dbg(ql_dbg_p3p, vha, 0xb0df, "Entering fn: %s\n", __func__); in qla8044_minidump_process_rdmem()
2365 ql_dbg(ql_dbg_p3p, vha, 0xb0f0, in qla8044_minidump_process_rdmem()
2370 ql_dbg(ql_dbg_p3p, vha, 0xb0f1, in qla8044_minidump_process_rdmem()
2377 ql_dbg(ql_dbg_p3p, vha, 0xb0f2, in qla8044_minidump_process_rdmem()
2383 ql_dbg(ql_dbg_p3p, vha, 0xb0f3, in qla8044_minidump_process_rdmem()
2389 qla8044_wr_reg_indirect(vha, MD_MIU_TEST_AGT_ADDR_LO, r_addr); in qla8044_minidump_process_rdmem()
2391 qla8044_wr_reg_indirect(vha, MD_MIU_TEST_AGT_ADDR_HI, r_value); in qla8044_minidump_process_rdmem()
2393 qla8044_wr_reg_indirect(vha, MD_MIU_TEST_AGT_CTRL, r_value); in qla8044_minidump_process_rdmem()
2395 qla8044_wr_reg_indirect(vha, MD_MIU_TEST_AGT_CTRL, r_value); in qla8044_minidump_process_rdmem()
2398 qla8044_rd_reg_indirect(vha, MD_MIU_TEST_AGT_CTRL, in qla8044_minidump_process_rdmem()
2410 qla8044_rd_reg_indirect(vha, MD_MIU_TEST_AGT_RDDATA[j], in qla8044_minidump_process_rdmem()
2419 ql_dbg(ql_dbg_p3p, vha, 0xb0f4, in qla8044_minidump_process_rdmem()
2429 qla8044_minidump_process_rdrom(struct scsi_qla_host *vha, in qla8044_minidump_process_rdrom() argument
2440 ql_dbg(ql_dbg_p3p, vha, 0xb0f5, "[%s]: fl_addr: 0x%x, count: 0x%x\n", in qla8044_minidump_process_rdrom()
2443 rval = qla8044_lockless_flash_read_u32(vha, fl_addr, in qla8044_minidump_process_rdrom()
2447 ql_log(ql_log_fatal, vha, 0xb0f6, in qla8044_minidump_process_rdrom()
2458 qla8044_mark_entry_skipped(struct scsi_qla_host *vha, in qla8044_mark_entry_skipped() argument
2463 ql_log(ql_log_info, vha, 0xb0f7, in qla8044_mark_entry_skipped()
2465 vha->host_no, index, entry_hdr->entry_type, in qla8044_mark_entry_skipped()
2470 qla8044_minidump_process_l2tag(struct scsi_qla_host *vha, in qla8044_minidump_process_l2tag() argument
2482 ql_dbg(ql_dbg_p3p, vha, 0xb0f8, "Entering fn: %s\n", __func__); in qla8044_minidump_process_l2tag()
2497 qla8044_wr_reg_indirect(vha, t_r_addr, t_value); in qla8044_minidump_process_l2tag()
2499 qla8044_wr_reg_indirect(vha, c_addr, c_value_w); in qla8044_minidump_process_l2tag()
2504 qla8044_rd_reg_indirect(vha, c_addr, in qla8044_minidump_process_l2tag()
2517 qla8044_rd_reg_indirect(vha, addr, &r_value); in qla8044_minidump_process_l2tag()
2528 qla8044_minidump_process_l1cache(struct scsi_qla_host *vha, in qla8044_minidump_process_l1cache() argument
2548 qla8044_wr_reg_indirect(vha, t_r_addr, t_value); in qla8044_minidump_process_l1cache()
2549 qla8044_wr_reg_indirect(vha, c_addr, c_value_w); in qla8044_minidump_process_l1cache()
2552 qla8044_rd_reg_indirect(vha, addr, &r_value); in qla8044_minidump_process_l1cache()
2562 qla8044_minidump_process_rdocm(struct scsi_qla_host *vha, in qla8044_minidump_process_rdocm() argument
2568 struct qla_hw_data *ha = vha->hw; in qla8044_minidump_process_rdocm()
2570 ql_dbg(ql_dbg_p3p, vha, 0xb0f9, "Entering fn: %s\n", __func__); in qla8044_minidump_process_rdocm()
2577 ql_dbg(ql_dbg_p3p, vha, 0xb0fa, in qla8044_minidump_process_rdocm()
2586 ql_dbg(ql_dbg_p3p, vha, 0xb0fb, "Leaving fn: %s datacount: 0x%lx\n", in qla8044_minidump_process_rdocm()
2593 qla8044_minidump_process_rdmux(struct scsi_qla_host *vha, in qla8044_minidump_process_rdmux() argument
2601 ql_dbg(ql_dbg_p3p, vha, 0xb0fc, "Entering fn: %s\n", __func__); in qla8044_minidump_process_rdmux()
2611 qla8044_wr_reg_indirect(vha, s_addr, s_value); in qla8044_minidump_process_rdmux()
2612 qla8044_rd_reg_indirect(vha, r_addr, &r_value); in qla8044_minidump_process_rdmux()
2621 qla8044_minidump_process_queue(struct scsi_qla_host *vha, in qla8044_minidump_process_queue() argument
2631 ql_dbg(ql_dbg_p3p, vha, 0xb0fd, "Entering fn: %s\n", __func__); in qla8044_minidump_process_queue()
2639 qla8044_wr_reg_indirect(vha, s_addr, qid); in qla8044_minidump_process_queue()
2642 qla8044_rd_reg_indirect(vha, r_addr, &r_value); in qla8044_minidump_process_queue()
2653 qla8044_minidump_process_pollrd(struct scsi_qla_host *vha, in qla8044_minidump_process_pollrd() argument
2672 qla8044_wr_reg_indirect(vha, s_addr, s_value); in qla8044_minidump_process_pollrd()
2675 qla8044_rd_reg_indirect(vha, s_addr, &r_value); in qla8044_minidump_process_pollrd()
2681 ql_log(ql_log_fatal, vha, 0xb0fe, in qla8044_minidump_process_pollrd()
2687 qla8044_rd_reg_indirect(vha, r_addr, &r_value); in qla8044_minidump_process_pollrd()
2701 qla8044_minidump_process_rdmux2(struct scsi_qla_host *vha, in qla8044_minidump_process_rdmux2() argument
2718 qla8044_wr_reg_indirect(vha, sel_addr1, sel_val1); in qla8044_minidump_process_rdmux2()
2722 qla8044_wr_reg_indirect(vha, sel_addr2, t_sel_val); in qla8044_minidump_process_rdmux2()
2723 qla8044_rd_reg_indirect(vha, read_addr, &data); in qla8044_minidump_process_rdmux2()
2727 qla8044_wr_reg_indirect(vha, sel_addr1, sel_val2); in qla8044_minidump_process_rdmux2()
2731 qla8044_wr_reg_indirect(vha, sel_addr2, t_sel_val); in qla8044_minidump_process_rdmux2()
2732 qla8044_rd_reg_indirect(vha, read_addr, &data); in qla8044_minidump_process_rdmux2()
2744 qla8044_minidump_process_pollrdmwr(struct scsi_qla_host *vha, in qla8044_minidump_process_pollrdmwr() argument
2760 qla8044_wr_reg_indirect(vha, addr_1, value_1); in qla8044_minidump_process_pollrdmwr()
2764 qla8044_rd_reg_indirect(vha, addr_1, &r_value); in qla8044_minidump_process_pollrdmwr()
2771 ql_log(ql_log_fatal, vha, 0xb0ff, in qla8044_minidump_process_pollrdmwr()
2778 qla8044_rd_reg_indirect(vha, addr_2, &data); in qla8044_minidump_process_pollrdmwr()
2780 qla8044_wr_reg_indirect(vha, addr_2, data); in qla8044_minidump_process_pollrdmwr()
2781 qla8044_wr_reg_indirect(vha, addr_1, value_2); in qla8044_minidump_process_pollrdmwr()
2785 qla8044_rd_reg_indirect(vha, addr_1, &r_value); in qla8044_minidump_process_pollrdmwr()
2792 ql_log(ql_log_fatal, vha, 0xb100, in qla8044_minidump_process_pollrdmwr()
2821 qla8044_check_dma_engine_state(struct scsi_qla_host *vha) in qla8044_check_dma_engine_state() argument
2823 struct qla_hw_data *ha = vha->hw; in qla8044_check_dma_engine_state()
2836 rval = qla8044_rd_reg_indirect(vha, in qla8044_check_dma_engine_state()
2850 qla8044_start_pex_dma(struct scsi_qla_host *vha, in qla8044_start_pex_dma() argument
2853 struct qla_hw_data *ha = vha->hw; in qla8044_start_pex_dma()
2865 rval = qla8044_wr_reg_indirect(vha, in qla8044_start_pex_dma()
2871 rval = qla8044_wr_reg_indirect(vha, in qla8044_start_pex_dma()
2876 rval = qla8044_wr_reg_indirect(vha, in qla8044_start_pex_dma()
2884 rval = qla8044_rd_reg_indirect(vha, in qla8044_start_pex_dma()
2907 qla8044_minidump_pex_dma_read(struct scsi_qla_host *vha, in qla8044_minidump_pex_dma_read() argument
2910 struct qla_hw_data *ha = vha->hw; in qla8044_minidump_pex_dma_read()
2919 rval = qla8044_check_dma_engine_state(vha); in qla8044_minidump_pex_dma_read()
2921 ql_dbg(ql_dbg_p3p, vha, 0xb147, in qla8044_minidump_pex_dma_read()
2931 ql_dbg(ql_dbg_p3p, vha, 0xb148, in qla8044_minidump_pex_dma_read()
2966 rval = qla8044_ms_mem_write_128b(vha, in qla8044_minidump_pex_dma_read()
2970 ql_log(ql_log_warn, vha, 0xb14a, in qla8044_minidump_pex_dma_read()
2975 ql_dbg(ql_dbg_p3p, vha, 0xb14b, in qla8044_minidump_pex_dma_read()
2980 rval = qla8044_start_pex_dma(vha, m_hdr); in qla8044_minidump_pex_dma_read()
3000 qla8044_minidump_process_rddfe(struct scsi_qla_host *vha, in qla8044_minidump_process_rddfe() argument
3027 qla8044_wr_reg_indirect(vha, addr1, (0x40000000 | value)); in qla8044_minidump_process_rddfe()
3031 qla8044_rd_reg_indirect(vha, addr1, &temp); in qla8044_minidump_process_rddfe()
3038 ql_log(ql_log_warn, vha, 0xb153, in qla8044_minidump_process_rddfe()
3042 qla8044_rd_reg_indirect(vha, addr2, &temp); in qla8044_minidump_process_rddfe()
3047 qla8044_wr_reg_indirect(vha, addr2, wrVal); in qla8044_minidump_process_rddfe()
3048 qla8044_wr_reg_indirect(vha, addr1, value); in qla8044_minidump_process_rddfe()
3052 qla8044_rd_reg_indirect(vha, addr1, &temp); in qla8044_minidump_process_rddfe()
3058 ql_log(ql_log_warn, vha, 0xb154, in qla8044_minidump_process_rddfe()
3063 qla8044_wr_reg_indirect(vha, addr1, in qla8044_minidump_process_rddfe()
3067 qla8044_rd_reg_indirect(vha, addr1, &temp); in qla8044_minidump_process_rddfe()
3074 ql_log(ql_log_warn, vha, 0xb155, in qla8044_minidump_process_rddfe()
3079 qla8044_rd_reg_indirect(vha, addr2, &data); in qla8044_minidump_process_rddfe()
3096 qla8044_minidump_process_rdmdio(struct scsi_qla_host *vha, in qla8044_minidump_process_rdmdio() argument
3124 ret = qla8044_poll_wait_ipmdio_bus_idle(vha, addr1, addr2, in qla8044_minidump_process_rdmdio()
3130 ret = qla8044_ipmdio_wr_reg(vha, addr1, addr3, mask, addr4, in qla8044_minidump_process_rdmdio()
3136 ret = qla8044_ipmdio_wr_reg(vha, addr1, addr3, mask, addr5, in qla8044_minidump_process_rdmdio()
3142 ret = qla8044_ipmdio_wr_reg(vha, addr1, addr3, mask, in qla8044_minidump_process_rdmdio()
3147 ret = qla8044_poll_wait_ipmdio_bus_idle(vha, addr1, addr2, in qla8044_minidump_process_rdmdio()
3153 data = qla8044_ipmdio_rd_reg(vha, addr1, addr3, mask, addr7); in qla8044_minidump_process_rdmdio()
3173 static uint32_t qla8044_minidump_process_pollwr(struct scsi_qla_host *vha, in qla8044_minidump_process_pollwr() argument
3189 qla8044_rd_reg_indirect(vha, addr1, &r_value); in qla8044_minidump_process_pollwr()
3197 ql_log(ql_log_warn, vha, 0xb156, "%s: TIMEOUT\n", __func__); in qla8044_minidump_process_pollwr()
3201 qla8044_wr_reg_indirect(vha, addr2, value2); in qla8044_minidump_process_pollwr()
3202 qla8044_wr_reg_indirect(vha, addr1, value1); in qla8044_minidump_process_pollwr()
3206 qla8044_rd_reg_indirect(vha, addr1, &r_value); in qla8044_minidump_process_pollwr()
3225 qla8044_collect_md_data(struct scsi_qla_host *vha) in qla8044_collect_md_data() argument
3235 struct qla_hw_data *ha = vha->hw; in qla8044_collect_md_data()
3238 ql_log(ql_log_info, vha, 0xb101, in qla8044_collect_md_data()
3240 __func__, vha->host_no); in qla8044_collect_md_data()
3245 ql_log(ql_log_warn, vha, 0xb10d, in qla8044_collect_md_data()
3254 ql_log(ql_log_warn, vha, 0xb10e, in qla8044_collect_md_data()
3262 ql_log(ql_log_warn, vha, 0xb112, in qla8044_collect_md_data()
3273 if (qla82xx_validate_template_chksum(vha)) { in qla8044_collect_md_data()
3274 ql_log(ql_log_info, vha, 0xb109, in qla8044_collect_md_data()
3284 ql_dbg(ql_dbg_p3p, vha, 0xb11a, in qla8044_collect_md_data()
3291 ql_log(ql_log_warn, vha, 0xb10f, in qla8044_collect_md_data()
3297 ql_log(ql_log_info, vha, 0xb102, in qla8044_collect_md_data()
3300 ql_log(ql_log_info, vha, 0xb10b, in qla8044_collect_md_data()
3303 ql_log(ql_log_info, vha, 0xb10c, in qla8044_collect_md_data()
3320 ql_log(ql_log_info, vha, 0xb103, in qla8044_collect_md_data()
3334 ql_dbg(ql_dbg_p3p, vha, 0xb104, in qla8044_collect_md_data()
3344 qla8044_mark_entry_skipped(vha, entry_hdr, i); in qla8044_collect_md_data()
3347 rval = qla8044_minidump_process_control(vha, in qla8044_collect_md_data()
3350 qla8044_mark_entry_skipped(vha, entry_hdr, i); in qla8044_collect_md_data()
3355 qla8044_minidump_process_rdcrb(vha, in qla8044_collect_md_data()
3359 rval = qla8044_minidump_pex_dma_read(vha, in qla8044_collect_md_data()
3362 rval = qla8044_minidump_process_rdmem(vha, in qla8044_collect_md_data()
3365 qla8044_mark_entry_skipped(vha, in qla8044_collect_md_data()
3373 rval = qla8044_minidump_process_rdrom(vha, in qla8044_collect_md_data()
3376 qla8044_mark_entry_skipped(vha, in qla8044_collect_md_data()
3384 rval = qla8044_minidump_process_l2tag(vha, in qla8044_collect_md_data()
3387 qla8044_mark_entry_skipped(vha, entry_hdr, i); in qla8044_collect_md_data()
3395 qla8044_minidump_process_l1cache(vha, in qla8044_collect_md_data()
3399 qla8044_minidump_process_rdocm(vha, in qla8044_collect_md_data()
3403 qla8044_minidump_process_rdmux(vha, in qla8044_collect_md_data()
3407 qla8044_minidump_process_queue(vha, in qla8044_collect_md_data()
3411 rval = qla8044_minidump_process_pollrd(vha, in qla8044_collect_md_data()
3414 qla8044_mark_entry_skipped(vha, entry_hdr, i); in qla8044_collect_md_data()
3417 qla8044_minidump_process_rdmux2(vha, in qla8044_collect_md_data()
3421 rval = qla8044_minidump_process_pollrdmwr(vha, in qla8044_collect_md_data()
3424 qla8044_mark_entry_skipped(vha, entry_hdr, i); in qla8044_collect_md_data()
3427 rval = qla8044_minidump_process_rddfe(vha, entry_hdr, in qla8044_collect_md_data()
3430 qla8044_mark_entry_skipped(vha, entry_hdr, i); in qla8044_collect_md_data()
3433 rval = qla8044_minidump_process_rdmdio(vha, entry_hdr, in qla8044_collect_md_data()
3436 qla8044_mark_entry_skipped(vha, entry_hdr, i); in qla8044_collect_md_data()
3439 rval = qla8044_minidump_process_pollwr(vha, entry_hdr, in qla8044_collect_md_data()
3442 qla8044_mark_entry_skipped(vha, entry_hdr, i); in qla8044_collect_md_data()
3446 qla8044_mark_entry_skipped(vha, entry_hdr, i); in qla8044_collect_md_data()
3461 ql_log(ql_log_info, vha, 0xb105, in qla8044_collect_md_data()
3469 ql_log(ql_log_info, vha, 0xb110, in qla8044_collect_md_data()
3471 vha->host_no, ha->md_tmplt_hdr, vha->host_no, ha->md_dump); in qla8044_collect_md_data()
3473 qla2x00_post_uevent_work(vha, QLA_UEVENT_CODE_FW_DUMP); in qla8044_collect_md_data()
3476 ql_log(ql_log_info, vha, 0xb106, in qla8044_collect_md_data()
3484 qla8044_get_minidump(struct scsi_qla_host *vha) in qla8044_get_minidump() argument
3486 struct qla_hw_data *ha = vha->hw; in qla8044_get_minidump()
3488 if (!qla8044_collect_md_data(vha)) { in qla8044_get_minidump()
3492 ql_log(ql_log_fatal, vha, 0xb0db, in qla8044_get_minidump()
3500 qla8044_poll_flash_status_reg(struct scsi_qla_host *vha) in qla8044_poll_flash_status_reg() argument
3507 ret_val = qla8044_rd_reg_indirect(vha, QLA8044_FLASH_STATUS, in qla8044_poll_flash_status_reg()
3510 ql_log(ql_log_warn, vha, 0xb13c, in qla8044_poll_flash_status_reg()
3528 qla8044_write_flash_status_reg(struct scsi_qla_host *vha, in qla8044_write_flash_status_reg() argument
3534 cmd = vha->hw->fdt_wrt_sts_reg_cmd; in qla8044_write_flash_status_reg()
3536 ret_val = qla8044_wr_reg_indirect(vha, QLA8044_FLASH_ADDR, in qla8044_write_flash_status_reg()
3539 ql_log(ql_log_warn, vha, 0xb125, in qla8044_write_flash_status_reg()
3544 ret_val = qla8044_wr_reg_indirect(vha, QLA8044_FLASH_WRDATA, data); in qla8044_write_flash_status_reg()
3546 ql_log(ql_log_warn, vha, 0xb126, in qla8044_write_flash_status_reg()
3551 ret_val = qla8044_wr_reg_indirect(vha, QLA8044_FLASH_CONTROL, in qla8044_write_flash_status_reg()
3554 ql_log(ql_log_warn, vha, 0xb127, in qla8044_write_flash_status_reg()
3559 ret_val = qla8044_poll_flash_status_reg(vha); in qla8044_write_flash_status_reg()
3561 ql_log(ql_log_warn, vha, 0xb128, in qla8044_write_flash_status_reg()
3572 qla8044_unprotect_flash(scsi_qla_host_t *vha) in qla8044_unprotect_flash() argument
3575 struct qla_hw_data *ha = vha->hw; in qla8044_unprotect_flash()
3577 ret_val = qla8044_write_flash_status_reg(vha, ha->fdt_wrt_enable); in qla8044_unprotect_flash()
3579 ql_log(ql_log_warn, vha, 0xb139, in qla8044_unprotect_flash()
3589 qla8044_protect_flash(scsi_qla_host_t *vha) in qla8044_protect_flash() argument
3592 struct qla_hw_data *ha = vha->hw; in qla8044_protect_flash()
3594 ret_val = qla8044_write_flash_status_reg(vha, ha->fdt_wrt_disable); in qla8044_protect_flash()
3596 ql_log(ql_log_warn, vha, 0xb13b, in qla8044_protect_flash()
3604 qla8044_erase_flash_sector(struct scsi_qla_host *vha, in qla8044_erase_flash_sector() argument
3610 ret_val = qla8044_poll_flash_status_reg(vha); in qla8044_erase_flash_sector()
3612 ql_log(ql_log_warn, vha, 0xb12e, in qla8044_erase_flash_sector()
3620 ret_val = qla8044_wr_reg_indirect(vha, in qla8044_erase_flash_sector()
3623 ql_log(ql_log_warn, vha, 0xb12f, in qla8044_erase_flash_sector()
3626 ret_val = qla8044_wr_reg_indirect(vha, QLA8044_FLASH_ADDR, in qla8044_erase_flash_sector()
3627 QLA8044_FLASH_ERASE_SIG | vha->hw->fdt_erase_cmd); in qla8044_erase_flash_sector()
3629 ql_log(ql_log_warn, vha, 0xb130, in qla8044_erase_flash_sector()
3632 ret_val = qla8044_wr_reg_indirect(vha, QLA8044_FLASH_CONTROL, in qla8044_erase_flash_sector()
3635 ql_log(ql_log_warn, vha, 0xb131, in qla8044_erase_flash_sector()
3638 ret_val = qla8044_poll_flash_status_reg(vha); in qla8044_erase_flash_sector()
3640 ql_log(ql_log_warn, vha, 0xb132, in qla8044_erase_flash_sector()
3660 qla8044_flash_write_u32(struct scsi_qla_host *vha, uint32_t addr, in qla8044_flash_write_u32() argument
3665 ret_val = qla8044_wr_reg_indirect(vha, QLA8044_FLASH_ADDR, in qla8044_flash_write_u32()
3668 ql_log(ql_log_warn, vha, 0xb134, in qla8044_flash_write_u32()
3672 ret_val = qla8044_wr_reg_indirect(vha, QLA8044_FLASH_WRDATA, *p_data); in qla8044_flash_write_u32()
3674 ql_log(ql_log_warn, vha, 0xb135, in qla8044_flash_write_u32()
3678 ret_val = qla8044_wr_reg_indirect(vha, QLA8044_FLASH_CONTROL, 0x3D); in qla8044_flash_write_u32()
3680 ql_log(ql_log_warn, vha, 0xb136, in qla8044_flash_write_u32()
3684 ret_val = qla8044_poll_flash_status_reg(vha); in qla8044_flash_write_u32()
3686 ql_log(ql_log_warn, vha, 0xb137, in qla8044_flash_write_u32()
3695 qla8044_write_flash_buffer_mode(scsi_qla_host_t *vha, uint32_t *dwptr, in qla8044_write_flash_buffer_mode() argument
3703 ql_dbg(ql_dbg_user, vha, 0xb123, in qla8044_write_flash_buffer_mode()
3709 qla8044_rd_reg_indirect(vha, QLA8044_FLASH_SPI_CONTROL, &spi_val); in qla8044_write_flash_buffer_mode()
3710 qla8044_wr_reg_indirect(vha, QLA8044_FLASH_SPI_CONTROL, in qla8044_write_flash_buffer_mode()
3712 qla8044_wr_reg_indirect(vha, QLA8044_FLASH_ADDR, in qla8044_write_flash_buffer_mode()
3716 ret = qla8044_wr_reg_indirect(vha, QLA8044_FLASH_WRDATA, in qla8044_write_flash_buffer_mode()
3718 qla8044_wr_reg_indirect(vha, QLA8044_FLASH_CONTROL, in qla8044_write_flash_buffer_mode()
3721 ret = qla8044_poll_flash_status_reg(vha); in qla8044_write_flash_buffer_mode()
3723 ql_log(ql_log_warn, vha, 0xb124, in qla8044_write_flash_buffer_mode()
3730 qla8044_wr_reg_indirect(vha, QLA8044_FLASH_ADDR, in qla8044_write_flash_buffer_mode()
3736 qla8044_wr_reg_indirect(vha, QLA8044_FLASH_WRDATA, *dwptr++); in qla8044_write_flash_buffer_mode()
3737 qla8044_wr_reg_indirect(vha, QLA8044_FLASH_CONTROL, in qla8044_write_flash_buffer_mode()
3739 ret = qla8044_poll_flash_status_reg(vha); in qla8044_write_flash_buffer_mode()
3741 ql_log(ql_log_warn, vha, 0xb129, in qla8044_write_flash_buffer_mode()
3748 qla8044_wr_reg_indirect(vha, QLA8044_FLASH_ADDR, in qla8044_write_flash_buffer_mode()
3752 qla8044_wr_reg_indirect(vha, QLA8044_FLASH_WRDATA, *dwptr++); in qla8044_write_flash_buffer_mode()
3753 qla8044_wr_reg_indirect(vha, QLA8044_FLASH_CONTROL, in qla8044_write_flash_buffer_mode()
3755 ret = qla8044_poll_flash_status_reg(vha); in qla8044_write_flash_buffer_mode()
3757 ql_log(ql_log_warn, vha, 0xb12a, in qla8044_write_flash_buffer_mode()
3761 qla8044_rd_reg_indirect(vha, QLA8044_FLASH_SPI_STATUS, &spi_val); in qla8044_write_flash_buffer_mode()
3764 ql_log(ql_log_warn, vha, 0xb12b, in qla8044_write_flash_buffer_mode()
3768 qla8044_rd_reg_indirect(vha, QLA8044_FLASH_SPI_CONTROL, in qla8044_write_flash_buffer_mode()
3770 qla8044_wr_reg_indirect(vha, QLA8044_FLASH_SPI_CONTROL, in qla8044_write_flash_buffer_mode()
3778 qla8044_write_flash_dword_mode(scsi_qla_host_t *vha, uint32_t *dwptr, in qla8044_write_flash_dword_mode() argument
3785 ret = qla8044_flash_write_u32(vha, faddr, dwptr); in qla8044_write_flash_dword_mode()
3787 ql_dbg(ql_dbg_p3p, vha, 0xb141, in qla8044_write_flash_dword_mode()
3798 qla8044_write_optrom_data(struct scsi_qla_host *vha, void *buf, in qla8044_write_optrom_data() argument
3822 scsi_block_requests(vha->host); in qla8044_write_optrom_data()
3824 qla8044_flash_lock(vha); in qla8044_write_optrom_data()
3825 qla8044_unprotect_flash(vha); in qla8044_write_optrom_data()
3829 rval = qla8044_erase_flash_sector(vha, erase_offset); in qla8044_write_optrom_data()
3830 ql_dbg(ql_dbg_user, vha, 0xb138, in qla8044_write_optrom_data()
3834 ql_log(ql_log_warn, vha, 0xb121, in qla8044_write_optrom_data()
3841 ql_dbg(ql_dbg_user, vha, 0xb13f, in qla8044_write_optrom_data()
3848 rval = qla8044_write_flash_buffer_mode(vha, (uint32_t *)p_src, in qla8044_write_optrom_data()
3852 ql_log(ql_log_warn, vha, 0xb122, in qla8044_write_optrom_data()
3855 rval = qla8044_write_flash_dword_mode(vha, in qla8044_write_optrom_data()
3862 ql_dbg(ql_dbg_user, vha, 0xb133, in qla8044_write_optrom_data()
3866 qla8044_protect_flash(vha); in qla8044_write_optrom_data()
3867 qla8044_flash_unlock(vha); in qla8044_write_optrom_data()
3868 scsi_unblock_requests(vha->host); in qla8044_write_optrom_data()
3889 scsi_qla_host_t *vha; in qla8044_intr_handler() local
3907 vha = pci_get_drvdata(ha->pdev); in qla8044_intr_handler()
3916 ql_dbg(ql_dbg_p3p, vha, 0xb144, in qla8044_intr_handler()
3925 ql_dbg(ql_dbg_p3p, vha, 0xb145, in qla8044_intr_handler()
3958 qla82xx_mbx_completion(vha, MSW(stat)); in qla8044_intr_handler()
3966 qla2x00_async_event(vha, rsp, mb); in qla8044_intr_handler()
3969 qla24xx_process_response_queue(vha, rsp); in qla8044_intr_handler()
3972 ql_dbg(ql_dbg_p3p, vha, 0xb146, in qla8044_intr_handler()
3997 qla8044_clear_rst_ready(scsi_qla_host_t *vha) in qla8044_clear_rst_ready() argument
4001 drv_state = qla8044_rd_direct(vha, QLA8044_CRB_DRV_STATE_INDEX); in qla8044_clear_rst_ready()
4008 drv_state &= ~(1 << vha->hw->portnum); in qla8044_clear_rst_ready()
4010 ql_dbg(ql_dbg_p3p, vha, 0xb13d, in qla8044_clear_rst_ready()
4012 qla8044_wr_direct(vha, QLA8044_CRB_DRV_STATE_INDEX, drv_state); in qla8044_clear_rst_ready()
4016 qla8044_abort_isp(scsi_qla_host_t *vha) in qla8044_abort_isp() argument
4020 struct qla_hw_data *ha = vha->hw; in qla8044_abort_isp()
4023 dev_state = qla8044_rd_direct(vha, QLA8044_CRB_DEV_STATE_INDEX); in qla8044_abort_isp()
4026 qla8044_set_idc_dontreset(vha); in qla8044_abort_isp()
4038 ql_dbg(ql_dbg_p3p, vha, 0xb13e, in qla8044_abort_isp()
4044 ql_dbg(ql_dbg_p3p, vha, 0xb140, in qla8044_abort_isp()
4046 qla8044_wr_direct(vha, QLA8044_CRB_DEV_STATE_INDEX, in qla8044_abort_isp()
4053 qla83xx_reset_ownership(vha); in qla8044_abort_isp()
4056 rval = qla8044_device_state_handler(vha); in qla8044_abort_isp()
4058 qla8044_clear_rst_ready(vha); in qla8044_abort_isp()
4065 rval = qla82xx_restart_isp(vha); in qla8044_abort_isp()
4072 qla8044_fw_dump(scsi_qla_host_t *vha) in qla8044_fw_dump() argument
4074 struct qla_hw_data *ha = vha->hw; in qla8044_fw_dump()
4079 scsi_block_requests(vha->host); in qla8044_fw_dump()
4082 qla82xx_set_reset_owner(vha); in qla8044_fw_dump()
4084 qla2x00_wait_for_chip_reset(vha); in qla8044_fw_dump()
4085 scsi_unblock_requests(vha->host); in qla8044_fw_dump()