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()
550 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_pci_set_window() local
562 ql_dbg(ql_dbg_p3p, vha, 0xb003, in qla82xx_pci_set_window()
572 ql_log(ql_log_warn, vha, 0xb004, in qla82xx_pci_set_window()
585 ql_log(ql_log_warn, vha, 0xb005, in qla82xx_pci_set_window()
601 ql_log(ql_log_warn, vha, 0xb006, in qla82xx_pci_set_window()
613 ql_log(ql_log_warn, vha, 0xb007, in qla82xx_pci_set_window()
660 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_pci_mem_read_direct() local
672 ql_log(ql_log_fatal, vha, 0xb008, in qla82xx_pci_mem_read_direct()
732 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_pci_mem_write_direct() local
744 ql_log(ql_log_fatal, vha, 0xb009, in qla82xx_pci_mem_write_direct()
824 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_rom_lock() local
833 ql_dbg(ql_dbg_p3p, vha, 0xb157, in qla82xx_rom_lock()
856 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_wait_rom_busy() local
863 ql_dbg(ql_dbg_p3p, vha, 0xb00a, in qla82xx_wait_rom_busy()
877 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_wait_rom_done() local
884 ql_dbg(ql_dbg_p3p, vha, 0xb00b, in qla82xx_wait_rom_done()
930 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_rom_fast_read() local
939 ql_log(ql_log_fatal, vha, 0x00b9, in qla82xx_rom_fast_read()
952 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_read_status_reg() local
957 ql_log(ql_log_warn, vha, 0xb00c, in qla82xx_read_status_reg()
970 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_flash_wait_write_finish() local
980 ql_log(ql_log_warn, vha, 0xb00d, in qla82xx_flash_wait_write_finish()
1006 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_write_status_reg() local
1013 ql_log(ql_log_warn, vha, 0xb00e, in qla82xx_write_status_reg()
1023 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_write_disable_flash() local
1027 ql_log(ql_log_warn, vha, 0xb00f, in qla82xx_write_disable_flash()
1039 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in ql82xx_rom_lock_d() local
1048 ql_log(ql_log_warn, vha, 0xb010, in ql82xx_rom_lock_d()
1060 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_write_flash_dword() local
1064 ql_log(ql_log_warn, vha, 0xb011, in qla82xx_write_flash_dword()
1079 ql_log(ql_log_warn, vha, 0xb012, in qla82xx_write_flash_dword()
1096 qla82xx_pinit_from_rom(scsi_qla_host_t *vha) in qla82xx_pinit_from_rom() argument
1103 struct qla_hw_data *ha = vha->hw; in qla82xx_pinit_from_rom()
1158 if (test_bit(ABORT_ISP_ACTIVE, &vha->dpc_flags)) in qla82xx_pinit_from_rom()
1173 ql_log(ql_log_fatal, vha, 0x006e, in qla82xx_pinit_from_rom()
1186 ql_log(ql_log_fatal, vha, 0x0071, in qla82xx_pinit_from_rom()
1191 ql_log(ql_log_info, vha, 0x0072, in qla82xx_pinit_from_rom()
1196 ql_log(ql_log_fatal, vha, 0x010c, in qla82xx_pinit_from_rom()
1248 ql_log(ql_log_fatal, vha, 0x0116, in qla82xx_pinit_from_rom()
1702 qla82xx_pci_config(scsi_qla_host_t *vha) in qla82xx_pci_config() argument
1704 struct qla_hw_data *ha = vha->hw; in qla82xx_pci_config()
1710 ql_dbg(ql_dbg_init, vha, 0x0043, in qla82xx_pci_config()
1723 qla82xx_reset_chip(scsi_qla_host_t *vha) in qla82xx_reset_chip() argument
1725 struct qla_hw_data *ha = vha->hw; in qla82xx_reset_chip()
1732 void qla82xx_config_rings(struct scsi_qla_host *vha) in qla82xx_config_rings() argument
1734 struct qla_hw_data *ha = vha->hw; in qla82xx_config_rings()
1839 qla82xx_validate_firmware_blob(scsi_qla_host_t *vha, uint8_t fw_type) in qla82xx_validate_firmware_blob() argument
1843 struct qla_hw_data *ha = vha->hw; in qla82xx_validate_firmware_blob()
1871 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_check_cmdpeg_state() local
1887 ql_log(ql_log_info, vha, 0x00a8, in qla82xx_check_cmdpeg_state()
1895 ql_log(ql_log_fatal, vha, 0x00a9, in qla82xx_check_cmdpeg_state()
1910 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_check_rcvpeg_state() local
1926 ql_log(ql_log_info, vha, 0x00ab, in qla82xx_check_rcvpeg_state()
1934 ql_log(ql_log_fatal, vha, 0x00ac, in qla82xx_check_rcvpeg_state()
1952 qla82xx_mbx_completion(scsi_qla_host_t *vha, uint16_t mb0) in qla82xx_mbx_completion() argument
1956 struct qla_hw_data *ha = vha->hw; in qla82xx_mbx_completion()
1971 ql_dbg(ql_dbg_async, vha, 0x5053, in qla82xx_mbx_completion()
1987 scsi_qla_host_t *vha; in qla82xx_intr_handler() local
2025 vha = pci_get_drvdata(ha->pdev); in qla82xx_intr_handler()
2036 qla82xx_mbx_completion(vha, MSW(stat)); in qla82xx_intr_handler()
2044 qla2x00_async_event(vha, rsp, mb); in qla82xx_intr_handler()
2047 qla24xx_process_response_queue(vha, rsp); in qla82xx_intr_handler()
2050 ql_dbg(ql_dbg_async, vha, 0x5054, in qla82xx_intr_handler()
2071 scsi_qla_host_t *vha; in qla82xx_msix_default() local
2092 vha = pci_get_drvdata(ha->pdev); in qla82xx_msix_default()
2095 if (qla2x00_check_reg32_for_disconnect(vha, host_int)) in qla82xx_msix_default()
2105 qla82xx_mbx_completion(vha, MSW(stat)); in qla82xx_msix_default()
2113 qla2x00_async_event(vha, rsp, mb); in qla82xx_msix_default()
2116 qla24xx_process_response_queue(vha, rsp); in qla82xx_msix_default()
2119 ql_dbg(ql_dbg_async, vha, 0x5041, in qla82xx_msix_default()
2137 scsi_qla_host_t *vha; in qla82xx_msix_rsp_q() local
2154 vha = pci_get_drvdata(ha->pdev); in qla82xx_msix_rsp_q()
2156 if (qla2x00_check_reg32_for_disconnect(vha, host_int)) in qla82xx_msix_rsp_q()
2158 qla24xx_process_response_queue(vha, rsp); in qla82xx_msix_rsp_q()
2168 scsi_qla_host_t *vha; in qla82xx_poll() local
2188 vha = pci_get_drvdata(ha->pdev); in qla82xx_poll()
2191 if (qla2x00_check_reg32_for_disconnect(vha, host_int)) in qla82xx_poll()
2200 qla82xx_mbx_completion(vha, MSW(stat)); in qla82xx_poll()
2208 qla2x00_async_event(vha, rsp, mb); in qla82xx_poll()
2211 qla24xx_process_response_queue(vha, rsp); in qla82xx_poll()
2214 ql_dbg(ql_dbg_p3p, vha, 0xb013, in qla82xx_poll()
2228 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_enable_intrs() local
2230 qla82xx_mbx_intr_enable(vha); in qla82xx_enable_intrs()
2243 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_disable_intrs() local
2246 qla82xx_mbx_intr_disable(vha); in qla82xx_disable_intrs()
2275 qla82xx_set_idc_version(scsi_qla_host_t *vha) in qla82xx_set_idc_version() argument
2279 struct qla_hw_data *ha = vha->hw; in qla82xx_set_idc_version()
2285 ql_log(ql_log_info, vha, 0xb082, in qla82xx_set_idc_version()
2290 ql_log(ql_log_info, vha, 0xb083, in qla82xx_set_idc_version()
2298 qla82xx_set_drv_active(scsi_qla_host_t *vha) in qla82xx_set_drv_active() argument
2301 struct qla_hw_data *ha = vha->hw; in qla82xx_set_drv_active()
2344 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_set_rst_ready() local
2354 ql_dbg(ql_dbg_init, vha, 0x00bb, in qla82xx_set_rst_ready()
2380 qla82xx_clear_qsnt_ready(scsi_qla_host_t *vha) in qla82xx_clear_qsnt_ready() argument
2382 struct qla_hw_data *ha = vha->hw; in qla82xx_clear_qsnt_ready()
2391 qla82xx_load_fw(scsi_qla_host_t *vha) in qla82xx_load_fw() argument
2395 struct qla_hw_data *ha = vha->hw; in qla82xx_load_fw()
2397 if (qla82xx_pinit_from_rom(vha) != QLA_SUCCESS) { in qla82xx_load_fw()
2398 ql_log(ql_log_fatal, vha, 0x009f, in qla82xx_load_fw()
2417 ql_log(ql_log_info, vha, 0x00a0, in qla82xx_load_fw()
2421 ql_log(ql_log_info, vha, 0x00a1, in qla82xx_load_fw()
2425 ql_log(ql_log_warn, vha, 0x0108, in qla82xx_load_fw()
2430 ql_log(ql_log_info, vha, 0x00a2, in qla82xx_load_fw()
2434 blob = ha->hablob = qla2x00_request_firmware(vha); in qla82xx_load_fw()
2436 ql_log(ql_log_fatal, vha, 0x00a3, in qla82xx_load_fw()
2442 if (qla82xx_validate_firmware_blob(vha, in qla82xx_load_fw()
2445 if (qla82xx_validate_firmware_blob(vha, in qla82xx_load_fw()
2447 ql_log(ql_log_fatal, vha, 0x00a4, in qla82xx_load_fw()
2454 ql_log(ql_log_info, vha, 0x00a5, in qla82xx_load_fw()
2459 ql_log(ql_log_fatal, vha, 0x00a6, in qla82xx_load_fw()
2469 qla82xx_start_firmware(scsi_qla_host_t *vha) in qla82xx_start_firmware() argument
2472 struct qla_hw_data *ha = vha->hw; in qla82xx_start_firmware()
2487 if (qla82xx_load_fw(vha) != QLA_SUCCESS) { in qla82xx_start_firmware()
2488 ql_log(ql_log_fatal, vha, 0x00a7, in qla82xx_start_firmware()
2495 ql_log(ql_log_fatal, vha, 0x00aa, in qla82xx_start_firmware()
2509 qla82xx_read_flash_data(scsi_qla_host_t *vha, __le32 *dwptr, uint32_t faddr, in qla82xx_read_flash_data() argument
2514 struct qla_hw_data *ha = vha->hw; in qla82xx_read_flash_data()
2519 ql_log(ql_log_warn, vha, 0x0106, in qla82xx_read_flash_data()
2534 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_unprotect_flash() local
2538 ql_log(ql_log_warn, vha, 0xb014, in qla82xx_unprotect_flash()
2555 ql_log(ql_log_warn, vha, 0xb015, in qla82xx_unprotect_flash()
2568 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_protect_flash() local
2572 ql_log(ql_log_warn, vha, 0xb016, in qla82xx_protect_flash()
2585 ql_log(ql_log_warn, vha, 0xb017, in qla82xx_protect_flash()
2589 ql_log(ql_log_warn, vha, 0xb018, in qla82xx_protect_flash()
2600 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_erase_sector() local
2604 ql_log(ql_log_warn, vha, 0xb019, in qla82xx_erase_sector()
2615 ql_log(ql_log_warn, vha, 0xb01a, in qla82xx_erase_sector()
2630 qla82xx_read_optrom_data(struct scsi_qla_host *vha, void *buf, in qla82xx_read_optrom_data() argument
2633 scsi_block_requests(vha->host); in qla82xx_read_optrom_data()
2634 qla82xx_read_flash_data(vha, buf, offset, length); in qla82xx_read_optrom_data()
2635 scsi_unblock_requests(vha->host); in qla82xx_read_optrom_data()
2640 qla82xx_write_flash_data(struct scsi_qla_host *vha, __le32 *dwptr, in qla82xx_write_flash_data() argument
2649 struct qla_hw_data *ha = vha->hw; in qla82xx_write_flash_data()
2659 ql_log(ql_log_warn, vha, 0xb01b, in qla82xx_write_flash_data()
2670 ql_log(ql_log_warn, vha, 0xb01c, in qla82xx_write_flash_data()
2681 ql_log(ql_log_warn, vha, 0xb01d, in qla82xx_write_flash_data()
2693 ret = qla2x00_load_ram(vha, optrom_dma, in qla82xx_write_flash_data()
2697 ql_log(ql_log_warn, vha, 0xb01e, in qla82xx_write_flash_data()
2702 ql_log(ql_log_warn, vha, 0xb01f, in qla82xx_write_flash_data()
2719 ql_dbg(ql_dbg_p3p, vha, 0xb020, in qla82xx_write_flash_data()
2728 ql_log(ql_log_warn, vha, 0xb021, in qla82xx_write_flash_data()
2738 qla82xx_write_optrom_data(struct scsi_qla_host *vha, void *buf, in qla82xx_write_optrom_data() argument
2744 scsi_block_requests(vha->host); in qla82xx_write_optrom_data()
2745 rval = qla82xx_write_flash_data(vha, buf, offset, length >> 2); in qla82xx_write_optrom_data()
2746 scsi_unblock_requests(vha->host); in qla82xx_write_optrom_data()
2757 qla82xx_start_iocbs(scsi_qla_host_t *vha) in qla82xx_start_iocbs() argument
2759 struct qla_hw_data *ha = vha->hw; in qla82xx_start_iocbs()
2789 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_rom_lock_recovery() local
2795 ql_log(ql_log_info, vha, 0xb022, in qla82xx_rom_lock_recovery()
2818 qla82xx_device_bootstrap(scsi_qla_host_t *vha) in qla82xx_device_bootstrap() argument
2823 struct qla_hw_data *ha = vha->hw; in qla82xx_device_bootstrap()
2846 ql_log(ql_log_info, vha, 0x009e, in qla82xx_device_bootstrap()
2851 rval = qla82xx_start_firmware(vha); in qla82xx_device_bootstrap()
2855 ql_log(ql_log_fatal, vha, 0x00ad, in qla82xx_device_bootstrap()
2863 ql_log(ql_log_info, vha, 0x00ae, in qla82xx_device_bootstrap()
2881 qla82xx_need_qsnt_handler(scsi_qla_host_t *vha) in qla82xx_need_qsnt_handler() argument
2883 struct qla_hw_data *ha = vha->hw; in qla82xx_need_qsnt_handler()
2887 if (vha->flags.online) { in qla82xx_need_qsnt_handler()
2889 qla2x00_quiesce_io(vha); in qla82xx_need_qsnt_handler()
2909 ql_log(ql_log_info, vha, 0xb023, in qla82xx_need_qsnt_handler()
2915 ql_log(ql_log_info, vha, 0xb025, in qla82xx_need_qsnt_handler()
2918 qla2x00_perform_loop_resync(vha); in qla82xx_need_qsnt_handler()
2921 qla82xx_clear_qsnt_ready(vha); in qla82xx_need_qsnt_handler()
2936 ql_log(ql_log_info, vha, 0xb026, in qla82xx_need_qsnt_handler()
2953 qla82xx_wait_for_state_change(scsi_qla_host_t *vha, uint32_t curr_state) in qla82xx_wait_for_state_change() argument
2955 struct qla_hw_data *ha = vha->hw; in qla82xx_wait_for_state_change()
2969 qla8xxx_dev_failed_handler(scsi_qla_host_t *vha) in qla8xxx_dev_failed_handler() argument
2971 struct qla_hw_data *ha = vha->hw; in qla8xxx_dev_failed_handler()
2974 ql_log(ql_log_fatal, vha, 0x00b8, in qla8xxx_dev_failed_handler()
2986 vha->device_flags |= DFLG_DEV_FAILED; in qla8xxx_dev_failed_handler()
2987 qla2x00_abort_all_cmds(vha, DID_NO_CONNECT << 16); in qla8xxx_dev_failed_handler()
2988 qla2x00_mark_all_devices_lost(vha); in qla8xxx_dev_failed_handler()
2989 vha->flags.online = 0; in qla8xxx_dev_failed_handler()
2990 vha->flags.init_done = 0; in qla8xxx_dev_failed_handler()
3005 qla82xx_need_reset_handler(scsi_qla_host_t *vha) in qla82xx_need_reset_handler() argument
3010 struct qla_hw_data *ha = vha->hw; in qla82xx_need_reset_handler()
3013 if (vha->flags.online) { in qla82xx_need_reset_handler()
3015 qla2x00_abort_isp_cleanup(vha); in qla82xx_need_reset_handler()
3016 ha->isp_ops->get_flash_version(vha, req->ring); in qla82xx_need_reset_handler()
3017 ha->isp_ops->nvram_config(vha); in qla82xx_need_reset_handler()
3023 ql_dbg(ql_dbg_p3p, vha, 0xb028, in qla82xx_need_reset_handler()
3029 ql_dbg(ql_dbg_p3p, vha, 0xb029, in qla82xx_need_reset_handler()
3040 ql_dbg(ql_dbg_p3p, vha, 0xb02a, in qla82xx_need_reset_handler()
3048 ql_log(ql_log_warn, vha, 0x00b5, in qla82xx_need_reset_handler()
3062 ql_dbg(ql_dbg_p3p, vha, 0xb02b, in qla82xx_need_reset_handler()
3067 ql_log(ql_log_info, vha, 0x00b6, in qla82xx_need_reset_handler()
3075 ql_log(ql_log_info, vha, 0x00b7, in qla82xx_need_reset_handler()
3080 if (qla82xx_md_collect(vha)) in qla82xx_need_reset_handler()
3081 ql_log(ql_log_warn, vha, 0xb02c, in qla82xx_need_reset_handler()
3084 ql_log(ql_log_warn, vha, 0xb04f, in qla82xx_need_reset_handler()
3090 qla82xx_check_md_needed(scsi_qla_host_t *vha) in qla82xx_check_md_needed() argument
3092 struct qla_hw_data *ha = vha->hw; in qla82xx_check_md_needed()
3100 rval = qla2x00_get_fw_version(vha); in qla82xx_check_md_needed()
3110 ql_dbg(ql_dbg_p3p, vha, 0xb02d, in qla82xx_check_md_needed()
3119 qla82xx_md_free(vha); in qla82xx_check_md_needed()
3121 qla82xx_md_prep(vha); in qla82xx_check_md_needed()
3124 ql_log(ql_log_info, vha, 0xb02e, in qla82xx_check_md_needed()
3132 qla82xx_check_fw_alive(scsi_qla_host_t *vha) in qla82xx_check_fw_alive() argument
3137 fw_heartbeat_counter = qla82xx_rd_32(vha->hw, in qla82xx_check_fw_alive()
3141 ql_dbg(ql_dbg_timer, vha, 0x6003, in qla82xx_check_fw_alive()
3146 if (vha->fw_heartbeat_counter == fw_heartbeat_counter) { in qla82xx_check_fw_alive()
3147 vha->seconds_since_last_heartbeat++; in qla82xx_check_fw_alive()
3149 if (vha->seconds_since_last_heartbeat == 2) { in qla82xx_check_fw_alive()
3150 vha->seconds_since_last_heartbeat = 0; in qla82xx_check_fw_alive()
3154 vha->seconds_since_last_heartbeat = 0; in qla82xx_check_fw_alive()
3155 vha->fw_heartbeat_counter = fw_heartbeat_counter; in qla82xx_check_fw_alive()
3157 ql_dbg(ql_dbg_timer, vha, 0x6004, in qla82xx_check_fw_alive()
3174 qla82xx_device_state_handler(scsi_qla_host_t *vha) in qla82xx_device_state_handler() argument
3180 struct qla_hw_data *ha = vha->hw; in qla82xx_device_state_handler()
3184 if (!vha->flags.init_done) { in qla82xx_device_state_handler()
3185 qla82xx_set_drv_active(vha); in qla82xx_device_state_handler()
3186 qla82xx_set_idc_version(vha); in qla82xx_device_state_handler()
3191 ql_log(ql_log_info, vha, 0x009b, in qla82xx_device_state_handler()
3202 ql_log(ql_log_fatal, vha, 0x009c, in qla82xx_device_state_handler()
3213 ql_log(ql_log_info, vha, 0x009d, in qla82xx_device_state_handler()
3225 rval = qla82xx_device_bootstrap(vha); in qla82xx_device_state_handler()
3234 qla82xx_need_reset_handler(vha); in qla82xx_device_state_handler()
3244 qla82xx_need_qsnt_handler(vha); in qla82xx_device_state_handler()
3265 qla8xxx_dev_failed_handler(vha); in qla82xx_device_state_handler()
3281 static int qla82xx_check_temp(scsi_qla_host_t *vha) in qla82xx_check_temp() argument
3284 struct qla_hw_data *ha = vha->hw; in qla82xx_check_temp()
3291 ql_log(ql_log_warn, vha, 0x600e, in qla82xx_check_temp()
3297 ql_log(ql_log_warn, vha, 0x600f, in qla82xx_check_temp()
3305 int qla82xx_read_temperature(scsi_qla_host_t *vha) in qla82xx_read_temperature() argument
3309 temp = qla82xx_rd_32(vha->hw, CRB_TEMP_STATE); in qla82xx_read_temperature()
3313 void qla82xx_clear_pending_mbx(scsi_qla_host_t *vha) in qla82xx_clear_pending_mbx() argument
3315 struct qla_hw_data *ha = vha->hw; in qla82xx_clear_pending_mbx()
3320 ql_log(ql_log_warn, vha, 0x6010, in qla82xx_clear_pending_mbx()
3327 void qla82xx_watchdog(scsi_qla_host_t *vha) in qla82xx_watchdog() argument
3330 struct qla_hw_data *ha = vha->hw; in qla82xx_watchdog()
3335 if (qla82xx_check_temp(vha)) { in qla82xx_watchdog()
3336 set_bit(ISP_UNRECOVERABLE, &vha->dpc_flags); in qla82xx_watchdog()
3338 qla82xx_clear_pending_mbx(vha); in qla82xx_watchdog()
3340 !test_bit(ISP_ABORT_NEEDED, &vha->dpc_flags)) { in qla82xx_watchdog()
3341 ql_log(ql_log_warn, vha, 0x6001, in qla82xx_watchdog()
3343 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla82xx_watchdog()
3345 !test_bit(ISP_QUIESCE_NEEDED, &vha->dpc_flags)) { in qla82xx_watchdog()
3346 ql_log(ql_log_warn, vha, 0x6002, in qla82xx_watchdog()
3348 set_bit(ISP_QUIESCE_NEEDED, &vha->dpc_flags); in qla82xx_watchdog()
3350 !test_bit(ISP_UNRECOVERABLE, &vha->dpc_flags) && in qla82xx_watchdog()
3351 vha->flags.online == 1) { in qla82xx_watchdog()
3352 ql_log(ql_log_warn, vha, 0xb055, in qla82xx_watchdog()
3354 set_bit(ISP_UNRECOVERABLE, &vha->dpc_flags); in qla82xx_watchdog()
3356 qla82xx_clear_pending_mbx(vha); in qla82xx_watchdog()
3358 if (qla82xx_check_fw_alive(vha)) { in qla82xx_watchdog()
3359 ql_dbg(ql_dbg_timer, vha, 0x6011, in qla82xx_watchdog()
3365 ql_log(ql_log_info, vha, 0x6005, in qla82xx_watchdog()
3383 ql_log(ql_log_warn, vha, 0xb052, in qla82xx_watchdog()
3389 &vha->dpc_flags); in qla82xx_watchdog()
3391 ql_log(ql_log_info, vha, 0x6006, in qla82xx_watchdog()
3394 &vha->dpc_flags); in qla82xx_watchdog()
3397 ql_log(ql_log_warn, vha, 0x6007, "Firmware hung.\n"); in qla82xx_watchdog()
3398 qla82xx_clear_pending_mbx(vha); in qla82xx_watchdog()
3404 int qla82xx_load_risc(scsi_qla_host_t *vha, uint32_t *srisc_addr) in qla82xx_load_risc() argument
3407 struct qla_hw_data *ha = vha->hw; in qla82xx_load_risc()
3410 rval = qla82xx_device_state_handler(vha); in qla82xx_load_risc()
3414 qla83xx_reset_ownership(vha); in qla82xx_load_risc()
3416 rval = qla8044_device_state_handler(vha); in qla82xx_load_risc()
3422 qla82xx_set_reset_owner(scsi_qla_host_t *vha) in qla82xx_set_reset_owner() argument
3424 struct qla_hw_data *ha = vha->hw; in qla82xx_set_reset_owner()
3430 dev_state = qla8044_rd_direct(vha, QLA8044_CRB_DEV_STATE_INDEX); in qla82xx_set_reset_owner()
3433 ql_log(ql_log_info, vha, 0xb02f, in qla82xx_set_reset_owner()
3439 ql_dbg(ql_dbg_p3p, vha, 0xb030, in qla82xx_set_reset_owner()
3442 qla8044_wr_direct(vha, QLA8044_CRB_DEV_STATE_INDEX, in qla82xx_set_reset_owner()
3445 ql_log(ql_log_info, vha, 0xb031, in qla82xx_set_reset_owner()
3462 qla82xx_abort_isp(scsi_qla_host_t *vha) in qla82xx_abort_isp() argument
3465 struct qla_hw_data *ha = vha->hw; in qla82xx_abort_isp()
3467 if (vha->device_flags & DFLG_DEV_FAILED) { in qla82xx_abort_isp()
3468 ql_log(ql_log_warn, vha, 0x8024, in qla82xx_abort_isp()
3475 qla82xx_set_reset_owner(vha); in qla82xx_abort_isp()
3479 rval = qla82xx_device_state_handler(vha); in qla82xx_abort_isp()
3483 qla83xx_reset_ownership(vha); in qla82xx_abort_isp()
3485 rval = qla8044_device_state_handler(vha); in qla82xx_abort_isp()
3495 qla82xx_restart_isp(vha); in qla82xx_abort_isp()
3499 vha->flags.online = 1; in qla82xx_abort_isp()
3500 if (test_bit(ISP_ABORT_RETRY, &vha->dpc_flags)) { in qla82xx_abort_isp()
3502 ql_log(ql_log_warn, vha, 0x8027, in qla82xx_abort_isp()
3509 ha->isp_ops->reset_adapter(vha); in qla82xx_abort_isp()
3510 vha->flags.online = 0; in qla82xx_abort_isp()
3512 &vha->dpc_flags); in qla82xx_abort_isp()
3516 ql_log(ql_log_warn, vha, 0x8036, in qla82xx_abort_isp()
3523 ql_dbg(ql_dbg_taskm, vha, 0x8029, in qla82xx_abort_isp()
3526 set_bit(ISP_ABORT_RETRY, &vha->dpc_flags); in qla82xx_abort_isp()
3546 int qla82xx_fcoe_ctx_reset(scsi_qla_host_t *vha) in qla82xx_fcoe_ctx_reset() argument
3550 if (vha->flags.online) { in qla82xx_fcoe_ctx_reset()
3552 qla2x00_abort_isp_cleanup(vha); in qla82xx_fcoe_ctx_reset()
3558 qla2x00_try_to_stop_firmware(vha); in qla82xx_fcoe_ctx_reset()
3561 rval = qla82xx_restart_isp(vha); in qla82xx_fcoe_ctx_reset()
3578 int qla2x00_wait_for_fcoe_ctx_reset(scsi_qla_host_t *vha) in qla2x00_wait_for_fcoe_ctx_reset() argument
3584 while ((test_bit(FCOE_CTX_RESET_NEEDED, &vha->dpc_flags) || in qla2x00_wait_for_fcoe_ctx_reset()
3585 test_bit(ABORT_ISP_ACTIVE, &vha->dpc_flags)) in qla2x00_wait_for_fcoe_ctx_reset()
3591 if (!test_bit(FCOE_CTX_RESET_NEEDED, &vha->dpc_flags) && in qla2x00_wait_for_fcoe_ctx_reset()
3592 !test_bit(ABORT_ISP_ACTIVE, &vha->dpc_flags)) { in qla2x00_wait_for_fcoe_ctx_reset()
3597 ql_dbg(ql_dbg_p3p, vha, 0xb027, in qla2x00_wait_for_fcoe_ctx_reset()
3604 qla82xx_chip_reset_cleanup(scsi_qla_host_t *vha) in qla82xx_chip_reset_cleanup() argument
3608 struct qla_hw_data *ha = vha->hw; in qla82xx_chip_reset_cleanup()
3618 fw_state = qla82xx_check_fw_alive(vha); in qla82xx_chip_reset_cleanup()
3620 fw_state = qla8044_check_fw_alive(vha); in qla82xx_chip_reset_cleanup()
3623 qla82xx_clear_pending_mbx(vha); in qla82xx_chip_reset_cleanup()
3628 ql_dbg(ql_dbg_init, vha, 0x00b0, in qla82xx_chip_reset_cleanup()
3653 ql_log(ql_log_info, vha, in qla82xx_chip_reset_cleanup()
3657 ql_log(ql_log_info, vha, in qla82xx_chip_reset_cleanup()
3669 if (qla2x00_eh_wait_for_pending_commands(vha, 0, 0, in qla82xx_chip_reset_cleanup()
3671 ql_dbg(ql_dbg_init, vha, 0x00b3, in qla82xx_chip_reset_cleanup()
3682 qla82xx_minidump_process_control(scsi_qla_host_t *vha, in qla82xx_minidump_process_control() argument
3685 struct qla_hw_data *ha = vha->hw; in qla82xx_minidump_process_control()
3799 qla82xx_minidump_process_rdocm(scsi_qla_host_t *vha, in qla82xx_minidump_process_rdocm() argument
3802 struct qla_hw_data *ha = vha->hw; in qla82xx_minidump_process_rdocm()
3821 qla82xx_minidump_process_rdmux(scsi_qla_host_t *vha, in qla82xx_minidump_process_rdmux() argument
3824 struct qla_hw_data *ha = vha->hw; in qla82xx_minidump_process_rdmux()
3847 qla82xx_minidump_process_rdcrb(scsi_qla_host_t *vha, in qla82xx_minidump_process_rdcrb() argument
3850 struct qla_hw_data *ha = vha->hw; in qla82xx_minidump_process_rdcrb()
3870 qla82xx_minidump_process_l2tag(scsi_qla_host_t *vha, in qla82xx_minidump_process_l2tag() argument
3873 struct qla_hw_data *ha = vha->hw; in qla82xx_minidump_process_l2tag()
3907 ql_dbg(ql_dbg_p3p, vha, 0xb032, in qla82xx_minidump_process_l2tag()
3929 qla82xx_minidump_process_l1cache(scsi_qla_host_t *vha, in qla82xx_minidump_process_l1cache() argument
3932 struct qla_hw_data *ha = vha->hw; in qla82xx_minidump_process_l1cache()
3964 qla82xx_minidump_process_queue(scsi_qla_host_t *vha, in qla82xx_minidump_process_queue() argument
3967 struct qla_hw_data *ha = vha->hw; in qla82xx_minidump_process_queue()
3994 qla82xx_minidump_process_rdrom(scsi_qla_host_t *vha, in qla82xx_minidump_process_rdrom() argument
3997 struct qla_hw_data *ha = vha->hw; in qla82xx_minidump_process_rdrom()
4020 qla82xx_minidump_process_rdmem(scsi_qla_host_t *vha, in qla82xx_minidump_process_rdmem() argument
4023 struct qla_hw_data *ha = vha->hw; in qla82xx_minidump_process_rdmem()
4036 ql_log(ql_log_warn, vha, 0xb033, in qla82xx_minidump_process_rdmem()
4042 ql_log(ql_log_warn, vha, 0xb034, in qla82xx_minidump_process_rdmem()
4048 ql_dbg(ql_dbg_p3p, vha, 0xb035, in qla82xx_minidump_process_rdmem()
4089 qla82xx_validate_template_chksum(scsi_qla_host_t *vha) in qla82xx_validate_template_chksum() argument
4091 struct qla_hw_data *ha = vha->hw; in qla82xx_validate_template_chksum()
4104 qla82xx_mark_entry_skipped(scsi_qla_host_t *vha, in qla82xx_mark_entry_skipped() argument
4108 ql_dbg(ql_dbg_p3p, vha, 0xb036, in qla82xx_mark_entry_skipped()
4116 qla82xx_md_collect(scsi_qla_host_t *vha) in qla82xx_md_collect() argument
4118 struct qla_hw_data *ha = vha->hw; in qla82xx_md_collect()
4130 ql_log(ql_log_warn, vha, 0xb037, in qla82xx_md_collect()
4139 ql_log(ql_log_warn, vha, 0xb038, in qla82xx_md_collect()
4145 ql_log(ql_log_warn, vha, 0xb054, in qla82xx_md_collect()
4152 if (qla82xx_validate_template_chksum(vha)) { in qla82xx_md_collect()
4153 ql_log(ql_log_info, vha, 0xb039, in qla82xx_md_collect()
4159 ql_dbg(ql_dbg_p3p, vha, 0xb03a, in qla82xx_md_collect()
4162 ql_dbg(ql_dbg_p3p, vha, 0xb03b, in qla82xx_md_collect()
4169 ql_log(ql_log_warn, vha, 0xb03c, in qla82xx_md_collect()
4176 tmplt_hdr->driver_info[0] = vha->host_no; in qla82xx_md_collect()
4183 ql_dbg(ql_dbg_p3p, vha, 0xb03d, in qla82xx_md_collect()
4188 ql_log(ql_log_warn, vha, 0xb04e, in qla82xx_md_collect()
4201 ql_log(ql_log_warn, vha, 0xb03e, in qla82xx_md_collect()
4211 ql_dbg(ql_dbg_p3p, vha, 0xb03f, in qla82xx_md_collect()
4219 ql_dbg(ql_dbg_p3p, vha, 0xb040, in qla82xx_md_collect()
4226 ql_dbg(ql_dbg_p3p, vha, 0xb041, in qla82xx_md_collect()
4234 qla82xx_mark_entry_skipped(vha, entry_hdr, i); in qla82xx_md_collect()
4237 rval = qla82xx_minidump_process_control(vha, in qla82xx_md_collect()
4240 qla82xx_mark_entry_skipped(vha, entry_hdr, i); in qla82xx_md_collect()
4245 qla82xx_minidump_process_rdcrb(vha, in qla82xx_md_collect()
4249 rval = qla82xx_minidump_process_rdmem(vha, in qla82xx_md_collect()
4252 qla82xx_mark_entry_skipped(vha, entry_hdr, i); in qla82xx_md_collect()
4258 qla82xx_minidump_process_rdrom(vha, in qla82xx_md_collect()
4265 rval = qla82xx_minidump_process_l2tag(vha, in qla82xx_md_collect()
4268 qla82xx_mark_entry_skipped(vha, entry_hdr, i); in qla82xx_md_collect()
4274 qla82xx_minidump_process_l1cache(vha, in qla82xx_md_collect()
4278 qla82xx_minidump_process_rdocm(vha, in qla82xx_md_collect()
4282 qla82xx_minidump_process_rdmux(vha, in qla82xx_md_collect()
4286 qla82xx_minidump_process_queue(vha, in qla82xx_md_collect()
4291 qla82xx_mark_entry_skipped(vha, entry_hdr, i); in qla82xx_md_collect()
4295 ql_dbg(ql_dbg_p3p, vha, 0xb042, in qla82xx_md_collect()
4306 ql_dbg(ql_dbg_p3p, vha, 0xb043, in qla82xx_md_collect()
4313 ql_log(ql_log_info, vha, 0xb044, in qla82xx_md_collect()
4315 vha->host_no, ha->md_tmplt_hdr, vha->host_no, ha->md_dump); in qla82xx_md_collect()
4317 qla2x00_post_uevent_work(vha, QLA_UEVENT_CODE_FW_DUMP); in qla82xx_md_collect()
4324 qla82xx_md_alloc(scsi_qla_host_t *vha) in qla82xx_md_alloc() argument
4326 struct qla_hw_data *ha = vha->hw; in qla82xx_md_alloc()
4334 ql_log(ql_log_info, vha, 0xb045, in qla82xx_md_alloc()
4345 ql_log(ql_log_warn, vha, 0xb046, in qla82xx_md_alloc()
4352 ql_log(ql_log_warn, vha, 0xb047, in qla82xx_md_alloc()
4361 qla82xx_md_free(scsi_qla_host_t *vha) in qla82xx_md_free() argument
4363 struct qla_hw_data *ha = vha->hw; in qla82xx_md_free()
4367 ql_log(ql_log_info, vha, 0xb048, in qla82xx_md_free()
4377 ql_log(ql_log_info, vha, 0xb049, in qla82xx_md_free()
4387 qla82xx_md_prep(scsi_qla_host_t *vha) in qla82xx_md_prep() argument
4389 struct qla_hw_data *ha = vha->hw; in qla82xx_md_prep()
4393 rval = qla82xx_md_get_template_size(vha); in qla82xx_md_prep()
4395 ql_log(ql_log_info, vha, 0xb04a, in qla82xx_md_prep()
4401 rval = qla8044_md_get_template(vha); in qla82xx_md_prep()
4403 rval = qla82xx_md_get_template(vha); in qla82xx_md_prep()
4406 ql_dbg(ql_dbg_p3p, vha, 0xb04b, in qla82xx_md_prep()
4410 rval = qla82xx_md_alloc(vha); in qla82xx_md_prep()
4412 ql_log(ql_log_info, vha, 0xb04c, in qla82xx_md_prep()
4416 ql_log(ql_log_info, vha, 0xb04d, in qla82xx_md_prep()
4431 qla82xx_beacon_on(struct scsi_qla_host *vha) in qla82xx_beacon_on() argument
4435 struct qla_hw_data *ha = vha->hw; in qla82xx_beacon_on()
4438 rval = qla82xx_mbx_beacon_ctl(vha, 1); in qla82xx_beacon_on()
4441 ql_log(ql_log_warn, vha, 0xb050, in qla82xx_beacon_on()
4452 qla82xx_beacon_off(struct scsi_qla_host *vha) in qla82xx_beacon_off() argument
4456 struct qla_hw_data *ha = vha->hw; in qla82xx_beacon_off()
4459 rval = qla82xx_mbx_beacon_ctl(vha, 0); in qla82xx_beacon_off()
4462 ql_log(ql_log_warn, vha, 0xb051, in qla82xx_beacon_off()
4473 qla82xx_fw_dump(scsi_qla_host_t *vha) in qla82xx_fw_dump() argument
4475 struct qla_hw_data *ha = vha->hw; in qla82xx_fw_dump()
4480 scsi_block_requests(vha->host); in qla82xx_fw_dump()
4483 qla82xx_set_reset_owner(vha); in qla82xx_fw_dump()
4485 qla2x00_wait_for_chip_reset(vha); in qla82xx_fw_dump()
4486 scsi_unblock_requests(vha->host); in qla82xx_fw_dump()