[SCSI] qla2xxx: remove unnecessary reads of PCI_CAP_ID_EXP
authorJon Mason <jdmason@kudzu.us>
Tue, 10 Jul 2012 21:57:56 +0000 (14:57 -0700)
committerJames Bottomley <JBottomley@Parallels.com>
Fri, 20 Jul 2012 07:59:02 +0000 (08:59 +0100)
The PCIE capability offset is saved during PCI bus walking.  It will
remove an unnecessary search in the PCI configuration space if this
value is referenced instead of reacquiring it.  Also, pci_is_pcie is a
better way of determining if the device is PCIE or not (as it uses the
same saved PCIE capability offset).

Signed-off-by: Jon Mason <jdmason@kudzu.us>
Acked-by: Chad Dupuis <chad.dupuis@qlogic.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/qla2xxx/qla_init.c
drivers/scsi/qla2xxx/qla_nx.c
drivers/scsi/qla2xxx/qla_os.c

index ca5084743135cf358c397dfccaa84fbbbbfece95..a44653b421612dcb35a302cc74a2ef64b689dd1a 100644 (file)
@@ -685,7 +685,7 @@ qla24xx_pci_config(scsi_qla_host_t *vha)
                pcix_set_mmrbc(ha->pdev, 2048);
 
        /* PCIe -- adjust Maximum Read Request Size (2048). */
-       if (pci_find_capability(ha->pdev, PCI_CAP_ID_EXP))
+       if (pci_is_pcie(ha->pdev))
                pcie_set_readrq(ha->pdev, 2048);
 
        pci_disable_rom(ha->pdev);
@@ -721,7 +721,7 @@ qla25xx_pci_config(scsi_qla_host_t *vha)
        pci_write_config_word(ha->pdev, PCI_COMMAND, w);
 
        /* PCIe -- adjust Maximum Read Request Size (2048). */
-       if (pci_find_capability(ha->pdev, PCI_CAP_ID_EXP))
+       if (pci_is_pcie(ha->pdev))
                pcie_set_readrq(ha->pdev, 2048);
 
        pci_disable_rom(ha->pdev);
index caf627ba7fa8b3e11a493355bf7a08f120770bcd..9ce3a8f8754f50dacb76efd1e1437cfa84e2d269 100644 (file)
@@ -1620,7 +1620,7 @@ qla82xx_pci_info_str(struct scsi_qla_host *vha, char *str)
        char lwstr[6];
        uint16_t lnk;
 
-       pcie_reg = pci_find_capability(ha->pdev, PCI_CAP_ID_EXP);
+       pcie_reg = pci_pcie_cap(ha->pdev);
        pci_read_config_word(ha->pdev, pcie_reg + PCI_EXP_LNKSTA, &lnk);
        ha->link_width = (lnk >> 4) & 0x3f;
 
@@ -2528,7 +2528,7 @@ qla82xx_start_firmware(scsi_qla_host_t *vha)
        }
 
        /* Negotiated Link width */
-       pcie_cap = pci_find_capability(ha->pdev, PCI_CAP_ID_EXP);
+       pcie_cap = pci_pcie_cap(ha->pdev);
        pci_read_config_word(ha->pdev, pcie_cap + PCI_EXP_LNKSTA, &lnk);
        ha->link_width = (lnk >> 4) & 0x3f;
 
index 6d1d873a20e2f8997ead5ecadd2e30a183d92c6c..fb8cd3847d4b131ba97039d35a6066e4ed653c4e 100644 (file)
@@ -482,12 +482,12 @@ qla24xx_pci_info_str(struct scsi_qla_host *vha, char *str)
        uint32_t pci_bus;
        int pcie_reg;
 
-       pcie_reg = pci_find_capability(ha->pdev, PCI_CAP_ID_EXP);
+       pcie_reg = pci_pcie_cap(ha->pdev);
        if (pcie_reg) {
                char lwstr[6];
                uint16_t pcie_lstat, lspeed, lwidth;
 
-               pcie_reg += 0x12;
+               pcie_reg += PCI_EXP_LNKCAP;
                pci_read_config_word(ha->pdev, pcie_reg, &pcie_lstat);
                lspeed = pcie_lstat & (BIT_0 | BIT_1 | BIT_2 | BIT_3);
                lwidth = (pcie_lstat &