Lines Matching refs:vha

364 	scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev);  in qla82xx_pci_set_crbwindow_2M()  local
374 ql_dbg(ql_dbg_p3p, vha, 0xb000, in qla82xx_pci_set_crbwindow_2M()
385 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_pci_set_crbwindow() local
416 ql_dbg(ql_dbg_p3p, vha, 0xb001, in qla82xx_pci_set_crbwindow()
591 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_pci_set_window() local
603 ql_dbg(ql_dbg_p3p, vha, 0xb003, in qla82xx_pci_set_window()
612 ql_log(ql_log_warn, vha, 0xb004, in qla82xx_pci_set_window()
625 ql_log(ql_log_warn, vha, 0xb005, in qla82xx_pci_set_window()
641 ql_log(ql_log_warn, vha, 0xb006, in qla82xx_pci_set_window()
653 ql_log(ql_log_warn, vha, 0xb007, in qla82xx_pci_set_window()
700 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_pci_mem_read_direct() local
712 ql_log(ql_log_fatal, vha, 0xb008, in qla82xx_pci_mem_read_direct()
772 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_pci_mem_write_direct() local
784 ql_log(ql_log_fatal, vha, 0xb009, in qla82xx_pci_mem_write_direct()
864 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_rom_lock() local
873 ql_dbg(ql_dbg_p3p, vha, 0xb157, in qla82xx_rom_lock()
896 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_wait_rom_busy() local
903 ql_dbg(ql_dbg_p3p, vha, 0xb00a, in qla82xx_wait_rom_busy()
917 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_wait_rom_done() local
924 ql_dbg(ql_dbg_p3p, vha, 0xb00b, in qla82xx_wait_rom_done()
970 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_rom_fast_read() local
979 ql_log(ql_log_fatal, vha, 0x00b9, in qla82xx_rom_fast_read()
992 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_read_status_reg() local
996 ql_log(ql_log_warn, vha, 0xb00c, in qla82xx_read_status_reg()
1011 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_flash_wait_write_finish() local
1021 ql_log(ql_log_warn, vha, 0xb00d, in qla82xx_flash_wait_write_finish()
1049 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_write_status_reg() local
1055 ql_log(ql_log_warn, vha, 0xb00e, in qla82xx_write_status_reg()
1065 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_write_disable_flash() local
1068 ql_log(ql_log_warn, vha, 0xb00f, in qla82xx_write_disable_flash()
1080 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in ql82xx_rom_lock_d() local
1089 ql_log(ql_log_warn, vha, 0xb010, in ql82xx_rom_lock_d()
1101 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_write_flash_dword() local
1105 ql_log(ql_log_warn, vha, 0xb011, in qla82xx_write_flash_dword()
1119 ql_log(ql_log_warn, vha, 0xb012, in qla82xx_write_flash_dword()
1136 qla82xx_pinit_from_rom(scsi_qla_host_t *vha) in qla82xx_pinit_from_rom() argument
1143 struct qla_hw_data *ha = vha->hw; in qla82xx_pinit_from_rom()
1198 if (test_bit(ABORT_ISP_ACTIVE, &vha->dpc_flags)) in qla82xx_pinit_from_rom()
1212 ql_log(ql_log_fatal, vha, 0x006e, in qla82xx_pinit_from_rom()
1225 ql_log(ql_log_fatal, vha, 0x0071, in qla82xx_pinit_from_rom()
1230 ql_log(ql_log_info, vha, 0x0072, in qla82xx_pinit_from_rom()
1235 ql_log(ql_log_fatal, vha, 0x010c, in qla82xx_pinit_from_rom()
1287 ql_log(ql_log_fatal, vha, 0x0116, in qla82xx_pinit_from_rom()
1740 qla82xx_pci_config(scsi_qla_host_t *vha) in qla82xx_pci_config() argument
1742 struct qla_hw_data *ha = vha->hw; in qla82xx_pci_config()
1748 ql_dbg(ql_dbg_init, vha, 0x0043, in qla82xx_pci_config()
1761 qla82xx_reset_chip(scsi_qla_host_t *vha) in qla82xx_reset_chip() argument
1763 struct qla_hw_data *ha = vha->hw; in qla82xx_reset_chip()
1767 void qla82xx_config_rings(struct scsi_qla_host *vha) in qla82xx_config_rings() argument
1769 struct qla_hw_data *ha = vha->hw; in qla82xx_config_rings()
1876 qla82xx_validate_firmware_blob(scsi_qla_host_t *vha, uint8_t fw_type) in qla82xx_validate_firmware_blob() argument
1880 struct qla_hw_data *ha = vha->hw; in qla82xx_validate_firmware_blob()
1908 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_check_cmdpeg_state() local
1924 ql_log(ql_log_info, vha, 0x00a8, in qla82xx_check_cmdpeg_state()
1932 ql_log(ql_log_fatal, vha, 0x00a9, in qla82xx_check_cmdpeg_state()
1947 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_check_rcvpeg_state() local
1963 ql_log(ql_log_info, vha, 0x00ab, in qla82xx_check_rcvpeg_state()
1971 ql_log(ql_log_fatal, vha, 0x00ac, in qla82xx_check_rcvpeg_state()
1989 qla82xx_mbx_completion(scsi_qla_host_t *vha, uint16_t mb0) in qla82xx_mbx_completion() argument
1993 struct qla_hw_data *ha = vha->hw; in qla82xx_mbx_completion()
2007 ql_dbg(ql_dbg_async, vha, 0x5053, in qla82xx_mbx_completion()
2023 scsi_qla_host_t *vha; in qla82xx_intr_handler() local
2061 vha = pci_get_drvdata(ha->pdev); in qla82xx_intr_handler()
2072 qla82xx_mbx_completion(vha, MSW(stat)); in qla82xx_intr_handler()
2080 qla2x00_async_event(vha, rsp, mb); in qla82xx_intr_handler()
2083 qla24xx_process_response_queue(vha, rsp); in qla82xx_intr_handler()
2086 ql_dbg(ql_dbg_async, vha, 0x5054, in qla82xx_intr_handler()
2107 scsi_qla_host_t *vha; in qla82xx_msix_default() local
2128 vha = pci_get_drvdata(ha->pdev); in qla82xx_msix_default()
2131 if (qla2x00_check_reg32_for_disconnect(vha, host_int)) in qla82xx_msix_default()
2141 qla82xx_mbx_completion(vha, MSW(stat)); in qla82xx_msix_default()
2149 qla2x00_async_event(vha, rsp, mb); in qla82xx_msix_default()
2152 qla24xx_process_response_queue(vha, rsp); in qla82xx_msix_default()
2155 ql_dbg(ql_dbg_async, vha, 0x5041, in qla82xx_msix_default()
2173 scsi_qla_host_t *vha; in qla82xx_msix_rsp_q() local
2190 vha = pci_get_drvdata(ha->pdev); in qla82xx_msix_rsp_q()
2192 if (qla2x00_check_reg32_for_disconnect(vha, host_int)) in qla82xx_msix_rsp_q()
2194 qla24xx_process_response_queue(vha, rsp); in qla82xx_msix_rsp_q()
2204 scsi_qla_host_t *vha; in qla82xx_poll() local
2224 vha = pci_get_drvdata(ha->pdev); in qla82xx_poll()
2227 if (qla2x00_check_reg32_for_disconnect(vha, host_int)) in qla82xx_poll()
2236 qla82xx_mbx_completion(vha, MSW(stat)); in qla82xx_poll()
2244 qla2x00_async_event(vha, rsp, mb); in qla82xx_poll()
2247 qla24xx_process_response_queue(vha, rsp); in qla82xx_poll()
2250 ql_dbg(ql_dbg_p3p, vha, 0xb013, in qla82xx_poll()
2264 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_enable_intrs() local
2265 qla82xx_mbx_intr_enable(vha); in qla82xx_enable_intrs()
2278 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_disable_intrs() local
2279 qla82xx_mbx_intr_disable(vha); in qla82xx_disable_intrs()
2307 qla82xx_set_idc_version(scsi_qla_host_t *vha) in qla82xx_set_idc_version() argument
2311 struct qla_hw_data *ha = vha->hw; in qla82xx_set_idc_version()
2317 ql_log(ql_log_info, vha, 0xb082, in qla82xx_set_idc_version()
2322 ql_log(ql_log_info, vha, 0xb083, in qla82xx_set_idc_version()
2330 qla82xx_set_drv_active(scsi_qla_host_t *vha) in qla82xx_set_drv_active() argument
2333 struct qla_hw_data *ha = vha->hw; in qla82xx_set_drv_active()
2376 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_set_rst_ready() local
2386 ql_dbg(ql_dbg_init, vha, 0x00bb, in qla82xx_set_rst_ready()
2412 qla82xx_clear_qsnt_ready(scsi_qla_host_t *vha) in qla82xx_clear_qsnt_ready() argument
2414 struct qla_hw_data *ha = vha->hw; in qla82xx_clear_qsnt_ready()
2423 qla82xx_load_fw(scsi_qla_host_t *vha) in qla82xx_load_fw() argument
2427 struct qla_hw_data *ha = vha->hw; in qla82xx_load_fw()
2429 if (qla82xx_pinit_from_rom(vha) != QLA_SUCCESS) { in qla82xx_load_fw()
2430 ql_log(ql_log_fatal, vha, 0x009f, in qla82xx_load_fw()
2449 ql_log(ql_log_info, vha, 0x00a0, in qla82xx_load_fw()
2453 ql_log(ql_log_info, vha, 0x00a1, in qla82xx_load_fw()
2457 ql_log(ql_log_warn, vha, 0x0108, in qla82xx_load_fw()
2462 ql_log(ql_log_info, vha, 0x00a2, in qla82xx_load_fw()
2466 blob = ha->hablob = qla2x00_request_firmware(vha); in qla82xx_load_fw()
2468 ql_log(ql_log_fatal, vha, 0x00a3, in qla82xx_load_fw()
2474 if (qla82xx_validate_firmware_blob(vha, in qla82xx_load_fw()
2477 if (qla82xx_validate_firmware_blob(vha, in qla82xx_load_fw()
2479 ql_log(ql_log_fatal, vha, 0x00a4, in qla82xx_load_fw()
2486 ql_log(ql_log_info, vha, 0x00a5, in qla82xx_load_fw()
2491 ql_log(ql_log_fatal, vha, 0x00a6, in qla82xx_load_fw()
2501 qla82xx_start_firmware(scsi_qla_host_t *vha) in qla82xx_start_firmware() argument
2504 struct qla_hw_data *ha = vha->hw; in qla82xx_start_firmware()
2519 if (qla82xx_load_fw(vha) != QLA_SUCCESS) { in qla82xx_start_firmware()
2520 ql_log(ql_log_fatal, vha, 0x00a7, in qla82xx_start_firmware()
2527 ql_log(ql_log_fatal, vha, 0x00aa, in qla82xx_start_firmware()
2541 qla82xx_read_flash_data(scsi_qla_host_t *vha, uint32_t *dwptr, uint32_t faddr, in qla82xx_read_flash_data() argument
2546 struct qla_hw_data *ha = vha->hw; in qla82xx_read_flash_data()
2551 ql_log(ql_log_warn, vha, 0x0106, in qla82xx_read_flash_data()
2566 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_unprotect_flash() local
2570 ql_log(ql_log_warn, vha, 0xb014, in qla82xx_unprotect_flash()
2587 ql_log(ql_log_warn, vha, 0xb015, in qla82xx_unprotect_flash()
2600 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_protect_flash() local
2604 ql_log(ql_log_warn, vha, 0xb016, in qla82xx_protect_flash()
2617 ql_log(ql_log_warn, vha, 0xb017, in qla82xx_protect_flash()
2621 ql_log(ql_log_warn, vha, 0xb018, in qla82xx_protect_flash()
2632 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_erase_sector() local
2636 ql_log(ql_log_warn, vha, 0xb019, in qla82xx_erase_sector()
2647 ql_log(ql_log_warn, vha, 0xb01a, in qla82xx_erase_sector()
2662 qla82xx_read_optrom_data(struct scsi_qla_host *vha, uint8_t *buf, in qla82xx_read_optrom_data() argument
2665 scsi_block_requests(vha->host); in qla82xx_read_optrom_data()
2666 qla82xx_read_flash_data(vha, (uint32_t *)buf, offset, length); in qla82xx_read_optrom_data()
2667 scsi_unblock_requests(vha->host); in qla82xx_read_optrom_data()
2672 qla82xx_write_flash_data(struct scsi_qla_host *vha, uint32_t *dwptr, in qla82xx_write_flash_data() argument
2681 struct qla_hw_data *ha = vha->hw; in qla82xx_write_flash_data()
2691 ql_log(ql_log_warn, vha, 0xb01b, in qla82xx_write_flash_data()
2702 ql_log(ql_log_warn, vha, 0xb01c, in qla82xx_write_flash_data()
2713 ql_log(ql_log_warn, vha, 0xb01d, in qla82xx_write_flash_data()
2725 ret = qla2x00_load_ram(vha, optrom_dma, in qla82xx_write_flash_data()
2729 ql_log(ql_log_warn, vha, 0xb01e, in qla82xx_write_flash_data()
2734 ql_log(ql_log_warn, vha, 0xb01f, in qla82xx_write_flash_data()
2751 ql_dbg(ql_dbg_p3p, vha, 0xb020, in qla82xx_write_flash_data()
2760 ql_log(ql_log_warn, vha, 0xb021, in qla82xx_write_flash_data()
2770 qla82xx_write_optrom_data(struct scsi_qla_host *vha, uint8_t *buf, in qla82xx_write_optrom_data() argument
2776 scsi_block_requests(vha->host); in qla82xx_write_optrom_data()
2777 rval = qla82xx_write_flash_data(vha, (uint32_t *)buf, offset, in qla82xx_write_optrom_data()
2779 scsi_unblock_requests(vha->host); in qla82xx_write_optrom_data()
2790 qla82xx_start_iocbs(scsi_qla_host_t *vha) in qla82xx_start_iocbs() argument
2792 struct qla_hw_data *ha = vha->hw; in qla82xx_start_iocbs()
2822 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_rom_lock_recovery() local
2828 ql_log(ql_log_info, vha, 0xb022, in qla82xx_rom_lock_recovery()
2851 qla82xx_device_bootstrap(scsi_qla_host_t *vha) in qla82xx_device_bootstrap() argument
2856 struct qla_hw_data *ha = vha->hw; in qla82xx_device_bootstrap()
2879 ql_log(ql_log_info, vha, 0x009e, in qla82xx_device_bootstrap()
2884 rval = qla82xx_start_firmware(vha); in qla82xx_device_bootstrap()
2888 ql_log(ql_log_fatal, vha, 0x00ad, in qla82xx_device_bootstrap()
2896 ql_log(ql_log_info, vha, 0x00ae, in qla82xx_device_bootstrap()
2914 qla82xx_need_qsnt_handler(scsi_qla_host_t *vha) in qla82xx_need_qsnt_handler() argument
2916 struct qla_hw_data *ha = vha->hw; in qla82xx_need_qsnt_handler()
2920 if (vha->flags.online) { in qla82xx_need_qsnt_handler()
2922 qla2x00_quiesce_io(vha); in qla82xx_need_qsnt_handler()
2942 ql_log(ql_log_info, vha, 0xb023, in qla82xx_need_qsnt_handler()
2948 ql_log(ql_log_info, vha, 0xb025, in qla82xx_need_qsnt_handler()
2951 qla2x00_perform_loop_resync(vha); in qla82xx_need_qsnt_handler()
2954 qla82xx_clear_qsnt_ready(vha); in qla82xx_need_qsnt_handler()
2969 ql_log(ql_log_info, vha, 0xb026, in qla82xx_need_qsnt_handler()
2986 qla82xx_wait_for_state_change(scsi_qla_host_t *vha, uint32_t curr_state) in qla82xx_wait_for_state_change() argument
2988 struct qla_hw_data *ha = vha->hw; in qla82xx_wait_for_state_change()
3002 qla8xxx_dev_failed_handler(scsi_qla_host_t *vha) in qla8xxx_dev_failed_handler() argument
3004 struct qla_hw_data *ha = vha->hw; in qla8xxx_dev_failed_handler()
3007 ql_log(ql_log_fatal, vha, 0x00b8, in qla8xxx_dev_failed_handler()
3019 vha->device_flags |= DFLG_DEV_FAILED; in qla8xxx_dev_failed_handler()
3020 qla2x00_abort_all_cmds(vha, DID_NO_CONNECT << 16); in qla8xxx_dev_failed_handler()
3021 qla2x00_mark_all_devices_lost(vha, 0); in qla8xxx_dev_failed_handler()
3022 vha->flags.online = 0; in qla8xxx_dev_failed_handler()
3023 vha->flags.init_done = 0; in qla8xxx_dev_failed_handler()
3038 qla82xx_need_reset_handler(scsi_qla_host_t *vha) in qla82xx_need_reset_handler() argument
3043 struct qla_hw_data *ha = vha->hw; in qla82xx_need_reset_handler()
3046 if (vha->flags.online) { in qla82xx_need_reset_handler()
3048 qla2x00_abort_isp_cleanup(vha); in qla82xx_need_reset_handler()
3049 ha->isp_ops->get_flash_version(vha, req->ring); in qla82xx_need_reset_handler()
3050 ha->isp_ops->nvram_config(vha); in qla82xx_need_reset_handler()
3056 ql_dbg(ql_dbg_p3p, vha, 0xb028, in qla82xx_need_reset_handler()
3062 ql_dbg(ql_dbg_p3p, vha, 0xb029, in qla82xx_need_reset_handler()
3073 ql_dbg(ql_dbg_p3p, vha, 0xb02a, in qla82xx_need_reset_handler()
3081 ql_log(ql_log_warn, vha, 0x00b5, in qla82xx_need_reset_handler()
3095 ql_dbg(ql_dbg_p3p, vha, 0xb02b, in qla82xx_need_reset_handler()
3100 ql_log(ql_log_info, vha, 0x00b6, in qla82xx_need_reset_handler()
3108 ql_log(ql_log_info, vha, 0x00b7, in qla82xx_need_reset_handler()
3113 if (qla82xx_md_collect(vha)) in qla82xx_need_reset_handler()
3114 ql_log(ql_log_warn, vha, 0xb02c, in qla82xx_need_reset_handler()
3117 ql_log(ql_log_warn, vha, 0xb04f, in qla82xx_need_reset_handler()
3123 qla82xx_check_md_needed(scsi_qla_host_t *vha) in qla82xx_check_md_needed() argument
3125 struct qla_hw_data *ha = vha->hw; in qla82xx_check_md_needed()
3133 rval = qla2x00_get_fw_version(vha); in qla82xx_check_md_needed()
3143 ql_dbg(ql_dbg_p3p, vha, 0xb02d, in qla82xx_check_md_needed()
3152 qla82xx_md_free(vha); in qla82xx_check_md_needed()
3154 qla82xx_md_prep(vha); in qla82xx_check_md_needed()
3157 ql_log(ql_log_info, vha, 0xb02e, in qla82xx_check_md_needed()
3165 qla82xx_check_fw_alive(scsi_qla_host_t *vha) in qla82xx_check_fw_alive() argument
3170 fw_heartbeat_counter = qla82xx_rd_32(vha->hw, in qla82xx_check_fw_alive()
3174 ql_dbg(ql_dbg_timer, vha, 0x6003, in qla82xx_check_fw_alive()
3179 if (vha->fw_heartbeat_counter == fw_heartbeat_counter) { in qla82xx_check_fw_alive()
3180 vha->seconds_since_last_heartbeat++; in qla82xx_check_fw_alive()
3182 if (vha->seconds_since_last_heartbeat == 2) { in qla82xx_check_fw_alive()
3183 vha->seconds_since_last_heartbeat = 0; in qla82xx_check_fw_alive()
3187 vha->seconds_since_last_heartbeat = 0; in qla82xx_check_fw_alive()
3188 vha->fw_heartbeat_counter = fw_heartbeat_counter; in qla82xx_check_fw_alive()
3190 ql_dbg(ql_dbg_timer, vha, 0x6004, in qla82xx_check_fw_alive()
3207 qla82xx_device_state_handler(scsi_qla_host_t *vha) in qla82xx_device_state_handler() argument
3213 struct qla_hw_data *ha = vha->hw; in qla82xx_device_state_handler()
3217 if (!vha->flags.init_done) { in qla82xx_device_state_handler()
3218 qla82xx_set_drv_active(vha); in qla82xx_device_state_handler()
3219 qla82xx_set_idc_version(vha); in qla82xx_device_state_handler()
3224 ql_log(ql_log_info, vha, 0x009b, in qla82xx_device_state_handler()
3235 ql_log(ql_log_fatal, vha, 0x009c, in qla82xx_device_state_handler()
3246 ql_log(ql_log_info, vha, 0x009d, in qla82xx_device_state_handler()
3258 rval = qla82xx_device_bootstrap(vha); in qla82xx_device_state_handler()
3267 qla82xx_need_reset_handler(vha); in qla82xx_device_state_handler()
3277 qla82xx_need_qsnt_handler(vha); in qla82xx_device_state_handler()
3298 qla8xxx_dev_failed_handler(vha); in qla82xx_device_state_handler()
3314 static int qla82xx_check_temp(scsi_qla_host_t *vha) in qla82xx_check_temp() argument
3317 struct qla_hw_data *ha = vha->hw; in qla82xx_check_temp()
3324 ql_log(ql_log_warn, vha, 0x600e, in qla82xx_check_temp()
3330 ql_log(ql_log_warn, vha, 0x600f, in qla82xx_check_temp()
3338 int qla82xx_read_temperature(scsi_qla_host_t *vha) in qla82xx_read_temperature() argument
3342 temp = qla82xx_rd_32(vha->hw, CRB_TEMP_STATE); in qla82xx_read_temperature()
3346 void qla82xx_clear_pending_mbx(scsi_qla_host_t *vha) in qla82xx_clear_pending_mbx() argument
3348 struct qla_hw_data *ha = vha->hw; in qla82xx_clear_pending_mbx()
3353 ql_log(ql_log_warn, vha, 0x6010, in qla82xx_clear_pending_mbx()
3360 void qla82xx_watchdog(scsi_qla_host_t *vha) in qla82xx_watchdog() argument
3363 struct qla_hw_data *ha = vha->hw; in qla82xx_watchdog()
3368 if (qla82xx_check_temp(vha)) { in qla82xx_watchdog()
3369 set_bit(ISP_UNRECOVERABLE, &vha->dpc_flags); in qla82xx_watchdog()
3371 qla82xx_clear_pending_mbx(vha); in qla82xx_watchdog()
3373 !test_bit(ISP_ABORT_NEEDED, &vha->dpc_flags)) { in qla82xx_watchdog()
3374 ql_log(ql_log_warn, vha, 0x6001, in qla82xx_watchdog()
3376 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla82xx_watchdog()
3378 !test_bit(ISP_QUIESCE_NEEDED, &vha->dpc_flags)) { in qla82xx_watchdog()
3379 ql_log(ql_log_warn, vha, 0x6002, in qla82xx_watchdog()
3381 set_bit(ISP_QUIESCE_NEEDED, &vha->dpc_flags); in qla82xx_watchdog()
3383 !test_bit(ISP_UNRECOVERABLE, &vha->dpc_flags) && in qla82xx_watchdog()
3384 vha->flags.online == 1) { in qla82xx_watchdog()
3385 ql_log(ql_log_warn, vha, 0xb055, in qla82xx_watchdog()
3387 set_bit(ISP_UNRECOVERABLE, &vha->dpc_flags); in qla82xx_watchdog()
3389 qla82xx_clear_pending_mbx(vha); in qla82xx_watchdog()
3391 if (qla82xx_check_fw_alive(vha)) { in qla82xx_watchdog()
3392 ql_dbg(ql_dbg_timer, vha, 0x6011, in qla82xx_watchdog()
3398 ql_log(ql_log_info, vha, 0x6005, in qla82xx_watchdog()
3416 ql_log(ql_log_warn, vha, 0xb052, in qla82xx_watchdog()
3422 &vha->dpc_flags); in qla82xx_watchdog()
3424 ql_log(ql_log_info, vha, 0x6006, in qla82xx_watchdog()
3427 &vha->dpc_flags); in qla82xx_watchdog()
3430 ql_log(ql_log_warn, vha, 0x6007, "Firmware hung.\n"); in qla82xx_watchdog()
3431 qla82xx_clear_pending_mbx(vha); in qla82xx_watchdog()
3437 int qla82xx_load_risc(scsi_qla_host_t *vha, uint32_t *srisc_addr) in qla82xx_load_risc() argument
3440 struct qla_hw_data *ha = vha->hw; in qla82xx_load_risc()
3443 rval = qla82xx_device_state_handler(vha); in qla82xx_load_risc()
3447 qla83xx_reset_ownership(vha); in qla82xx_load_risc()
3449 rval = qla8044_device_state_handler(vha); in qla82xx_load_risc()
3455 qla82xx_set_reset_owner(scsi_qla_host_t *vha) in qla82xx_set_reset_owner() argument
3457 struct qla_hw_data *ha = vha->hw; in qla82xx_set_reset_owner()
3463 dev_state = qla8044_rd_direct(vha, QLA8044_CRB_DEV_STATE_INDEX); in qla82xx_set_reset_owner()
3466 ql_log(ql_log_info, vha, 0xb02f, in qla82xx_set_reset_owner()
3472 ql_dbg(ql_dbg_p3p, vha, 0xb030, in qla82xx_set_reset_owner()
3475 qla8044_wr_direct(vha, QLA8044_CRB_DEV_STATE_INDEX, in qla82xx_set_reset_owner()
3478 ql_log(ql_log_info, vha, 0xb031, in qla82xx_set_reset_owner()
3495 qla82xx_abort_isp(scsi_qla_host_t *vha) in qla82xx_abort_isp() argument
3498 struct qla_hw_data *ha = vha->hw; in qla82xx_abort_isp()
3500 if (vha->device_flags & DFLG_DEV_FAILED) { in qla82xx_abort_isp()
3501 ql_log(ql_log_warn, vha, 0x8024, in qla82xx_abort_isp()
3508 qla82xx_set_reset_owner(vha); in qla82xx_abort_isp()
3512 rval = qla82xx_device_state_handler(vha); in qla82xx_abort_isp()
3516 qla83xx_reset_ownership(vha); in qla82xx_abort_isp()
3518 rval = qla8044_device_state_handler(vha); in qla82xx_abort_isp()
3528 qla82xx_restart_isp(vha); in qla82xx_abort_isp()
3532 vha->flags.online = 1; in qla82xx_abort_isp()
3533 if (test_bit(ISP_ABORT_RETRY, &vha->dpc_flags)) { in qla82xx_abort_isp()
3535 ql_log(ql_log_warn, vha, 0x8027, in qla82xx_abort_isp()
3542 ha->isp_ops->reset_adapter(vha); in qla82xx_abort_isp()
3543 vha->flags.online = 0; in qla82xx_abort_isp()
3545 &vha->dpc_flags); in qla82xx_abort_isp()
3549 ql_log(ql_log_warn, vha, 0x8036, in qla82xx_abort_isp()
3556 ql_dbg(ql_dbg_taskm, vha, 0x8029, in qla82xx_abort_isp()
3559 set_bit(ISP_ABORT_RETRY, &vha->dpc_flags); in qla82xx_abort_isp()
3579 int qla82xx_fcoe_ctx_reset(scsi_qla_host_t *vha) in qla82xx_fcoe_ctx_reset() argument
3583 if (vha->flags.online) { in qla82xx_fcoe_ctx_reset()
3585 qla2x00_abort_isp_cleanup(vha); in qla82xx_fcoe_ctx_reset()
3591 qla2x00_try_to_stop_firmware(vha); in qla82xx_fcoe_ctx_reset()
3594 rval = qla82xx_restart_isp(vha); in qla82xx_fcoe_ctx_reset()
3611 int qla2x00_wait_for_fcoe_ctx_reset(scsi_qla_host_t *vha) in qla2x00_wait_for_fcoe_ctx_reset() argument
3617 while ((test_bit(FCOE_CTX_RESET_NEEDED, &vha->dpc_flags) || in qla2x00_wait_for_fcoe_ctx_reset()
3618 test_bit(ABORT_ISP_ACTIVE, &vha->dpc_flags)) in qla2x00_wait_for_fcoe_ctx_reset()
3624 if (!test_bit(FCOE_CTX_RESET_NEEDED, &vha->dpc_flags) && in qla2x00_wait_for_fcoe_ctx_reset()
3625 !test_bit(ABORT_ISP_ACTIVE, &vha->dpc_flags)) { in qla2x00_wait_for_fcoe_ctx_reset()
3630 ql_dbg(ql_dbg_p3p, vha, 0xb027, in qla2x00_wait_for_fcoe_ctx_reset()
3637 qla82xx_chip_reset_cleanup(scsi_qla_host_t *vha) in qla82xx_chip_reset_cleanup() argument
3641 struct qla_hw_data *ha = vha->hw; in qla82xx_chip_reset_cleanup()
3651 fw_state = qla82xx_check_fw_alive(vha); in qla82xx_chip_reset_cleanup()
3653 fw_state = qla8044_check_fw_alive(vha); in qla82xx_chip_reset_cleanup()
3656 qla82xx_clear_pending_mbx(vha); in qla82xx_chip_reset_cleanup()
3661 ql_dbg(ql_dbg_init, vha, 0x00b0, in qla82xx_chip_reset_cleanup()
3686 ql_log(ql_log_info, vha, in qla82xx_chip_reset_cleanup()
3690 ql_log(ql_log_info, vha, in qla82xx_chip_reset_cleanup()
3702 if (!qla2x00_eh_wait_for_pending_commands(vha, 0, 0, in qla82xx_chip_reset_cleanup()
3704 ql_dbg(ql_dbg_init, vha, 0x00b3, in qla82xx_chip_reset_cleanup()
3713 qla82xx_minidump_process_control(scsi_qla_host_t *vha, in qla82xx_minidump_process_control() argument
3716 struct qla_hw_data *ha = vha->hw; in qla82xx_minidump_process_control()
3830 qla82xx_minidump_process_rdocm(scsi_qla_host_t *vha, in qla82xx_minidump_process_rdocm() argument
3833 struct qla_hw_data *ha = vha->hw; in qla82xx_minidump_process_rdocm()
3852 qla82xx_minidump_process_rdmux(scsi_qla_host_t *vha, in qla82xx_minidump_process_rdmux() argument
3855 struct qla_hw_data *ha = vha->hw; in qla82xx_minidump_process_rdmux()
3878 qla82xx_minidump_process_rdcrb(scsi_qla_host_t *vha, in qla82xx_minidump_process_rdcrb() argument
3881 struct qla_hw_data *ha = vha->hw; in qla82xx_minidump_process_rdcrb()
3901 qla82xx_minidump_process_l2tag(scsi_qla_host_t *vha, in qla82xx_minidump_process_l2tag() argument
3904 struct qla_hw_data *ha = vha->hw; in qla82xx_minidump_process_l2tag()
3938 ql_dbg(ql_dbg_p3p, vha, 0xb032, in qla82xx_minidump_process_l2tag()
3960 qla82xx_minidump_process_l1cache(scsi_qla_host_t *vha, in qla82xx_minidump_process_l1cache() argument
3963 struct qla_hw_data *ha = vha->hw; in qla82xx_minidump_process_l1cache()
3995 qla82xx_minidump_process_queue(scsi_qla_host_t *vha, in qla82xx_minidump_process_queue() argument
3998 struct qla_hw_data *ha = vha->hw; in qla82xx_minidump_process_queue()
4025 qla82xx_minidump_process_rdrom(scsi_qla_host_t *vha, in qla82xx_minidump_process_rdrom() argument
4028 struct qla_hw_data *ha = vha->hw; in qla82xx_minidump_process_rdrom()
4051 qla82xx_minidump_process_rdmem(scsi_qla_host_t *vha, in qla82xx_minidump_process_rdmem() argument
4054 struct qla_hw_data *ha = vha->hw; in qla82xx_minidump_process_rdmem()
4067 ql_log(ql_log_warn, vha, 0xb033, in qla82xx_minidump_process_rdmem()
4073 ql_log(ql_log_warn, vha, 0xb034, in qla82xx_minidump_process_rdmem()
4079 ql_dbg(ql_dbg_p3p, vha, 0xb035, in qla82xx_minidump_process_rdmem()
4120 qla82xx_validate_template_chksum(scsi_qla_host_t *vha) in qla82xx_validate_template_chksum() argument
4122 struct qla_hw_data *ha = vha->hw; in qla82xx_validate_template_chksum()
4135 qla82xx_mark_entry_skipped(scsi_qla_host_t *vha, in qla82xx_mark_entry_skipped() argument
4139 ql_dbg(ql_dbg_p3p, vha, 0xb036, in qla82xx_mark_entry_skipped()
4147 qla82xx_md_collect(scsi_qla_host_t *vha) in qla82xx_md_collect() argument
4149 struct qla_hw_data *ha = vha->hw; in qla82xx_md_collect()
4161 ql_log(ql_log_warn, vha, 0xb037, in qla82xx_md_collect()
4170 ql_log(ql_log_warn, vha, 0xb038, in qla82xx_md_collect()
4176 ql_log(ql_log_warn, vha, 0xb054, in qla82xx_md_collect()
4183 if (qla82xx_validate_template_chksum(vha)) { in qla82xx_md_collect()
4184 ql_log(ql_log_info, vha, 0xb039, in qla82xx_md_collect()
4190 ql_dbg(ql_dbg_p3p, vha, 0xb03a, in qla82xx_md_collect()
4193 ql_dbg(ql_dbg_p3p, vha, 0xb03b, in qla82xx_md_collect()
4200 ql_log(ql_log_warn, vha, 0xb03c, in qla82xx_md_collect()
4207 tmplt_hdr->driver_info[0] = vha->host_no; in qla82xx_md_collect()
4214 ql_dbg(ql_dbg_p3p, vha, 0xb03d, in qla82xx_md_collect()
4219 ql_log(ql_log_warn, vha, 0xb04e, in qla82xx_md_collect()
4232 ql_log(ql_log_warn, vha, 0xb03e, in qla82xx_md_collect()
4242 ql_dbg(ql_dbg_p3p, vha, 0xb03f, in qla82xx_md_collect()
4250 ql_dbg(ql_dbg_p3p, vha, 0xb040, in qla82xx_md_collect()
4257 ql_dbg(ql_dbg_p3p, vha, 0xb041, in qla82xx_md_collect()
4265 qla82xx_mark_entry_skipped(vha, entry_hdr, i); in qla82xx_md_collect()
4268 rval = qla82xx_minidump_process_control(vha, in qla82xx_md_collect()
4271 qla82xx_mark_entry_skipped(vha, entry_hdr, i); in qla82xx_md_collect()
4276 qla82xx_minidump_process_rdcrb(vha, in qla82xx_md_collect()
4280 rval = qla82xx_minidump_process_rdmem(vha, in qla82xx_md_collect()
4283 qla82xx_mark_entry_skipped(vha, entry_hdr, i); in qla82xx_md_collect()
4289 qla82xx_minidump_process_rdrom(vha, in qla82xx_md_collect()
4296 rval = qla82xx_minidump_process_l2tag(vha, in qla82xx_md_collect()
4299 qla82xx_mark_entry_skipped(vha, entry_hdr, i); in qla82xx_md_collect()
4305 qla82xx_minidump_process_l1cache(vha, in qla82xx_md_collect()
4309 qla82xx_minidump_process_rdocm(vha, in qla82xx_md_collect()
4313 qla82xx_minidump_process_rdmux(vha, in qla82xx_md_collect()
4317 qla82xx_minidump_process_queue(vha, in qla82xx_md_collect()
4322 qla82xx_mark_entry_skipped(vha, entry_hdr, i); in qla82xx_md_collect()
4326 ql_dbg(ql_dbg_p3p, vha, 0xb042, in qla82xx_md_collect()
4337 ql_dbg(ql_dbg_p3p, vha, 0xb043, in qla82xx_md_collect()
4344 ql_log(ql_log_info, vha, 0xb044, in qla82xx_md_collect()
4346 vha->host_no, ha->md_tmplt_hdr, vha->host_no, ha->md_dump); in qla82xx_md_collect()
4348 qla2x00_post_uevent_work(vha, QLA_UEVENT_CODE_FW_DUMP); in qla82xx_md_collect()
4355 qla82xx_md_alloc(scsi_qla_host_t *vha) in qla82xx_md_alloc() argument
4357 struct qla_hw_data *ha = vha->hw; in qla82xx_md_alloc()
4365 ql_log(ql_log_info, vha, 0xb045, in qla82xx_md_alloc()
4376 ql_log(ql_log_warn, vha, 0xb046, in qla82xx_md_alloc()
4383 ql_log(ql_log_warn, vha, 0xb047, in qla82xx_md_alloc()
4392 qla82xx_md_free(scsi_qla_host_t *vha) in qla82xx_md_free() argument
4394 struct qla_hw_data *ha = vha->hw; in qla82xx_md_free()
4398 ql_log(ql_log_info, vha, 0xb048, in qla82xx_md_free()
4408 ql_log(ql_log_info, vha, 0xb049, in qla82xx_md_free()
4418 qla82xx_md_prep(scsi_qla_host_t *vha) in qla82xx_md_prep() argument
4420 struct qla_hw_data *ha = vha->hw; in qla82xx_md_prep()
4424 rval = qla82xx_md_get_template_size(vha); in qla82xx_md_prep()
4426 ql_log(ql_log_info, vha, 0xb04a, in qla82xx_md_prep()
4432 rval = qla8044_md_get_template(vha); in qla82xx_md_prep()
4434 rval = qla82xx_md_get_template(vha); in qla82xx_md_prep()
4437 ql_dbg(ql_dbg_p3p, vha, 0xb04b, in qla82xx_md_prep()
4441 rval = qla82xx_md_alloc(vha); in qla82xx_md_prep()
4443 ql_log(ql_log_info, vha, 0xb04c, in qla82xx_md_prep()
4447 ql_log(ql_log_info, vha, 0xb04d, in qla82xx_md_prep()
4462 qla82xx_beacon_on(struct scsi_qla_host *vha) in qla82xx_beacon_on() argument
4466 struct qla_hw_data *ha = vha->hw; in qla82xx_beacon_on()
4468 rval = qla82xx_mbx_beacon_ctl(vha, 1); in qla82xx_beacon_on()
4471 ql_log(ql_log_warn, vha, 0xb050, in qla82xx_beacon_on()
4482 qla82xx_beacon_off(struct scsi_qla_host *vha) in qla82xx_beacon_off() argument
4486 struct qla_hw_data *ha = vha->hw; in qla82xx_beacon_off()
4488 rval = qla82xx_mbx_beacon_ctl(vha, 0); in qla82xx_beacon_off()
4491 ql_log(ql_log_warn, vha, 0xb051, in qla82xx_beacon_off()
4502 qla82xx_fw_dump(scsi_qla_host_t *vha, int hardware_locked) in qla82xx_fw_dump() argument
4504 struct qla_hw_data *ha = vha->hw; in qla82xx_fw_dump()
4509 scsi_block_requests(vha->host); in qla82xx_fw_dump()
4512 qla82xx_set_reset_owner(vha); in qla82xx_fw_dump()
4514 qla2x00_wait_for_chip_reset(vha); in qla82xx_fw_dump()
4515 scsi_unblock_requests(vha->host); in qla82xx_fw_dump()