aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ntb
diff options
context:
space:
mode:
authorYijing Wang <wangyijing@huawei.com>2013-08-08 09:09:34 -0400
committerJon Mason <jon.mason@intel.com>2013-09-05 14:08:01 -0400
commit73f47cadfe29f98c48d7fbac4dd79d3e7979ee0b (patch)
tree209fd32c973c7573146d2aa50898d6143e0340a9 /drivers/ntb
parent2984411f1af45ab27092f7dc5678bbbfb94fbed3 (diff)
ntb: clean up unnecessary MSI/MSI-X capability find
PCI core will initialize device MSI/MSI-X capability in pci_msi_init_pci_dev(). So device driver should use pci_dev->msi_cap/msix_cap to determine whether the device support MSI/MSI-X instead of using pci_find_capability(pci_dev, PCI_CAP_ID_MSI/MSIX). Access to PCIe device config space again will consume more time. Signed-off-by: Yijing Wang <wangyijing@huawei.com> Signed-off-by: Jon Mason <jon.mason@intel.com>
Diffstat (limited to 'drivers/ntb')
-rw-r--r--drivers/ntb/ntb_hw.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/ntb/ntb_hw.c b/drivers/ntb/ntb_hw.c
index b717922d6240..1cb6e51e6bda 100644
--- a/drivers/ntb/ntb_hw.c
+++ b/drivers/ntb/ntb_hw.c
@@ -1031,16 +1031,15 @@ static int ntb_setup_msix(struct ntb_device *ndev)
1031 struct pci_dev *pdev = ndev->pdev; 1031 struct pci_dev *pdev = ndev->pdev;
1032 struct msix_entry *msix; 1032 struct msix_entry *msix;
1033 int msix_entries; 1033 int msix_entries;
1034 int rc, i, pos; 1034 int rc, i;
1035 u16 val; 1035 u16 val;
1036 1036
1037 pos = pci_find_capability(pdev, PCI_CAP_ID_MSIX); 1037 if (!pdev->msix_cap) {
1038 if (!pos) {
1039 rc = -EIO; 1038 rc = -EIO;
1040 goto err; 1039 goto err;
1041 } 1040 }
1042 1041
1043 rc = pci_read_config_word(pdev, pos + PCI_MSIX_FLAGS, &val); 1042 rc = pci_read_config_word(pdev, pdev->msix_cap + PCI_MSIX_FLAGS, &val);
1044 if (rc) 1043 if (rc)
1045 goto err; 1044 goto err;
1046 1045