Commit dc62c3be authored by Quinn Tran's avatar Quinn Tran Committed by Martin K. Petersen

scsi: qla2xxx: Remove extra register read

Remove extra register read for each interrupt for performance
improvement.
Signed-off-by: default avatarQuinn Tran <quinn.tran@cavium.com>
Signed-off-by: default avatarHimanshu Madhani <himanshu.madhani@cavium.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent 1608cc4a
...@@ -3157,7 +3157,6 @@ qla24xx_msix_rsp_q(int irq, void *dev_id) ...@@ -3157,7 +3157,6 @@ qla24xx_msix_rsp_q(int irq, void *dev_id)
struct device_reg_24xx __iomem *reg; struct device_reg_24xx __iomem *reg;
struct scsi_qla_host *vha; struct scsi_qla_host *vha;
unsigned long flags; unsigned long flags;
uint32_t stat = 0;
rsp = (struct rsp_que *) dev_id; rsp = (struct rsp_que *) dev_id;
if (!rsp) { if (!rsp) {
...@@ -3171,19 +3170,11 @@ qla24xx_msix_rsp_q(int irq, void *dev_id) ...@@ -3171,19 +3170,11 @@ qla24xx_msix_rsp_q(int irq, void *dev_id)
spin_lock_irqsave(&ha->hardware_lock, flags); spin_lock_irqsave(&ha->hardware_lock, flags);
vha = pci_get_drvdata(ha->pdev); vha = pci_get_drvdata(ha->pdev);
/*
* Use host_status register to check to PCI disconnection before we
* we process the response queue.
*/
stat = RD_REG_DWORD(&reg->host_status);
if (qla2x00_check_reg32_for_disconnect(vha, stat))
goto out;
qla24xx_process_response_queue(vha, rsp); qla24xx_process_response_queue(vha, rsp);
if (!ha->flags.disable_msix_handshake) { if (!ha->flags.disable_msix_handshake) {
WRT_REG_DWORD(&reg->hccr, HCCRX_CLR_RISC_INT); WRT_REG_DWORD(&reg->hccr, HCCRX_CLR_RISC_INT);
RD_REG_DWORD_RELAXED(&reg->hccr); RD_REG_DWORD_RELAXED(&reg->hccr);
} }
out:
spin_unlock_irqrestore(&ha->hardware_lock, flags); spin_unlock_irqrestore(&ha->hardware_lock, flags);
return IRQ_HANDLED; return IRQ_HANDLED;
......
...@@ -6530,7 +6530,6 @@ qlt_24xx_process_atio_queue(struct scsi_qla_host *vha, uint8_t ha_locked) ...@@ -6530,7 +6530,6 @@ qlt_24xx_process_atio_queue(struct scsi_qla_host *vha, uint8_t ha_locked)
/* Adjust ring index */ /* Adjust ring index */
WRT_REG_DWORD(ISP_ATIO_Q_OUT(vha), ha->tgt.atio_ring_index); WRT_REG_DWORD(ISP_ATIO_Q_OUT(vha), ha->tgt.atio_ring_index);
RD_REG_DWORD_RELAXED(ISP_ATIO_Q_OUT(vha));
} }
void void
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment