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()
547 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_pci_set_window() local
559 ql_dbg(ql_dbg_p3p, vha, 0xb003, in qla82xx_pci_set_window()
569 ql_log(ql_log_warn, vha, 0xb004, in qla82xx_pci_set_window()
582 ql_log(ql_log_warn, vha, 0xb005, in qla82xx_pci_set_window()
598 ql_log(ql_log_warn, vha, 0xb006, in qla82xx_pci_set_window()
610 ql_log(ql_log_warn, vha, 0xb007, in qla82xx_pci_set_window()
657 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_pci_mem_read_direct() local
669 ql_log(ql_log_fatal, vha, 0xb008, in qla82xx_pci_mem_read_direct()
729 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_pci_mem_write_direct() local
741 ql_log(ql_log_fatal, vha, 0xb009, in qla82xx_pci_mem_write_direct()
821 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_rom_lock() local
830 ql_dbg(ql_dbg_p3p, vha, 0xb157, in qla82xx_rom_lock()
853 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_wait_rom_busy() local
860 ql_dbg(ql_dbg_p3p, vha, 0xb00a, in qla82xx_wait_rom_busy()
874 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_wait_rom_done() local
881 ql_dbg(ql_dbg_p3p, vha, 0xb00b, in qla82xx_wait_rom_done()
927 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_rom_fast_read() local
936 ql_log(ql_log_fatal, vha, 0x00b9, in qla82xx_rom_fast_read()
949 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_read_status_reg() local
954 ql_log(ql_log_warn, vha, 0xb00c, in qla82xx_read_status_reg()
967 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_flash_wait_write_finish() local
977 ql_log(ql_log_warn, vha, 0xb00d, in qla82xx_flash_wait_write_finish()
1003 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_write_status_reg() local
1010 ql_log(ql_log_warn, vha, 0xb00e, in qla82xx_write_status_reg()
1020 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_write_disable_flash() local
1024 ql_log(ql_log_warn, vha, 0xb00f, in qla82xx_write_disable_flash()
1036 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in ql82xx_rom_lock_d() local
1045 ql_log(ql_log_warn, vha, 0xb010, in ql82xx_rom_lock_d()
1057 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_write_flash_dword() local
1061 ql_log(ql_log_warn, vha, 0xb011, in qla82xx_write_flash_dword()
1076 ql_log(ql_log_warn, vha, 0xb012, in qla82xx_write_flash_dword()
1093 qla82xx_pinit_from_rom(scsi_qla_host_t *vha) in qla82xx_pinit_from_rom() argument
1100 struct qla_hw_data *ha = vha->hw; in qla82xx_pinit_from_rom()
1150 if (test_bit(ABORT_ISP_ACTIVE, &vha->dpc_flags)) in qla82xx_pinit_from_rom()
1165 ql_log(ql_log_fatal, vha, 0x006e, in qla82xx_pinit_from_rom()
1178 ql_log(ql_log_fatal, vha, 0x0071, in qla82xx_pinit_from_rom()
1183 ql_log(ql_log_info, vha, 0x0072, in qla82xx_pinit_from_rom()
1188 ql_log(ql_log_fatal, vha, 0x010c, in qla82xx_pinit_from_rom()
1240 ql_log(ql_log_fatal, vha, 0x0116, in qla82xx_pinit_from_rom()
1675 qla82xx_pci_config(scsi_qla_host_t *vha) in qla82xx_pci_config() argument
1677 struct qla_hw_data *ha = vha->hw; in qla82xx_pci_config()
1683 ql_dbg(ql_dbg_init, vha, 0x0043, in qla82xx_pci_config()
1696 qla82xx_reset_chip(scsi_qla_host_t *vha) in qla82xx_reset_chip() argument
1698 struct qla_hw_data *ha = vha->hw; in qla82xx_reset_chip()
1705 void qla82xx_config_rings(struct scsi_qla_host *vha) in qla82xx_config_rings() argument
1707 struct qla_hw_data *ha = vha->hw; in qla82xx_config_rings()
1812 qla82xx_validate_firmware_blob(scsi_qla_host_t *vha, uint8_t fw_type) in qla82xx_validate_firmware_blob() argument
1816 struct qla_hw_data *ha = vha->hw; in qla82xx_validate_firmware_blob()
1844 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_check_cmdpeg_state() local
1860 ql_log(ql_log_info, vha, 0x00a8, in qla82xx_check_cmdpeg_state()
1868 ql_log(ql_log_fatal, vha, 0x00a9, in qla82xx_check_cmdpeg_state()
1883 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_check_rcvpeg_state() local
1899 ql_log(ql_log_info, vha, 0x00ab, in qla82xx_check_rcvpeg_state()
1907 ql_log(ql_log_fatal, vha, 0x00ac, in qla82xx_check_rcvpeg_state()
1925 qla82xx_mbx_completion(scsi_qla_host_t *vha, uint16_t mb0) in qla82xx_mbx_completion() argument
1929 struct qla_hw_data *ha = vha->hw; in qla82xx_mbx_completion()
1944 ql_dbg(ql_dbg_async, vha, 0x5053, in qla82xx_mbx_completion()
1960 scsi_qla_host_t *vha; in qla82xx_intr_handler() local
1998 vha = pci_get_drvdata(ha->pdev); in qla82xx_intr_handler()
2009 qla82xx_mbx_completion(vha, MSW(stat)); in qla82xx_intr_handler()
2017 qla2x00_async_event(vha, rsp, mb); in qla82xx_intr_handler()
2020 qla24xx_process_response_queue(vha, rsp); in qla82xx_intr_handler()
2023 ql_dbg(ql_dbg_async, vha, 0x5054, in qla82xx_intr_handler()
2044 scsi_qla_host_t *vha; in qla82xx_msix_default() local
2065 vha = pci_get_drvdata(ha->pdev); in qla82xx_msix_default()
2068 if (qla2x00_check_reg32_for_disconnect(vha, host_int)) in qla82xx_msix_default()
2078 qla82xx_mbx_completion(vha, MSW(stat)); in qla82xx_msix_default()
2086 qla2x00_async_event(vha, rsp, mb); in qla82xx_msix_default()
2089 qla24xx_process_response_queue(vha, rsp); in qla82xx_msix_default()
2092 ql_dbg(ql_dbg_async, vha, 0x5041, in qla82xx_msix_default()
2110 scsi_qla_host_t *vha; in qla82xx_msix_rsp_q() local
2127 vha = pci_get_drvdata(ha->pdev); in qla82xx_msix_rsp_q()
2129 if (qla2x00_check_reg32_for_disconnect(vha, host_int)) in qla82xx_msix_rsp_q()
2131 qla24xx_process_response_queue(vha, rsp); in qla82xx_msix_rsp_q()
2141 scsi_qla_host_t *vha; in qla82xx_poll() local
2160 vha = pci_get_drvdata(ha->pdev); in qla82xx_poll()
2163 if (qla2x00_check_reg32_for_disconnect(vha, host_int)) in qla82xx_poll()
2172 qla82xx_mbx_completion(vha, MSW(stat)); in qla82xx_poll()
2179 qla2x00_async_event(vha, rsp, mb); in qla82xx_poll()
2182 qla24xx_process_response_queue(vha, rsp); in qla82xx_poll()
2185 ql_dbg(ql_dbg_p3p, vha, 0xb013, in qla82xx_poll()
2199 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_enable_intrs() local
2201 qla82xx_mbx_intr_enable(vha); in qla82xx_enable_intrs()
2214 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_disable_intrs() local
2217 qla82xx_mbx_intr_disable(vha); in qla82xx_disable_intrs()
2246 qla82xx_set_idc_version(scsi_qla_host_t *vha) in qla82xx_set_idc_version() argument
2250 struct qla_hw_data *ha = vha->hw; in qla82xx_set_idc_version()
2256 ql_log(ql_log_info, vha, 0xb082, in qla82xx_set_idc_version()
2261 ql_log(ql_log_info, vha, 0xb083, in qla82xx_set_idc_version()
2269 qla82xx_set_drv_active(scsi_qla_host_t *vha) in qla82xx_set_drv_active() argument
2272 struct qla_hw_data *ha = vha->hw; in qla82xx_set_drv_active()
2315 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_set_rst_ready() local
2325 ql_dbg(ql_dbg_init, vha, 0x00bb, in qla82xx_set_rst_ready()
2351 qla82xx_clear_qsnt_ready(scsi_qla_host_t *vha) in qla82xx_clear_qsnt_ready() argument
2353 struct qla_hw_data *ha = vha->hw; in qla82xx_clear_qsnt_ready()
2362 qla82xx_load_fw(scsi_qla_host_t *vha) in qla82xx_load_fw() argument
2366 struct qla_hw_data *ha = vha->hw; in qla82xx_load_fw()
2368 if (qla82xx_pinit_from_rom(vha) != QLA_SUCCESS) { in qla82xx_load_fw()
2369 ql_log(ql_log_fatal, vha, 0x009f, in qla82xx_load_fw()
2388 ql_log(ql_log_info, vha, 0x00a0, in qla82xx_load_fw()
2392 ql_log(ql_log_info, vha, 0x00a1, in qla82xx_load_fw()
2396 ql_log(ql_log_warn, vha, 0x0108, in qla82xx_load_fw()
2401 ql_log(ql_log_info, vha, 0x00a2, in qla82xx_load_fw()
2405 blob = ha->hablob = qla2x00_request_firmware(vha); in qla82xx_load_fw()
2407 ql_log(ql_log_fatal, vha, 0x00a3, in qla82xx_load_fw()
2413 if (qla82xx_validate_firmware_blob(vha, in qla82xx_load_fw()
2416 if (qla82xx_validate_firmware_blob(vha, in qla82xx_load_fw()
2418 ql_log(ql_log_fatal, vha, 0x00a4, in qla82xx_load_fw()
2425 ql_log(ql_log_info, vha, 0x00a5, in qla82xx_load_fw()
2430 ql_log(ql_log_fatal, vha, 0x00a6, in qla82xx_load_fw()
2440 qla82xx_start_firmware(scsi_qla_host_t *vha) in qla82xx_start_firmware() argument
2443 struct qla_hw_data *ha = vha->hw; in qla82xx_start_firmware()
2458 if (qla82xx_load_fw(vha) != QLA_SUCCESS) { in qla82xx_start_firmware()
2459 ql_log(ql_log_fatal, vha, 0x00a7, in qla82xx_start_firmware()
2466 ql_log(ql_log_fatal, vha, 0x00aa, in qla82xx_start_firmware()
2480 qla82xx_read_flash_data(scsi_qla_host_t *vha, __le32 *dwptr, uint32_t faddr, in qla82xx_read_flash_data() argument
2485 struct qla_hw_data *ha = vha->hw; in qla82xx_read_flash_data()
2490 ql_log(ql_log_warn, vha, 0x0106, in qla82xx_read_flash_data()
2505 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_unprotect_flash() local
2509 ql_log(ql_log_warn, vha, 0xb014, in qla82xx_unprotect_flash()
2526 ql_log(ql_log_warn, vha, 0xb015, in qla82xx_unprotect_flash()
2539 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_protect_flash() local
2543 ql_log(ql_log_warn, vha, 0xb016, in qla82xx_protect_flash()
2556 ql_log(ql_log_warn, vha, 0xb017, in qla82xx_protect_flash()
2560 ql_log(ql_log_warn, vha, 0xb018, in qla82xx_protect_flash()
2571 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_erase_sector() local
2575 ql_log(ql_log_warn, vha, 0xb019, in qla82xx_erase_sector()
2586 ql_log(ql_log_warn, vha, 0xb01a, in qla82xx_erase_sector()
2601 qla82xx_read_optrom_data(struct scsi_qla_host *vha, void *buf, in qla82xx_read_optrom_data() argument
2604 scsi_block_requests(vha->host); in qla82xx_read_optrom_data()
2605 qla82xx_read_flash_data(vha, buf, offset, length); in qla82xx_read_optrom_data()
2606 scsi_unblock_requests(vha->host); in qla82xx_read_optrom_data()
2611 qla82xx_write_flash_data(struct scsi_qla_host *vha, __le32 *dwptr, in qla82xx_write_flash_data() argument
2620 struct qla_hw_data *ha = vha->hw; in qla82xx_write_flash_data()
2630 ql_log(ql_log_warn, vha, 0xb01b, in qla82xx_write_flash_data()
2641 ql_log(ql_log_warn, vha, 0xb01c, in qla82xx_write_flash_data()
2652 ql_log(ql_log_warn, vha, 0xb01d, in qla82xx_write_flash_data()
2664 ret = qla2x00_load_ram(vha, optrom_dma, in qla82xx_write_flash_data()
2668 ql_log(ql_log_warn, vha, 0xb01e, in qla82xx_write_flash_data()
2673 ql_log(ql_log_warn, vha, 0xb01f, in qla82xx_write_flash_data()
2690 ql_dbg(ql_dbg_p3p, vha, 0xb020, in qla82xx_write_flash_data()
2699 ql_log(ql_log_warn, vha, 0xb021, in qla82xx_write_flash_data()
2709 qla82xx_write_optrom_data(struct scsi_qla_host *vha, void *buf, in qla82xx_write_optrom_data() argument
2715 scsi_block_requests(vha->host); in qla82xx_write_optrom_data()
2716 rval = qla82xx_write_flash_data(vha, buf, offset, length >> 2); in qla82xx_write_optrom_data()
2717 scsi_unblock_requests(vha->host); in qla82xx_write_optrom_data()
2728 qla82xx_start_iocbs(scsi_qla_host_t *vha) in qla82xx_start_iocbs() argument
2730 struct qla_hw_data *ha = vha->hw; in qla82xx_start_iocbs()
2760 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla82xx_rom_lock_recovery() local
2766 ql_log(ql_log_info, vha, 0xb022, in qla82xx_rom_lock_recovery()
2789 qla82xx_device_bootstrap(scsi_qla_host_t *vha) in qla82xx_device_bootstrap() argument
2794 struct qla_hw_data *ha = vha->hw; in qla82xx_device_bootstrap()
2817 ql_log(ql_log_info, vha, 0x009e, in qla82xx_device_bootstrap()
2822 rval = qla82xx_start_firmware(vha); in qla82xx_device_bootstrap()
2826 ql_log(ql_log_fatal, vha, 0x00ad, in qla82xx_device_bootstrap()
2834 ql_log(ql_log_info, vha, 0x00ae, in qla82xx_device_bootstrap()
2852 qla82xx_need_qsnt_handler(scsi_qla_host_t *vha) in qla82xx_need_qsnt_handler() argument
2854 struct qla_hw_data *ha = vha->hw; in qla82xx_need_qsnt_handler()
2858 if (vha->flags.online) { in qla82xx_need_qsnt_handler()
2860 qla2x00_quiesce_io(vha); in qla82xx_need_qsnt_handler()
2880 ql_log(ql_log_info, vha, 0xb023, in qla82xx_need_qsnt_handler()
2886 ql_log(ql_log_info, vha, 0xb025, in qla82xx_need_qsnt_handler()
2889 qla2x00_perform_loop_resync(vha); in qla82xx_need_qsnt_handler()
2892 qla82xx_clear_qsnt_ready(vha); in qla82xx_need_qsnt_handler()
2907 ql_log(ql_log_info, vha, 0xb026, in qla82xx_need_qsnt_handler()
2914 qla8xxx_dev_failed_handler(scsi_qla_host_t *vha) in qla8xxx_dev_failed_handler() argument
2916 struct qla_hw_data *ha = vha->hw; in qla8xxx_dev_failed_handler()
2919 ql_log(ql_log_fatal, vha, 0x00b8, in qla8xxx_dev_failed_handler()
2931 vha->device_flags |= DFLG_DEV_FAILED; in qla8xxx_dev_failed_handler()
2932 qla2x00_abort_all_cmds(vha, DID_NO_CONNECT << 16); in qla8xxx_dev_failed_handler()
2933 qla2x00_mark_all_devices_lost(vha); in qla8xxx_dev_failed_handler()
2934 vha->flags.online = 0; in qla8xxx_dev_failed_handler()
2935 vha->flags.init_done = 0; in qla8xxx_dev_failed_handler()
2950 qla82xx_need_reset_handler(scsi_qla_host_t *vha) in qla82xx_need_reset_handler() argument
2955 struct qla_hw_data *ha = vha->hw; in qla82xx_need_reset_handler()
2958 if (vha->flags.online) { in qla82xx_need_reset_handler()
2960 qla2x00_abort_isp_cleanup(vha); in qla82xx_need_reset_handler()
2961 ha->isp_ops->get_flash_version(vha, req->ring); in qla82xx_need_reset_handler()
2962 ha->isp_ops->nvram_config(vha); in qla82xx_need_reset_handler()
2968 ql_dbg(ql_dbg_p3p, vha, 0xb028, in qla82xx_need_reset_handler()
2974 ql_dbg(ql_dbg_p3p, vha, 0xb029, in qla82xx_need_reset_handler()
2985 ql_dbg(ql_dbg_p3p, vha, 0xb02a, in qla82xx_need_reset_handler()
2993 ql_log(ql_log_warn, vha, 0x00b5, in qla82xx_need_reset_handler()
3007 ql_dbg(ql_dbg_p3p, vha, 0xb02b, in qla82xx_need_reset_handler()
3012 ql_log(ql_log_info, vha, 0x00b6, in qla82xx_need_reset_handler()
3019 ql_log(ql_log_info, vha, 0x00b7, in qla82xx_need_reset_handler()
3024 if (qla82xx_md_collect(vha)) in qla82xx_need_reset_handler()
3025 ql_log(ql_log_warn, vha, 0xb02c, in qla82xx_need_reset_handler()
3028 ql_log(ql_log_warn, vha, 0xb04f, in qla82xx_need_reset_handler()
3034 qla82xx_check_md_needed(scsi_qla_host_t *vha) in qla82xx_check_md_needed() argument
3036 struct qla_hw_data *ha = vha->hw; in qla82xx_check_md_needed()
3044 rval = qla2x00_get_fw_version(vha); in qla82xx_check_md_needed()
3054 ql_dbg(ql_dbg_p3p, vha, 0xb02d, in qla82xx_check_md_needed()
3063 qla82xx_md_free(vha); in qla82xx_check_md_needed()
3065 qla82xx_md_prep(vha); in qla82xx_check_md_needed()
3068 ql_log(ql_log_info, vha, 0xb02e, in qla82xx_check_md_needed()
3076 qla82xx_check_fw_alive(scsi_qla_host_t *vha) in qla82xx_check_fw_alive() argument
3081 fw_heartbeat_counter = qla82xx_rd_32(vha->hw, in qla82xx_check_fw_alive()
3085 ql_dbg(ql_dbg_timer, vha, 0x6003, in qla82xx_check_fw_alive()
3090 if (vha->fw_heartbeat_counter == fw_heartbeat_counter) { in qla82xx_check_fw_alive()
3091 vha->seconds_since_last_heartbeat++; in qla82xx_check_fw_alive()
3093 if (vha->seconds_since_last_heartbeat == 2) { in qla82xx_check_fw_alive()
3094 vha->seconds_since_last_heartbeat = 0; in qla82xx_check_fw_alive()
3098 vha->seconds_since_last_heartbeat = 0; in qla82xx_check_fw_alive()
3099 vha->fw_heartbeat_counter = fw_heartbeat_counter; in qla82xx_check_fw_alive()
3101 ql_dbg(ql_dbg_timer, vha, 0x6004, in qla82xx_check_fw_alive()
3118 qla82xx_device_state_handler(scsi_qla_host_t *vha) in qla82xx_device_state_handler() argument
3124 struct qla_hw_data *ha = vha->hw; in qla82xx_device_state_handler()
3128 if (!vha->flags.init_done) { in qla82xx_device_state_handler()
3129 qla82xx_set_drv_active(vha); in qla82xx_device_state_handler()
3130 qla82xx_set_idc_version(vha); in qla82xx_device_state_handler()
3135 ql_log(ql_log_info, vha, 0x009b, in qla82xx_device_state_handler()
3145 ql_log(ql_log_fatal, vha, 0x009c, in qla82xx_device_state_handler()
3156 ql_log(ql_log_info, vha, 0x009d, in qla82xx_device_state_handler()
3166 rval = qla82xx_device_bootstrap(vha); in qla82xx_device_state_handler()
3175 qla82xx_need_reset_handler(vha); in qla82xx_device_state_handler()
3185 qla82xx_need_qsnt_handler(vha); in qla82xx_device_state_handler()
3206 qla8xxx_dev_failed_handler(vha); in qla82xx_device_state_handler()
3222 static int qla82xx_check_temp(scsi_qla_host_t *vha) in qla82xx_check_temp() argument
3225 struct qla_hw_data *ha = vha->hw; in qla82xx_check_temp()
3232 ql_log(ql_log_warn, vha, 0x600e, in qla82xx_check_temp()
3238 ql_log(ql_log_warn, vha, 0x600f, in qla82xx_check_temp()
3246 int qla82xx_read_temperature(scsi_qla_host_t *vha) in qla82xx_read_temperature() argument
3250 temp = qla82xx_rd_32(vha->hw, CRB_TEMP_STATE); in qla82xx_read_temperature()
3254 void qla82xx_clear_pending_mbx(scsi_qla_host_t *vha) in qla82xx_clear_pending_mbx() argument
3256 struct qla_hw_data *ha = vha->hw; in qla82xx_clear_pending_mbx()
3261 ql_log(ql_log_warn, vha, 0x6010, in qla82xx_clear_pending_mbx()
3268 void qla82xx_watchdog(scsi_qla_host_t *vha) in qla82xx_watchdog() argument
3271 struct qla_hw_data *ha = vha->hw; in qla82xx_watchdog()
3276 if (qla82xx_check_temp(vha)) { in qla82xx_watchdog()
3277 set_bit(ISP_UNRECOVERABLE, &vha->dpc_flags); in qla82xx_watchdog()
3279 qla82xx_clear_pending_mbx(vha); in qla82xx_watchdog()
3281 !test_bit(ISP_ABORT_NEEDED, &vha->dpc_flags)) { in qla82xx_watchdog()
3282 ql_log(ql_log_warn, vha, 0x6001, in qla82xx_watchdog()
3284 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla82xx_watchdog()
3286 !test_bit(ISP_QUIESCE_NEEDED, &vha->dpc_flags)) { in qla82xx_watchdog()
3287 ql_log(ql_log_warn, vha, 0x6002, in qla82xx_watchdog()
3289 set_bit(ISP_QUIESCE_NEEDED, &vha->dpc_flags); in qla82xx_watchdog()
3291 !test_bit(ISP_UNRECOVERABLE, &vha->dpc_flags) && in qla82xx_watchdog()
3292 vha->flags.online == 1) { in qla82xx_watchdog()
3293 ql_log(ql_log_warn, vha, 0xb055, in qla82xx_watchdog()
3295 set_bit(ISP_UNRECOVERABLE, &vha->dpc_flags); in qla82xx_watchdog()
3297 qla82xx_clear_pending_mbx(vha); in qla82xx_watchdog()
3299 if (qla82xx_check_fw_alive(vha)) { in qla82xx_watchdog()
3300 ql_dbg(ql_dbg_timer, vha, 0x6011, in qla82xx_watchdog()
3306 ql_log(ql_log_info, vha, 0x6005, in qla82xx_watchdog()
3324 ql_log(ql_log_warn, vha, 0xb052, in qla82xx_watchdog()
3330 &vha->dpc_flags); in qla82xx_watchdog()
3332 ql_log(ql_log_info, vha, 0x6006, in qla82xx_watchdog()
3335 &vha->dpc_flags); in qla82xx_watchdog()
3338 ql_log(ql_log_warn, vha, 0x6007, "Firmware hung.\n"); in qla82xx_watchdog()
3339 qla82xx_clear_pending_mbx(vha); in qla82xx_watchdog()
3345 int qla82xx_load_risc(scsi_qla_host_t *vha, uint32_t *srisc_addr) in qla82xx_load_risc() argument
3348 struct qla_hw_data *ha = vha->hw; in qla82xx_load_risc()
3351 rval = qla82xx_device_state_handler(vha); in qla82xx_load_risc()
3355 qla83xx_reset_ownership(vha); in qla82xx_load_risc()
3357 rval = qla8044_device_state_handler(vha); in qla82xx_load_risc()
3363 qla82xx_set_reset_owner(scsi_qla_host_t *vha) in qla82xx_set_reset_owner() argument
3365 struct qla_hw_data *ha = vha->hw; in qla82xx_set_reset_owner()
3371 dev_state = qla8044_rd_direct(vha, QLA8044_CRB_DEV_STATE_INDEX); in qla82xx_set_reset_owner()
3374 ql_log(ql_log_info, vha, 0xb02f, in qla82xx_set_reset_owner()
3380 ql_dbg(ql_dbg_p3p, vha, 0xb030, in qla82xx_set_reset_owner()
3383 qla8044_wr_direct(vha, QLA8044_CRB_DEV_STATE_INDEX, in qla82xx_set_reset_owner()
3386 ql_log(ql_log_info, vha, 0xb031, in qla82xx_set_reset_owner()
3402 qla82xx_abort_isp(scsi_qla_host_t *vha) in qla82xx_abort_isp() argument
3405 struct qla_hw_data *ha = vha->hw; in qla82xx_abort_isp()
3407 if (vha->device_flags & DFLG_DEV_FAILED) { in qla82xx_abort_isp()
3408 ql_log(ql_log_warn, vha, 0x8024, in qla82xx_abort_isp()
3415 qla82xx_set_reset_owner(vha); in qla82xx_abort_isp()
3419 rval = qla82xx_device_state_handler(vha); in qla82xx_abort_isp()
3423 qla83xx_reset_ownership(vha); in qla82xx_abort_isp()
3425 rval = qla8044_device_state_handler(vha); in qla82xx_abort_isp()
3435 qla82xx_restart_isp(vha); in qla82xx_abort_isp()
3439 vha->flags.online = 1; in qla82xx_abort_isp()
3440 if (test_bit(ISP_ABORT_RETRY, &vha->dpc_flags)) { in qla82xx_abort_isp()
3442 ql_log(ql_log_warn, vha, 0x8027, in qla82xx_abort_isp()
3449 ha->isp_ops->reset_adapter(vha); in qla82xx_abort_isp()
3450 vha->flags.online = 0; in qla82xx_abort_isp()
3452 &vha->dpc_flags); in qla82xx_abort_isp()
3456 ql_log(ql_log_warn, vha, 0x8036, in qla82xx_abort_isp()
3463 ql_dbg(ql_dbg_taskm, vha, 0x8029, in qla82xx_abort_isp()
3466 set_bit(ISP_ABORT_RETRY, &vha->dpc_flags); in qla82xx_abort_isp()
3486 int qla82xx_fcoe_ctx_reset(scsi_qla_host_t *vha) in qla82xx_fcoe_ctx_reset() argument
3490 if (vha->flags.online) { in qla82xx_fcoe_ctx_reset()
3492 qla2x00_abort_isp_cleanup(vha); in qla82xx_fcoe_ctx_reset()
3498 qla2x00_try_to_stop_firmware(vha); in qla82xx_fcoe_ctx_reset()
3501 rval = qla82xx_restart_isp(vha); in qla82xx_fcoe_ctx_reset()
3518 int qla2x00_wait_for_fcoe_ctx_reset(scsi_qla_host_t *vha) in qla2x00_wait_for_fcoe_ctx_reset() argument
3524 while ((test_bit(FCOE_CTX_RESET_NEEDED, &vha->dpc_flags) || in qla2x00_wait_for_fcoe_ctx_reset()
3525 test_bit(ABORT_ISP_ACTIVE, &vha->dpc_flags)) in qla2x00_wait_for_fcoe_ctx_reset()
3531 if (!test_bit(FCOE_CTX_RESET_NEEDED, &vha->dpc_flags) && in qla2x00_wait_for_fcoe_ctx_reset()
3532 !test_bit(ABORT_ISP_ACTIVE, &vha->dpc_flags)) { in qla2x00_wait_for_fcoe_ctx_reset()
3537 ql_dbg(ql_dbg_p3p, vha, 0xb027, in qla2x00_wait_for_fcoe_ctx_reset()
3544 qla82xx_chip_reset_cleanup(scsi_qla_host_t *vha) in qla82xx_chip_reset_cleanup() argument
3548 struct qla_hw_data *ha = vha->hw; in qla82xx_chip_reset_cleanup()
3558 fw_state = qla82xx_check_fw_alive(vha); in qla82xx_chip_reset_cleanup()
3560 fw_state = qla8044_check_fw_alive(vha); in qla82xx_chip_reset_cleanup()
3563 qla82xx_clear_pending_mbx(vha); in qla82xx_chip_reset_cleanup()
3568 ql_dbg(ql_dbg_init, vha, 0x00b0, in qla82xx_chip_reset_cleanup()
3593 ql_log(ql_log_info, vha, in qla82xx_chip_reset_cleanup()
3597 ql_log(ql_log_info, vha, in qla82xx_chip_reset_cleanup()
3609 if (qla2x00_eh_wait_for_pending_commands(vha, 0, 0, in qla82xx_chip_reset_cleanup()
3611 ql_dbg(ql_dbg_init, vha, 0x00b3, in qla82xx_chip_reset_cleanup()
3622 qla82xx_minidump_process_control(scsi_qla_host_t *vha, in qla82xx_minidump_process_control() argument
3625 struct qla_hw_data *ha = vha->hw; in qla82xx_minidump_process_control()
3739 qla82xx_minidump_process_rdocm(scsi_qla_host_t *vha, in qla82xx_minidump_process_rdocm() argument
3742 struct qla_hw_data *ha = vha->hw; in qla82xx_minidump_process_rdocm()
3761 qla82xx_minidump_process_rdmux(scsi_qla_host_t *vha, in qla82xx_minidump_process_rdmux() argument
3764 struct qla_hw_data *ha = vha->hw; in qla82xx_minidump_process_rdmux()
3787 qla82xx_minidump_process_rdcrb(scsi_qla_host_t *vha, in qla82xx_minidump_process_rdcrb() argument
3790 struct qla_hw_data *ha = vha->hw; in qla82xx_minidump_process_rdcrb()
3810 qla82xx_minidump_process_l2tag(scsi_qla_host_t *vha, in qla82xx_minidump_process_l2tag() argument
3813 struct qla_hw_data *ha = vha->hw; in qla82xx_minidump_process_l2tag()
3847 ql_dbg(ql_dbg_p3p, vha, 0xb032, in qla82xx_minidump_process_l2tag()
3869 qla82xx_minidump_process_l1cache(scsi_qla_host_t *vha, in qla82xx_minidump_process_l1cache() argument
3872 struct qla_hw_data *ha = vha->hw; in qla82xx_minidump_process_l1cache()
3904 qla82xx_minidump_process_queue(scsi_qla_host_t *vha, in qla82xx_minidump_process_queue() argument
3907 struct qla_hw_data *ha = vha->hw; in qla82xx_minidump_process_queue()
3934 qla82xx_minidump_process_rdrom(scsi_qla_host_t *vha, in qla82xx_minidump_process_rdrom() argument
3937 struct qla_hw_data *ha = vha->hw; in qla82xx_minidump_process_rdrom()
3960 qla82xx_minidump_process_rdmem(scsi_qla_host_t *vha, in qla82xx_minidump_process_rdmem() argument
3963 struct qla_hw_data *ha = vha->hw; in qla82xx_minidump_process_rdmem()
3976 ql_log(ql_log_warn, vha, 0xb033, in qla82xx_minidump_process_rdmem()
3982 ql_log(ql_log_warn, vha, 0xb034, in qla82xx_minidump_process_rdmem()
3988 ql_dbg(ql_dbg_p3p, vha, 0xb035, in qla82xx_minidump_process_rdmem()
4029 qla82xx_validate_template_chksum(scsi_qla_host_t *vha) in qla82xx_validate_template_chksum() argument
4031 struct qla_hw_data *ha = vha->hw; in qla82xx_validate_template_chksum()
4044 qla82xx_mark_entry_skipped(scsi_qla_host_t *vha, in qla82xx_mark_entry_skipped() argument
4048 ql_dbg(ql_dbg_p3p, vha, 0xb036, in qla82xx_mark_entry_skipped()
4056 qla82xx_md_collect(scsi_qla_host_t *vha) in qla82xx_md_collect() argument
4058 struct qla_hw_data *ha = vha->hw; in qla82xx_md_collect()
4070 ql_log(ql_log_warn, vha, 0xb037, in qla82xx_md_collect()
4079 ql_log(ql_log_warn, vha, 0xb038, in qla82xx_md_collect()
4085 ql_log(ql_log_warn, vha, 0xb054, in qla82xx_md_collect()
4092 if (qla82xx_validate_template_chksum(vha)) { in qla82xx_md_collect()
4093 ql_log(ql_log_info, vha, 0xb039, in qla82xx_md_collect()
4099 ql_dbg(ql_dbg_p3p, vha, 0xb03a, in qla82xx_md_collect()
4102 ql_dbg(ql_dbg_p3p, vha, 0xb03b, in qla82xx_md_collect()
4109 ql_log(ql_log_warn, vha, 0xb03c, in qla82xx_md_collect()
4116 tmplt_hdr->driver_info[0] = vha->host_no; in qla82xx_md_collect()
4123 ql_dbg(ql_dbg_p3p, vha, 0xb03d, in qla82xx_md_collect()
4128 ql_log(ql_log_warn, vha, 0xb04e, in qla82xx_md_collect()
4141 ql_log(ql_log_warn, vha, 0xb03e, in qla82xx_md_collect()
4151 ql_dbg(ql_dbg_p3p, vha, 0xb03f, in qla82xx_md_collect()
4159 ql_dbg(ql_dbg_p3p, vha, 0xb040, in qla82xx_md_collect()
4166 ql_dbg(ql_dbg_p3p, vha, 0xb041, in qla82xx_md_collect()
4174 qla82xx_mark_entry_skipped(vha, entry_hdr, i); in qla82xx_md_collect()
4177 rval = qla82xx_minidump_process_control(vha, in qla82xx_md_collect()
4180 qla82xx_mark_entry_skipped(vha, entry_hdr, i); in qla82xx_md_collect()
4185 qla82xx_minidump_process_rdcrb(vha, in qla82xx_md_collect()
4189 rval = qla82xx_minidump_process_rdmem(vha, in qla82xx_md_collect()
4192 qla82xx_mark_entry_skipped(vha, entry_hdr, i); in qla82xx_md_collect()
4198 qla82xx_minidump_process_rdrom(vha, in qla82xx_md_collect()
4205 rval = qla82xx_minidump_process_l2tag(vha, in qla82xx_md_collect()
4208 qla82xx_mark_entry_skipped(vha, entry_hdr, i); in qla82xx_md_collect()
4214 qla82xx_minidump_process_l1cache(vha, in qla82xx_md_collect()
4218 qla82xx_minidump_process_rdocm(vha, in qla82xx_md_collect()
4222 qla82xx_minidump_process_rdmux(vha, in qla82xx_md_collect()
4226 qla82xx_minidump_process_queue(vha, in qla82xx_md_collect()
4231 qla82xx_mark_entry_skipped(vha, entry_hdr, i); in qla82xx_md_collect()
4235 ql_dbg(ql_dbg_p3p, vha, 0xb042, in qla82xx_md_collect()
4246 ql_dbg(ql_dbg_p3p, vha, 0xb043, in qla82xx_md_collect()
4253 ql_log(ql_log_info, vha, 0xb044, in qla82xx_md_collect()
4255 vha->host_no, ha->md_tmplt_hdr, vha->host_no, ha->md_dump); in qla82xx_md_collect()
4257 qla2x00_post_uevent_work(vha, QLA_UEVENT_CODE_FW_DUMP); in qla82xx_md_collect()
4264 qla82xx_md_alloc(scsi_qla_host_t *vha) in qla82xx_md_alloc() argument
4266 struct qla_hw_data *ha = vha->hw; in qla82xx_md_alloc()
4274 ql_log(ql_log_info, vha, 0xb045, in qla82xx_md_alloc()
4285 ql_log(ql_log_warn, vha, 0xb046, in qla82xx_md_alloc()
4292 ql_log(ql_log_warn, vha, 0xb047, in qla82xx_md_alloc()
4301 qla82xx_md_free(scsi_qla_host_t *vha) in qla82xx_md_free() argument
4303 struct qla_hw_data *ha = vha->hw; in qla82xx_md_free()
4307 ql_log(ql_log_info, vha, 0xb048, in qla82xx_md_free()
4317 ql_log(ql_log_info, vha, 0xb049, in qla82xx_md_free()
4327 qla82xx_md_prep(scsi_qla_host_t *vha) in qla82xx_md_prep() argument
4329 struct qla_hw_data *ha = vha->hw; in qla82xx_md_prep()
4333 rval = qla82xx_md_get_template_size(vha); in qla82xx_md_prep()
4335 ql_log(ql_log_info, vha, 0xb04a, in qla82xx_md_prep()
4341 rval = qla8044_md_get_template(vha); in qla82xx_md_prep()
4343 rval = qla82xx_md_get_template(vha); in qla82xx_md_prep()
4346 ql_dbg(ql_dbg_p3p, vha, 0xb04b, in qla82xx_md_prep()
4350 rval = qla82xx_md_alloc(vha); in qla82xx_md_prep()
4352 ql_log(ql_log_info, vha, 0xb04c, in qla82xx_md_prep()
4356 ql_log(ql_log_info, vha, 0xb04d, in qla82xx_md_prep()
4371 qla82xx_beacon_on(struct scsi_qla_host *vha) in qla82xx_beacon_on() argument
4375 struct qla_hw_data *ha = vha->hw; in qla82xx_beacon_on()
4378 rval = qla82xx_mbx_beacon_ctl(vha, 1); in qla82xx_beacon_on()
4381 ql_log(ql_log_warn, vha, 0xb050, in qla82xx_beacon_on()
4392 qla82xx_beacon_off(struct scsi_qla_host *vha) in qla82xx_beacon_off() argument
4396 struct qla_hw_data *ha = vha->hw; in qla82xx_beacon_off()
4399 rval = qla82xx_mbx_beacon_ctl(vha, 0); in qla82xx_beacon_off()
4402 ql_log(ql_log_warn, vha, 0xb051, in qla82xx_beacon_off()
4413 qla82xx_fw_dump(scsi_qla_host_t *vha) in qla82xx_fw_dump() argument
4415 struct qla_hw_data *ha = vha->hw; in qla82xx_fw_dump()
4420 scsi_block_requests(vha->host); in qla82xx_fw_dump()
4423 qla82xx_set_reset_owner(vha); in qla82xx_fw_dump()
4425 qla2x00_wait_for_chip_reset(vha); in qla82xx_fw_dump()
4426 scsi_unblock_requests(vha->host); in qla82xx_fw_dump()