IB/mthca: Remove unnecessary read of PCI_CAP_ID_EXP
authorJon Mason <jdmason@kudzu.us>
Mon, 27 Jun 2011 17:39:54 +0000 (17:39 +0000)
committerRoland Dreier <roland@purestorage.com>
Mon, 18 Jul 2011 19:01:22 +0000 (12:01 -0700)
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>
Signed-off-by: Roland Dreier <roland@purestorage.com>
drivers/infiniband/hw/mthca/mthca_main.c
drivers/infiniband/hw/mthca/mthca_reset.c

index f9834766e37b7435d690e5f77578428b7b972255..aa12a533ae9e426c4d4dc66d5ca255a0d2e2e6a4 100644 (file)
@@ -149,7 +149,7 @@ static int mthca_tune_pci(struct mthca_dev *mdev)
        } else if (!(mdev->mthca_flags & MTHCA_FLAG_PCIE))
                mthca_info(mdev, "No PCI-X capability, not setting RBC.\n");
 
-       if (pci_find_capability(mdev->pdev, PCI_CAP_ID_EXP)) {
+       if (pci_is_pcie(mdev->pdev)) {
                if (pcie_set_readrq(mdev->pdev, 4096)) {
                        mthca_err(mdev, "Couldn't write PCI Express read request, "
                                "aborting.\n");
index 2a13a163d33780ce9d646aba280a0ceeb76ff9ca..4fa3534ec233b3b0bac4fb84e701714fbd0cd172 100644 (file)
@@ -113,7 +113,7 @@ int mthca_reset(struct mthca_dev *mdev)
        }
 
        hca_pcix_cap = pci_find_capability(mdev->pdev, PCI_CAP_ID_PCIX);
-       hca_pcie_cap = pci_find_capability(mdev->pdev, PCI_CAP_ID_EXP);
+       hca_pcie_cap = pci_pcie_cap(mdev->pdev);
 
        if (bridge) {
                bridge_header = kmalloc(256, GFP_KERNEL);