diff options
Diffstat (limited to 'drivers/net/ixgbe/ixgbe_type.h')
-rw-r--r-- | drivers/net/ixgbe/ixgbe_type.h | 42 |
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 | ||
2241 | enum ixgbe_phy_type { | 2245 | enum 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 */ |
2329 | enum ixgbe_bus_speed { | 2334 | enum 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 */ |
2342 | enum ixgbe_bus_width { | 2347 | enum 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 | ||
2353 | struct ixgbe_addr_filter_info { | 2358 | struct 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 | ||
2557 | struct ixgbe_mac_info { | 2563 | struct 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 | ||
2581 | struct ixgbe_phy_info { | 2590 | struct 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 |