diff options
author | Alexander Gordeev <agordeev@redhat.com> | 2014-02-21 10:49:30 -0500 |
---|---|---|
committer | Jon Mason <jon.mason@intel.com> | 2014-04-07 13:59:19 -0400 |
commit | 77733513c481d741d997139a1cac5d0d10bf3639 (patch) | |
tree | 1dbe18d5fbfb38f638284b9d18cf1520ca2a4d0c /drivers/ntb | |
parent | 53ca4fea0bbe966b3123509125898b286a136f47 (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.c | 15 | ||||
-rw-r--r-- | drivers/ntb/ntb_hw.h | 2 |
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 |
67 | static inline u64 readq(void __iomem *addr) | 65 | static inline u64 readq(void __iomem *addr) |
68 | { | 66 | { |