Skip to content

Commit

Permalink
ntb: clean up unnecessary MSI/MSI-X capability find
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Yijing Wang authored and Jon Mason committed Sep 5, 2013
1 parent 2984411 commit 73f47ca
Showing 1 changed file with 3 additions and 4 deletions.
7 changes: 3 additions & 4 deletions drivers/ntb/ntb_hw.c
Original file line number Diff line number Diff line change
Expand Up @@ -1031,16 +1031,15 @@ static int ntb_setup_msix(struct ntb_device *ndev)
struct pci_dev *pdev = ndev->pdev;
struct msix_entry *msix;
int msix_entries;
int rc, i, pos;
int rc, i;
u16 val;

pos = pci_find_capability(pdev, PCI_CAP_ID_MSIX);
if (!pos) {
if (!pdev->msix_cap) {
rc = -EIO;
goto err;
}

rc = pci_read_config_word(pdev, pos + PCI_MSIX_FLAGS, &val);
rc = pci_read_config_word(pdev, pdev->msix_cap + PCI_MSIX_FLAGS, &val);
if (rc)
goto err;

Expand Down

0 comments on commit 73f47ca

Please sign in to comment.