OSDN Git Service

scsi: qla2xxx: Remove extra register read
authorQuinn Tran <quinn.tran@cavium.com>
Wed, 23 Aug 2017 22:05:04 +0000 (15:05 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Fri, 25 Aug 2017 02:29:22 +0000 (22:29 -0400)
Remove extra register read for each interrupt for performance
improvement.

Signed-off-by: Quinn Tran <quinn.tran@cavium.com>
Signed-off-by: Himanshu Madhani <himanshu.madhani@cavium.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/qla2xxx/qla_isr.c
drivers/scsi/qla2xxx/qla_target.c

index c6c0661..df8a7f3 100644 (file)
@@ -3157,7 +3157,6 @@ qla24xx_msix_rsp_q(int irq, void *dev_id)
        struct device_reg_24xx __iomem *reg;
        struct scsi_qla_host *vha;
        unsigned long flags;
-       uint32_t stat = 0;
 
        rsp = (struct rsp_que *) dev_id;
        if (!rsp) {
@@ -3171,19 +3170,11 @@ qla24xx_msix_rsp_q(int irq, void *dev_id)
        spin_lock_irqsave(&ha->hardware_lock, flags);
 
        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);
        if (!ha->flags.disable_msix_handshake) {
                WRT_REG_DWORD(&reg->hccr, HCCRX_CLR_RISC_INT);
                RD_REG_DWORD_RELAXED(&reg->hccr);
        }
-out:
        spin_unlock_irqrestore(&ha->hardware_lock, flags);
 
        return IRQ_HANDLED;
index 4e2a647..3bcfbee 100644 (file)
@@ -6530,7 +6530,6 @@ qlt_24xx_process_atio_queue(struct scsi_qla_host *vha, uint8_t ha_locked)
 
        /* Adjust 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