aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ntb
diff options
context:
space:
mode:
authorAlexander Gordeev <agordeev@redhat.com>2014-02-21 10:49:30 -0500
committerJon Mason <jon.mason@intel.com>2014-04-07 13:59:19 -0400
commit77733513c481d741d997139a1cac5d0d10bf3639 (patch)
tree1dbe18d5fbfb38f638284b9d18cf1520ca2a4d0c /drivers/ntb
parent53ca4fea0bbe966b3123509125898b286a136f47 (diff)
ntb: Use pci_msix_vec_count() to obtain number of MSI-Xs
Signed-off-by: Alexander Gordeev <agordeev@redhat.com> Signed-off-by: Jon Mason <jon.mason@intel.com>
Diffstat (limited to 'drivers/ntb')
-rw-r--r--drivers/ntb/ntb_hw.c15
-rw-r--r--drivers/ntb/ntb_hw.h2
2 files changed, 4 insertions, 13 deletions
diff --git a/drivers/ntb/ntb_hw.c b/drivers/ntb/ntb_hw.c
index eba1ed58471d..06d605c6f362 100644
--- a/drivers/ntb/ntb_hw.c
+++ b/drivers/ntb/ntb_hw.c
@@ -1086,19 +1086,12 @@ static int ntb_setup_msix(struct ntb_device *ndev)
1086 struct msix_entry *msix; 1086 struct msix_entry *msix;
1087 int msix_entries; 1087 int msix_entries;
1088 int rc, i; 1088 int rc, i;
1089 u16 val;
1090 1089
1091 if (!pdev->msix_cap) { 1090 msix_entries = pci_msix_vec_count(pdev);
1092 rc = -EIO; 1091 if (msix_entries < 0) {
1093 goto err; 1092 rc = msix_entries;
1094 }
1095
1096 rc = pci_read_config_word(pdev, pdev->msix_cap + PCI_MSIX_FLAGS, &val);
1097 if (rc)
1098 goto err; 1093 goto err;
1099 1094 } else if (msix_entries > ndev->limits.msix_cnt) {
1100 msix_entries = msix_table_size(val);
1101 if (msix_entries > ndev->limits.msix_cnt) {
1102 rc = -EINVAL; 1095 rc = -EINVAL;
1103 goto err; 1096 goto err;
1104 } 1097 }
diff --git a/drivers/ntb/ntb_hw.h b/drivers/ntb/ntb_hw.h
index 923a0fbb0eb8..465517b7393e 100644
--- a/drivers/ntb/ntb_hw.h
+++ b/drivers/ntb/ntb_hw.h
@@ -61,8 +61,6 @@
61#define PCI_DEVICE_ID_INTEL_NTB_SS_HSX 0x2F0F 61#define PCI_DEVICE_ID_INTEL_NTB_SS_HSX 0x2F0F
62#define PCI_DEVICE_ID_INTEL_NTB_B2B_BWD 0x0C4E 62#define PCI_DEVICE_ID_INTEL_NTB_B2B_BWD 0x0C4E
63 63
64#define msix_table_size(control) ((control & PCI_MSIX_FLAGS_QSIZE)+1)
65
66#ifndef readq 64#ifndef readq
67static inline u64 readq(void __iomem *addr) 65static inline u64 readq(void __iomem *addr)
68{ 66{