aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ixgbe/ixgbe_type.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/ixgbe/ixgbe_type.h')
-rw-r--r--drivers/net/ixgbe/ixgbe_type.h42
1 files changed, 25 insertions, 17 deletions
diff --git a/drivers/net/ixgbe/ixgbe_type.h b/drivers/net/ixgbe/ixgbe_type.h
index fd3358f5413..013751db5fc 100644
--- a/drivers/net/ixgbe/ixgbe_type.h
+++ b/drivers/net/ixgbe/ixgbe_type.h
@@ -1,7 +1,7 @@
1/******************************************************************************* 1/*******************************************************************************
2 2
3 Intel 10 Gigabit PCI Express Linux driver 3 Intel 10 Gigabit PCI Express Linux driver
4 Copyright(c) 1999 - 2010 Intel Corporation. 4 Copyright(c) 1999 - 2011 Intel Corporation.
5 5
6 This program is free software; you can redistribute it and/or modify it 6 This program is free software; you can redistribute it and/or modify it
7 under the terms and conditions of the GNU General Public License, 7 under the terms and conditions of the GNU General Public License,
@@ -91,7 +91,7 @@
91 91
92/* General Receive Control */ 92/* General Receive Control */
93#define IXGBE_GRC_MNG 0x00000001 /* Manageability Enable */ 93#define IXGBE_GRC_MNG 0x00000001 /* Manageability Enable */
94#define IXGBE_GRC_APME 0x00000002 /* Advanced Power Management Enable */ 94#define IXGBE_GRC_APME 0x00000002 /* APM enabled in EEPROM */
95 95
96#define IXGBE_VPDDIAG0 0x10204 96#define IXGBE_VPDDIAG0 0x10204
97#define IXGBE_VPDDIAG1 0x10208 97#define IXGBE_VPDDIAG1 0x10208
@@ -342,7 +342,7 @@
342/* Wake Up Control */ 342/* Wake Up Control */
343#define IXGBE_WUC_PME_EN 0x00000002 /* PME Enable */ 343#define IXGBE_WUC_PME_EN 0x00000002 /* PME Enable */
344#define IXGBE_WUC_PME_STATUS 0x00000004 /* PME Status */ 344#define IXGBE_WUC_PME_STATUS 0x00000004 /* PME Status */
345#define IXGBE_WUC_ADVD3WUC 0x00000010 /* D3Cold wake up cap. enable*/ 345#define IXGBE_WUC_WKEN 0x00000010 /* Enable PE_WAKE_N pin assertion */
346 346
347/* Wake Up Filter Control */ 347/* Wake Up Filter Control */
348#define IXGBE_WUFC_LNKC 0x00000001 /* Link Status Change Wakeup Enable */ 348#define IXGBE_WUFC_LNKC 0x00000001 /* Link Status Change Wakeup Enable */
@@ -1614,6 +1614,8 @@
1614#define IXGBE_ALT_SAN_MAC_ADDR_CAPS_ALTWWN 0x1 /* Alt. WWN base exists */ 1614#define IXGBE_ALT_SAN_MAC_ADDR_CAPS_ALTWWN 0x1 /* Alt. WWN base exists */
1615 1615
1616/* PCI Bus Info */ 1616/* PCI Bus Info */
1617#define IXGBE_PCI_DEVICE_STATUS 0xAA
1618#define IXGBE_PCI_DEVICE_STATUS_TRANSACTION_PENDING 0x0020
1617#define IXGBE_PCI_LINK_STATUS 0xB2 1619#define IXGBE_PCI_LINK_STATUS 0xB2
1618#define IXGBE_PCI_DEVICE_CONTROL2 0xC8 1620#define IXGBE_PCI_DEVICE_CONTROL2 0xC8
1619#define IXGBE_PCI_LINK_WIDTH 0x3F0 1621#define IXGBE_PCI_LINK_WIDTH 0x3F0
@@ -1680,6 +1682,8 @@
1680#define IXGBE_RXCTRL_DMBYPS 0x00000002 /* Descriptor Monitor Bypass */ 1682#define IXGBE_RXCTRL_DMBYPS 0x00000002 /* Descriptor Monitor Bypass */
1681#define IXGBE_RXDCTL_ENABLE 0x02000000 /* Enable specific Rx Queue */ 1683#define IXGBE_RXDCTL_ENABLE 0x02000000 /* Enable specific Rx Queue */
1682#define IXGBE_RXDCTL_VME 0x40000000 /* VLAN mode enable */ 1684#define IXGBE_RXDCTL_VME 0x40000000 /* VLAN mode enable */
1685#define IXGBE_RXDCTL_RLPMLMASK 0x00003FFF /* Only supported on the X540 */
1686#define IXGBE_RXDCTL_RLPML_EN 0x00008000
1683 1687
1684#define IXGBE_FCTRL_SBP 0x00000002 /* Store Bad Packet */ 1688#define IXGBE_FCTRL_SBP 0x00000002 /* Store Bad Packet */
1685#define IXGBE_FCTRL_MPE 0x00000100 /* Multicast Promiscuous Ena*/ 1689#define IXGBE_FCTRL_MPE 0x00000100 /* Multicast Promiscuous Ena*/
@@ -2240,6 +2244,7 @@ enum ixgbe_mac_type {
2240 2244
2241enum ixgbe_phy_type { 2245enum ixgbe_phy_type {
2242 ixgbe_phy_unknown = 0, 2246 ixgbe_phy_unknown = 0,
2247 ixgbe_phy_none,
2243 ixgbe_phy_tn, 2248 ixgbe_phy_tn,
2244 ixgbe_phy_aq, 2249 ixgbe_phy_aq,
2245 ixgbe_phy_cu_unknown, 2250 ixgbe_phy_cu_unknown,
@@ -2328,32 +2333,31 @@ enum ixgbe_bus_type {
2328/* PCI bus speeds */ 2333/* PCI bus speeds */
2329enum ixgbe_bus_speed { 2334enum ixgbe_bus_speed {
2330 ixgbe_bus_speed_unknown = 0, 2335 ixgbe_bus_speed_unknown = 0,
2331 ixgbe_bus_speed_33, 2336 ixgbe_bus_speed_33 = 33,
2332 ixgbe_bus_speed_66, 2337 ixgbe_bus_speed_66 = 66,
2333 ixgbe_bus_speed_100, 2338 ixgbe_bus_speed_100 = 100,
2334 ixgbe_bus_speed_120, 2339 ixgbe_bus_speed_120 = 120,
2335 ixgbe_bus_speed_133, 2340 ixgbe_bus_speed_133 = 133,
2336 ixgbe_bus_speed_2500, 2341 ixgbe_bus_speed_2500 = 2500,
2337 ixgbe_bus_speed_5000, 2342 ixgbe_bus_speed_5000 = 5000,
2338 ixgbe_bus_speed_reserved 2343 ixgbe_bus_speed_reserved
2339}; 2344};
2340 2345
2341/* PCI bus widths */ 2346/* PCI bus widths */
2342enum ixgbe_bus_width { 2347enum ixgbe_bus_width {
2343 ixgbe_bus_width_unknown = 0, 2348 ixgbe_bus_width_unknown = 0,
2344 ixgbe_bus_width_pcie_x1, 2349 ixgbe_bus_width_pcie_x1 = 1,
2345 ixgbe_bus_width_pcie_x2, 2350 ixgbe_bus_width_pcie_x2 = 2,
2346 ixgbe_bus_width_pcie_x4 = 4, 2351 ixgbe_bus_width_pcie_x4 = 4,
2347 ixgbe_bus_width_pcie_x8 = 8, 2352 ixgbe_bus_width_pcie_x8 = 8,
2348 ixgbe_bus_width_32, 2353 ixgbe_bus_width_32 = 32,
2349 ixgbe_bus_width_64, 2354 ixgbe_bus_width_64 = 64,
2350 ixgbe_bus_width_reserved 2355 ixgbe_bus_width_reserved
2351}; 2356};
2352 2357
2353struct ixgbe_addr_filter_info { 2358struct ixgbe_addr_filter_info {
2354 u32 num_mc_addrs; 2359 u32 num_mc_addrs;
2355 u32 rar_used_count; 2360 u32 rar_used_count;
2356 u32 mc_addr_in_rar_count;
2357 u32 mta_in_use; 2361 u32 mta_in_use;
2358 u32 overflow_promisc; 2362 u32 overflow_promisc;
2359 bool uc_set_promisc; 2363 bool uc_set_promisc;
@@ -2491,6 +2495,8 @@ struct ixgbe_mac_operations {
2491 s32 (*write_analog_reg8)(struct ixgbe_hw*, u32, u8); 2495 s32 (*write_analog_reg8)(struct ixgbe_hw*, u32, u8);
2492 s32 (*setup_sfp)(struct ixgbe_hw *); 2496 s32 (*setup_sfp)(struct ixgbe_hw *);
2493 s32 (*enable_rx_dma)(struct ixgbe_hw *, u32); 2497 s32 (*enable_rx_dma)(struct ixgbe_hw *, u32);
2498 s32 (*acquire_swfw_sync)(struct ixgbe_hw *, u16);
2499 void (*release_swfw_sync)(struct ixgbe_hw *, u16);
2494 2500
2495 /* Link */ 2501 /* Link */
2496 void (*disable_tx_laser)(struct ixgbe_hw *); 2502 void (*disable_tx_laser)(struct ixgbe_hw *);
@@ -2513,7 +2519,6 @@ struct ixgbe_mac_operations {
2513 s32 (*set_vmdq)(struct ixgbe_hw *, u32, u32); 2519 s32 (*set_vmdq)(struct ixgbe_hw *, u32, u32);
2514 s32 (*clear_vmdq)(struct ixgbe_hw *, u32, u32); 2520 s32 (*clear_vmdq)(struct ixgbe_hw *, u32, u32);
2515 s32 (*init_rx_addrs)(struct ixgbe_hw *); 2521 s32 (*init_rx_addrs)(struct ixgbe_hw *);
2516 s32 (*update_uc_addr_list)(struct ixgbe_hw *, struct net_device *);
2517 s32 (*update_mc_addr_list)(struct ixgbe_hw *, struct net_device *); 2522 s32 (*update_mc_addr_list)(struct ixgbe_hw *, struct net_device *);
2518 s32 (*enable_mc)(struct ixgbe_hw *); 2523 s32 (*enable_mc)(struct ixgbe_hw *);
2519 s32 (*disable_mc)(struct ixgbe_hw *); 2524 s32 (*disable_mc)(struct ixgbe_hw *);
@@ -2554,6 +2559,7 @@ struct ixgbe_eeprom_info {
2554 u16 address_bits; 2559 u16 address_bits;
2555}; 2560};
2556 2561
2562#define IXGBE_FLAGS_DOUBLE_RESET_REQUIRED 0x01
2557struct ixgbe_mac_info { 2563struct ixgbe_mac_info {
2558 struct ixgbe_mac_operations ops; 2564 struct ixgbe_mac_operations ops;
2559 enum ixgbe_mac_type type; 2565 enum ixgbe_mac_type type;
@@ -2564,6 +2570,8 @@ struct ixgbe_mac_info {
2564 u16 wwnn_prefix; 2570 u16 wwnn_prefix;
2565 /* prefix for World Wide Port Name (WWPN) */ 2571 /* prefix for World Wide Port Name (WWPN) */
2566 u16 wwpn_prefix; 2572 u16 wwpn_prefix;
2573#define IXGBE_MAX_MTA 128
2574 u32 mta_shadow[IXGBE_MAX_MTA];
2567 s32 mc_filter_type; 2575 s32 mc_filter_type;
2568 u32 mcft_size; 2576 u32 mcft_size;
2569 u32 vft_size; 2577 u32 vft_size;
@@ -2576,6 +2584,7 @@ struct ixgbe_mac_info {
2576 u32 orig_autoc2; 2584 u32 orig_autoc2;
2577 bool orig_link_settings_stored; 2585 bool orig_link_settings_stored;
2578 bool autotry_restart; 2586 bool autotry_restart;
2587 u8 flags;
2579}; 2588};
2580 2589
2581struct ixgbe_phy_info { 2590struct ixgbe_phy_info {
@@ -2682,7 +2691,6 @@ struct ixgbe_info {
2682#define IXGBE_ERR_EEPROM_VERSION -24 2691#define IXGBE_ERR_EEPROM_VERSION -24
2683#define IXGBE_ERR_NO_SPACE -25 2692#define IXGBE_ERR_NO_SPACE -25
2684#define IXGBE_ERR_OVERTEMP -26 2693#define IXGBE_ERR_OVERTEMP -26
2685#define IXGBE_ERR_RAR_INDEX -27
2686#define IXGBE_ERR_SFP_SETUP_NOT_COMPLETE -30 2694#define IXGBE_ERR_SFP_SETUP_NOT_COMPLETE -30
2687#define IXGBE_ERR_PBA_SECTION -31 2695#define IXGBE_ERR_PBA_SECTION -31
2688#define IXGBE_ERR_INVALID_ARGUMENT -32 2696#define IXGBE_ERR_INVALID_ARGUMENT -32