diff options
author | Yi Zou <yi.zou@intel.com> | 2009-05-13 09:11:06 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-05-17 15:00:04 -0400 |
commit | eacd73f79a106c6a0bc429003ab691024860ab2d (patch) | |
tree | b788d0e9599b508a71ca2c5eb6bc2cee4a66ab29 /drivers/net/ixgbe/ixgbe.h | |
parent | bc079228e74d63742255c466d2bce1f42423f219 (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.h | 13 |
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); | |||
371 | extern int ixgbe_init_interrupt_scheme(struct ixgbe_adapter *adapter); | 378 | extern int ixgbe_init_interrupt_scheme(struct ixgbe_adapter *adapter); |
372 | extern void ixgbe_clear_interrupt_scheme(struct ixgbe_adapter *adapter); | 379 | extern void ixgbe_clear_interrupt_scheme(struct ixgbe_adapter *adapter); |
373 | extern void ixgbe_write_eitr(struct ixgbe_adapter *, int, u32); | 380 | extern void ixgbe_write_eitr(struct ixgbe_adapter *, int, u32); |
381 | #ifdef IXGBE_FCOE | ||
382 | extern void ixgbe_configure_fcoe(struct ixgbe_adapter *adapter); | ||
383 | extern 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_ */ |