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
466 struct qla_hw_data *ha = vha->hw; in qla8044_flash_unlock()
475 void qla8044_flash_lock_recovery(struct scsi_qla_host *vha) in qla8044_flash_lock_recovery() argument
478 if (qla8044_flash_lock(vha)) { in qla8044_flash_lock_recovery()
480 ql_log(ql_log_warn, vha, 0xb120, "Resetting flash_lock\n"); in qla8044_flash_lock_recovery()
488 qla8044_flash_unlock(vha); in qla8044_flash_lock_recovery()
495 qla8044_read_flash_data(scsi_qla_host_t *vha, uint8_t *p_data, in qla8044_read_flash_data() argument
501 if (qla8044_flash_lock(vha) != QLA_SUCCESS) { in qla8044_read_flash_data()
507 ql_log(ql_log_warn, vha, 0xb117, in qla8044_read_flash_data()
514 if (qla8044_wr_reg_indirect(vha, QLA8044_FLASH_DIRECT_WINDOW, in qla8044_read_flash_data()
516 ql_log(ql_log_warn, vha, 0xb119, in qla8044_read_flash_data()
524 ret_val = qla8044_rd_reg_indirect(vha, in qla8044_read_flash_data()
528 ql_log(ql_log_warn, vha, 0xb08c, in qla8044_read_flash_data()
540 qla8044_flash_unlock(vha); in qla8044_read_flash_data()
550 qla8044_read_optrom_data(struct scsi_qla_host *vha, uint8_t *buf, in qla8044_read_optrom_data() argument
553 scsi_block_requests(vha->host); in qla8044_read_optrom_data()
554 if (qla8044_read_flash_data(vha, (uint8_t *)buf, offset, length / 4) in qla8044_read_optrom_data()
556 ql_log(ql_log_warn, vha, 0xb08d, in qla8044_read_optrom_data()
560 scsi_unblock_requests(vha->host); in qla8044_read_optrom_data()
565 qla8044_need_reset(struct scsi_qla_host *vha) in qla8044_need_reset() argument
569 struct qla_hw_data *ha = vha->hw; in qla8044_need_reset()
571 drv_active = qla8044_rd_direct(vha, QLA8044_CRB_DRV_ACTIVE_INDEX); in qla8044_need_reset()
572 drv_state = qla8044_rd_direct(vha, QLA8044_CRB_DRV_STATE_INDEX); in qla8044_need_reset()
591 qla8044_write_list(struct scsi_qla_host *vha, in qla8044_write_list() argument
601 qla8044_wr_reg_indirect(vha, p_entry->arg1, p_entry->arg2); in qla8044_write_list()
617 qla8044_read_write_list(struct scsi_qla_host *vha, in qla8044_read_write_list() argument
627 qla8044_read_write_crb_reg(vha, p_entry->arg1, in qla8044_read_write_list()
647 qla8044_poll_reg(struct scsi_qla_host *vha, uint32_t addr, in qla8044_poll_reg() argument
655 ret_val = qla8044_rd_reg_indirect(vha, addr, &value); in qla8044_poll_reg()
668 ret_val = qla8044_rd_reg_indirect(vha, addr, &value); in qla8044_poll_reg()
681 vha->reset_tmplt.seq_error++; in qla8044_poll_reg()
682 ql_log(ql_log_fatal, vha, 0xb090, in qla8044_poll_reg()
700 qla8044_poll_list(struct scsi_qla_host *vha, in qla8044_poll_list() argument
722 qla8044_poll_reg(vha, p_entry->arg1, in qla8044_poll_list()
727 if (qla8044_poll_reg(vha, in qla8044_poll_list()
736 qla8044_rd_reg_indirect(vha, in qla8044_poll_list()
738 qla8044_rd_reg_indirect(vha, in qla8044_poll_list()
756 qla8044_poll_write_list(struct scsi_qla_host *vha, in qla8044_poll_write_list() argument
773 qla8044_wr_reg_indirect(vha, in qla8044_poll_write_list()
775 qla8044_wr_reg_indirect(vha, in qla8044_poll_write_list()
778 if (qla8044_poll_reg(vha, in qla8044_poll_write_list()
782 ql_dbg(ql_dbg_p3p, vha, 0xb091, in qla8044_poll_write_list()
785 ql_dbg(ql_dbg_p3p, vha, 0xb092, in qla8044_poll_write_list()
787 vha->reset_tmplt.seq_index); in qla8044_poll_write_list()
803 qla8044_read_modify_write(struct scsi_qla_host *vha, in qla8044_read_modify_write() argument
817 qla8044_rmw_crb_reg(vha, p_entry->arg1, in qla8044_read_modify_write()
833 void qla8044_pause(struct scsi_qla_host *vha, in qla8044_pause() argument
848 qla8044_template_end(struct scsi_qla_host *vha, in qla8044_template_end() argument
851 vha->reset_tmplt.template_end = 1; in qla8044_template_end()
853 if (vha->reset_tmplt.seq_error == 0) { in qla8044_template_end()
854 ql_dbg(ql_dbg_p3p, vha, 0xb093, in qla8044_template_end()
857 ql_log(ql_log_fatal, vha, 0xb094, in qla8044_template_end()
873 qla8044_poll_read_list(struct scsi_qla_host *vha, in qla8044_poll_read_list() argument
892 qla8044_wr_reg_indirect(vha, p_entry->ar_addr, in qla8044_poll_read_list()
895 if (qla8044_poll_reg(vha, p_entry->ar_addr, delay, in qla8044_poll_read_list()
897 ql_dbg(ql_dbg_p3p, vha, 0xb095, in qla8044_poll_read_list()
900 ql_dbg(ql_dbg_p3p, vha, 0xb096, in qla8044_poll_read_list()
903 vha->reset_tmplt.seq_index); in qla8044_poll_read_list()
905 index = vha->reset_tmplt.array_index; in qla8044_poll_read_list()
906 qla8044_rd_reg_indirect(vha, in qla8044_poll_read_list()
908 vha->reset_tmplt.array[index++] = value; in qla8044_poll_read_list()
910 vha->reset_tmplt.array_index = 1; in qla8044_poll_read_list()
928 qla8044_process_reset_template(struct scsi_qla_host *vha, in qla8044_process_reset_template() argument
935 vha->reset_tmplt.seq_end = 0; in qla8044_process_reset_template()
936 vha->reset_tmplt.template_end = 0; in qla8044_process_reset_template()
937 entries = vha->reset_tmplt.hdr->entries; in qla8044_process_reset_template()
938 index = vha->reset_tmplt.seq_index; in qla8044_process_reset_template()
940 for (; (!vha->reset_tmplt.seq_end) && (index < entries); index++) { in qla8044_process_reset_template()
946 qla8044_write_list(vha, p_hdr); in qla8044_process_reset_template()
949 qla8044_read_write_list(vha, p_hdr); in qla8044_process_reset_template()
952 qla8044_poll_list(vha, p_hdr); in qla8044_process_reset_template()
955 qla8044_poll_write_list(vha, p_hdr); in qla8044_process_reset_template()
958 qla8044_read_modify_write(vha, p_hdr); in qla8044_process_reset_template()
961 qla8044_pause(vha, p_hdr); in qla8044_process_reset_template()
964 vha->reset_tmplt.seq_end = 1; in qla8044_process_reset_template()
967 qla8044_template_end(vha, p_hdr); in qla8044_process_reset_template()
970 qla8044_poll_read_list(vha, p_hdr); in qla8044_process_reset_template()
973 ql_log(ql_log_fatal, vha, 0xb097, in qla8044_process_reset_template()
983 vha->reset_tmplt.seq_index = index; in qla8044_process_reset_template()
987 qla8044_process_init_seq(struct scsi_qla_host *vha) in qla8044_process_init_seq() argument
989 qla8044_process_reset_template(vha, in qla8044_process_init_seq()
990 vha->reset_tmplt.init_offset); in qla8044_process_init_seq()
991 if (vha->reset_tmplt.seq_end != 1) in qla8044_process_init_seq()
992 ql_log(ql_log_fatal, vha, 0xb098, in qla8044_process_init_seq()
998 qla8044_process_stop_seq(struct scsi_qla_host *vha) in qla8044_process_stop_seq() argument
1000 vha->reset_tmplt.seq_index = 0; in qla8044_process_stop_seq()
1001 qla8044_process_reset_template(vha, vha->reset_tmplt.stop_offset); in qla8044_process_stop_seq()
1002 if (vha->reset_tmplt.seq_end != 1) in qla8044_process_stop_seq()
1003 ql_log(ql_log_fatal, vha, 0xb099, in qla8044_process_stop_seq()
1008 qla8044_process_start_seq(struct scsi_qla_host *vha) in qla8044_process_start_seq() argument
1010 qla8044_process_reset_template(vha, vha->reset_tmplt.start_offset); in qla8044_process_start_seq()
1011 if (vha->reset_tmplt.template_end != 1) in qla8044_process_start_seq()
1012 ql_log(ql_log_fatal, vha, 0xb09a, in qla8044_process_start_seq()
1018 qla8044_lockless_flash_read_u32(struct scsi_qla_host *vha, in qla8044_lockless_flash_read_u32() argument
1030 ql_log(ql_log_fatal, vha, 0xb09b, "%s: Illegal addr = 0x%x\n", in qla8044_lockless_flash_read_u32()
1036 ret_val = qla8044_wr_reg_indirect(vha, in qla8044_lockless_flash_read_u32()
1040 ql_log(ql_log_fatal, vha, 0xb09c, in qla8044_lockless_flash_read_u32()
1051 ret_val = qla8044_rd_reg_indirect(vha, in qla8044_lockless_flash_read_u32()
1054 ql_log(ql_log_fatal, vha, 0xb09d, in qla8044_lockless_flash_read_u32()
1065 ret_val = qla8044_wr_reg_indirect(vha, in qla8044_lockless_flash_read_u32()
1068 ql_log(ql_log_fatal, vha, 0xb09f, in qla8044_lockless_flash_read_u32()
1080 ret_val = qla8044_rd_reg_indirect(vha, in qla8044_lockless_flash_read_u32()
1083 ql_log(ql_log_fatal, vha, 0xb0a0, in qla8044_lockless_flash_read_u32()
1109 qla8044_ms_mem_write_128b(struct scsi_qla_host *vha, in qla8044_ms_mem_write_128b() argument
1115 struct qla_hw_data *ha = vha->hw; in qla8044_ms_mem_write_128b()
1125 ret_val = qla8044_wr_reg_indirect(vha, MD_MIU_TEST_AGT_ADDR_HI, 0); in qla8044_ms_mem_write_128b()
1127 ql_log(ql_log_fatal, vha, 0xb0a1, in qla8044_ms_mem_write_128b()
1141 ret_val = qla8044_wr_reg_indirect(vha, in qla8044_ms_mem_write_128b()
1145 ret_val += qla8044_wr_reg_indirect(vha, in qla8044_ms_mem_write_128b()
1147 ret_val += qla8044_wr_reg_indirect(vha, in qla8044_ms_mem_write_128b()
1149 ret_val += qla8044_wr_reg_indirect(vha, in qla8044_ms_mem_write_128b()
1151 ret_val += qla8044_wr_reg_indirect(vha, in qla8044_ms_mem_write_128b()
1154 ql_log(ql_log_fatal, vha, 0xb0a2, in qla8044_ms_mem_write_128b()
1161 ret_val = qla8044_wr_reg_indirect(vha, MD_MIU_TEST_AGT_CTRL, in qla8044_ms_mem_write_128b()
1163 ret_val += qla8044_wr_reg_indirect(vha, MD_MIU_TEST_AGT_CTRL, in qla8044_ms_mem_write_128b()
1166 ql_log(ql_log_fatal, vha, 0xb0a3, in qla8044_ms_mem_write_128b()
1172 ret_val = qla8044_rd_reg_indirect(vha, in qla8044_ms_mem_write_128b()
1175 ql_log(ql_log_fatal, vha, 0xb0a4, in qla8044_ms_mem_write_128b()
1186 ql_log(ql_log_fatal, vha, 0xb0a5, in qla8044_ms_mem_write_128b()
1202 qla8044_copy_bootloader(struct scsi_qla_host *vha) in qla8044_copy_bootloader() argument
1208 struct qla_hw_data *ha = vha->hw; in qla8044_copy_bootloader()
1223 ql_log(ql_log_fatal, vha, 0xb0a6, in qla8044_copy_bootloader()
1230 ret_val = qla8044_lockless_flash_read_u32(vha, src, in qla8044_copy_bootloader()
1233 ql_log(ql_log_fatal, vha, 0xb0a7, in qla8044_copy_bootloader()
1237 ql_dbg(ql_dbg_p3p, vha, 0xb0a8, "%s: Read F/W from flash!\n", in qla8044_copy_bootloader()
1241 ret_val = qla8044_ms_mem_write_128b(vha, dest, in qla8044_copy_bootloader()
1244 ql_log(ql_log_fatal, vha, 0xb0a9, in qla8044_copy_bootloader()
1248 ql_dbg(ql_dbg_p3p, vha, 0xb0aa, in qla8044_copy_bootloader()
1260 qla8044_restart(struct scsi_qla_host *vha) in qla8044_restart() argument
1263 struct qla_hw_data *ha = vha->hw; in qla8044_restart()
1265 qla8044_process_stop_seq(vha); in qla8044_restart()
1269 qla8044_get_minidump(vha); in qla8044_restart()
1271 ql_log(ql_log_fatal, vha, 0xb14c, in qla8044_restart()
1274 qla8044_process_init_seq(vha); in qla8044_restart()
1276 if (qla8044_copy_bootloader(vha)) { in qla8044_restart()
1277 ql_log(ql_log_fatal, vha, 0xb0ab, in qla8044_restart()
1289 qla8044_process_start_seq(vha); in qla8044_restart()
1304 qla8044_check_cmd_peg_status(struct scsi_qla_host *vha) in qla8044_check_cmd_peg_status() argument
1308 struct qla_hw_data *ha = vha->hw; in qla8044_check_cmd_peg_status()
1313 ql_dbg(ql_dbg_p3p, vha, 0xb0ac, in qla8044_check_cmd_peg_status()
1326 qla8044_start_firmware(struct scsi_qla_host *vha) in qla8044_start_firmware() argument
1330 if (qla8044_restart(vha)) { in qla8044_start_firmware()
1331 ql_log(ql_log_fatal, vha, 0xb0ad, in qla8044_start_firmware()
1337 ql_dbg(ql_dbg_p3p, vha, 0xb0af, in qla8044_start_firmware()
1340 ret_val = qla8044_check_cmd_peg_status(vha); in qla8044_start_firmware()
1342 ql_log(ql_log_fatal, vha, 0xb0b0, in qla8044_start_firmware()
1355 struct scsi_qla_host *vha = pci_get_drvdata(ha->pdev); in qla8044_clear_drv_active() local
1357 drv_active = qla8044_rd_direct(vha, QLA8044_CRB_DRV_ACTIVE_INDEX); in qla8044_clear_drv_active()
1360 ql_log(ql_log_info, vha, 0xb0b1, in qla8044_clear_drv_active()
1362 __func__, vha->host_no, drv_active); in qla8044_clear_drv_active()
1364 qla8044_wr_direct(vha, QLA8044_CRB_DRV_ACTIVE_INDEX, drv_active); in qla8044_clear_drv_active()
1374 qla8044_device_bootstrap(struct scsi_qla_host *vha) in qla8044_device_bootstrap() argument
1381 struct qla_hw_data *ha = vha->hw; in qla8044_device_bootstrap()
1383 need_reset = qla8044_need_reset(vha); in qla8044_device_bootstrap()
1386 old_count = qla8044_rd_direct(vha, in qla8044_device_bootstrap()
1392 count = qla8044_rd_direct(vha, in qla8044_device_bootstrap()
1399 qla8044_flash_lock_recovery(vha); in qla8044_device_bootstrap()
1403 qla8044_flash_lock_recovery(vha); in qla8044_device_bootstrap()
1407 ql_log(ql_log_info, vha, 0xb0b2, in qla8044_device_bootstrap()
1409 qla8044_wr_direct(vha, QLA8044_CRB_DEV_STATE_INDEX, in qla8044_device_bootstrap()
1413 rval = qla8044_start_firmware(vha); in qla8044_device_bootstrap()
1417 ql_log(ql_log_info, vha, 0xb0b3, in qla8044_device_bootstrap()
1420 qla8044_wr_direct(vha, QLA8044_CRB_DEV_STATE_INDEX, in qla8044_device_bootstrap()
1435 ql_log(ql_log_info, vha, 0xb0b4, in qla8044_device_bootstrap()
1437 qla8044_wr_direct(vha, QLA8044_CRB_DEV_STATE_INDEX, QLA8XXX_DEV_READY); in qla8044_device_bootstrap()
1444 qla8044_dump_reset_seq_hdr(struct scsi_qla_host *vha) in qla8044_dump_reset_seq_hdr() argument
1448 if (!vha->reset_tmplt.buff) { in qla8044_dump_reset_seq_hdr()
1449 ql_log(ql_log_fatal, vha, 0xb0b5, in qla8044_dump_reset_seq_hdr()
1454 phdr = vha->reset_tmplt.buff; in qla8044_dump_reset_seq_hdr()
1455 ql_dbg(ql_dbg_p3p, vha, 0xb0b6, in qla8044_dump_reset_seq_hdr()
1473 qla8044_reset_seq_checksum_test(struct scsi_qla_host *vha) in qla8044_reset_seq_checksum_test() argument
1476 uint16_t *buff = (uint16_t *)vha->reset_tmplt.buff; in qla8044_reset_seq_checksum_test()
1477 int u16_count = vha->reset_tmplt.hdr->size / sizeof(uint16_t); in qla8044_reset_seq_checksum_test()
1489 ql_log(ql_log_fatal, vha, 0xb0b7, in qla8044_reset_seq_checksum_test()
1502 qla8044_read_reset_template(struct scsi_qla_host *vha) in qla8044_read_reset_template() argument
1507 vha->reset_tmplt.seq_error = 0; in qla8044_read_reset_template()
1508 vha->reset_tmplt.buff = vmalloc(QLA8044_RESTART_TEMPLATE_SIZE); in qla8044_read_reset_template()
1509 if (vha->reset_tmplt.buff == NULL) { in qla8044_read_reset_template()
1510 ql_log(ql_log_fatal, vha, 0xb0b8, in qla8044_read_reset_template()
1516 p_buff = vha->reset_tmplt.buff; in qla8044_read_reset_template()
1522 ql_dbg(ql_dbg_p3p, vha, 0xb0b9, in qla8044_read_reset_template()
1527 if (qla8044_read_flash_data(vha, p_buff, addr, tmplt_hdr_def_size)) { in qla8044_read_reset_template()
1528 ql_log(ql_log_fatal, vha, 0xb0ba, in qla8044_read_reset_template()
1533 vha->reset_tmplt.hdr = in qla8044_read_reset_template()
1534 (struct qla8044_reset_template_hdr *) vha->reset_tmplt.buff; in qla8044_read_reset_template()
1537 tmplt_hdr_size = vha->reset_tmplt.hdr->hdr_size/sizeof(uint32_t); in qla8044_read_reset_template()
1539 (vha->reset_tmplt.hdr->signature != RESET_TMPLT_HDR_SIGNATURE)) { in qla8044_read_reset_template()
1540 ql_log(ql_log_fatal, vha, 0xb0bb, in qla8044_read_reset_template()
1547 addr = QLA8044_RESET_TEMPLATE_ADDR + vha->reset_tmplt.hdr->hdr_size; in qla8044_read_reset_template()
1548 p_buff = vha->reset_tmplt.buff + vha->reset_tmplt.hdr->hdr_size; in qla8044_read_reset_template()
1549 tmplt_hdr_def_size = (vha->reset_tmplt.hdr->size - in qla8044_read_reset_template()
1550 vha->reset_tmplt.hdr->hdr_size)/sizeof(uint32_t); in qla8044_read_reset_template()
1552 ql_dbg(ql_dbg_p3p, vha, 0xb0bc, in qla8044_read_reset_template()
1554 __func__, vha->reset_tmplt.hdr->size); in qla8044_read_reset_template()
1557 if (qla8044_read_flash_data(vha, p_buff, addr, tmplt_hdr_def_size)) { in qla8044_read_reset_template()
1558 ql_log(ql_log_fatal, vha, 0xb0bd, in qla8044_read_reset_template()
1564 if (qla8044_reset_seq_checksum_test(vha)) { in qla8044_read_reset_template()
1565 ql_log(ql_log_fatal, vha, 0xb0be, in qla8044_read_reset_template()
1570 ql_dbg(ql_dbg_p3p, vha, 0xb0bf, in qla8044_read_reset_template()
1575 vha->reset_tmplt.init_offset = vha->reset_tmplt.buff + in qla8044_read_reset_template()
1576 vha->reset_tmplt.hdr->init_seq_offset; in qla8044_read_reset_template()
1578 vha->reset_tmplt.start_offset = vha->reset_tmplt.buff + in qla8044_read_reset_template()
1579 vha->reset_tmplt.hdr->start_seq_offset; in qla8044_read_reset_template()
1581 vha->reset_tmplt.stop_offset = vha->reset_tmplt.buff + in qla8044_read_reset_template()
1582 vha->reset_tmplt.hdr->hdr_size; in qla8044_read_reset_template()
1584 qla8044_dump_reset_seq_hdr(vha); in qla8044_read_reset_template()
1589 vfree(vha->reset_tmplt.buff); in qla8044_read_reset_template()
1596 qla8044_set_idc_dontreset(struct scsi_qla_host *vha) in qla8044_set_idc_dontreset() argument
1599 struct qla_hw_data *ha = vha->hw; in qla8044_set_idc_dontreset()
1603 ql_dbg(ql_dbg_p3p, vha, 0xb0c0, in qla8044_set_idc_dontreset()
1609 qla8044_set_rst_ready(struct scsi_qla_host *vha) in qla8044_set_rst_ready() argument
1612 struct qla_hw_data *ha = vha->hw; in qla8044_set_rst_ready()
1614 drv_state = qla8044_rd_direct(vha, QLA8044_CRB_DRV_STATE_INDEX); in qla8044_set_rst_ready()
1620 ql_log(ql_log_info, vha, 0xb0c1, in qla8044_set_rst_ready()
1622 __func__, vha->host_no, drv_state); in qla8044_set_rst_ready()
1623 qla8044_wr_direct(vha, QLA8044_CRB_DRV_STATE_INDEX, drv_state); in qla8044_set_rst_ready()
1633 qla8044_need_reset_handler(struct scsi_qla_host *vha) in qla8044_need_reset_handler() argument
1637 struct qla_hw_data *ha = vha->hw; in qla8044_need_reset_handler()
1639 ql_log(ql_log_fatal, vha, 0xb0c2, in qla8044_need_reset_handler()
1642 if (vha->flags.online) { in qla8044_need_reset_handler()
1644 qla2x00_abort_isp_cleanup(vha); in qla8044_need_reset_handler()
1645 ha->isp_ops->get_flash_version(vha, vha->req->ring); in qla8044_need_reset_handler()
1646 ha->isp_ops->nvram_config(vha); in qla8044_need_reset_handler()
1650 dev_state = qla8044_rd_direct(vha, in qla8044_need_reset_handler()
1652 drv_state = qla8044_rd_direct(vha, in qla8044_need_reset_handler()
1654 drv_active = qla8044_rd_direct(vha, in qla8044_need_reset_handler()
1657 ql_log(ql_log_info, vha, 0xb0c5, in qla8044_need_reset_handler()
1659 __func__, vha->host_no, drv_state, drv_active, dev_state); in qla8044_need_reset_handler()
1661 qla8044_set_rst_ready(vha); in qla8044_need_reset_handler()
1668 ql_log(ql_log_info, vha, 0xb0c4, in qla8044_need_reset_handler()
1678 dev_state = qla8044_rd_direct(vha, in qla8044_need_reset_handler()
1680 drv_state = qla8044_rd_direct(vha, in qla8044_need_reset_handler()
1682 drv_active = qla8044_rd_direct(vha, in qla8044_need_reset_handler()
1689 ql_log(ql_log_info, vha, 0xb0c7, in qla8044_need_reset_handler()
1691 __func__, vha->host_no, ha->portnum, in qla8044_need_reset_handler()
1694 qla8044_wr_direct(vha, QLA8044_CRB_DRV_ACTIVE_INDEX, in qla8044_need_reset_handler()
1704 qla8044_device_bootstrap(vha); in qla8044_need_reset_handler()
1722 qla8044_device_bootstrap(vha); in qla8044_need_reset_handler()
1727 qla8044_set_drv_active(struct scsi_qla_host *vha) in qla8044_set_drv_active() argument
1730 struct qla_hw_data *ha = vha->hw; in qla8044_set_drv_active()
1732 drv_active = qla8044_rd_direct(vha, QLA8044_CRB_DRV_ACTIVE_INDEX); in qla8044_set_drv_active()
1738 ql_log(ql_log_info, vha, 0xb0c8, in qla8044_set_drv_active()
1740 __func__, vha->host_no, drv_active); in qla8044_set_drv_active()
1741 qla8044_wr_direct(vha, QLA8044_CRB_DRV_ACTIVE_INDEX, drv_active); in qla8044_set_drv_active()
1745 qla8044_check_drv_active(struct scsi_qla_host *vha) in qla8044_check_drv_active() argument
1748 struct qla_hw_data *ha = vha->hw; in qla8044_check_drv_active()
1750 drv_active = qla8044_rd_direct(vha, QLA8044_CRB_DRV_ACTIVE_INDEX); in qla8044_check_drv_active()
1758 qla8044_clear_idc_dontreset(struct scsi_qla_host *vha) in qla8044_clear_idc_dontreset() argument
1761 struct qla_hw_data *ha = vha->hw; in qla8044_clear_idc_dontreset()
1765 ql_log(ql_log_info, vha, 0xb0c9, in qla8044_clear_idc_dontreset()
1772 qla8044_set_idc_ver(struct scsi_qla_host *vha) in qla8044_set_idc_ver() argument
1777 struct qla_hw_data *ha = vha->hw; in qla8044_set_idc_ver()
1779 drv_active = qla8044_rd_direct(vha, QLA8044_CRB_DRV_ACTIVE_INDEX); in qla8044_set_idc_ver()
1781 idc_ver = qla8044_rd_direct(vha, in qla8044_set_idc_ver()
1785 qla8044_wr_direct(vha, QLA8044_CRB_DRV_IDC_VERSION_INDEX, in qla8044_set_idc_ver()
1787 ql_log(ql_log_info, vha, 0xb0ca, in qla8044_set_idc_ver()
1791 idc_ver = qla8044_rd_direct(vha, in qla8044_set_idc_ver()
1795 ql_log(ql_log_info, vha, 0xb0cb, in qla8044_set_idc_ver()
1817 qla8044_update_idc_reg(struct scsi_qla_host *vha) in qla8044_update_idc_reg() argument
1821 struct qla_hw_data *ha = vha->hw; in qla8044_update_idc_reg()
1823 if (vha->flags.init_done) in qla8044_update_idc_reg()
1827 qla8044_set_drv_active(vha); in qla8044_update_idc_reg()
1829 drv_active = qla8044_rd_direct(vha, in qla8044_update_idc_reg()
1835 qla8044_clear_idc_dontreset(vha); in qla8044_update_idc_reg()
1837 rval = qla8044_set_idc_ver(vha); in qla8044_update_idc_reg()
1851 qla8044_need_qsnt_handler(struct scsi_qla_host *vha) in qla8044_need_qsnt_handler() argument
1855 struct qla_hw_data *ha = vha->hw; in qla8044_need_qsnt_handler()
1857 if (vha->flags.online) in qla8044_need_qsnt_handler()
1858 qla2x00_quiesce_io(vha); in qla8044_need_qsnt_handler()
1862 qla8044_set_qsnt_ready(vha); in qla8044_need_qsnt_handler()
1866 drv_state = qla8044_rd_direct(vha, QLA8044_CRB_DRV_STATE_INDEX); in qla8044_need_qsnt_handler()
1867 drv_active = qla8044_rd_direct(vha, QLA8044_CRB_DRV_ACTIVE_INDEX); in qla8044_need_qsnt_handler()
1878 clear_bit(ISP_QUIESCE_NEEDED, &vha->dpc_flags); in qla8044_need_qsnt_handler()
1879 qla8044_wr_direct(vha, QLA8044_CRB_DEV_STATE_INDEX, in qla8044_need_qsnt_handler()
1881 qla8044_clear_qsnt_ready(vha); in qla8044_need_qsnt_handler()
1882 ql_log(ql_log_info, vha, 0xb0cc, in qla8044_need_qsnt_handler()
1890 drv_state = qla8044_rd_direct(vha, in qla8044_need_qsnt_handler()
1892 drv_active = qla8044_rd_direct(vha, in qla8044_need_qsnt_handler()
1898 dev_state = qla8044_rd_direct(vha, QLA8044_CRB_DEV_STATE_INDEX); in qla8044_need_qsnt_handler()
1901 qla8044_wr_direct(vha, QLA8044_CRB_DEV_STATE_INDEX, in qla8044_need_qsnt_handler()
1903 ql_log(ql_log_info, vha, 0xb0cd, in qla8044_need_qsnt_handler()
1915 qla8044_device_state_handler(struct scsi_qla_host *vha) in qla8044_device_state_handler() argument
1920 struct qla_hw_data *ha = vha->hw; in qla8044_device_state_handler()
1922 rval = qla8044_update_idc_reg(vha); in qla8044_device_state_handler()
1926 dev_state = qla8044_rd_direct(vha, QLA8044_CRB_DEV_STATE_INDEX); in qla8044_device_state_handler()
1927 ql_dbg(ql_dbg_p3p, vha, 0xb0ce, in qla8044_device_state_handler()
1939 if (qla8044_check_drv_active(vha) == QLA_SUCCESS) { in qla8044_device_state_handler()
1940 ql_log(ql_log_warn, vha, 0xb0cf, in qla8044_device_state_handler()
1945 qla8044_wr_direct(vha, in qla8044_device_state_handler()
1951 dev_state = qla8044_rd_direct(vha, QLA8044_CRB_DEV_STATE_INDEX); in qla8044_device_state_handler()
1952 ql_log(ql_log_info, vha, 0xb0d0, in qla8044_device_state_handler()
1963 rval = qla8044_device_bootstrap(vha); in qla8044_device_state_handler()
1974 qla8044_need_reset_handler(vha); in qla8044_device_state_handler()
1978 qla8044_need_qsnt_handler(vha); in qla8044_device_state_handler()
1985 ql_log(ql_log_info, vha, 0xb0d1, in qla8044_device_state_handler()
1999 qla8xxx_dev_failed_handler(vha); in qla8044_device_state_handler()
2005 qla8xxx_dev_failed_handler(vha); in qla8044_device_state_handler()
2025 qla8044_check_temp(struct scsi_qla_host *vha) in qla8044_check_temp() argument
2030 temp = qla8044_rd_direct(vha, QLA8044_CRB_TEMP_STATE_INDEX); in qla8044_check_temp()
2035 ql_log(ql_log_warn, vha, 0xb0d2, in qla8044_check_temp()
2042 ql_log(ql_log_warn, vha, 0xb0d3, in qla8044_check_temp()
2050 int qla8044_read_temperature(scsi_qla_host_t *vha) in qla8044_read_temperature() argument
2054 temp = qla8044_rd_direct(vha, QLA8044_CRB_TEMP_STATE_INDEX); in qla8044_read_temperature()
2065 qla8044_check_fw_alive(struct scsi_qla_host *vha) in qla8044_check_fw_alive() argument
2071 fw_heartbeat_counter = qla8044_rd_direct(vha, in qla8044_check_fw_alive()
2076 ql_dbg(ql_dbg_p3p, vha, 0xb0d4, in qla8044_check_fw_alive()
2079 vha->host_no, __func__); in qla8044_check_fw_alive()
2083 if (vha->fw_heartbeat_counter == fw_heartbeat_counter) { in qla8044_check_fw_alive()
2084 vha->seconds_since_last_heartbeat++; in qla8044_check_fw_alive()
2086 if (vha->seconds_since_last_heartbeat == 2) { in qla8044_check_fw_alive()
2087 vha->seconds_since_last_heartbeat = 0; in qla8044_check_fw_alive()
2088 halt_status1 = qla8044_rd_direct(vha, in qla8044_check_fw_alive()
2090 halt_status2 = qla8044_rd_direct(vha, in qla8044_check_fw_alive()
2093 ql_log(ql_log_info, vha, 0xb0d5, in qla8044_check_fw_alive()
2098 vha->host_no, __func__, halt_status1, in qla8044_check_fw_alive()
2103 vha->seconds_since_last_heartbeat = 0; in qla8044_check_fw_alive()
2105 vha->fw_heartbeat_counter = fw_heartbeat_counter; in qla8044_check_fw_alive()
2110 qla8044_watchdog(struct scsi_qla_host *vha) in qla8044_watchdog() argument
2114 struct qla_hw_data *ha = vha->hw; in qla8044_watchdog()
2117 if (!(test_bit(ABORT_ISP_ACTIVE, &vha->dpc_flags) || in qla8044_watchdog()
2118 test_bit(FCOE_CTX_RESET_NEEDED, &vha->dpc_flags))) { in qla8044_watchdog()
2119 dev_state = qla8044_rd_direct(vha, QLA8044_CRB_DEV_STATE_INDEX); in qla8044_watchdog()
2121 if (qla8044_check_fw_alive(vha)) { in qla8044_watchdog()
2123 ql_log(ql_log_warn, vha, 0xb10a, in qla8044_watchdog()
2125 qla82xx_clear_pending_mbx(vha); in qla8044_watchdog()
2128 if (qla8044_check_temp(vha)) { in qla8044_watchdog()
2129 set_bit(ISP_UNRECOVERABLE, &vha->dpc_flags); in qla8044_watchdog()
2131 qla2xxx_wake_dpc(vha); in qla8044_watchdog()
2133 !test_bit(ISP_ABORT_NEEDED, &vha->dpc_flags)) { in qla8044_watchdog()
2134 ql_log(ql_log_info, vha, 0xb0d6, in qla8044_watchdog()
2137 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla8044_watchdog()
2138 qla2xxx_wake_dpc(vha); in qla8044_watchdog()
2140 !test_bit(ISP_QUIESCE_NEEDED, &vha->dpc_flags)) { in qla8044_watchdog()
2141 ql_log(ql_log_info, vha, 0xb0d7, in qla8044_watchdog()
2144 set_bit(ISP_QUIESCE_NEEDED, &vha->dpc_flags); in qla8044_watchdog()
2145 qla2xxx_wake_dpc(vha); in qla8044_watchdog()
2149 halt_status = qla8044_rd_direct(vha, in qla8044_watchdog()
2153 ql_log(ql_log_fatal, vha, in qla8044_watchdog()
2168 &vha->dpc_flags); in qla8044_watchdog()
2173 &vha->dpc_flags); in qla8044_watchdog()
2174 ql_log(ql_log_info, vha, 0xb0d9, in qla8044_watchdog()
2178 ql_log(ql_log_info, vha, in qla8044_watchdog()
2183 &vha->dpc_flags); in qla8044_watchdog()
2186 qla2xxx_wake_dpc(vha); in qla8044_watchdog()
2194 qla8044_minidump_process_control(struct scsi_qla_host *vha, in qla8044_minidump_process_control() argument
2203 struct qla_hw_data *ha = vha->hw; in qla8044_minidump_process_control()
2205 ql_dbg(ql_dbg_p3p, vha, 0xb0dd, "Entering fn: %s\n", __func__); in qla8044_minidump_process_control()
2215 qla8044_wr_reg_indirect(vha, crb_addr, in qla8044_minidump_process_control()
2221 qla8044_rd_reg_indirect(vha, crb_addr, &read_value); in qla8044_minidump_process_control()
2222 qla8044_wr_reg_indirect(vha, crb_addr, read_value); in qla8044_minidump_process_control()
2227 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()
2237 qla8044_rd_reg_indirect(vha, crb_addr, &read_value); in qla8044_minidump_process_control()
2239 qla8044_wr_reg_indirect(vha, crb_addr, read_value); in qla8044_minidump_process_control()
2245 qla8044_rd_reg_indirect(vha, crb_addr, &read_value); in qla8044_minidump_process_control()
2256 qla8044_rd_reg_indirect(vha, in qla8044_minidump_process_control()
2271 qla8044_rd_reg_indirect(vha, addr, &read_value); in qla8044_minidump_process_control()
2293 qla8044_wr_reg_indirect(vha, addr, read_value); in qla8044_minidump_process_control()
2315 qla8044_minidump_process_rdcrb(struct scsi_qla_host *vha, in qla8044_minidump_process_rdcrb() argument
2322 ql_dbg(ql_dbg_p3p, vha, 0xb0de, "Entering fn: %s\n", __func__); in qla8044_minidump_process_rdcrb()
2329 qla8044_rd_reg_indirect(vha, r_addr, &r_value); in qla8044_minidump_process_rdcrb()
2338 qla8044_minidump_process_rdmem(struct scsi_qla_host *vha, in qla8044_minidump_process_rdmem() argument
2346 struct qla_hw_data *ha = vha->hw; in qla8044_minidump_process_rdmem()
2348 ql_dbg(ql_dbg_p3p, vha, 0xb0df, "Entering fn: %s\n", __func__); in qla8044_minidump_process_rdmem()
2353 ql_dbg(ql_dbg_p3p, vha, 0xb0f0, in qla8044_minidump_process_rdmem()
2358 ql_dbg(ql_dbg_p3p, vha, 0xb0f1, in qla8044_minidump_process_rdmem()
2365 ql_dbg(ql_dbg_p3p, vha, 0xb0f2, in qla8044_minidump_process_rdmem()
2371 ql_dbg(ql_dbg_p3p, vha, 0xb0f3, in qla8044_minidump_process_rdmem()
2377 qla8044_wr_reg_indirect(vha, MD_MIU_TEST_AGT_ADDR_LO, r_addr); in qla8044_minidump_process_rdmem()
2379 qla8044_wr_reg_indirect(vha, MD_MIU_TEST_AGT_ADDR_HI, r_value); in qla8044_minidump_process_rdmem()
2381 qla8044_wr_reg_indirect(vha, MD_MIU_TEST_AGT_CTRL, r_value); in qla8044_minidump_process_rdmem()
2383 qla8044_wr_reg_indirect(vha, MD_MIU_TEST_AGT_CTRL, r_value); in qla8044_minidump_process_rdmem()
2386 qla8044_rd_reg_indirect(vha, MD_MIU_TEST_AGT_CTRL, in qla8044_minidump_process_rdmem()
2398 qla8044_rd_reg_indirect(vha, MD_MIU_TEST_AGT_RDDATA[j], in qla8044_minidump_process_rdmem()
2407 ql_dbg(ql_dbg_p3p, vha, 0xb0f4, in qla8044_minidump_process_rdmem()
2417 qla8044_minidump_process_rdrom(struct scsi_qla_host *vha, in qla8044_minidump_process_rdrom() argument
2428 ql_dbg(ql_dbg_p3p, vha, 0xb0f5, "[%s]: fl_addr: 0x%x, count: 0x%x\n", in qla8044_minidump_process_rdrom()
2431 rval = qla8044_lockless_flash_read_u32(vha, fl_addr, in qla8044_minidump_process_rdrom()
2435 ql_log(ql_log_fatal, vha, 0xb0f6, in qla8044_minidump_process_rdrom()
2446 qla8044_mark_entry_skipped(struct scsi_qla_host *vha, in qla8044_mark_entry_skipped() argument
2451 ql_log(ql_log_info, vha, 0xb0f7, in qla8044_mark_entry_skipped()
2453 vha->host_no, index, entry_hdr->entry_type, in qla8044_mark_entry_skipped()
2458 qla8044_minidump_process_l2tag(struct scsi_qla_host *vha, in qla8044_minidump_process_l2tag() argument
2470 ql_dbg(ql_dbg_p3p, vha, 0xb0f8, "Entering fn: %s\n", __func__); in qla8044_minidump_process_l2tag()
2485 qla8044_wr_reg_indirect(vha, t_r_addr, t_value); in qla8044_minidump_process_l2tag()
2487 qla8044_wr_reg_indirect(vha, c_addr, c_value_w); in qla8044_minidump_process_l2tag()
2492 qla8044_rd_reg_indirect(vha, c_addr, in qla8044_minidump_process_l2tag()
2505 qla8044_rd_reg_indirect(vha, addr, &r_value); in qla8044_minidump_process_l2tag()
2516 qla8044_minidump_process_l1cache(struct scsi_qla_host *vha, in qla8044_minidump_process_l1cache() argument
2536 qla8044_wr_reg_indirect(vha, t_r_addr, t_value); in qla8044_minidump_process_l1cache()
2537 qla8044_wr_reg_indirect(vha, c_addr, c_value_w); in qla8044_minidump_process_l1cache()
2540 qla8044_rd_reg_indirect(vha, addr, &r_value); in qla8044_minidump_process_l1cache()
2550 qla8044_minidump_process_rdocm(struct scsi_qla_host *vha, in qla8044_minidump_process_rdocm() argument
2556 struct qla_hw_data *ha = vha->hw; in qla8044_minidump_process_rdocm()
2558 ql_dbg(ql_dbg_p3p, vha, 0xb0f9, "Entering fn: %s\n", __func__); in qla8044_minidump_process_rdocm()
2565 ql_dbg(ql_dbg_p3p, vha, 0xb0fa, in qla8044_minidump_process_rdocm()
2574 ql_dbg(ql_dbg_p3p, vha, 0xb0fb, "Leaving fn: %s datacount: 0x%lx\n", in qla8044_minidump_process_rdocm()
2581 qla8044_minidump_process_rdmux(struct scsi_qla_host *vha, in qla8044_minidump_process_rdmux() argument
2589 ql_dbg(ql_dbg_p3p, vha, 0xb0fc, "Entering fn: %s\n", __func__); in qla8044_minidump_process_rdmux()
2599 qla8044_wr_reg_indirect(vha, s_addr, s_value); in qla8044_minidump_process_rdmux()
2600 qla8044_rd_reg_indirect(vha, r_addr, &r_value); in qla8044_minidump_process_rdmux()
2609 qla8044_minidump_process_queue(struct scsi_qla_host *vha, in qla8044_minidump_process_queue() argument
2619 ql_dbg(ql_dbg_p3p, vha, 0xb0fd, "Entering fn: %s\n", __func__); in qla8044_minidump_process_queue()
2627 qla8044_wr_reg_indirect(vha, s_addr, qid); in qla8044_minidump_process_queue()
2630 qla8044_rd_reg_indirect(vha, r_addr, &r_value); in qla8044_minidump_process_queue()
2641 qla8044_minidump_process_pollrd(struct scsi_qla_host *vha, in qla8044_minidump_process_pollrd() argument
2660 qla8044_wr_reg_indirect(vha, s_addr, s_value); in qla8044_minidump_process_pollrd()
2663 qla8044_rd_reg_indirect(vha, s_addr, &r_value); in qla8044_minidump_process_pollrd()
2669 ql_log(ql_log_fatal, vha, 0xb0fe, in qla8044_minidump_process_pollrd()
2675 qla8044_rd_reg_indirect(vha, r_addr, &r_value); in qla8044_minidump_process_pollrd()
2689 qla8044_minidump_process_rdmux2(struct scsi_qla_host *vha, in qla8044_minidump_process_rdmux2() argument
2706 qla8044_wr_reg_indirect(vha, sel_addr1, sel_val1); in qla8044_minidump_process_rdmux2()
2710 qla8044_wr_reg_indirect(vha, sel_addr2, t_sel_val); in qla8044_minidump_process_rdmux2()
2711 qla8044_rd_reg_indirect(vha, read_addr, &data); in qla8044_minidump_process_rdmux2()
2715 qla8044_wr_reg_indirect(vha, sel_addr1, sel_val2); in qla8044_minidump_process_rdmux2()
2719 qla8044_wr_reg_indirect(vha, sel_addr2, t_sel_val); in qla8044_minidump_process_rdmux2()
2720 qla8044_rd_reg_indirect(vha, read_addr, &data); in qla8044_minidump_process_rdmux2()
2732 qla8044_minidump_process_pollrdmwr(struct scsi_qla_host *vha, in qla8044_minidump_process_pollrdmwr() argument
2748 qla8044_wr_reg_indirect(vha, addr_1, value_1); in qla8044_minidump_process_pollrdmwr()
2752 qla8044_rd_reg_indirect(vha, addr_1, &r_value); in qla8044_minidump_process_pollrdmwr()
2759 ql_log(ql_log_fatal, vha, 0xb0ff, in qla8044_minidump_process_pollrdmwr()
2766 qla8044_rd_reg_indirect(vha, addr_2, &data); in qla8044_minidump_process_pollrdmwr()
2768 qla8044_wr_reg_indirect(vha, addr_2, data); in qla8044_minidump_process_pollrdmwr()
2769 qla8044_wr_reg_indirect(vha, addr_1, value_2); in qla8044_minidump_process_pollrdmwr()
2773 qla8044_rd_reg_indirect(vha, addr_1, &r_value); in qla8044_minidump_process_pollrdmwr()
2780 ql_log(ql_log_fatal, vha, 0xb100, in qla8044_minidump_process_pollrdmwr()
2809 qla8044_check_dma_engine_state(struct scsi_qla_host *vha) in qla8044_check_dma_engine_state() argument
2811 struct qla_hw_data *ha = vha->hw; in qla8044_check_dma_engine_state()
2824 rval = qla8044_rd_reg_indirect(vha, in qla8044_check_dma_engine_state()
2838 qla8044_start_pex_dma(struct scsi_qla_host *vha, in qla8044_start_pex_dma() argument
2841 struct qla_hw_data *ha = vha->hw; in qla8044_start_pex_dma()
2853 rval = qla8044_wr_reg_indirect(vha, in qla8044_start_pex_dma()
2859 rval = qla8044_wr_reg_indirect(vha, in qla8044_start_pex_dma()
2864 rval = qla8044_wr_reg_indirect(vha, in qla8044_start_pex_dma()
2872 rval = qla8044_rd_reg_indirect(vha, in qla8044_start_pex_dma()
2895 qla8044_minidump_pex_dma_read(struct scsi_qla_host *vha, in qla8044_minidump_pex_dma_read() argument
2898 struct qla_hw_data *ha = vha->hw; in qla8044_minidump_pex_dma_read()
2907 rval = qla8044_check_dma_engine_state(vha); in qla8044_minidump_pex_dma_read()
2909 ql_dbg(ql_dbg_p3p, vha, 0xb147, in qla8044_minidump_pex_dma_read()
2919 ql_dbg(ql_dbg_p3p, vha, 0xb148, in qla8044_minidump_pex_dma_read()
2954 rval = qla8044_ms_mem_write_128b(vha, in qla8044_minidump_pex_dma_read()
2958 ql_log(ql_log_warn, vha, 0xb14a, in qla8044_minidump_pex_dma_read()
2963 ql_dbg(ql_dbg_p3p, vha, 0xb14b, in qla8044_minidump_pex_dma_read()
2968 rval = qla8044_start_pex_dma(vha, m_hdr); in qla8044_minidump_pex_dma_read()
2988 qla8044_minidump_process_rddfe(struct scsi_qla_host *vha, in qla8044_minidump_process_rddfe() argument
3017 qla8044_wr_reg_indirect(vha, addr1, (0x40000000 | value)); in qla8044_minidump_process_rddfe()
3021 qla8044_rd_reg_indirect(vha, addr1, &temp); in qla8044_minidump_process_rddfe()
3028 ql_log(ql_log_warn, vha, 0xb153, in qla8044_minidump_process_rddfe()
3032 qla8044_rd_reg_indirect(vha, addr2, &temp); in qla8044_minidump_process_rddfe()
3037 qla8044_wr_reg_indirect(vha, addr2, wrVal); in qla8044_minidump_process_rddfe()
3038 qla8044_wr_reg_indirect(vha, addr1, value); in qla8044_minidump_process_rddfe()
3042 qla8044_rd_reg_indirect(vha, addr1, &temp); in qla8044_minidump_process_rddfe()
3048 ql_log(ql_log_warn, vha, 0xb154, in qla8044_minidump_process_rddfe()
3053 qla8044_wr_reg_indirect(vha, addr1, in qla8044_minidump_process_rddfe()
3057 qla8044_rd_reg_indirect(vha, addr1, &temp); in qla8044_minidump_process_rddfe()
3064 ql_log(ql_log_warn, vha, 0xb155, in qla8044_minidump_process_rddfe()
3069 qla8044_rd_reg_indirect(vha, addr2, &data); in qla8044_minidump_process_rddfe()
3086 qla8044_minidump_process_rdmdio(struct scsi_qla_host *vha, in qla8044_minidump_process_rdmdio() argument
3115 ret = qla8044_poll_wait_ipmdio_bus_idle(vha, addr1, addr2, in qla8044_minidump_process_rdmdio()
3121 ret = qla8044_ipmdio_wr_reg(vha, addr1, addr3, mask, addr4, in qla8044_minidump_process_rdmdio()
3127 ret = qla8044_ipmdio_wr_reg(vha, addr1, addr3, mask, addr5, in qla8044_minidump_process_rdmdio()
3133 ret = qla8044_ipmdio_wr_reg(vha, addr1, addr3, mask, in qla8044_minidump_process_rdmdio()
3138 ret = qla8044_poll_wait_ipmdio_bus_idle(vha, addr1, addr2, in qla8044_minidump_process_rdmdio()
3144 data = qla8044_ipmdio_rd_reg(vha, addr1, addr3, in qla8044_minidump_process_rdmdio()
3165 static uint32_t qla8044_minidump_process_pollwr(struct scsi_qla_host *vha, in qla8044_minidump_process_pollwr() argument
3182 qla8044_rd_reg_indirect(vha, addr1, &r_value); in qla8044_minidump_process_pollwr()
3190 ql_log(ql_log_warn, vha, 0xb156, "%s: TIMEOUT\n", __func__); in qla8044_minidump_process_pollwr()
3194 qla8044_wr_reg_indirect(vha, addr2, value2); in qla8044_minidump_process_pollwr()
3195 qla8044_wr_reg_indirect(vha, addr1, value1); in qla8044_minidump_process_pollwr()
3199 qla8044_rd_reg_indirect(vha, addr1, &r_value); in qla8044_minidump_process_pollwr()
3218 qla8044_collect_md_data(struct scsi_qla_host *vha) in qla8044_collect_md_data() argument
3228 struct qla_hw_data *ha = vha->hw; in qla8044_collect_md_data()
3231 ql_log(ql_log_info, vha, 0xb101, in qla8044_collect_md_data()
3233 __func__, vha->host_no); in qla8044_collect_md_data()
3238 ql_log(ql_log_warn, vha, 0xb10d, in qla8044_collect_md_data()
3247 ql_log(ql_log_warn, vha, 0xb10e, in qla8044_collect_md_data()
3255 ql_log(ql_log_warn, vha, 0xb112, in qla8044_collect_md_data()
3266 if (qla82xx_validate_template_chksum(vha)) { in qla8044_collect_md_data()
3267 ql_log(ql_log_info, vha, 0xb109, in qla8044_collect_md_data()
3277 ql_dbg(ql_dbg_p3p, vha, 0xb11a, in qla8044_collect_md_data()
3284 ql_log(ql_log_warn, vha, 0xb10f, in qla8044_collect_md_data()
3290 ql_log(ql_log_info, vha, 0xb102, in qla8044_collect_md_data()
3293 ql_log(ql_log_info, vha, 0xb10b, in qla8044_collect_md_data()
3296 ql_log(ql_log_info, vha, 0xb10c, in qla8044_collect_md_data()
3313 ql_log(ql_log_info, vha, 0xb103, in qla8044_collect_md_data()
3327 ql_dbg(ql_dbg_p3p, vha, 0xb104, in qla8044_collect_md_data()
3337 qla8044_mark_entry_skipped(vha, entry_hdr, i); in qla8044_collect_md_data()
3340 rval = qla8044_minidump_process_control(vha, in qla8044_collect_md_data()
3343 qla8044_mark_entry_skipped(vha, entry_hdr, i); in qla8044_collect_md_data()
3348 qla8044_minidump_process_rdcrb(vha, in qla8044_collect_md_data()
3352 rval = qla8044_minidump_pex_dma_read(vha, in qla8044_collect_md_data()
3355 rval = qla8044_minidump_process_rdmem(vha, in qla8044_collect_md_data()
3358 qla8044_mark_entry_skipped(vha, in qla8044_collect_md_data()
3366 rval = qla8044_minidump_process_rdrom(vha, in qla8044_collect_md_data()
3369 qla8044_mark_entry_skipped(vha, in qla8044_collect_md_data()
3377 rval = qla8044_minidump_process_l2tag(vha, in qla8044_collect_md_data()
3380 qla8044_mark_entry_skipped(vha, entry_hdr, i); in qla8044_collect_md_data()
3388 qla8044_minidump_process_l1cache(vha, in qla8044_collect_md_data()
3392 qla8044_minidump_process_rdocm(vha, in qla8044_collect_md_data()
3396 qla8044_minidump_process_rdmux(vha, in qla8044_collect_md_data()
3400 qla8044_minidump_process_queue(vha, in qla8044_collect_md_data()
3404 rval = qla8044_minidump_process_pollrd(vha, in qla8044_collect_md_data()
3407 qla8044_mark_entry_skipped(vha, entry_hdr, i); in qla8044_collect_md_data()
3410 qla8044_minidump_process_rdmux2(vha, in qla8044_collect_md_data()
3414 rval = qla8044_minidump_process_pollrdmwr(vha, in qla8044_collect_md_data()
3417 qla8044_mark_entry_skipped(vha, entry_hdr, i); in qla8044_collect_md_data()
3420 rval = qla8044_minidump_process_rddfe(vha, entry_hdr, in qla8044_collect_md_data()
3423 qla8044_mark_entry_skipped(vha, entry_hdr, i); in qla8044_collect_md_data()
3426 rval = qla8044_minidump_process_rdmdio(vha, entry_hdr, in qla8044_collect_md_data()
3429 qla8044_mark_entry_skipped(vha, entry_hdr, i); in qla8044_collect_md_data()
3432 rval = qla8044_minidump_process_pollwr(vha, entry_hdr, in qla8044_collect_md_data()
3435 qla8044_mark_entry_skipped(vha, entry_hdr, i); in qla8044_collect_md_data()
3439 qla8044_mark_entry_skipped(vha, entry_hdr, i); in qla8044_collect_md_data()
3454 ql_log(ql_log_info, vha, 0xb105, in qla8044_collect_md_data()
3462 ql_log(ql_log_info, vha, 0xb110, in qla8044_collect_md_data()
3464 vha->host_no, ha->md_tmplt_hdr, vha->host_no, ha->md_dump); in qla8044_collect_md_data()
3466 qla2x00_post_uevent_work(vha, QLA_UEVENT_CODE_FW_DUMP); in qla8044_collect_md_data()
3469 ql_log(ql_log_info, vha, 0xb106, in qla8044_collect_md_data()
3477 qla8044_get_minidump(struct scsi_qla_host *vha) in qla8044_get_minidump() argument
3479 struct qla_hw_data *ha = vha->hw; in qla8044_get_minidump()
3481 if (!qla8044_collect_md_data(vha)) { in qla8044_get_minidump()
3485 ql_log(ql_log_fatal, vha, 0xb0db, in qla8044_get_minidump()
3493 qla8044_poll_flash_status_reg(struct scsi_qla_host *vha) in qla8044_poll_flash_status_reg() argument
3500 ret_val = qla8044_rd_reg_indirect(vha, QLA8044_FLASH_STATUS, in qla8044_poll_flash_status_reg()
3503 ql_log(ql_log_warn, vha, 0xb13c, in qla8044_poll_flash_status_reg()
3521 qla8044_write_flash_status_reg(struct scsi_qla_host *vha, in qla8044_write_flash_status_reg() argument
3527 cmd = vha->hw->fdt_wrt_sts_reg_cmd; in qla8044_write_flash_status_reg()
3529 ret_val = qla8044_wr_reg_indirect(vha, QLA8044_FLASH_ADDR, in qla8044_write_flash_status_reg()
3532 ql_log(ql_log_warn, vha, 0xb125, in qla8044_write_flash_status_reg()
3537 ret_val = qla8044_wr_reg_indirect(vha, QLA8044_FLASH_WRDATA, data); in qla8044_write_flash_status_reg()
3539 ql_log(ql_log_warn, vha, 0xb126, in qla8044_write_flash_status_reg()
3544 ret_val = qla8044_wr_reg_indirect(vha, QLA8044_FLASH_CONTROL, in qla8044_write_flash_status_reg()
3547 ql_log(ql_log_warn, vha, 0xb127, in qla8044_write_flash_status_reg()
3552 ret_val = qla8044_poll_flash_status_reg(vha); in qla8044_write_flash_status_reg()
3554 ql_log(ql_log_warn, vha, 0xb128, in qla8044_write_flash_status_reg()
3565 qla8044_unprotect_flash(scsi_qla_host_t *vha) in qla8044_unprotect_flash() argument
3568 struct qla_hw_data *ha = vha->hw; in qla8044_unprotect_flash()
3570 ret_val = qla8044_write_flash_status_reg(vha, ha->fdt_wrt_enable); in qla8044_unprotect_flash()
3572 ql_log(ql_log_warn, vha, 0xb139, in qla8044_unprotect_flash()
3582 qla8044_protect_flash(scsi_qla_host_t *vha) in qla8044_protect_flash() argument
3585 struct qla_hw_data *ha = vha->hw; in qla8044_protect_flash()
3587 ret_val = qla8044_write_flash_status_reg(vha, ha->fdt_wrt_disable); in qla8044_protect_flash()
3589 ql_log(ql_log_warn, vha, 0xb13b, in qla8044_protect_flash()
3597 qla8044_erase_flash_sector(struct scsi_qla_host *vha, in qla8044_erase_flash_sector() argument
3603 ret_val = qla8044_poll_flash_status_reg(vha); in qla8044_erase_flash_sector()
3605 ql_log(ql_log_warn, vha, 0xb12e, in qla8044_erase_flash_sector()
3613 ret_val = qla8044_wr_reg_indirect(vha, in qla8044_erase_flash_sector()
3616 ql_log(ql_log_warn, vha, 0xb12f, in qla8044_erase_flash_sector()
3619 ret_val = qla8044_wr_reg_indirect(vha, QLA8044_FLASH_ADDR, in qla8044_erase_flash_sector()
3620 QLA8044_FLASH_ERASE_SIG | vha->hw->fdt_erase_cmd); in qla8044_erase_flash_sector()
3622 ql_log(ql_log_warn, vha, 0xb130, in qla8044_erase_flash_sector()
3625 ret_val = qla8044_wr_reg_indirect(vha, QLA8044_FLASH_CONTROL, in qla8044_erase_flash_sector()
3628 ql_log(ql_log_warn, vha, 0xb131, in qla8044_erase_flash_sector()
3631 ret_val = qla8044_poll_flash_status_reg(vha); in qla8044_erase_flash_sector()
3633 ql_log(ql_log_warn, vha, 0xb132, in qla8044_erase_flash_sector()
3653 qla8044_flash_write_u32(struct scsi_qla_host *vha, uint32_t addr, in qla8044_flash_write_u32() argument
3658 ret_val = qla8044_wr_reg_indirect(vha, QLA8044_FLASH_ADDR, in qla8044_flash_write_u32()
3661 ql_log(ql_log_warn, vha, 0xb134, in qla8044_flash_write_u32()
3665 ret_val = qla8044_wr_reg_indirect(vha, QLA8044_FLASH_WRDATA, *p_data); in qla8044_flash_write_u32()
3667 ql_log(ql_log_warn, vha, 0xb135, in qla8044_flash_write_u32()
3671 ret_val = qla8044_wr_reg_indirect(vha, QLA8044_FLASH_CONTROL, 0x3D); in qla8044_flash_write_u32()
3673 ql_log(ql_log_warn, vha, 0xb136, in qla8044_flash_write_u32()
3677 ret_val = qla8044_poll_flash_status_reg(vha); in qla8044_flash_write_u32()
3679 ql_log(ql_log_warn, vha, 0xb137, in qla8044_flash_write_u32()
3688 qla8044_write_flash_buffer_mode(scsi_qla_host_t *vha, uint32_t *dwptr, in qla8044_write_flash_buffer_mode() argument
3696 ql_dbg(ql_dbg_user, vha, 0xb123, in qla8044_write_flash_buffer_mode()
3702 qla8044_rd_reg_indirect(vha, QLA8044_FLASH_SPI_CONTROL, &spi_val); in qla8044_write_flash_buffer_mode()
3703 qla8044_wr_reg_indirect(vha, QLA8044_FLASH_SPI_CONTROL, in qla8044_write_flash_buffer_mode()
3705 qla8044_wr_reg_indirect(vha, QLA8044_FLASH_ADDR, in qla8044_write_flash_buffer_mode()
3709 ret = qla8044_wr_reg_indirect(vha, QLA8044_FLASH_WRDATA, in qla8044_write_flash_buffer_mode()
3711 qla8044_wr_reg_indirect(vha, QLA8044_FLASH_CONTROL, in qla8044_write_flash_buffer_mode()
3714 ret = qla8044_poll_flash_status_reg(vha); in qla8044_write_flash_buffer_mode()
3716 ql_log(ql_log_warn, vha, 0xb124, in qla8044_write_flash_buffer_mode()
3723 qla8044_wr_reg_indirect(vha, QLA8044_FLASH_ADDR, in qla8044_write_flash_buffer_mode()
3729 qla8044_wr_reg_indirect(vha, QLA8044_FLASH_WRDATA, *dwptr++); in qla8044_write_flash_buffer_mode()
3730 qla8044_wr_reg_indirect(vha, QLA8044_FLASH_CONTROL, in qla8044_write_flash_buffer_mode()
3732 ret = qla8044_poll_flash_status_reg(vha); in qla8044_write_flash_buffer_mode()
3734 ql_log(ql_log_warn, vha, 0xb129, in qla8044_write_flash_buffer_mode()
3741 qla8044_wr_reg_indirect(vha, QLA8044_FLASH_ADDR, in qla8044_write_flash_buffer_mode()
3745 qla8044_wr_reg_indirect(vha, QLA8044_FLASH_WRDATA, *dwptr++); in qla8044_write_flash_buffer_mode()
3746 qla8044_wr_reg_indirect(vha, QLA8044_FLASH_CONTROL, in qla8044_write_flash_buffer_mode()
3748 ret = qla8044_poll_flash_status_reg(vha); in qla8044_write_flash_buffer_mode()
3750 ql_log(ql_log_warn, vha, 0xb12a, in qla8044_write_flash_buffer_mode()
3754 qla8044_rd_reg_indirect(vha, QLA8044_FLASH_SPI_STATUS, &spi_val); in qla8044_write_flash_buffer_mode()
3757 ql_log(ql_log_warn, vha, 0xb12b, in qla8044_write_flash_buffer_mode()
3761 qla8044_rd_reg_indirect(vha, QLA8044_FLASH_SPI_CONTROL, in qla8044_write_flash_buffer_mode()
3763 qla8044_wr_reg_indirect(vha, QLA8044_FLASH_SPI_CONTROL, in qla8044_write_flash_buffer_mode()
3771 qla8044_write_flash_dword_mode(scsi_qla_host_t *vha, uint32_t *dwptr, in qla8044_write_flash_dword_mode() argument
3778 ret = qla8044_flash_write_u32(vha, faddr, dwptr); in qla8044_write_flash_dword_mode()
3780 ql_dbg(ql_dbg_p3p, vha, 0xb141, in qla8044_write_flash_dword_mode()
3791 qla8044_write_optrom_data(struct scsi_qla_host *vha, uint8_t *buf, in qla8044_write_optrom_data() argument
3815 scsi_block_requests(vha->host); in qla8044_write_optrom_data()
3817 qla8044_flash_lock(vha); in qla8044_write_optrom_data()
3818 qla8044_unprotect_flash(vha); in qla8044_write_optrom_data()
3822 rval = qla8044_erase_flash_sector(vha, erase_offset); in qla8044_write_optrom_data()
3823 ql_dbg(ql_dbg_user, vha, 0xb138, in qla8044_write_optrom_data()
3827 ql_log(ql_log_warn, vha, 0xb121, in qla8044_write_optrom_data()
3834 ql_dbg(ql_dbg_user, vha, 0xb13f, in qla8044_write_optrom_data()
3841 rval = qla8044_write_flash_buffer_mode(vha, (uint32_t *)p_src, in qla8044_write_optrom_data()
3845 ql_log(ql_log_warn, vha, 0xb122, in qla8044_write_optrom_data()
3848 rval = qla8044_write_flash_dword_mode(vha, in qla8044_write_optrom_data()
3855 ql_dbg(ql_dbg_user, vha, 0xb133, in qla8044_write_optrom_data()
3859 qla8044_protect_flash(vha); in qla8044_write_optrom_data()
3860 qla8044_flash_unlock(vha); in qla8044_write_optrom_data()
3861 scsi_unblock_requests(vha->host); in qla8044_write_optrom_data()
3882 scsi_qla_host_t *vha; in qla8044_intr_handler() local
3900 vha = pci_get_drvdata(ha->pdev); in qla8044_intr_handler()
3909 ql_dbg(ql_dbg_p3p, vha, 0xb144, in qla8044_intr_handler()
3918 ql_dbg(ql_dbg_p3p, vha, 0xb145, in qla8044_intr_handler()
3951 qla82xx_mbx_completion(vha, MSW(stat)); in qla8044_intr_handler()
3959 qla2x00_async_event(vha, rsp, mb); in qla8044_intr_handler()
3962 qla24xx_process_response_queue(vha, rsp); in qla8044_intr_handler()
3965 ql_dbg(ql_dbg_p3p, vha, 0xb146, in qla8044_intr_handler()
3990 qla8044_clear_rst_ready(scsi_qla_host_t *vha) in qla8044_clear_rst_ready() argument
3994 drv_state = qla8044_rd_direct(vha, QLA8044_CRB_DRV_STATE_INDEX); in qla8044_clear_rst_ready()
4001 drv_state &= ~(1 << vha->hw->portnum); in qla8044_clear_rst_ready()
4003 ql_dbg(ql_dbg_p3p, vha, 0xb13d, in qla8044_clear_rst_ready()
4005 qla8044_wr_direct(vha, QLA8044_CRB_DRV_STATE_INDEX, drv_state); in qla8044_clear_rst_ready()
4009 qla8044_abort_isp(scsi_qla_host_t *vha) in qla8044_abort_isp() argument
4013 struct qla_hw_data *ha = vha->hw; in qla8044_abort_isp()
4016 dev_state = qla8044_rd_direct(vha, QLA8044_CRB_DEV_STATE_INDEX); in qla8044_abort_isp()
4019 qla8044_set_idc_dontreset(vha); in qla8044_abort_isp()
4031 ql_dbg(ql_dbg_p3p, vha, 0xb13e, in qla8044_abort_isp()
4037 ql_dbg(ql_dbg_p3p, vha, 0xb140, in qla8044_abort_isp()
4039 qla8044_wr_direct(vha, QLA8044_CRB_DEV_STATE_INDEX, in qla8044_abort_isp()
4046 qla83xx_reset_ownership(vha); in qla8044_abort_isp()
4049 rval = qla8044_device_state_handler(vha); in qla8044_abort_isp()
4051 qla8044_clear_rst_ready(vha); in qla8044_abort_isp()
4058 rval = qla82xx_restart_isp(vha); in qla8044_abort_isp()
4065 qla8044_fw_dump(scsi_qla_host_t *vha, int hardware_locked) in qla8044_fw_dump() argument
4067 struct qla_hw_data *ha = vha->hw; in qla8044_fw_dump()
4072 scsi_block_requests(vha->host); in qla8044_fw_dump()
4075 qla82xx_set_reset_owner(vha); in qla8044_fw_dump()
4077 qla2x00_wait_for_chip_reset(vha); in qla8044_fw_dump()
4078 scsi_unblock_requests(vha->host); in qla8044_fw_dump()