瀏覽代碼

[SCSI] qla2xxx: remove unnecessary reads of PCI_CAP_ID_EXP

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>
Jon Mason 13 年之前
父節點
當前提交
e67f13212a
共有 3 個文件被更改,包括 6 次插入6 次删除
  1. 2 2
      drivers/scsi/qla2xxx/qla_init.c
  2. 2 2
      drivers/scsi/qla2xxx/qla_nx.c
  3. 2 2
      drivers/scsi/qla2xxx/qla_os.c

+ 2 - 2
drivers/scsi/qla2xxx/qla_init.c

@@ -685,7 +685,7 @@ qla24xx_pci_config(scsi_qla_host_t *vha)
 		pcix_set_mmrbc(ha->pdev, 2048);
 		pcix_set_mmrbc(ha->pdev, 2048);
 
 
 	/* PCIe -- adjust Maximum Read Request Size (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);
 		pcie_set_readrq(ha->pdev, 2048);
 
 
 	pci_disable_rom(ha->pdev);
 	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);
 	pci_write_config_word(ha->pdev, PCI_COMMAND, w);
 
 
 	/* PCIe -- adjust Maximum Read Request Size (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);
 		pcie_set_readrq(ha->pdev, 2048);
 
 
 	pci_disable_rom(ha->pdev);
 	pci_disable_rom(ha->pdev);

+ 2 - 2
drivers/scsi/qla2xxx/qla_nx.c

@@ -1620,7 +1620,7 @@ qla82xx_pci_info_str(struct scsi_qla_host *vha, char *str)
 	char lwstr[6];
 	char lwstr[6];
 	uint16_t lnk;
 	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);
 	pci_read_config_word(ha->pdev, pcie_reg + PCI_EXP_LNKSTA, &lnk);
 	ha->link_width = (lnk >> 4) & 0x3f;
 	ha->link_width = (lnk >> 4) & 0x3f;
 
 
@@ -2528,7 +2528,7 @@ qla82xx_start_firmware(scsi_qla_host_t *vha)
 	}
 	}
 
 
 	/* Negotiated Link width */
 	/* 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);
 	pci_read_config_word(ha->pdev, pcie_cap + PCI_EXP_LNKSTA, &lnk);
 	ha->link_width = (lnk >> 4) & 0x3f;
 	ha->link_width = (lnk >> 4) & 0x3f;
 
 

+ 2 - 2
drivers/scsi/qla2xxx/qla_os.c

@@ -482,12 +482,12 @@ qla24xx_pci_info_str(struct scsi_qla_host *vha, char *str)
 	uint32_t pci_bus;
 	uint32_t pci_bus;
 	int pcie_reg;
 	int pcie_reg;
 
 
-	pcie_reg = pci_find_capability(ha->pdev, PCI_CAP_ID_EXP);
+	pcie_reg = pci_pcie_cap(ha->pdev);
 	if (pcie_reg) {
 	if (pcie_reg) {
 		char lwstr[6];
 		char lwstr[6];
 		uint16_t pcie_lstat, lspeed, lwidth;
 		uint16_t pcie_lstat, lspeed, lwidth;
 
 
-		pcie_reg += 0x12;
+		pcie_reg += PCI_EXP_LNKCAP;
 		pci_read_config_word(ha->pdev, pcie_reg, &pcie_lstat);
 		pci_read_config_word(ha->pdev, pcie_reg, &pcie_lstat);
 		lspeed = pcie_lstat & (BIT_0 | BIT_1 | BIT_2 | BIT_3);
 		lspeed = pcie_lstat & (BIT_0 | BIT_1 | BIT_2 | BIT_3);
 		lwidth = (pcie_lstat &
 		lwidth = (pcie_lstat &