aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ixgbe/ixgbe.h
diff options
context:
space:
mode:
authorAlexander Duyck <alexander.h.duyck@intel.com>2009-04-27 18:42:37 -0400
committerDavid S. Miller <davem@davemloft.net>2009-04-28 04:53:16 -0400
commitf8212f979f777af2a8e3a9deb0c11a9fcf35e305 (patch)
tree4b92bdc66e3ed82208a8dcc28b3b9a0511621669 /drivers/net/ixgbe/ixgbe.h
parent45a5ead0220cc7cc70f6961879decffbd0a54cc0 (diff)
ixgbe: enable HW RSC for 82599
This patch enables hardware receive side coalescing for 82599 hardware. 82599 can merge multiple frames from the same TCP/IP flow into a single structure that can span one ore more descriptors. The accumulated data is arranged similar to how jumbo frames are arranged with the exception that other packets can be interlaced inbetween. To overcome this issue a next pointer is included in the written back descriptor which indicates the next descriptor in the writeback sequence. This feature sets the NETIF_F_LRO flag and clearing it via the ethtool set flags operation will also disable hardware RSC. Signed-off-by: Alexander Duyck <alexander.h.duyck@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.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/ixgbe/ixgbe.h b/drivers/net/ixgbe/ixgbe.h
index c26433d14605..4b44a8efac8c 100644
--- a/drivers/net/ixgbe/ixgbe.h
+++ b/drivers/net/ixgbe/ixgbe.h
@@ -147,6 +147,7 @@ struct ixgbe_ring {
147 147
148 u16 work_limit; /* max work per interrupt */ 148 u16 work_limit; /* max work per interrupt */
149 u16 rx_buf_len; 149 u16 rx_buf_len;
150 u64 rsc_count; /* stat for coalesced packets */
150}; 151};
151 152
152enum ixgbe_ring_f_enum { 153enum ixgbe_ring_f_enum {
@@ -294,6 +295,8 @@ struct ixgbe_adapter {
294#define IXGBE_FLAG_IN_WATCHDOG_TASK (u32)(1 << 23) 295#define IXGBE_FLAG_IN_WATCHDOG_TASK (u32)(1 << 23)
295#define IXGBE_FLAG_IN_SFP_LINK_TASK (u32)(1 << 24) 296#define IXGBE_FLAG_IN_SFP_LINK_TASK (u32)(1 << 24)
296#define IXGBE_FLAG_IN_SFP_MOD_TASK (u32)(1 << 25) 297#define IXGBE_FLAG_IN_SFP_MOD_TASK (u32)(1 << 25)
298#define IXGBE_FLAG_RSC_CAPABLE (u32)(1 << 26)
299#define IXGBE_FLAG_RSC_ENABLED (u32)(1 << 27)
297 300
298/* default to trying for four seconds */ 301/* default to trying for four seconds */
299#define IXGBE_TRY_LINK_TIMEOUT (4 * HZ) 302#define IXGBE_TRY_LINK_TIMEOUT (4 * HZ)
@@ -325,6 +328,7 @@ struct ixgbe_adapter {
325 struct timer_list sfp_timer; 328 struct timer_list sfp_timer;
326 struct work_struct multispeed_fiber_task; 329 struct work_struct multispeed_fiber_task;
327 struct work_struct sfp_config_module_task; 330 struct work_struct sfp_config_module_task;
331 u64 rsc_count;
328 u32 wol; 332 u32 wol;
329 u16 eeprom_version; 333 u16 eeprom_version;
330}; 334};