summaryrefslogtreecommitdiffstats
path: root/drivers/net/igb/igb.h
diff options
context:
space:
mode:
authorPeter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>2008-07-08 15:06:51 -0700
committerJeff Garzik <jgarzik@redhat.com>2008-07-11 01:20:31 -0400
commit661086df6cf35f62d0aec09ccb9164eb2baaaecd (patch)
tree5e0419fc106b5663595678512236d207b870faa7 /drivers/net/igb/igb.h
parentf731a9ef82c6728559b34743bca19d231e5e1b63 (diff)
igb: Introduce multiple TX queues with infrastructure
This code adds multiple Tx queue infrastructure much like we previously did in ixgbe. The MSI-X vector mapping is the bulk of the change. IAM can now be safely enabled and we've verified that it does work correctly. We can also eliminate the tx ring lock. Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com> Signed-off-by: Mitch Williams <mitch.a.williams@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers/net/igb/igb.h')
-rw-r--r--drivers/net/igb/igb.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/net/igb/igb.h b/drivers/net/igb/igb.h
index 2c48eec1766..a1431c8797b 100644
--- a/drivers/net/igb/igb.h
+++ b/drivers/net/igb/igb.h
@@ -62,6 +62,7 @@ struct igb_adapter;
/* Transmit and receive queues */
#define IGB_MAX_RX_QUEUES 4
+#define IGB_MAX_TX_QUEUES 4
/* RX descriptor control thresholds.
* PTHRESH - MAC will consider prefetch if it has fewer than this number of
@@ -157,8 +158,6 @@ struct igb_ring {
union {
/* TX */
struct {
- spinlock_t tx_clean_lock;
- spinlock_t tx_lock;
bool detect_tx_hung;
};
/* RX */
@@ -277,6 +276,10 @@ struct igb_adapter {
/* for ioport free */
int bars;
int need_ioport;
+
+#ifdef CONFIG_NETDEVICES_MULTIQUEUE
+ struct igb_ring *multi_tx_table[IGB_MAX_TX_QUEUES];
+#endif /* CONFIG_NETDEVICES_MULTIQUEUE */
};
enum e1000_state_t {