aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ixgbe/ixgbe.h
diff options
context:
space:
mode:
authorPeter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>2009-02-01 04:18:58 -0500
committerDavid S. Miller <davem@davemloft.net>2009-02-01 04:18:58 -0500
commiteb7f139ce523bfe03b1628c66d3e1d50f3c07196 (patch)
treed41b641e1a94911aaddc22b63d3d470f6cfd3ef1 /drivers/net/ixgbe/ixgbe.h
parent2f21bdd3542838dc5513a585a32aa13f01b019e7 (diff)
ixgbe: Refactor MSI-X allocation mechanism
Our current MSI-X allocation mechanism does not support new hardware at all. It also isn't getting the actual number of supported MSI-X vectors from the device. This patch allows the number of MSI-X vectors to be specific to a device, plus it gets the number of MSI-X vectors available from PCIe configuration space. Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ixgbe/ixgbe.h')
-rw-r--r--drivers/net/ixgbe/ixgbe.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/net/ixgbe/ixgbe.h b/drivers/net/ixgbe/ixgbe.h
index 6ac361a4b8ad..341d8b555f17 100644
--- a/drivers/net/ixgbe/ixgbe.h
+++ b/drivers/net/ixgbe/ixgbe.h
@@ -204,9 +204,13 @@ struct ixgbe_q_vector {
204#define OTHER_VECTOR 1 204#define OTHER_VECTOR 1
205#define NON_Q_VECTORS (OTHER_VECTOR) 205#define NON_Q_VECTORS (OTHER_VECTOR)
206 206
207#define MAX_MSIX_Q_VECTORS 16 207#define MAX_MSIX_VECTORS_82598 18
208#define MAX_MSIX_Q_VECTORS_82598 16
209
210#define MAX_MSIX_Q_VECTORS MAX_MSIX_Q_VECTORS_82598
211#define MAX_MSIX_COUNT MAX_MSIX_VECTORS_82598
212
208#define MIN_MSIX_Q_VECTORS 2 213#define MIN_MSIX_Q_VECTORS 2
209#define MAX_MSIX_COUNT (MAX_MSIX_Q_VECTORS + NON_Q_VECTORS)
210#define MIN_MSIX_COUNT (MIN_MSIX_Q_VECTORS + NON_Q_VECTORS) 214#define MIN_MSIX_COUNT (MIN_MSIX_Q_VECTORS + NON_Q_VECTORS)
211 215
212/* board specific private data structure */ 216/* board specific private data structure */
@@ -244,6 +248,7 @@ struct ixgbe_adapter {
244 u64 hw_csum_rx_good; 248 u64 hw_csum_rx_good;
245 u64 non_eop_descs; 249 u64 non_eop_descs;
246 int num_msix_vectors; 250 int num_msix_vectors;
251 int max_msix_q_vectors; /* true count of q_vectors for device */
247 struct ixgbe_ring_feature ring_feature[3]; 252 struct ixgbe_ring_feature ring_feature[3];
248 struct msix_entry *msix_entries; 253 struct msix_entry *msix_entries;
249 254