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 | |
| 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>
| -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 | ||
