Lines Matching refs:vha
359 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_pci_set_crbwindow_2M() local
369 ql_dbg(ql_dbg_p3p, vha, 0xb000, in qla82xx_pci_set_crbwindow_2M()
380 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_pci_set_crbwindow() local
411 ql_dbg(ql_dbg_p3p, vha, 0xb001, in qla82xx_pci_set_crbwindow()
586 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_pci_set_window() local
598 ql_dbg(ql_dbg_p3p, vha, 0xb003, in qla82xx_pci_set_window()
607 ql_log(ql_log_warn, vha, 0xb004, in qla82xx_pci_set_window()
620 ql_log(ql_log_warn, vha, 0xb005, in qla82xx_pci_set_window()
636 ql_log(ql_log_warn, vha, 0xb006, in qla82xx_pci_set_window()
648 ql_log(ql_log_warn, vha, 0xb007, in qla82xx_pci_set_window()
695 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_pci_mem_read_direct() local
707 ql_log(ql_log_fatal, vha, 0xb008, in qla82xx_pci_mem_read_direct()
767 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_pci_mem_write_direct() local
779 ql_log(ql_log_fatal, vha, 0xb009, in qla82xx_pci_mem_write_direct()
859 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_rom_lock() local
868 ql_dbg(ql_dbg_p3p, vha, 0xb157, in qla82xx_rom_lock()
891 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_wait_rom_busy() local
898 ql_dbg(ql_dbg_p3p, vha, 0xb00a, in qla82xx_wait_rom_busy()
912 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_wait_rom_done() local
919 ql_dbg(ql_dbg_p3p, vha, 0xb00b, in qla82xx_wait_rom_done()
965 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_rom_fast_read() local
974 ql_log(ql_log_fatal, vha, 0x00b9, in qla82xx_rom_fast_read()
987 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_read_status_reg() local
991 ql_log(ql_log_warn, vha, 0xb00c, in qla82xx_read_status_reg()
1006 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_flash_wait_write_finish() local
1016 ql_log(ql_log_warn, vha, 0xb00d, in qla82xx_flash_wait_write_finish()
1044 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_write_status_reg() local
1050 ql_log(ql_log_warn, vha, 0xb00e, in qla82xx_write_status_reg()
1060 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_write_disable_flash() local
1063 ql_log(ql_log_warn, vha, 0xb00f, in qla82xx_write_disable_flash()
1075 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in ql82xx_rom_lock_d() local
1084 ql_log(ql_log_warn, vha, 0xb010, in ql82xx_rom_lock_d()
1096 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_write_flash_dword() local
1100 ql_log(ql_log_warn, vha, 0xb011, in qla82xx_write_flash_dword()
1114 ql_log(ql_log_warn, vha, 0xb012, in qla82xx_write_flash_dword()
1131 qla82xx_pinit_from_rom(scsi_qla_host_t *vha) in qla82xx_pinit_from_rom() argument
1138 struct qla_hw_data *ha = vha->hw; in qla82xx_pinit_from_rom()
1193 if (test_bit(ABORT_ISP_ACTIVE, &vha->dpc_flags)) in qla82xx_pinit_from_rom()
1207 ql_log(ql_log_fatal, vha, 0x006e, in qla82xx_pinit_from_rom()
1220 ql_log(ql_log_fatal, vha, 0x0071, in qla82xx_pinit_from_rom()
1225 ql_log(ql_log_info, vha, 0x0072, in qla82xx_pinit_from_rom()
1230 ql_log(ql_log_fatal, vha, 0x010c, in qla82xx_pinit_from_rom()
1282 ql_log(ql_log_fatal, vha, 0x0116, in qla82xx_pinit_from_rom()
1735 qla82xx_pci_config(scsi_qla_host_t *vha) in qla82xx_pci_config() argument
1737 struct qla_hw_data *ha = vha->hw; in qla82xx_pci_config()
1743 ql_dbg(ql_dbg_init, vha, 0x0043, in qla82xx_pci_config()
1756 qla82xx_reset_chip(scsi_qla_host_t *vha) in qla82xx_reset_chip() argument
1758 struct qla_hw_data *ha = vha->hw; in qla82xx_reset_chip()
1762 void qla82xx_config_rings(struct scsi_qla_host *vha) in qla82xx_config_rings() argument
1764 struct qla_hw_data *ha = vha->hw; in qla82xx_config_rings()
1871 qla82xx_validate_firmware_blob(scsi_qla_host_t *vha, uint8_t fw_type) in qla82xx_validate_firmware_blob() argument
1875 struct qla_hw_data *ha = vha->hw; in qla82xx_validate_firmware_blob()
1903 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_check_cmdpeg_state() local
1919 ql_log(ql_log_info, vha, 0x00a8, in qla82xx_check_cmdpeg_state()
1927 ql_log(ql_log_fatal, vha, 0x00a9, in qla82xx_check_cmdpeg_state()
1942 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_check_rcvpeg_state() local
1958 ql_log(ql_log_info, vha, 0x00ab, in qla82xx_check_rcvpeg_state()
1966 ql_log(ql_log_fatal, vha, 0x00ac, in qla82xx_check_rcvpeg_state()
1984 qla82xx_mbx_completion(scsi_qla_host_t *vha, uint16_t mb0) in qla82xx_mbx_completion() argument
1988 struct qla_hw_data *ha = vha->hw; in qla82xx_mbx_completion()
2002 ql_dbg(ql_dbg_async, vha, 0x5053, in qla82xx_mbx_completion()
2019 scsi_qla_host_t *vha; in qla82xx_intr_handler() local
2057 vha = pci_get_drvdata(ha->pdev); in qla82xx_intr_handler()
2068 qla82xx_mbx_completion(vha, MSW(stat)); in qla82xx_intr_handler()
2076 qla2x00_async_event(vha, rsp, mb); in qla82xx_intr_handler()
2079 qla24xx_process_response_queue(vha, rsp); in qla82xx_intr_handler()
2082 ql_dbg(ql_dbg_async, vha, 0x5054, in qla82xx_intr_handler()
2103 scsi_qla_host_t *vha; in qla82xx_msix_default() local
2124 vha = pci_get_drvdata(ha->pdev); in qla82xx_msix_default()
2127 if (qla2x00_check_reg32_for_disconnect(vha, host_int)) in qla82xx_msix_default()
2137 qla82xx_mbx_completion(vha, MSW(stat)); in qla82xx_msix_default()
2145 qla2x00_async_event(vha, rsp, mb); in qla82xx_msix_default()
2148 qla24xx_process_response_queue(vha, rsp); in qla82xx_msix_default()
2151 ql_dbg(ql_dbg_async, vha, 0x5041, in qla82xx_msix_default()
2169 scsi_qla_host_t *vha; in qla82xx_msix_rsp_q() local
2186 vha = pci_get_drvdata(ha->pdev); in qla82xx_msix_rsp_q()
2188 if (qla2x00_check_reg32_for_disconnect(vha, host_int)) in qla82xx_msix_rsp_q()
2190 qla24xx_process_response_queue(vha, rsp); in qla82xx_msix_rsp_q()
2200 scsi_qla_host_t *vha; in qla82xx_poll() local
2220 vha = pci_get_drvdata(ha->pdev); in qla82xx_poll()
2223 if (qla2x00_check_reg32_for_disconnect(vha, host_int)) in qla82xx_poll()
2232 qla82xx_mbx_completion(vha, MSW(stat)); in qla82xx_poll()
2240 qla2x00_async_event(vha, rsp, mb); in qla82xx_poll()
2243 qla24xx_process_response_queue(vha, rsp); in qla82xx_poll()
2246 ql_dbg(ql_dbg_p3p, vha, 0xb013, in qla82xx_poll()
2260 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_enable_intrs() local
2261 qla82xx_mbx_intr_enable(vha); in qla82xx_enable_intrs()
2274 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_disable_intrs() local
2275 qla82xx_mbx_intr_disable(vha); in qla82xx_disable_intrs()
2303 qla82xx_set_idc_version(scsi_qla_host_t *vha) in qla82xx_set_idc_version() argument
2307 struct qla_hw_data *ha = vha->hw; in qla82xx_set_idc_version()
2313 ql_log(ql_log_info, vha, 0xb082, in qla82xx_set_idc_version()
2318 ql_log(ql_log_info, vha, 0xb083, in qla82xx_set_idc_version()
2326 qla82xx_set_drv_active(scsi_qla_host_t *vha) in qla82xx_set_drv_active() argument
2329 struct qla_hw_data *ha = vha->hw; in qla82xx_set_drv_active()
2372 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_set_rst_ready() local
2382 ql_dbg(ql_dbg_init, vha, 0x00bb, in qla82xx_set_rst_ready()
2408 qla82xx_clear_qsnt_ready(scsi_qla_host_t *vha) in qla82xx_clear_qsnt_ready() argument
2410 struct qla_hw_data *ha = vha->hw; in qla82xx_clear_qsnt_ready()
2419 qla82xx_load_fw(scsi_qla_host_t *vha) in qla82xx_load_fw() argument
2423 struct qla_hw_data *ha = vha->hw; in qla82xx_load_fw()
2425 if (qla82xx_pinit_from_rom(vha) != QLA_SUCCESS) { in qla82xx_load_fw()
2426 ql_log(ql_log_fatal, vha, 0x009f, in qla82xx_load_fw()
2445 ql_log(ql_log_info, vha, 0x00a0, in qla82xx_load_fw()
2449 ql_log(ql_log_info, vha, 0x00a1, in qla82xx_load_fw()
2453 ql_log(ql_log_warn, vha, 0x0108, in qla82xx_load_fw()
2458 ql_log(ql_log_info, vha, 0x00a2, in qla82xx_load_fw()
2462 blob = ha->hablob = qla2x00_request_firmware(vha); in qla82xx_load_fw()
2464 ql_log(ql_log_fatal, vha, 0x00a3, in qla82xx_load_fw()
2470 if (qla82xx_validate_firmware_blob(vha, in qla82xx_load_fw()
2473 if (qla82xx_validate_firmware_blob(vha, in qla82xx_load_fw()
2475 ql_log(ql_log_fatal, vha, 0x00a4, in qla82xx_load_fw()
2482 ql_log(ql_log_info, vha, 0x00a5, in qla82xx_load_fw()
2487 ql_log(ql_log_fatal, vha, 0x00a6, in qla82xx_load_fw()
2497 qla82xx_start_firmware(scsi_qla_host_t *vha) in qla82xx_start_firmware() argument
2500 struct qla_hw_data *ha = vha->hw; in qla82xx_start_firmware()
2515 if (qla82xx_load_fw(vha) != QLA_SUCCESS) { in qla82xx_start_firmware()
2516 ql_log(ql_log_fatal, vha, 0x00a7, in qla82xx_start_firmware()
2523 ql_log(ql_log_fatal, vha, 0x00aa, in qla82xx_start_firmware()
2537 qla82xx_read_flash_data(scsi_qla_host_t *vha, uint32_t *dwptr, uint32_t faddr, in qla82xx_read_flash_data() argument
2542 struct qla_hw_data *ha = vha->hw; in qla82xx_read_flash_data()
2547 ql_log(ql_log_warn, vha, 0x0106, in qla82xx_read_flash_data()
2562 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_unprotect_flash() local
2566 ql_log(ql_log_warn, vha, 0xb014, in qla82xx_unprotect_flash()
2583 ql_log(ql_log_warn, vha, 0xb015, in qla82xx_unprotect_flash()
2596 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_protect_flash() local
2600 ql_log(ql_log_warn, vha, 0xb016, in qla82xx_protect_flash()
2613 ql_log(ql_log_warn, vha, 0xb017, in qla82xx_protect_flash()
2617 ql_log(ql_log_warn, vha, 0xb018, in qla82xx_protect_flash()
2628 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_erase_sector() local
2632 ql_log(ql_log_warn, vha, 0xb019, in qla82xx_erase_sector()
2643 ql_log(ql_log_warn, vha, 0xb01a, in qla82xx_erase_sector()
2658 qla82xx_read_optrom_data(struct scsi_qla_host *vha, uint8_t *buf, in qla82xx_read_optrom_data() argument
2661 scsi_block_requests(vha->host); in qla82xx_read_optrom_data()
2662 qla82xx_read_flash_data(vha, (uint32_t *)buf, offset, length); in qla82xx_read_optrom_data()
2663 scsi_unblock_requests(vha->host); in qla82xx_read_optrom_data()
2668 qla82xx_write_flash_data(struct scsi_qla_host *vha, uint32_t *dwptr, in qla82xx_write_flash_data() argument
2677 struct qla_hw_data *ha = vha->hw; in qla82xx_write_flash_data()
2687 ql_log(ql_log_warn, vha, 0xb01b, in qla82xx_write_flash_data()
2698 ql_log(ql_log_warn, vha, 0xb01c, in qla82xx_write_flash_data()
2709 ql_log(ql_log_warn, vha, 0xb01d, in qla82xx_write_flash_data()
2721 ret = qla2x00_load_ram(vha, optrom_dma, in qla82xx_write_flash_data()
2725 ql_log(ql_log_warn, vha, 0xb01e, in qla82xx_write_flash_data()
2730 ql_log(ql_log_warn, vha, 0xb01f, in qla82xx_write_flash_data()
2747 ql_dbg(ql_dbg_p3p, vha, 0xb020, in qla82xx_write_flash_data()
2756 ql_log(ql_log_warn, vha, 0xb021, in qla82xx_write_flash_data()
2766 qla82xx_write_optrom_data(struct scsi_qla_host *vha, uint8_t *buf, in qla82xx_write_optrom_data() argument
2772 scsi_block_requests(vha->host); in qla82xx_write_optrom_data()
2773 rval = qla82xx_write_flash_data(vha, (uint32_t *)buf, offset, in qla82xx_write_optrom_data()
2775 scsi_unblock_requests(vha->host); in qla82xx_write_optrom_data()
2786 qla82xx_start_iocbs(scsi_qla_host_t *vha) in qla82xx_start_iocbs() argument
2788 struct qla_hw_data *ha = vha->hw; in qla82xx_start_iocbs()
2818 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_rom_lock_recovery() local
2824 ql_log(ql_log_info, vha, 0xb022, in qla82xx_rom_lock_recovery()
2847 qla82xx_device_bootstrap(scsi_qla_host_t *vha) in qla82xx_device_bootstrap() argument
2852 struct qla_hw_data *ha = vha->hw; in qla82xx_device_bootstrap()
2875 ql_log(ql_log_info, vha, 0x009e, in qla82xx_device_bootstrap()
2880 rval = qla82xx_start_firmware(vha); in qla82xx_device_bootstrap()
2884 ql_log(ql_log_fatal, vha, 0x00ad, in qla82xx_device_bootstrap()
2892 ql_log(ql_log_info, vha, 0x00ae, in qla82xx_device_bootstrap()
2910 qla82xx_need_qsnt_handler(scsi_qla_host_t *vha) in qla82xx_need_qsnt_handler() argument
2912 struct qla_hw_data *ha = vha->hw; in qla82xx_need_qsnt_handler()
2916 if (vha->flags.online) { in qla82xx_need_qsnt_handler()
2918 qla2x00_quiesce_io(vha); in qla82xx_need_qsnt_handler()
2938 ql_log(ql_log_info, vha, 0xb023, in qla82xx_need_qsnt_handler()
2944 ql_log(ql_log_info, vha, 0xb025, in qla82xx_need_qsnt_handler()
2947 qla2x00_perform_loop_resync(vha); in qla82xx_need_qsnt_handler()
2950 qla82xx_clear_qsnt_ready(vha); in qla82xx_need_qsnt_handler()
2965 ql_log(ql_log_info, vha, 0xb026, in qla82xx_need_qsnt_handler()
2982 qla82xx_wait_for_state_change(scsi_qla_host_t *vha, uint32_t curr_state) in qla82xx_wait_for_state_change() argument
2984 struct qla_hw_data *ha = vha->hw; in qla82xx_wait_for_state_change()
2998 qla8xxx_dev_failed_handler(scsi_qla_host_t *vha) in qla8xxx_dev_failed_handler() argument
3000 struct qla_hw_data *ha = vha->hw; in qla8xxx_dev_failed_handler()
3003 ql_log(ql_log_fatal, vha, 0x00b8, in qla8xxx_dev_failed_handler()
3015 vha->device_flags |= DFLG_DEV_FAILED; in qla8xxx_dev_failed_handler()
3016 qla2x00_abort_all_cmds(vha, DID_NO_CONNECT << 16); in qla8xxx_dev_failed_handler()
3017 qla2x00_mark_all_devices_lost(vha, 0); in qla8xxx_dev_failed_handler()
3018 vha->flags.online = 0; in qla8xxx_dev_failed_handler()
3019 vha->flags.init_done = 0; in qla8xxx_dev_failed_handler()
3034 qla82xx_need_reset_handler(scsi_qla_host_t *vha) in qla82xx_need_reset_handler() argument
3039 struct qla_hw_data *ha = vha->hw; in qla82xx_need_reset_handler()
3042 if (vha->flags.online) { in qla82xx_need_reset_handler()
3044 qla2x00_abort_isp_cleanup(vha); in qla82xx_need_reset_handler()
3045 ha->isp_ops->get_flash_version(vha, req->ring); in qla82xx_need_reset_handler()
3046 ha->isp_ops->nvram_config(vha); in qla82xx_need_reset_handler()
3052 ql_dbg(ql_dbg_p3p, vha, 0xb028, in qla82xx_need_reset_handler()
3058 ql_dbg(ql_dbg_p3p, vha, 0xb029, in qla82xx_need_reset_handler()
3069 ql_dbg(ql_dbg_p3p, vha, 0xb02a, in qla82xx_need_reset_handler()
3077 ql_log(ql_log_warn, vha, 0x00b5, in qla82xx_need_reset_handler()
3091 ql_dbg(ql_dbg_p3p, vha, 0xb02b, in qla82xx_need_reset_handler()
3096 ql_log(ql_log_info, vha, 0x00b6, in qla82xx_need_reset_handler()
3104 ql_log(ql_log_info, vha, 0x00b7, in qla82xx_need_reset_handler()
3109 if (qla82xx_md_collect(vha)) in qla82xx_need_reset_handler()
3110 ql_log(ql_log_warn, vha, 0xb02c, in qla82xx_need_reset_handler()
3113 ql_log(ql_log_warn, vha, 0xb04f, in qla82xx_need_reset_handler()
3119 qla82xx_check_md_needed(scsi_qla_host_t *vha) in qla82xx_check_md_needed() argument
3121 struct qla_hw_data *ha = vha->hw; in qla82xx_check_md_needed()
3129 rval = qla2x00_get_fw_version(vha); in qla82xx_check_md_needed()
3139 ql_dbg(ql_dbg_p3p, vha, 0xb02d, in qla82xx_check_md_needed()
3148 qla82xx_md_free(vha); in qla82xx_check_md_needed()
3150 qla82xx_md_prep(vha); in qla82xx_check_md_needed()
3153 ql_log(ql_log_info, vha, 0xb02e, in qla82xx_check_md_needed()
3161 qla82xx_check_fw_alive(scsi_qla_host_t *vha) in qla82xx_check_fw_alive() argument
3166 fw_heartbeat_counter = qla82xx_rd_32(vha->hw, in qla82xx_check_fw_alive()
3170 ql_dbg(ql_dbg_timer, vha, 0x6003, in qla82xx_check_fw_alive()
3175 if (vha->fw_heartbeat_counter == fw_heartbeat_counter) { in qla82xx_check_fw_alive()
3176 vha->seconds_since_last_heartbeat++; in qla82xx_check_fw_alive()
3178 if (vha->seconds_since_last_heartbeat == 2) { in qla82xx_check_fw_alive()
3179 vha->seconds_since_last_heartbeat = 0; in qla82xx_check_fw_alive()
3183 vha->seconds_since_last_heartbeat = 0; in qla82xx_check_fw_alive()
3184 vha->fw_heartbeat_counter = fw_heartbeat_counter; in qla82xx_check_fw_alive()
3186 ql_dbg(ql_dbg_timer, vha, 0x6004, in qla82xx_check_fw_alive()
3203 qla82xx_device_state_handler(scsi_qla_host_t *vha) in qla82xx_device_state_handler() argument
3209 struct qla_hw_data *ha = vha->hw; in qla82xx_device_state_handler()
3213 if (!vha->flags.init_done) { in qla82xx_device_state_handler()
3214 qla82xx_set_drv_active(vha); in qla82xx_device_state_handler()
3215 qla82xx_set_idc_version(vha); in qla82xx_device_state_handler()
3220 ql_log(ql_log_info, vha, 0x009b, in qla82xx_device_state_handler()
3231 ql_log(ql_log_fatal, vha, 0x009c, in qla82xx_device_state_handler()
3242 ql_log(ql_log_info, vha, 0x009d, in qla82xx_device_state_handler()
3254 rval = qla82xx_device_bootstrap(vha); in qla82xx_device_state_handler()
3263 qla82xx_need_reset_handler(vha); in qla82xx_device_state_handler()
3273 qla82xx_need_qsnt_handler(vha); in qla82xx_device_state_handler()
3294 qla8xxx_dev_failed_handler(vha); in qla82xx_device_state_handler()
3310 static int qla82xx_check_temp(scsi_qla_host_t *vha) in qla82xx_check_temp() argument
3313 struct qla_hw_data *ha = vha->hw; in qla82xx_check_temp()
3320 ql_log(ql_log_warn, vha, 0x600e, in qla82xx_check_temp()
3326 ql_log(ql_log_warn, vha, 0x600f, in qla82xx_check_temp()
3334 int qla82xx_read_temperature(scsi_qla_host_t *vha) in qla82xx_read_temperature() argument
3338 temp = qla82xx_rd_32(vha->hw, CRB_TEMP_STATE); in qla82xx_read_temperature()
3342 void qla82xx_clear_pending_mbx(scsi_qla_host_t *vha) in qla82xx_clear_pending_mbx() argument
3344 struct qla_hw_data *ha = vha->hw; in qla82xx_clear_pending_mbx()
3349 ql_log(ql_log_warn, vha, 0x6010, in qla82xx_clear_pending_mbx()
3356 void qla82xx_watchdog(scsi_qla_host_t *vha) in qla82xx_watchdog() argument
3359 struct qla_hw_data *ha = vha->hw; in qla82xx_watchdog()
3364 if (qla82xx_check_temp(vha)) { in qla82xx_watchdog()
3365 set_bit(ISP_UNRECOVERABLE, &vha->dpc_flags); in qla82xx_watchdog()
3367 qla82xx_clear_pending_mbx(vha); in qla82xx_watchdog()
3369 !test_bit(ISP_ABORT_NEEDED, &vha->dpc_flags)) { in qla82xx_watchdog()
3370 ql_log(ql_log_warn, vha, 0x6001, in qla82xx_watchdog()
3372 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla82xx_watchdog()
3374 !test_bit(ISP_QUIESCE_NEEDED, &vha->dpc_flags)) { in qla82xx_watchdog()
3375 ql_log(ql_log_warn, vha, 0x6002, in qla82xx_watchdog()
3377 set_bit(ISP_QUIESCE_NEEDED, &vha->dpc_flags); in qla82xx_watchdog()
3379 !test_bit(ISP_UNRECOVERABLE, &vha->dpc_flags) && in qla82xx_watchdog()
3380 vha->flags.online == 1) { in qla82xx_watchdog()
3381 ql_log(ql_log_warn, vha, 0xb055, in qla82xx_watchdog()
3383 set_bit(ISP_UNRECOVERABLE, &vha->dpc_flags); in qla82xx_watchdog()
3385 qla82xx_clear_pending_mbx(vha); in qla82xx_watchdog()
3387 if (qla82xx_check_fw_alive(vha)) { in qla82xx_watchdog()
3388 ql_dbg(ql_dbg_timer, vha, 0x6011, in qla82xx_watchdog()
3394 ql_log(ql_log_info, vha, 0x6005, in qla82xx_watchdog()
3412 ql_log(ql_log_warn, vha, 0xb052, in qla82xx_watchdog()
3418 &vha->dpc_flags); in qla82xx_watchdog()
3420 ql_log(ql_log_info, vha, 0x6006, in qla82xx_watchdog()
3423 &vha->dpc_flags); in qla82xx_watchdog()
3426 ql_log(ql_log_warn, vha, 0x6007, "Firmware hung.\n"); in qla82xx_watchdog()
3427 qla82xx_clear_pending_mbx(vha); in qla82xx_watchdog()
3433 int qla82xx_load_risc(scsi_qla_host_t *vha, uint32_t *srisc_addr) in qla82xx_load_risc() argument
3436 struct qla_hw_data *ha = vha->hw; in qla82xx_load_risc()
3439 rval = qla82xx_device_state_handler(vha); in qla82xx_load_risc()
3443 qla83xx_reset_ownership(vha); in qla82xx_load_risc()
3445 rval = qla8044_device_state_handler(vha); in qla82xx_load_risc()
3451 qla82xx_set_reset_owner(scsi_qla_host_t *vha) in qla82xx_set_reset_owner() argument
3453 struct qla_hw_data *ha = vha->hw; in qla82xx_set_reset_owner()
3459 dev_state = qla8044_rd_direct(vha, QLA8044_CRB_DEV_STATE_INDEX); in qla82xx_set_reset_owner()
3462 ql_log(ql_log_info, vha, 0xb02f, in qla82xx_set_reset_owner()
3468 ql_dbg(ql_dbg_p3p, vha, 0xb030, in qla82xx_set_reset_owner()
3471 qla8044_wr_direct(vha, QLA8044_CRB_DEV_STATE_INDEX, in qla82xx_set_reset_owner()
3474 ql_log(ql_log_info, vha, 0xb031, in qla82xx_set_reset_owner()
3491 qla82xx_abort_isp(scsi_qla_host_t *vha) in qla82xx_abort_isp() argument
3494 struct qla_hw_data *ha = vha->hw; in qla82xx_abort_isp()
3496 if (vha->device_flags & DFLG_DEV_FAILED) { in qla82xx_abort_isp()
3497 ql_log(ql_log_warn, vha, 0x8024, in qla82xx_abort_isp()
3504 qla82xx_set_reset_owner(vha); in qla82xx_abort_isp()
3508 rval = qla82xx_device_state_handler(vha); in qla82xx_abort_isp()
3512 qla83xx_reset_ownership(vha); in qla82xx_abort_isp()
3514 rval = qla8044_device_state_handler(vha); in qla82xx_abort_isp()
3524 qla82xx_restart_isp(vha); in qla82xx_abort_isp()
3528 vha->flags.online = 1; in qla82xx_abort_isp()
3529 if (test_bit(ISP_ABORT_RETRY, &vha->dpc_flags)) { in qla82xx_abort_isp()
3531 ql_log(ql_log_warn, vha, 0x8027, in qla82xx_abort_isp()
3538 ha->isp_ops->reset_adapter(vha); in qla82xx_abort_isp()
3539 vha->flags.online = 0; in qla82xx_abort_isp()
3541 &vha->dpc_flags); in qla82xx_abort_isp()
3545 ql_log(ql_log_warn, vha, 0x8036, in qla82xx_abort_isp()
3552 ql_dbg(ql_dbg_taskm, vha, 0x8029, in qla82xx_abort_isp()
3555 set_bit(ISP_ABORT_RETRY, &vha->dpc_flags); in qla82xx_abort_isp()
3575 int qla82xx_fcoe_ctx_reset(scsi_qla_host_t *vha) in qla82xx_fcoe_ctx_reset() argument
3579 if (vha->flags.online) { in qla82xx_fcoe_ctx_reset()
3581 qla2x00_abort_isp_cleanup(vha); in qla82xx_fcoe_ctx_reset()
3587 qla2x00_try_to_stop_firmware(vha); in qla82xx_fcoe_ctx_reset()
3590 rval = qla82xx_restart_isp(vha); in qla82xx_fcoe_ctx_reset()
3607 int qla2x00_wait_for_fcoe_ctx_reset(scsi_qla_host_t *vha) in qla2x00_wait_for_fcoe_ctx_reset() argument
3613 while ((test_bit(FCOE_CTX_RESET_NEEDED, &vha->dpc_flags) || in qla2x00_wait_for_fcoe_ctx_reset()
3614 test_bit(ABORT_ISP_ACTIVE, &vha->dpc_flags)) in qla2x00_wait_for_fcoe_ctx_reset()
3620 if (!test_bit(FCOE_CTX_RESET_NEEDED, &vha->dpc_flags) && in qla2x00_wait_for_fcoe_ctx_reset()
3621 !test_bit(ABORT_ISP_ACTIVE, &vha->dpc_flags)) { in qla2x00_wait_for_fcoe_ctx_reset()
3626 ql_dbg(ql_dbg_p3p, vha, 0xb027, in qla2x00_wait_for_fcoe_ctx_reset()
3633 qla82xx_chip_reset_cleanup(scsi_qla_host_t *vha) in qla82xx_chip_reset_cleanup() argument
3637 struct qla_hw_data *ha = vha->hw; in qla82xx_chip_reset_cleanup()
3647 fw_state = qla82xx_check_fw_alive(vha); in qla82xx_chip_reset_cleanup()
3649 fw_state = qla8044_check_fw_alive(vha); in qla82xx_chip_reset_cleanup()
3652 qla82xx_clear_pending_mbx(vha); in qla82xx_chip_reset_cleanup()
3657 ql_dbg(ql_dbg_init, vha, 0x00b0, in qla82xx_chip_reset_cleanup()
3682 ql_log(ql_log_info, vha, in qla82xx_chip_reset_cleanup()
3686 ql_log(ql_log_info, vha, in qla82xx_chip_reset_cleanup()
3698 if (!qla2x00_eh_wait_for_pending_commands(vha, 0, 0, in qla82xx_chip_reset_cleanup()
3700 ql_dbg(ql_dbg_init, vha, 0x00b3, in qla82xx_chip_reset_cleanup()
3709 qla82xx_minidump_process_control(scsi_qla_host_t *vha, in qla82xx_minidump_process_control() argument
3712 struct qla_hw_data *ha = vha->hw; in qla82xx_minidump_process_control()
3826 qla82xx_minidump_process_rdocm(scsi_qla_host_t *vha, in qla82xx_minidump_process_rdocm() argument
3829 struct qla_hw_data *ha = vha->hw; in qla82xx_minidump_process_rdocm()
3848 qla82xx_minidump_process_rdmux(scsi_qla_host_t *vha, in qla82xx_minidump_process_rdmux() argument
3851 struct qla_hw_data *ha = vha->hw; in qla82xx_minidump_process_rdmux()
3874 qla82xx_minidump_process_rdcrb(scsi_qla_host_t *vha, in qla82xx_minidump_process_rdcrb() argument
3877 struct qla_hw_data *ha = vha->hw; in qla82xx_minidump_process_rdcrb()
3897 qla82xx_minidump_process_l2tag(scsi_qla_host_t *vha, in qla82xx_minidump_process_l2tag() argument
3900 struct qla_hw_data *ha = vha->hw; in qla82xx_minidump_process_l2tag()
3934 ql_dbg(ql_dbg_p3p, vha, 0xb032, in qla82xx_minidump_process_l2tag()
3956 qla82xx_minidump_process_l1cache(scsi_qla_host_t *vha, in qla82xx_minidump_process_l1cache() argument
3959 struct qla_hw_data *ha = vha->hw; in qla82xx_minidump_process_l1cache()
3991 qla82xx_minidump_process_queue(scsi_qla_host_t *vha, in qla82xx_minidump_process_queue() argument
3994 struct qla_hw_data *ha = vha->hw; in qla82xx_minidump_process_queue()
4021 qla82xx_minidump_process_rdrom(scsi_qla_host_t *vha, in qla82xx_minidump_process_rdrom() argument
4024 struct qla_hw_data *ha = vha->hw; in qla82xx_minidump_process_rdrom()
4047 qla82xx_minidump_process_rdmem(scsi_qla_host_t *vha, in qla82xx_minidump_process_rdmem() argument
4050 struct qla_hw_data *ha = vha->hw; in qla82xx_minidump_process_rdmem()
4063 ql_log(ql_log_warn, vha, 0xb033, in qla82xx_minidump_process_rdmem()
4069 ql_log(ql_log_warn, vha, 0xb034, in qla82xx_minidump_process_rdmem()
4075 ql_dbg(ql_dbg_p3p, vha, 0xb035, in qla82xx_minidump_process_rdmem()
4116 qla82xx_validate_template_chksum(scsi_qla_host_t *vha) in qla82xx_validate_template_chksum() argument
4118 struct qla_hw_data *ha = vha->hw; in qla82xx_validate_template_chksum()
4131 qla82xx_mark_entry_skipped(scsi_qla_host_t *vha, in qla82xx_mark_entry_skipped() argument
4135 ql_dbg(ql_dbg_p3p, vha, 0xb036, in qla82xx_mark_entry_skipped()
4143 qla82xx_md_collect(scsi_qla_host_t *vha) in qla82xx_md_collect() argument
4145 struct qla_hw_data *ha = vha->hw; in qla82xx_md_collect()
4157 ql_log(ql_log_warn, vha, 0xb037, in qla82xx_md_collect()
4166 ql_log(ql_log_warn, vha, 0xb038, in qla82xx_md_collect()
4172 ql_log(ql_log_warn, vha, 0xb054, in qla82xx_md_collect()
4179 if (qla82xx_validate_template_chksum(vha)) { in qla82xx_md_collect()
4180 ql_log(ql_log_info, vha, 0xb039, in qla82xx_md_collect()
4186 ql_dbg(ql_dbg_p3p, vha, 0xb03a, in qla82xx_md_collect()
4189 ql_dbg(ql_dbg_p3p, vha, 0xb03b, in qla82xx_md_collect()
4196 ql_log(ql_log_warn, vha, 0xb03c, in qla82xx_md_collect()
4203 tmplt_hdr->driver_info[0] = vha->host_no; in qla82xx_md_collect()
4210 ql_dbg(ql_dbg_p3p, vha, 0xb03d, in qla82xx_md_collect()
4215 ql_log(ql_log_warn, vha, 0xb04e, in qla82xx_md_collect()
4228 ql_log(ql_log_warn, vha, 0xb03e, in qla82xx_md_collect()
4238 ql_dbg(ql_dbg_p3p, vha, 0xb03f, in qla82xx_md_collect()
4246 ql_dbg(ql_dbg_p3p, vha, 0xb040, in qla82xx_md_collect()
4253 ql_dbg(ql_dbg_p3p, vha, 0xb041, in qla82xx_md_collect()
4261 qla82xx_mark_entry_skipped(vha, entry_hdr, i); in qla82xx_md_collect()
4264 rval = qla82xx_minidump_process_control(vha, in qla82xx_md_collect()
4267 qla82xx_mark_entry_skipped(vha, entry_hdr, i); in qla82xx_md_collect()
4272 qla82xx_minidump_process_rdcrb(vha, in qla82xx_md_collect()
4276 rval = qla82xx_minidump_process_rdmem(vha, in qla82xx_md_collect()
4279 qla82xx_mark_entry_skipped(vha, entry_hdr, i); in qla82xx_md_collect()
4285 qla82xx_minidump_process_rdrom(vha, in qla82xx_md_collect()
4292 rval = qla82xx_minidump_process_l2tag(vha, in qla82xx_md_collect()
4295 qla82xx_mark_entry_skipped(vha, entry_hdr, i); in qla82xx_md_collect()
4301 qla82xx_minidump_process_l1cache(vha, in qla82xx_md_collect()
4305 qla82xx_minidump_process_rdocm(vha, in qla82xx_md_collect()
4309 qla82xx_minidump_process_rdmux(vha, in qla82xx_md_collect()
4313 qla82xx_minidump_process_queue(vha, in qla82xx_md_collect()
4318 qla82xx_mark_entry_skipped(vha, entry_hdr, i); in qla82xx_md_collect()
4322 ql_dbg(ql_dbg_p3p, vha, 0xb042, in qla82xx_md_collect()
4333 ql_dbg(ql_dbg_p3p, vha, 0xb043, in qla82xx_md_collect()
4340 ql_log(ql_log_info, vha, 0xb044, in qla82xx_md_collect()
4342 vha->host_no, ha->md_tmplt_hdr, vha->host_no, ha->md_dump); in qla82xx_md_collect()
4344 qla2x00_post_uevent_work(vha, QLA_UEVENT_CODE_FW_DUMP); in qla82xx_md_collect()
4351 qla82xx_md_alloc(scsi_qla_host_t *vha) in qla82xx_md_alloc() argument
4353 struct qla_hw_data *ha = vha->hw; in qla82xx_md_alloc()
4361 ql_log(ql_log_info, vha, 0xb045, in qla82xx_md_alloc()
4372 ql_log(ql_log_warn, vha, 0xb046, in qla82xx_md_alloc()
4379 ql_log(ql_log_warn, vha, 0xb047, in qla82xx_md_alloc()
4388 qla82xx_md_free(scsi_qla_host_t *vha) in qla82xx_md_free() argument
4390 struct qla_hw_data *ha = vha->hw; in qla82xx_md_free()
4394 ql_log(ql_log_info, vha, 0xb048, in qla82xx_md_free()
4404 ql_log(ql_log_info, vha, 0xb049, in qla82xx_md_free()
4414 qla82xx_md_prep(scsi_qla_host_t *vha) in qla82xx_md_prep() argument
4416 struct qla_hw_data *ha = vha->hw; in qla82xx_md_prep()
4420 rval = qla82xx_md_get_template_size(vha); in qla82xx_md_prep()
4422 ql_log(ql_log_info, vha, 0xb04a, in qla82xx_md_prep()
4428 rval = qla8044_md_get_template(vha); in qla82xx_md_prep()
4430 rval = qla82xx_md_get_template(vha); in qla82xx_md_prep()
4433 ql_dbg(ql_dbg_p3p, vha, 0xb04b, in qla82xx_md_prep()
4437 rval = qla82xx_md_alloc(vha); in qla82xx_md_prep()
4439 ql_log(ql_log_info, vha, 0xb04c, in qla82xx_md_prep()
4443 ql_log(ql_log_info, vha, 0xb04d, in qla82xx_md_prep()
4458 qla82xx_beacon_on(struct scsi_qla_host *vha) in qla82xx_beacon_on() argument
4462 struct qla_hw_data *ha = vha->hw; in qla82xx_beacon_on()
4464 rval = qla82xx_mbx_beacon_ctl(vha, 1); in qla82xx_beacon_on()
4467 ql_log(ql_log_warn, vha, 0xb050, in qla82xx_beacon_on()
4478 qla82xx_beacon_off(struct scsi_qla_host *vha) in qla82xx_beacon_off() argument
4482 struct qla_hw_data *ha = vha->hw; in qla82xx_beacon_off()
4484 rval = qla82xx_mbx_beacon_ctl(vha, 0); in qla82xx_beacon_off()
4487 ql_log(ql_log_warn, vha, 0xb051, in qla82xx_beacon_off()
4498 qla82xx_fw_dump(scsi_qla_host_t *vha, int hardware_locked) in qla82xx_fw_dump() argument
4500 struct qla_hw_data *ha = vha->hw; in qla82xx_fw_dump()
4505 scsi_block_requests(vha->host); in qla82xx_fw_dump()
4508 qla82xx_set_reset_owner(vha); in qla82xx_fw_dump()
4510 qla2x00_wait_for_chip_reset(vha); in qla82xx_fw_dump()
4511 scsi_unblock_requests(vha->host); in qla82xx_fw_dump()