Lines Matching refs:ha
35 struct qla_hw_data *ha; in qla2100_intr_handler() local
51 ha = rsp->hw; in qla2100_intr_handler()
52 reg = &ha->iobase->isp; in qla2100_intr_handler()
55 spin_lock_irqsave(&ha->hardware_lock, flags); in qla2100_intr_handler()
56 vha = pci_get_drvdata(ha->pdev); in qla2100_intr_handler()
62 if (pci_channel_offline(ha->pdev)) in qla2100_intr_handler()
73 ha->isp_ops->fw_dump(vha, 1); in qla2100_intr_handler()
84 mb[0] = RD_MAILBOX_REG(ha, reg, 0); in qla2100_intr_handler()
89 mb[1] = RD_MAILBOX_REG(ha, reg, 1); in qla2100_intr_handler()
90 mb[2] = RD_MAILBOX_REG(ha, reg, 2); in qla2100_intr_handler()
91 mb[3] = RD_MAILBOX_REG(ha, reg, 3); in qla2100_intr_handler()
109 qla2x00_handle_mbx_completion(ha, status); in qla2100_intr_handler()
110 spin_unlock_irqrestore(&ha->hardware_lock, flags); in qla2100_intr_handler()
161 struct qla_hw_data *ha; in qla2300_intr_handler() local
171 ha = rsp->hw; in qla2300_intr_handler()
172 reg = &ha->iobase->isp; in qla2300_intr_handler()
175 spin_lock_irqsave(&ha->hardware_lock, flags); in qla2300_intr_handler()
176 vha = pci_get_drvdata(ha->pdev); in qla2300_intr_handler()
182 if (unlikely(pci_channel_offline(ha->pdev))) in qla2300_intr_handler()
204 ha->isp_ops->fw_dump(vha, 1); in qla2300_intr_handler()
223 mb[1] = RD_MAILBOX_REG(ha, reg, 1); in qla2300_intr_handler()
224 mb[2] = RD_MAILBOX_REG(ha, reg, 2); in qla2300_intr_handler()
225 mb[3] = RD_MAILBOX_REG(ha, reg, 3); in qla2300_intr_handler()
239 mb[2] = RD_MAILBOX_REG(ha, reg, 2); in qla2300_intr_handler()
250 qla2x00_handle_mbx_completion(ha, status); in qla2300_intr_handler()
251 spin_unlock_irqrestore(&ha->hardware_lock, flags); in qla2300_intr_handler()
267 struct qla_hw_data *ha = vha->hw; in qla2x00_mbx_completion() local
268 struct device_reg_2xxx __iomem *reg = &ha->iobase->isp; in qla2x00_mbx_completion()
271 mboxes = (1 << ha->mbx_count) - 1; in qla2x00_mbx_completion()
272 if (!ha->mcp) in qla2x00_mbx_completion()
275 mboxes = ha->mcp->in_mb; in qla2x00_mbx_completion()
278 ha->flags.mbox_int = 1; in qla2x00_mbx_completion()
279 ha->mailbox_out[0] = mb0; in qla2x00_mbx_completion()
281 wptr = (uint16_t __iomem *)MAILBOX_REG(ha, reg, 1); in qla2x00_mbx_completion()
283 for (cnt = 1; cnt < ha->mbx_count; cnt++) { in qla2x00_mbx_completion()
284 if (IS_QLA2200(ha) && cnt == 8) in qla2x00_mbx_completion()
285 wptr = (uint16_t __iomem *)MAILBOX_REG(ha, reg, 8); in qla2x00_mbx_completion()
287 ha->mailbox_out[cnt] = qla2x00_debounce_register(wptr); in qla2x00_mbx_completion()
289 ha->mailbox_out[cnt] = RD_REG_WORD(wptr); in qla2x00_mbx_completion()
359 qla2x00_get_link_speed_str(struct qla_hw_data *ha, uint16_t speed) in qla2x00_get_link_speed_str() argument
366 if (IS_QLA2100(ha) || IS_QLA2200(ha)) in qla2x00_get_link_speed_str()
379 struct qla_hw_data *ha = vha->hw; in qla83xx_handle_8200_aen() local
401 ha->flags.nic_core_hung = 1; in qla83xx_handle_8200_aen()
532 if (ha->flags.nic_core_reset_owner) in qla83xx_handle_8200_aen()
541 struct qla_hw_data *ha = vha->hw; in qla2x00_is_a_vp_did() local
547 if (!ha->num_vhosts) in qla2x00_is_a_vp_did()
550 spin_lock_irqsave(&ha->vport_slock, flags); in qla2x00_is_a_vp_did()
551 list_for_each_entry(vp, &ha->vp_list, list) { in qla2x00_is_a_vp_did()
558 spin_unlock_irqrestore(&ha->vport_slock, flags); in qla2x00_is_a_vp_did()
585 struct qla_hw_data *ha = vha->hw; in qla2x00_async_event() local
586 struct device_reg_2xxx __iomem *reg = &ha->iobase->isp; in qla2x00_async_event()
587 struct device_reg_24xx __iomem *reg24 = &ha->iobase->isp24; in qla2x00_async_event()
588 struct device_reg_82xx __iomem *reg82 = &ha->iobase->isp82; in qla2x00_async_event()
595 if (IS_CNA_CAPABLE(ha)) in qla2x00_async_event()
624 handles[3] = (uint32_t)RD_MAILBOX_REG(ha, reg, 6); in qla2x00_async_event()
632 handles[3] = (uint32_t)RD_MAILBOX_REG(ha, reg, 6); in qla2x00_async_event()
633 handles[4] = (uint32_t)RD_MAILBOX_REG(ha, reg, 7); in qla2x00_async_event()
640 ((uint32_t)(RD_MAILBOX_REG(ha, reg, 7) << 16)) | in qla2x00_async_event()
641 RD_MAILBOX_REG(ha, reg, 6)); in qla2x00_async_event()
667 mbx = (IS_QLA81XX(ha) || IS_QLA83XX(ha) || IS_QLA27XX(ha)) ? in qla2x00_async_event()
673 ha->isp_ops->fw_dump(vha, 1); in qla2x00_async_event()
675 if (IS_FWI2_CAPABLE(ha)) { in qla2x00_async_event()
684 if ((mbx & MBX_3) && (ha->port_no == 0)) in qla2x00_async_event()
742 if (IS_QLA2100(ha) || IS_QLA2200(ha)) in qla2x00_async_event()
743 ha->link_data_rate = PORT_SPEED_1GB; in qla2x00_async_event()
745 ha->link_data_rate = mb[1]; in qla2x00_async_event()
749 qla2x00_get_link_speed_str(ha, ha->link_data_rate)); in qla2x00_async_event()
752 qla2x00_post_aen_work(vha, FCH_EVT_LINKUP, ha->link_data_rate); in qla2x00_async_event()
756 mbx = (IS_QLA81XX(ha) || IS_QLA8031(ha)) in qla2x00_async_event()
758 mbx = (IS_P3P_TYPE(ha)) ? RD_REG_WORD(®82->mailbox_out[4]) in qla2x00_async_event()
773 if (ha->flags.fawwpn_enabled) { in qla2x00_async_event()
774 void *wwpn = ha->init_cb->port_name; in qla2x00_async_event()
797 ha->link_data_rate = PORT_SPEED_UNKNOWN; in qla2x00_async_event()
818 ha->operating_mode = LOOP; in qla2x00_async_event()
825 if (IS_QLA2100(ha)) in qla2x00_async_event()
828 if (IS_CNA_CAPABLE(ha)) { in qla2x00_async_event()
832 if (ha->notify_dcbx_comp && !vha->vp_idx) in qla2x00_async_event()
833 complete(&ha->dcbx_comp); in qla2x00_async_event()
862 ha->flags.gpsc_supported = 1; in qla2x00_async_event()
867 if (IS_QLA2100(ha)) in qla2x00_async_event()
906 if (IS_QLA2XXX_MIDTYPE(ha) && in qla2x00_async_event()
953 ha->link_data_rate = PORT_SPEED_UNKNOWN; in qla2x00_async_event()
999 if (ha->flags.npiv_supported && vha->vp_idx != (mb[3] & 0xff)) in qla2x00_async_event()
1049 if (IS_FWI2_CAPABLE(ha)) in qla2x00_async_event()
1071 spin_lock_irqsave(&ha->cs84xx->access_lock, flags); in qla2x00_async_event()
1079 ha->cs84xx->op_fw_version = mb[3] << 16 | mb[2]; in qla2x00_async_event()
1082 ha->cs84xx->op_fw_version); in qla2x00_async_event()
1085 ha->cs84xx->diag_fw_version = mb[3] << 16 | mb[2]; in qla2x00_async_event()
1088 ha->cs84xx->diag_fw_version); in qla2x00_async_event()
1091 ha->cs84xx->diag_fw_version = mb[3] << 16 | mb[2]; in qla2x00_async_event()
1092 ha->cs84xx->fw_update = 1; in qla2x00_async_event()
1095 ha->cs84xx->gold_fw_version); in qla2x00_async_event()
1102 spin_unlock_irqrestore(&ha->cs84xx->access_lock, flags); in qla2x00_async_event()
1120 if (IS_QLA8031(vha->hw) || IS_QLA8044(ha)) { in qla2x00_async_event()
1136 if (ha->notify_lb_portup_comp && !vha->vp_idx) in qla2x00_async_event()
1137 complete(&ha->lb_portup_comp); in qla2x00_async_event()
1141 IS_QLA8044(ha)) in qla2x00_async_event()
1169 if (!vha->vp_idx && ha->num_vhosts) in qla2x00_async_event()
1183 struct qla_hw_data *ha = vha->hw; in qla2x00_process_completed_request() local
1190 if (IS_P3P_TYPE(ha)) in qla2x00_process_completed_request()
1203 sp->done(ha, sp, DID_OK << 16); in qla2x00_process_completed_request()
1207 if (IS_P3P_TYPE(ha)) in qla2x00_process_completed_request()
1218 struct qla_hw_data *ha = vha->hw; in qla2x00_get_sp_from_handle() local
1227 if (IS_P3P_TYPE(ha)) in qla2x00_get_sp_from_handle()
1630 struct qla_hw_data *ha = rsp->hw; in qla2x00_process_response_queue() local
1631 struct device_reg_2xxx __iomem *reg = &ha->iobase->isp; in qla2x00_process_response_queue()
1636 vha = pci_get_drvdata(ha->pdev); in qla2x00_process_response_queue()
1700 WRT_REG_WORD(ISP_RSP_Q_OUT(ha, reg), rsp->ring_index); in qla2x00_process_response_queue()
1880 struct qla_hw_data *ha = vha->hw; in qla25xx_process_bidir_status_iocb() local
1914 if (IS_FWI2_CAPABLE(ha)) { in qla25xx_process_bidir_status_iocb()
2043 struct qla_hw_data *ha = vha->hw; in qla2x00_status_entry() local
2054 if (IS_FWI2_CAPABLE(ha)) { in qla2x00_status_entry()
2064 req = ha->req_q_map[que]; in qla2x00_status_entry()
2068 que >= find_first_zero_bit(ha->req_qid_map, ha->max_req_queues)) { in qla2x00_status_entry()
2090 if (IS_P3P_TYPE(ha)) in qla2x00_status_entry()
2134 if (IS_FWI2_CAPABLE(ha)) { in qla2x00_status_entry()
2165 if (IS_FWI2_CAPABLE(ha)) { in qla2x00_status_entry()
2180 if (IS_FWI2_CAPABLE(ha) && comp_status == CS_COMPLETE && in qla2x00_status_entry()
2239 resid = IS_FWI2_CAPABLE(ha) ? fw_resid_len : resid_len; in qla2x00_status_entry()
2242 if (IS_FWI2_CAPABLE(ha) && fw_resid_len != resid_len) { in qla2x00_status_entry()
2326 if (IS_FWI2_CAPABLE(ha)) in qla2x00_status_entry()
2355 if (!IS_PI_SPLIT_DET_CAPABLE(ha)) in qla2x00_status_entry()
2382 sp->done(ha, sp, res); in qla2x00_status_entry()
2396 struct qla_hw_data *ha = rsp->hw; in qla2x00_status_cont_entry() local
2397 struct scsi_qla_host *vha = pci_get_drvdata(ha->pdev); in qla2x00_status_cont_entry()
2424 if (IS_FWI2_CAPABLE(ha)) in qla2x00_status_cont_entry()
2439 sp->done(ha, sp, cp->result); in qla2x00_status_cont_entry()
2452 struct qla_hw_data *ha = vha->hw; in qla2x00_error_entry() local
2461 if (que >= ha->max_req_queues || !ha->req_q_map[que]) in qla2x00_error_entry()
2464 req = ha->req_q_map[que]; in qla2x00_error_entry()
2471 sp->done(ha, sp, res); in qla2x00_error_entry()
2490 struct qla_hw_data *ha = vha->hw; in qla24xx_mbx_completion() local
2491 struct device_reg_24xx __iomem *reg = &ha->iobase->isp24; in qla24xx_mbx_completion()
2494 mboxes = (1 << ha->mbx_count) - 1; in qla24xx_mbx_completion()
2495 if (!ha->mcp) in qla24xx_mbx_completion()
2498 mboxes = ha->mcp->in_mb; in qla24xx_mbx_completion()
2501 ha->flags.mbox_int = 1; in qla24xx_mbx_completion()
2502 ha->mailbox_out[0] = mb0; in qla24xx_mbx_completion()
2506 for (cnt = 1; cnt < ha->mbx_count; cnt++) { in qla24xx_mbx_completion()
2508 ha->mailbox_out[cnt] = RD_REG_WORD(wptr); in qla24xx_mbx_completion()
2540 struct qla_hw_data *ha = vha->hw; in qla24xx_process_response_queue() local
2620 if (IS_P3P_TYPE(ha)) { in qla24xx_process_response_queue()
2621 struct device_reg_82xx __iomem *reg = &ha->iobase->isp82; in qla24xx_process_response_queue()
2632 struct qla_hw_data *ha = vha->hw; in qla2xxx_check_risc_status() local
2633 struct device_reg_24xx __iomem *reg = &ha->iobase->isp24; in qla2xxx_check_risc_status()
2635 if (!IS_QLA25XX(ha) && !IS_QLA81XX(ha) && !IS_QLA83XX(ha) && in qla2xxx_check_risc_status()
2636 !IS_QLA27XX(ha)) in qla2xxx_check_risc_status()
2690 struct qla_hw_data *ha; in qla24xx_intr_handler() local
2707 ha = rsp->hw; in qla24xx_intr_handler()
2708 reg = &ha->iobase->isp24; in qla24xx_intr_handler()
2711 if (unlikely(pci_channel_offline(ha->pdev))) in qla24xx_intr_handler()
2714 spin_lock_irqsave(&ha->hardware_lock, flags); in qla24xx_intr_handler()
2715 vha = pci_get_drvdata(ha->pdev); in qla24xx_intr_handler()
2721 if (unlikely(pci_channel_offline(ha->pdev))) in qla24xx_intr_handler()
2732 ha->isp_ops->fw_dump(vha, 1); in qla24xx_intr_handler()
2772 if (unlikely(IS_QLA83XX(ha) && (ha->pdev->revision == 1))) in qla24xx_intr_handler()
2775 qla2x00_handle_mbx_completion(ha, status); in qla24xx_intr_handler()
2776 spin_unlock_irqrestore(&ha->hardware_lock, flags); in qla24xx_intr_handler()
2784 struct qla_hw_data *ha; in qla24xx_msix_rsp_q() local
2797 ha = rsp->hw; in qla24xx_msix_rsp_q()
2798 reg = &ha->iobase->isp24; in qla24xx_msix_rsp_q()
2800 spin_lock_irqsave(&ha->hardware_lock, flags); in qla24xx_msix_rsp_q()
2802 vha = pci_get_drvdata(ha->pdev); in qla24xx_msix_rsp_q()
2811 if (!ha->flags.disable_msix_handshake) { in qla24xx_msix_rsp_q()
2816 spin_unlock_irqrestore(&ha->hardware_lock, flags); in qla24xx_msix_rsp_q()
2824 struct qla_hw_data *ha; in qla25xx_msix_rsp_q() local
2837 ha = rsp->hw; in qla25xx_msix_rsp_q()
2838 vha = pci_get_drvdata(ha->pdev); in qla25xx_msix_rsp_q()
2841 if (!ha->flags.disable_msix_handshake) { in qla25xx_msix_rsp_q()
2842 reg = &ha->iobase->isp24; in qla25xx_msix_rsp_q()
2843 spin_lock_irqsave(&ha->hardware_lock, flags); in qla25xx_msix_rsp_q()
2846 spin_unlock_irqrestore(&ha->hardware_lock, flags); in qla25xx_msix_rsp_q()
2850 queue_work_on((int) (rsp->id - 1), ha->wq, &rsp->q_work); in qla25xx_msix_rsp_q()
2860 struct qla_hw_data *ha; in qla24xx_msix_default() local
2875 ha = rsp->hw; in qla24xx_msix_default()
2876 reg = &ha->iobase->isp24; in qla24xx_msix_default()
2879 spin_lock_irqsave(&ha->hardware_lock, flags); in qla24xx_msix_default()
2880 vha = pci_get_drvdata(ha->pdev); in qla24xx_msix_default()
2886 if (unlikely(pci_channel_offline(ha->pdev))) in qla24xx_msix_default()
2897 ha->isp_ops->fw_dump(vha, 1); in qla24xx_msix_default()
2937 qla2x00_handle_mbx_completion(ha, status); in qla24xx_msix_default()
2938 spin_unlock_irqrestore(&ha->hardware_lock, flags); in qla24xx_msix_default()
2968 qla24xx_disable_msix(struct qla_hw_data *ha) in qla24xx_disable_msix() argument
2972 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla24xx_disable_msix()
2974 for (i = 0; i < ha->msix_count; i++) { in qla24xx_disable_msix()
2975 qentry = &ha->msix_entries[i]; in qla24xx_disable_msix()
2979 pci_disable_msix(ha->pdev); in qla24xx_disable_msix()
2980 kfree(ha->msix_entries); in qla24xx_disable_msix()
2981 ha->msix_entries = NULL; in qla24xx_disable_msix()
2982 ha->flags.msix_enabled = 0; in qla24xx_disable_msix()
2988 qla24xx_enable_msix(struct qla_hw_data *ha, struct rsp_que *rsp) in qla24xx_enable_msix() argument
2995 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla24xx_enable_msix()
2997 entries = kzalloc(sizeof(struct msix_entry) * ha->msix_count, in qla24xx_enable_msix()
3005 for (i = 0; i < ha->msix_count; i++) in qla24xx_enable_msix()
3008 ret = pci_enable_msix_range(ha->pdev, in qla24xx_enable_msix()
3009 entries, MIN_MSIX_COUNT, ha->msix_count); in qla24xx_enable_msix()
3014 ha->msix_count, ret); in qla24xx_enable_msix()
3016 } else if (ret < ha->msix_count) { in qla24xx_enable_msix()
3020 ha->msix_count, ret, ret); in qla24xx_enable_msix()
3021 ha->msix_count = ret; in qla24xx_enable_msix()
3022 ha->max_rsp_queues = ha->msix_count - 1; in qla24xx_enable_msix()
3024 ha->msix_entries = kzalloc(sizeof(struct qla_msix_entry) * in qla24xx_enable_msix()
3025 ha->msix_count, GFP_KERNEL); in qla24xx_enable_msix()
3026 if (!ha->msix_entries) { in qla24xx_enable_msix()
3032 ha->flags.msix_enabled = 1; in qla24xx_enable_msix()
3034 for (i = 0; i < ha->msix_count; i++) { in qla24xx_enable_msix()
3035 qentry = &ha->msix_entries[i]; in qla24xx_enable_msix()
3044 qentry = &ha->msix_entries[i]; in qla24xx_enable_msix()
3045 if (IS_P3P_TYPE(ha)) in qla24xx_enable_msix()
3064 if (QLA_TGT_MODE_ENABLED() && IS_ATIO_MSIX_CAPABLE(ha)) { in qla24xx_enable_msix()
3065 qentry = &ha->msix_entries[ATIO_VECTOR]; in qla24xx_enable_msix()
3079 qla24xx_disable_msix(ha); in qla24xx_enable_msix()
3080 ha->mqenable = 0; in qla24xx_enable_msix()
3085 if (IS_QLA83XX(ha) || IS_QLA27XX(ha)) { in qla24xx_enable_msix()
3086 if (ha->msixbase && ha->mqiobase && in qla24xx_enable_msix()
3087 (ha->max_rsp_queues > 1 || ha->max_req_queues > 1)) in qla24xx_enable_msix()
3088 ha->mqenable = 1; in qla24xx_enable_msix()
3090 if (ha->mqiobase in qla24xx_enable_msix()
3091 && (ha->max_rsp_queues > 1 || ha->max_req_queues > 1)) in qla24xx_enable_msix()
3092 ha->mqenable = 1; in qla24xx_enable_msix()
3095 ha->mqiobase, ha->max_rsp_queues, ha->max_req_queues); in qla24xx_enable_msix()
3098 ha->mqiobase, ha->max_rsp_queues, ha->max_req_queues); in qla24xx_enable_msix()
3106 qla2x00_request_irqs(struct qla_hw_data *ha, struct rsp_que *rsp) in qla2x00_request_irqs() argument
3109 device_reg_t *reg = ha->iobase; in qla2x00_request_irqs()
3110 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla2x00_request_irqs()
3113 if (!IS_QLA2432(ha) && !IS_QLA2532(ha) && !IS_QLA8432(ha) && in qla2x00_request_irqs()
3114 !IS_CNA_CAPABLE(ha) && !IS_QLA2031(ha) && !IS_QLAFX00(ha) && in qla2x00_request_irqs()
3115 !IS_QLA27XX(ha)) in qla2x00_request_irqs()
3118 if (ha->pdev->subsystem_vendor == PCI_VENDOR_ID_HP && in qla2x00_request_irqs()
3119 (ha->pdev->subsystem_device == 0x7040 || in qla2x00_request_irqs()
3120 ha->pdev->subsystem_device == 0x7041 || in qla2x00_request_irqs()
3121 ha->pdev->subsystem_device == 0x1705)) { in qla2x00_request_irqs()
3124 ha->pdev->subsystem_vendor, in qla2x00_request_irqs()
3125 ha->pdev->subsystem_device); in qla2x00_request_irqs()
3129 if (IS_QLA2432(ha) && (ha->pdev->revision < QLA_MSIX_CHIP_REV_24XX)) { in qla2x00_request_irqs()
3132 ha->pdev->revision, QLA_MSIX_CHIP_REV_24XX); in qla2x00_request_irqs()
3136 ret = qla24xx_enable_msix(ha, rsp); in qla2x00_request_irqs()
3140 ha->chip_revision, ha->fw_attributes); in qla2x00_request_irqs()
3149 if (!IS_QLA24XX(ha) && !IS_QLA2532(ha) && !IS_QLA8432(ha) && in qla2x00_request_irqs()
3150 !IS_QLA8001(ha) && !IS_P3P_TYPE(ha) && !IS_QLAFX00(ha) && in qla2x00_request_irqs()
3151 !IS_QLA27XX(ha)) in qla2x00_request_irqs()
3154 ret = pci_enable_msi(ha->pdev); in qla2x00_request_irqs()
3158 ha->flags.msi_enabled = 1; in qla2x00_request_irqs()
3165 if (!ha->flags.msi_enabled && IS_QLA82XX(ha)) in qla2x00_request_irqs()
3168 ret = request_irq(ha->pdev->irq, ha->isp_ops->intr_handler, in qla2x00_request_irqs()
3169 ha->flags.msi_enabled ? 0 : IRQF_SHARED, in qla2x00_request_irqs()
3174 ha->pdev->irq); in qla2x00_request_irqs()
3176 } else if (!ha->flags.msi_enabled) { in qla2x00_request_irqs()
3179 ha->flags.mr_intr_valid = 1; in qla2x00_request_irqs()
3183 if (IS_FWI2_CAPABLE(ha) || IS_QLAFX00(ha)) in qla2x00_request_irqs()
3186 spin_lock_irq(&ha->hardware_lock); in qla2x00_request_irqs()
3188 spin_unlock_irq(&ha->hardware_lock); in qla2x00_request_irqs()
3197 struct qla_hw_data *ha = vha->hw; in qla2x00_free_irqs() local
3204 if (!ha->rsp_q_map || !ha->rsp_q_map[0]) in qla2x00_free_irqs()
3206 rsp = ha->rsp_q_map[0]; in qla2x00_free_irqs()
3208 if (ha->flags.msix_enabled) in qla2x00_free_irqs()
3209 qla24xx_disable_msix(ha); in qla2x00_free_irqs()
3210 else if (ha->flags.msi_enabled) { in qla2x00_free_irqs()
3211 free_irq(ha->pdev->irq, rsp); in qla2x00_free_irqs()
3212 pci_disable_msi(ha->pdev); in qla2x00_free_irqs()
3214 free_irq(ha->pdev->irq, rsp); in qla2x00_free_irqs()
3220 struct qla_hw_data *ha = rsp->hw; in qla25xx_request_irq() local
3223 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla25xx_request_irq()