e1000_hw.h (235527) | e1000_hw.h (238262) |
---|---|
1/****************************************************************************** 2 | 1/****************************************************************************** 2 |
3 Copyright (c) 2001-2011, Intel Corporation | 3 Copyright (c) 2001-2012, Intel Corporation |
4 All rights reserved. 5 6 Redistribution and use in source and binary forms, with or without 7 modification, are permitted provided that the following conditions are met: 8 9 1. Redistributions of source code must retain the above copyright notice, 10 this list of conditions and the following disclaimer. 11 --- 13 unchanged lines hidden (view full) --- 25 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 26 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 27 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 28 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 29 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 30 POSSIBILITY OF SUCH DAMAGE. 31 32******************************************************************************/ | 4 All rights reserved. 5 6 Redistribution and use in source and binary forms, with or without 7 modification, are permitted provided that the following conditions are met: 8 9 1. Redistributions of source code must retain the above copyright notice, 10 this list of conditions and the following disclaimer. 11 --- 13 unchanged lines hidden (view full) --- 25 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 26 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 27 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 28 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 29 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 30 POSSIBILITY OF SUCH DAMAGE. 31 32******************************************************************************/ |
33/*$FreeBSD: stable/9/sys/dev/e1000/e1000_hw.h 235527 2012-05-16 22:22:52Z jfv $*/ | 33/*$FreeBSD: stable/9/sys/dev/e1000/e1000_hw.h 238262 2012-07-08 20:35:56Z jfv $*/ |
34 35#ifndef _E1000_HW_H_ 36#define _E1000_HW_H_ 37 38#include "e1000_osdep.h" 39#include "e1000_regs.h" 40#include "e1000_defines.h" 41 --- 107 unchanged lines hidden (view full) --- 149#define E1000_DEV_ID_82580_SGMII 0x1511 150#define E1000_DEV_ID_82580_COPPER_DUAL 0x1516 151#define E1000_DEV_ID_82580_QUAD_FIBER 0x1527 152#define E1000_DEV_ID_I350_COPPER 0x1521 153#define E1000_DEV_ID_I350_FIBER 0x1522 154#define E1000_DEV_ID_I350_SERDES 0x1523 155#define E1000_DEV_ID_I350_SGMII 0x1524 156#define E1000_DEV_ID_I350_DA4 0x1546 | 34 35#ifndef _E1000_HW_H_ 36#define _E1000_HW_H_ 37 38#include "e1000_osdep.h" 39#include "e1000_regs.h" 40#include "e1000_defines.h" 41 --- 107 unchanged lines hidden (view full) --- 149#define E1000_DEV_ID_82580_SGMII 0x1511 150#define E1000_DEV_ID_82580_COPPER_DUAL 0x1516 151#define E1000_DEV_ID_82580_QUAD_FIBER 0x1527 152#define E1000_DEV_ID_I350_COPPER 0x1521 153#define E1000_DEV_ID_I350_FIBER 0x1522 154#define E1000_DEV_ID_I350_SERDES 0x1523 155#define E1000_DEV_ID_I350_SGMII 0x1524 156#define E1000_DEV_ID_I350_DA4 0x1546 |
157#define E1000_DEV_ID_I210_COPPER 0x1533 158#define E1000_DEV_ID_I210_COPPER_OEM1 0x1534 159#define E1000_DEV_ID_I210_COPPER_IT 0x1535 160#define E1000_DEV_ID_I210_FIBER 0x1536 161#define E1000_DEV_ID_I210_SERDES 0x1537 162#define E1000_DEV_ID_I210_SGMII 0x1538 163#define E1000_DEV_ID_I211_COPPER 0x1539 |
|
157#define E1000_DEV_ID_DH89XXCC_SGMII 0x0438 158#define E1000_DEV_ID_DH89XXCC_SERDES 0x043A 159#define E1000_DEV_ID_DH89XXCC_BACKPLANE 0x043C 160#define E1000_DEV_ID_DH89XXCC_SFP 0x0440 161#define E1000_REVISION_0 0 162#define E1000_REVISION_1 1 163#define E1000_REVISION_2 2 164#define E1000_REVISION_3 3 --- 33 unchanged lines hidden (view full) --- 198 e1000_ich9lan, 199 e1000_ich10lan, 200 e1000_pchlan, 201 e1000_pch2lan, 202 e1000_82575, 203 e1000_82576, 204 e1000_82580, 205 e1000_i350, | 164#define E1000_DEV_ID_DH89XXCC_SGMII 0x0438 165#define E1000_DEV_ID_DH89XXCC_SERDES 0x043A 166#define E1000_DEV_ID_DH89XXCC_BACKPLANE 0x043C 167#define E1000_DEV_ID_DH89XXCC_SFP 0x0440 168#define E1000_REVISION_0 0 169#define E1000_REVISION_1 1 170#define E1000_REVISION_2 2 171#define E1000_REVISION_3 3 --- 33 unchanged lines hidden (view full) --- 205 e1000_ich9lan, 206 e1000_ich10lan, 207 e1000_pchlan, 208 e1000_pch2lan, 209 e1000_82575, 210 e1000_82576, 211 e1000_82580, 212 e1000_i350, |
213 e1000_i210, 214 e1000_i211, |
|
206 e1000_vfadapt, 207 e1000_vfadapt_i350, 208 e1000_num_macs /* List is 1-based, so subtract 1 for TRUE count. */ 209}; 210 211enum e1000_media_type { 212 e1000_media_type_unknown = 0, 213 e1000_media_type_copper = 1, --- 29 unchanged lines hidden (view full) --- 243 e1000_phy_igp_3, 244 e1000_phy_ife, 245 e1000_phy_bm, 246 e1000_phy_82578, 247 e1000_phy_82577, 248 e1000_phy_82579, 249 e1000_phy_82580, 250 e1000_phy_vf, | 215 e1000_vfadapt, 216 e1000_vfadapt_i350, 217 e1000_num_macs /* List is 1-based, so subtract 1 for TRUE count. */ 218}; 219 220enum e1000_media_type { 221 e1000_media_type_unknown = 0, 222 e1000_media_type_copper = 1, --- 29 unchanged lines hidden (view full) --- 252 e1000_phy_igp_3, 253 e1000_phy_ife, 254 e1000_phy_bm, 255 e1000_phy_82578, 256 e1000_phy_82577, 257 e1000_phy_82579, 258 e1000_phy_82580, 259 e1000_phy_vf, |
260 e1000_phy_i210, |
|
251}; 252 253enum e1000_bus_type { 254 e1000_bus_type_unknown = 0, 255 e1000_bus_type_pci, 256 e1000_bus_type_pcix, 257 e1000_bus_type_pci_express, 258 e1000_bus_type_reserved --- 410 unchanged lines hidden (view full) --- 669 void (*rar_set)(struct e1000_hw *, u8*, u32); 670 s32 (*read_mac_addr)(struct e1000_hw *); 671 s32 (*validate_mdi_setting)(struct e1000_hw *); 672 s32 (*mng_host_if_write)(struct e1000_hw *, u8*, u16, u16, u8*); 673 s32 (*mng_write_cmd_header)(struct e1000_hw *hw, 674 struct e1000_host_mng_command_header*); 675 s32 (*mng_enable_host_if)(struct e1000_hw *); 676 s32 (*wait_autoneg)(struct e1000_hw *); | 261}; 262 263enum e1000_bus_type { 264 e1000_bus_type_unknown = 0, 265 e1000_bus_type_pci, 266 e1000_bus_type_pcix, 267 e1000_bus_type_pci_express, 268 e1000_bus_type_reserved --- 410 unchanged lines hidden (view full) --- 679 void (*rar_set)(struct e1000_hw *, u8*, u32); 680 s32 (*read_mac_addr)(struct e1000_hw *); 681 s32 (*validate_mdi_setting)(struct e1000_hw *); 682 s32 (*mng_host_if_write)(struct e1000_hw *, u8*, u16, u16, u8*); 683 s32 (*mng_write_cmd_header)(struct e1000_hw *hw, 684 struct e1000_host_mng_command_header*); 685 s32 (*mng_enable_host_if)(struct e1000_hw *); 686 s32 (*wait_autoneg)(struct e1000_hw *); |
687 s32 (*acquire_swfw_sync)(struct e1000_hw *, u16); 688 void (*release_swfw_sync)(struct e1000_hw *, u16); |
|
677}; 678 679/* 680 * When to use various PHY register access functions: 681 * 682 * Func Caller 683 * Function Does Does When to use 684 * ~~~~~~~~~~~~ ~~~~~ ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- 221 unchanged lines hidden (view full) --- 906#define E1000_SHADOW_RAM_WORDS 2048 907 908struct e1000_dev_spec_ich8lan { 909 bool kmrn_lock_loss_workaround_enabled; 910 struct e1000_shadow_ram shadow_ram[E1000_SHADOW_RAM_WORDS]; 911 E1000_MUTEX nvm_mutex; 912 E1000_MUTEX swflag_mutex; 913 bool nvm_k1_enabled; | 689}; 690 691/* 692 * When to use various PHY register access functions: 693 * 694 * Func Caller 695 * Function Does Does When to use 696 * ~~~~~~~~~~~~ ~~~~~ ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- 221 unchanged lines hidden (view full) --- 918#define E1000_SHADOW_RAM_WORDS 2048 919 920struct e1000_dev_spec_ich8lan { 921 bool kmrn_lock_loss_workaround_enabled; 922 struct e1000_shadow_ram shadow_ram[E1000_SHADOW_RAM_WORDS]; 923 E1000_MUTEX nvm_mutex; 924 E1000_MUTEX swflag_mutex; 925 bool nvm_k1_enabled; |
914 int eee_disable; | 926 bool eee_disable; |
915}; 916 917struct e1000_dev_spec_82575 { 918 bool sgmii_active; 919 bool global_device_reset; | 927}; 928 929struct e1000_dev_spec_82575 { 930 bool sgmii_active; 931 bool global_device_reset; |
920 int eee_disable; | 932 bool eee_disable; |
921 bool module_plugged; 922 u32 mtu; 923}; 924 925struct e1000_dev_spec_vf { 926 u32 vf_number; 927 u32 v2p_mailbox; 928}; --- 33 unchanged lines hidden (view full) --- 962}; 963 964#include "e1000_82541.h" 965#include "e1000_82543.h" 966#include "e1000_82571.h" 967#include "e1000_80003es2lan.h" 968#include "e1000_ich8lan.h" 969#include "e1000_82575.h" | 933 bool module_plugged; 934 u32 mtu; 935}; 936 937struct e1000_dev_spec_vf { 938 u32 vf_number; 939 u32 v2p_mailbox; 940}; --- 33 unchanged lines hidden (view full) --- 974}; 975 976#include "e1000_82541.h" 977#include "e1000_82543.h" 978#include "e1000_82571.h" 979#include "e1000_80003es2lan.h" 980#include "e1000_ich8lan.h" 981#include "e1000_82575.h" |
982#include "e1000_i210.h" |
|
970 971/* These functions must be implemented by drivers */ 972void e1000_pci_clear_mwi(struct e1000_hw *hw); 973void e1000_pci_set_mwi(struct e1000_hw *hw); 974s32 e1000_read_pcie_cap_reg(struct e1000_hw *hw, u32 reg, u16 *value); 975s32 e1000_write_pcie_cap_reg(struct e1000_hw *hw, u32 reg, u16 *value); 976void e1000_read_pci_cfg(struct e1000_hw *hw, u32 reg, u16 *value); 977void e1000_write_pci_cfg(struct e1000_hw *hw, u32 reg, u16 *value); 978 979#endif | 983 984/* These functions must be implemented by drivers */ 985void e1000_pci_clear_mwi(struct e1000_hw *hw); 986void e1000_pci_set_mwi(struct e1000_hw *hw); 987s32 e1000_read_pcie_cap_reg(struct e1000_hw *hw, u32 reg, u16 *value); 988s32 e1000_write_pcie_cap_reg(struct e1000_hw *hw, u32 reg, u16 *value); 989void e1000_read_pci_cfg(struct e1000_hw *hw, u32 reg, u16 *value); 990void e1000_write_pci_cfg(struct e1000_hw *hw, u32 reg, u16 *value); 991 992#endif |