diff options
author | Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com> | 2009-06-04 12:01:43 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-06-07 08:20:24 -0400 |
commit | c4cf55e5d2e9353c6054eb0e22fc1d0a9a48f045 (patch) | |
tree | 2b8597403de4807f27d038250e07eefd003e7418 /drivers/net/ixgbe/ixgbe.h | |
parent | ffff47720318860933b2af84d1912af8b2e621f2 (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.h | 12 |
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 | ||