diff options
author | Yijing Wang <wangyijing@huawei.com> | 2013-08-08 09:09:34 -0400 |
---|---|---|
committer | Jon Mason <jon.mason@intel.com> | 2013-09-05 14:08:01 -0400 |
commit | 73f47cadfe29f98c48d7fbac4dd79d3e7979ee0b (patch) | |
tree | 209fd32c973c7573146d2aa50898d6143e0340a9 /drivers/ntb | |
parent | 2984411f1af45ab27092f7dc5678bbbfb94fbed3 (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.c | 7 |
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 | ||