aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ixgbe/ixgbe.h
diff options
context:
space:
mode:
authorPeter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>2009-06-04 12:01:43 -0400
committerDavid S. Miller <davem@davemloft.net>2009-06-07 08:20:24 -0400
commitc4cf55e5d2e9353c6054eb0e22fc1d0a9a48f045 (patch)
tree2b8597403de4807f27d038250e07eefd003e7418 /drivers/net/ixgbe/ixgbe.h
parentffff47720318860933b2af84d1912af8b2e621f2 (diff)
ixgbe: Enable Flow Director hashing in 82599
This patch enables Flow Director's ATR functionality to the main base driver for 82599. Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com> Acked-by: Mallikarjuna R Chilakala <mallikarjuna.chilakala@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.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/net/ixgbe/ixgbe.h b/drivers/net/ixgbe/ixgbe.h
index 7adf959e2038..f2206e2a2425 100644
--- a/drivers/net/ixgbe/ixgbe.h
+++ b/drivers/net/ixgbe/ixgbe.h
@@ -126,6 +126,8 @@ struct ixgbe_ring {
126 unsigned int count; /* amount of descriptors */ 126 unsigned int count; /* amount of descriptors */
127 unsigned int next_to_use; 127 unsigned int next_to_use;
128 unsigned int next_to_clean; 128 unsigned int next_to_clean;
129 u8 atr_sample_rate;
130 u8 atr_count;
129 131
130 int queue_index; /* needed for multiqueue queue management */ 132 int queue_index; /* needed for multiqueue queue management */
131 union { 133 union {
@@ -148,6 +150,7 @@ struct ixgbe_ring {
148 int cpu; 150 int cpu;
149#endif 151#endif
150 struct ixgbe_queue_stats stats; 152 struct ixgbe_queue_stats stats;
153 unsigned long reinit_state;
151 154
152 u16 work_limit; /* max work per interrupt */ 155 u16 work_limit; /* max work per interrupt */
153 u16 rx_buf_len; 156 u16 rx_buf_len;
@@ -159,6 +162,7 @@ enum ixgbe_ring_f_enum {
159 RING_F_DCB, 162 RING_F_DCB,
160 RING_F_VMDQ, 163 RING_F_VMDQ,
161 RING_F_RSS, 164 RING_F_RSS,
165 RING_F_FDIR,
162#ifdef IXGBE_FCOE 166#ifdef IXGBE_FCOE
163 RING_F_FCOE, 167 RING_F_FCOE,
164#endif /* IXGBE_FCOE */ 168#endif /* IXGBE_FCOE */
@@ -169,6 +173,7 @@ enum ixgbe_ring_f_enum {
169#define IXGBE_MAX_DCB_INDICES 8 173#define IXGBE_MAX_DCB_INDICES 8
170#define IXGBE_MAX_RSS_INDICES 16 174#define IXGBE_MAX_RSS_INDICES 16
171#define IXGBE_MAX_VMDQ_INDICES 16 175#define IXGBE_MAX_VMDQ_INDICES 16
176#define IXGBE_MAX_FDIR_INDICES 64
172#ifdef IXGBE_FCOE 177#ifdef IXGBE_FCOE
173#define IXGBE_MAX_FCOE_INDICES 8 178#define IXGBE_MAX_FCOE_INDICES 8
174#endif /* IXGBE_FCOE */ 179#endif /* IXGBE_FCOE */
@@ -317,6 +322,8 @@ struct ixgbe_adapter {
317#define IXGBE_FLAG_IN_WATCHDOG_TASK (u32)(1 << 23) 322#define IXGBE_FLAG_IN_WATCHDOG_TASK (u32)(1 << 23)
318#define IXGBE_FLAG_IN_SFP_LINK_TASK (u32)(1 << 24) 323#define IXGBE_FLAG_IN_SFP_LINK_TASK (u32)(1 << 24)
319#define IXGBE_FLAG_IN_SFP_MOD_TASK (u32)(1 << 25) 324#define IXGBE_FLAG_IN_SFP_MOD_TASK (u32)(1 << 25)
325#define IXGBE_FLAG_FDIR_HASH_CAPABLE (u32)(1 << 26)
326#define IXGBE_FLAG_FDIR_PERFECT_CAPABLE (u32)(1 << 27)
320#define IXGBE_FLAG_FCOE_ENABLED (u32)(1 << 29) 327#define IXGBE_FLAG_FCOE_ENABLED (u32)(1 << 29)
321 328
322 u32 flags2; 329 u32 flags2;
@@ -356,6 +363,10 @@ struct ixgbe_adapter {
356 struct timer_list sfp_timer; 363 struct timer_list sfp_timer;
357 struct work_struct multispeed_fiber_task; 364 struct work_struct multispeed_fiber_task;
358 struct work_struct sfp_config_module_task; 365 struct work_struct sfp_config_module_task;
366 u32 fdir_pballoc;
367 u32 atr_sample_rate;
368 spinlock_t fdir_perfect_lock;
369 struct work_struct fdir_reinit_task;
359#ifdef IXGBE_FCOE 370#ifdef IXGBE_FCOE
360 struct ixgbe_fcoe fcoe; 371 struct ixgbe_fcoe fcoe;
361#endif /* IXGBE_FCOE */ 372#endif /* IXGBE_FCOE */
@@ -368,6 +379,7 @@ enum ixbge_state_t {
368 __IXGBE_TESTING, 379 __IXGBE_TESTING,
369 __IXGBE_RESETTING, 380 __IXGBE_RESETTING,
370 __IXGBE_DOWN, 381 __IXGBE_DOWN,
382 __IXGBE_FDIR_INIT_DONE,
371 __IXGBE_SFP_MODULE_NOT_FOUND 383 __IXGBE_SFP_MODULE_NOT_FOUND
372}; 384};
373 385