aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ixgbe/ixgbe.h
diff options
context:
space:
mode:
authorYi Zou <yi.zou@intel.com>2009-05-13 09:11:06 -0400
committerDavid S. Miller <davem@davemloft.net>2009-05-17 15:00:04 -0400
commiteacd73f79a106c6a0bc429003ab691024860ab2d (patch)
treeb788d0e9599b508a71ca2c5eb6bc2cee4a66ab29 /drivers/net/ixgbe/ixgbe.h
parentbc079228e74d63742255c466d2bce1f42423f219 (diff)
ixgbe: Implement FCoE Tx side offload features in base driver of 82599
This patch implements the FCoE Tx side offload features in ixgbe_main.c to 82599 using the Tx offload infrastructure code added in the previous patch. This is achieved by the calling the FCoE Sequence Offload (FSO) function ixgbe_fso() on the transmit path of ixgbe. This patch also includes an EEPROM check to make sure the NIC we're loading on is an offload-enabled SKU. Signed-off-by: Yi Zou <yi.zou@intel.com> 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.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/net/ixgbe/ixgbe.h b/drivers/net/ixgbe/ixgbe.h
index d743d0ed5c2e..06859f687f19 100644
--- a/drivers/net/ixgbe/ixgbe.h
+++ b/drivers/net/ixgbe/ixgbe.h
@@ -36,6 +36,10 @@
36#include "ixgbe_type.h" 36#include "ixgbe_type.h"
37#include "ixgbe_common.h" 37#include "ixgbe_common.h"
38#include "ixgbe_dcb.h" 38#include "ixgbe_dcb.h"
39#if defined(CONFIG_FCOE) || defined(CONFIG_FCOE_MODULE)
40#define IXGBE_FCOE
41#include "ixgbe_fcoe.h"
42#endif /* CONFIG_FCOE or CONFIG_FCOE_MODULE */
39#ifdef CONFIG_IXGBE_DCA 43#ifdef CONFIG_IXGBE_DCA
40#include <linux/dca.h> 44#include <linux/dca.h>
41#endif 45#endif
@@ -84,6 +88,8 @@
84#define IXGBE_TX_FLAGS_VLAN (u32)(1 << 1) 88#define IXGBE_TX_FLAGS_VLAN (u32)(1 << 1)
85#define IXGBE_TX_FLAGS_TSO (u32)(1 << 2) 89#define IXGBE_TX_FLAGS_TSO (u32)(1 << 2)
86#define IXGBE_TX_FLAGS_IPV4 (u32)(1 << 3) 90#define IXGBE_TX_FLAGS_IPV4 (u32)(1 << 3)
91#define IXGBE_TX_FLAGS_FCOE (u32)(1 << 4)
92#define IXGBE_TX_FLAGS_FSO (u32)(1 << 5)
87#define IXGBE_TX_FLAGS_VLAN_MASK 0xffff0000 93#define IXGBE_TX_FLAGS_VLAN_MASK 0xffff0000
88#define IXGBE_TX_FLAGS_VLAN_PRIO_MASK 0x0000e000 94#define IXGBE_TX_FLAGS_VLAN_PRIO_MASK 0x0000e000
89#define IXGBE_TX_FLAGS_VLAN_SHIFT 16 95#define IXGBE_TX_FLAGS_VLAN_SHIFT 16
@@ -298,6 +304,7 @@ struct ixgbe_adapter {
298#define IXGBE_FLAG_IN_SFP_MOD_TASK (u32)(1 << 25) 304#define IXGBE_FLAG_IN_SFP_MOD_TASK (u32)(1 << 25)
299#define IXGBE_FLAG_RSC_CAPABLE (u32)(1 << 26) 305#define IXGBE_FLAG_RSC_CAPABLE (u32)(1 << 26)
300#define IXGBE_FLAG_RSC_ENABLED (u32)(1 << 27) 306#define IXGBE_FLAG_RSC_ENABLED (u32)(1 << 27)
307#define IXGBE_FLAG_FCOE_ENABLED (u32)(1 << 29)
301 308
302/* default to trying for four seconds */ 309/* default to trying for four seconds */
303#define IXGBE_TRY_LINK_TIMEOUT (4 * HZ) 310#define IXGBE_TRY_LINK_TIMEOUT (4 * HZ)
@@ -371,5 +378,11 @@ extern void ixgbe_update_stats(struct ixgbe_adapter *adapter);
371extern int ixgbe_init_interrupt_scheme(struct ixgbe_adapter *adapter); 378extern int ixgbe_init_interrupt_scheme(struct ixgbe_adapter *adapter);
372extern void ixgbe_clear_interrupt_scheme(struct ixgbe_adapter *adapter); 379extern void ixgbe_clear_interrupt_scheme(struct ixgbe_adapter *adapter);
373extern void ixgbe_write_eitr(struct ixgbe_adapter *, int, u32); 380extern void ixgbe_write_eitr(struct ixgbe_adapter *, int, u32);
381#ifdef IXGBE_FCOE
382extern void ixgbe_configure_fcoe(struct ixgbe_adapter *adapter);
383extern int ixgbe_fso(struct ixgbe_adapter *adapter,
384 struct ixgbe_ring *tx_ring, struct sk_buff *skb,
385 u32 tx_flags, u8 *hdr_len);
386#endif /* IXGBE_FCOE */
374 387
375#endif /* _IXGBE_H_ */ 388#endif /* _IXGBE_H_ */