Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions | Variables
e1000_hw.h File Reference
#include <linux/types.h>
#include <linux/delay.h>
#include <linux/io.h>
#include <linux/netdevice.h>
#include "e1000_regs.h"
#include "e1000_defines.h"
#include "e1000_mac.h"
#include "e1000_phy.h"
#include "e1000_nvm.h"
#include "e1000_mbx.h"

Go to the source code of this file.

Data Structures

struct  e1000_hw_stats
 
struct  e1000_phy_stats
 
struct  e1000_host_mng_dhcp_cookie
 
struct  e1000_host_command_header
 
struct  e1000_host_command_info
 
struct  e1000_host_mng_command_header
 
struct  e1000_host_mng_command_info
 
struct  e1000_mac_operations
 
struct  e1000_phy_operations
 
struct  e1000_nvm_operations
 
struct  e1000_info
 
struct  e1000_mac_info
 
struct  e1000_phy_info
 
struct  e1000_nvm_info
 
struct  e1000_bus_info
 
struct  e1000_fc_info
 
struct  e1000_mbx_operations
 
struct  e1000_mbx_stats
 
struct  e1000_mbx_info
 
struct  e1000_dev_spec_82575
 
struct  e1000_hw
 

Macros

#define E1000_DEV_ID_82576   0x10C9
 
#define E1000_DEV_ID_82576_FIBER   0x10E6
 
#define E1000_DEV_ID_82576_SERDES   0x10E7
 
#define E1000_DEV_ID_82576_QUAD_COPPER   0x10E8
 
#define E1000_DEV_ID_82576_QUAD_COPPER_ET2   0x1526
 
#define E1000_DEV_ID_82576_NS   0x150A
 
#define E1000_DEV_ID_82576_NS_SERDES   0x1518
 
#define E1000_DEV_ID_82576_SERDES_QUAD   0x150D
 
#define E1000_DEV_ID_82575EB_COPPER   0x10A7
 
#define E1000_DEV_ID_82575EB_FIBER_SERDES   0x10A9
 
#define E1000_DEV_ID_82575GB_QUAD_COPPER   0x10D6
 
#define E1000_DEV_ID_82580_COPPER   0x150E
 
#define E1000_DEV_ID_82580_FIBER   0x150F
 
#define E1000_DEV_ID_82580_SERDES   0x1510
 
#define E1000_DEV_ID_82580_SGMII   0x1511
 
#define E1000_DEV_ID_82580_COPPER_DUAL   0x1516
 
#define E1000_DEV_ID_82580_QUAD_FIBER   0x1527
 
#define E1000_DEV_ID_DH89XXCC_SGMII   0x0438
 
#define E1000_DEV_ID_DH89XXCC_SERDES   0x043A
 
#define E1000_DEV_ID_DH89XXCC_BACKPLANE   0x043C
 
#define E1000_DEV_ID_DH89XXCC_SFP   0x0440
 
#define E1000_DEV_ID_I350_COPPER   0x1521
 
#define E1000_DEV_ID_I350_FIBER   0x1522
 
#define E1000_DEV_ID_I350_SERDES   0x1523
 
#define E1000_DEV_ID_I350_SGMII   0x1524
 
#define E1000_DEV_ID_I210_COPPER   0x1533
 
#define E1000_DEV_ID_I210_COPPER_OEM1   0x1534
 
#define E1000_DEV_ID_I210_COPPER_IT   0x1535
 
#define E1000_DEV_ID_I210_FIBER   0x1536
 
#define E1000_DEV_ID_I210_SERDES   0x1537
 
#define E1000_DEV_ID_I210_SGMII   0x1538
 
#define E1000_DEV_ID_I211_COPPER   0x1539
 
#define E1000_REVISION_2   2
 
#define E1000_REVISION_4   4
 
#define E1000_FUNC_0   0
 
#define E1000_FUNC_1   1
 
#define E1000_FUNC_2   2
 
#define E1000_FUNC_3   3
 
#define E1000_ALT_MAC_ADDRESS_OFFSET_LAN0   0
 
#define E1000_ALT_MAC_ADDRESS_OFFSET_LAN1   3
 
#define E1000_ALT_MAC_ADDRESS_OFFSET_LAN2   6
 
#define E1000_ALT_MAC_ADDRESS_OFFSET_LAN3   9
 
#define E1000_HI_MAX_DATA_LENGTH   252
 
#define E1000_HI_MAX_MNG_DATA_LENGTH   0x6F8
 
#define MAX_MTA_REG   128
 
#define hw_dbg(format, arg...)   netdev_dbg(igb_get_hw_dev(hw), format, ##arg)
 

Enumerations

enum  e1000_mac_type {
  e1000_undefined = 0, e1000_82542_rev2_0, e1000_82542_rev2_1, e1000_82543,
  e1000_82544, e1000_82540, e1000_82545, e1000_82545_rev_3,
  e1000_82546, e1000_ce4100, e1000_82546_rev_3, e1000_82541,
  e1000_82541_rev_2, e1000_82547, e1000_82547_rev_2, e1000_num_macs,
  e1000_82571, e1000_82572, e1000_82573, e1000_82574,
  e1000_82583, e1000_80003es2lan, e1000_ich8lan, e1000_ich9lan,
  e1000_ich10lan, e1000_pchlan, e1000_pch2lan, e1000_pch_lpt,
  e1000_undefined = 0, e1000_82575, e1000_82576, e1000_82580,
  e1000_i350, e1000_i210, e1000_i211, e1000_num_macs,
  e1000_undefined = 0, e1000_vfadapt, e1000_vfadapt_i350, e1000_num_macs
}
 
enum  e1000_media_type {
  e1000_media_type_copper = 0, e1000_media_type_fiber = 1, e1000_media_type_internal_serdes = 2, e1000_num_media_types,
  e1000_media_type_unknown = 0, e1000_media_type_copper = 1, e1000_media_type_fiber = 2, e1000_media_type_internal_serdes = 3,
  e1000_num_media_types, e1000_media_type_unknown = 0, e1000_media_type_copper = 1, e1000_media_type_internal_serdes = 2,
  e1000_num_media_types
}
 
enum  e1000_nvm_type {
  e1000_nvm_unknown = 0, e1000_nvm_none, e1000_nvm_eeprom_spi, e1000_nvm_flash_hw,
  e1000_nvm_flash_sw, e1000_nvm_unknown = 0, e1000_nvm_none, e1000_nvm_eeprom_spi,
  e1000_nvm_flash_hw, e1000_nvm_flash_sw
}
 
enum  e1000_nvm_override {
  e1000_nvm_override_none = 0, e1000_nvm_override_spi_small, e1000_nvm_override_spi_large, e1000_nvm_override_none = 0,
  e1000_nvm_override_spi_small, e1000_nvm_override_spi_large
}
 
enum  e1000_phy_type {
  e1000_phy_m88 = 0, e1000_phy_igp, e1000_phy_8211, e1000_phy_8201,
  e1000_phy_undefined = 0xFF, e1000_phy_unknown = 0, e1000_phy_none, e1000_phy_m88,
  e1000_phy_igp, e1000_phy_igp_2, e1000_phy_gg82563, e1000_phy_igp_3,
  e1000_phy_ife, e1000_phy_bm, e1000_phy_82578, e1000_phy_82577,
  e1000_phy_82579, e1000_phy_i217, e1000_phy_unknown = 0, e1000_phy_none,
  e1000_phy_m88, e1000_phy_igp, e1000_phy_igp_2, e1000_phy_gg82563,
  e1000_phy_igp_3, e1000_phy_ife, e1000_phy_82580, e1000_phy_i210
}
 
enum  e1000_bus_type {
  e1000_bus_type_unknown = 0, e1000_bus_type_pci, e1000_bus_type_pcix, e1000_bus_type_reserved,
  e1000_bus_type_unknown = 0, e1000_bus_type_pci, e1000_bus_type_pcix, e1000_bus_type_pci_express,
  e1000_bus_type_reserved
}
 
enum  e1000_bus_speed {
  e1000_bus_speed_unknown = 0, e1000_bus_speed_33, e1000_bus_speed_66, e1000_bus_speed_100,
  e1000_bus_speed_120, e1000_bus_speed_133, e1000_bus_speed_reserved, e1000_bus_speed_unknown = 0,
  e1000_bus_speed_33, e1000_bus_speed_66, e1000_bus_speed_100, e1000_bus_speed_120,
  e1000_bus_speed_133, e1000_bus_speed_2500, e1000_bus_speed_5000, e1000_bus_speed_reserved
}
 
enum  e1000_bus_width {
  e1000_bus_width_unknown = 0, e1000_bus_width_32, e1000_bus_width_64, e1000_bus_width_reserved,
  e1000_bus_width_unknown = 0, e1000_bus_width_pcie_x1, e1000_bus_width_pcie_x2, e1000_bus_width_pcie_x4 = 4,
  e1000_bus_width_32, e1000_bus_width_64, e1000_bus_width_reserved, e1000_bus_width_unknown = 0,
  e1000_bus_width_pcie_x1, e1000_bus_width_pcie_x2, e1000_bus_width_pcie_x4 = 4, e1000_bus_width_pcie_x8 = 8,
  e1000_bus_width_32, e1000_bus_width_64, e1000_bus_width_reserved
}
 
enum  e1000_1000t_rx_status {
  e1000_1000t_rx_status_not_ok = 0, e1000_1000t_rx_status_ok, e1000_1000t_rx_status_undefined = 0xFF, e1000_1000t_rx_status_not_ok = 0,
  e1000_1000t_rx_status_ok, e1000_1000t_rx_status_undefined = 0xFF, e1000_1000t_rx_status_not_ok = 0, e1000_1000t_rx_status_ok,
  e1000_1000t_rx_status_undefined = 0xFF
}
 
enum  e1000_rev_polarity {
  e1000_rev_polarity_normal = 0, e1000_rev_polarity_reversed, e1000_rev_polarity_undefined = 0xFF, e1000_rev_polarity_normal = 0,
  e1000_rev_polarity_reversed, e1000_rev_polarity_undefined = 0xFF, e1000_rev_polarity_normal = 0, e1000_rev_polarity_reversed,
  e1000_rev_polarity_undefined = 0xFF
}
 
enum  e1000_fc_mode {
  e1000_fc_none = 0, e1000_fc_rx_pause, e1000_fc_tx_pause, e1000_fc_full,
  e1000_fc_default = 0xFF, e1000_fc_none = 0, e1000_fc_rx_pause, e1000_fc_tx_pause,
  e1000_fc_full, e1000_fc_default = 0xFF
}
 

Functions

struct net_deviceigb_get_hw_dev (struct e1000_hw *hw)
 
s32 igb_read_pcie_cap_reg (struct e1000_hw *hw, u32 reg, u16 *value)
 
s32 igb_write_pcie_cap_reg (struct e1000_hw *hw, u32 reg, u16 *value)
 

Variables

struct e1000_info e1000_82575_info
 

Macro Definition Documentation

#define E1000_ALT_MAC_ADDRESS_OFFSET_LAN0   0

Definition at line 82 of file e1000_hw.h.

#define E1000_ALT_MAC_ADDRESS_OFFSET_LAN1   3

Definition at line 83 of file e1000_hw.h.

#define E1000_ALT_MAC_ADDRESS_OFFSET_LAN2   6

Definition at line 84 of file e1000_hw.h.

#define E1000_ALT_MAC_ADDRESS_OFFSET_LAN3   9

Definition at line 85 of file e1000_hw.h.

#define E1000_DEV_ID_82575EB_COPPER   0x10A7

Definition at line 49 of file e1000_hw.h.

#define E1000_DEV_ID_82575EB_FIBER_SERDES   0x10A9

Definition at line 50 of file e1000_hw.h.

#define E1000_DEV_ID_82575GB_QUAD_COPPER   0x10D6

Definition at line 51 of file e1000_hw.h.

#define E1000_DEV_ID_82576   0x10C9

Definition at line 41 of file e1000_hw.h.

#define E1000_DEV_ID_82576_FIBER   0x10E6

Definition at line 42 of file e1000_hw.h.

#define E1000_DEV_ID_82576_NS   0x150A

Definition at line 46 of file e1000_hw.h.

#define E1000_DEV_ID_82576_NS_SERDES   0x1518

Definition at line 47 of file e1000_hw.h.

#define E1000_DEV_ID_82576_QUAD_COPPER   0x10E8

Definition at line 44 of file e1000_hw.h.

#define E1000_DEV_ID_82576_QUAD_COPPER_ET2   0x1526

Definition at line 45 of file e1000_hw.h.

#define E1000_DEV_ID_82576_SERDES   0x10E7

Definition at line 43 of file e1000_hw.h.

#define E1000_DEV_ID_82576_SERDES_QUAD   0x150D

Definition at line 48 of file e1000_hw.h.

#define E1000_DEV_ID_82580_COPPER   0x150E

Definition at line 52 of file e1000_hw.h.

#define E1000_DEV_ID_82580_COPPER_DUAL   0x1516

Definition at line 56 of file e1000_hw.h.

#define E1000_DEV_ID_82580_FIBER   0x150F

Definition at line 53 of file e1000_hw.h.

#define E1000_DEV_ID_82580_QUAD_FIBER   0x1527

Definition at line 57 of file e1000_hw.h.

#define E1000_DEV_ID_82580_SERDES   0x1510

Definition at line 54 of file e1000_hw.h.

#define E1000_DEV_ID_82580_SGMII   0x1511

Definition at line 55 of file e1000_hw.h.

#define E1000_DEV_ID_DH89XXCC_BACKPLANE   0x043C

Definition at line 60 of file e1000_hw.h.

#define E1000_DEV_ID_DH89XXCC_SERDES   0x043A

Definition at line 59 of file e1000_hw.h.

#define E1000_DEV_ID_DH89XXCC_SFP   0x0440

Definition at line 61 of file e1000_hw.h.

#define E1000_DEV_ID_DH89XXCC_SGMII   0x0438

Definition at line 58 of file e1000_hw.h.

#define E1000_DEV_ID_I210_COPPER   0x1533

Definition at line 66 of file e1000_hw.h.

#define E1000_DEV_ID_I210_COPPER_IT   0x1535

Definition at line 68 of file e1000_hw.h.

#define E1000_DEV_ID_I210_COPPER_OEM1   0x1534

Definition at line 67 of file e1000_hw.h.

#define E1000_DEV_ID_I210_FIBER   0x1536

Definition at line 69 of file e1000_hw.h.

#define E1000_DEV_ID_I210_SERDES   0x1537

Definition at line 70 of file e1000_hw.h.

#define E1000_DEV_ID_I210_SGMII   0x1538

Definition at line 71 of file e1000_hw.h.

#define E1000_DEV_ID_I211_COPPER   0x1539

Definition at line 72 of file e1000_hw.h.

#define E1000_DEV_ID_I350_COPPER   0x1521

Definition at line 62 of file e1000_hw.h.

#define E1000_DEV_ID_I350_FIBER   0x1522

Definition at line 63 of file e1000_hw.h.

#define E1000_DEV_ID_I350_SERDES   0x1523

Definition at line 64 of file e1000_hw.h.

#define E1000_DEV_ID_I350_SGMII   0x1524

Definition at line 65 of file e1000_hw.h.

#define E1000_FUNC_0   0

Definition at line 77 of file e1000_hw.h.

#define E1000_FUNC_1   1

Definition at line 78 of file e1000_hw.h.

#define E1000_FUNC_2   2

Definition at line 79 of file e1000_hw.h.

#define E1000_FUNC_3   3

Definition at line 80 of file e1000_hw.h.

#define E1000_HI_MAX_DATA_LENGTH   252

Definition at line 291 of file e1000_hw.h.

#define E1000_HI_MAX_MNG_DATA_LENGTH   0x6F8

Definition at line 306 of file e1000_hw.h.

#define E1000_REVISION_2   2

Definition at line 74 of file e1000_hw.h.

#define E1000_REVISION_4   4

Definition at line 75 of file e1000_hw.h.

#define hw_dbg (   format,
  arg... 
)    netdev_dbg(igb_get_hw_dev(hw), format, ##arg)

Definition at line 537 of file e1000_hw.h.

#define MAX_MTA_REG   128

Definition at line 384 of file e1000_hw.h.

Enumeration Type Documentation

Enumerator:
e1000_1000t_rx_status_not_ok 
e1000_1000t_rx_status_ok 
e1000_1000t_rx_status_undefined 
e1000_1000t_rx_status_not_ok 
e1000_1000t_rx_status_ok 
e1000_1000t_rx_status_undefined 
e1000_1000t_rx_status_not_ok 
e1000_1000t_rx_status_ok 
e1000_1000t_rx_status_undefined 

Definition at line 163 of file e1000_hw.h.

Enumerator:
e1000_bus_speed_unknown 
e1000_bus_speed_33 
e1000_bus_speed_66 
e1000_bus_speed_100 
e1000_bus_speed_120 
e1000_bus_speed_133 
e1000_bus_speed_reserved 
e1000_bus_speed_unknown 
e1000_bus_speed_33 
e1000_bus_speed_66 
e1000_bus_speed_100 
e1000_bus_speed_120 
e1000_bus_speed_133 
e1000_bus_speed_2500 
e1000_bus_speed_5000 
e1000_bus_speed_reserved 

Definition at line 140 of file e1000_hw.h.

Enumerator:
e1000_bus_type_unknown 
e1000_bus_type_pci 
e1000_bus_type_pcix 
e1000_bus_type_reserved 
e1000_bus_type_unknown 
e1000_bus_type_pci 
e1000_bus_type_pcix 
e1000_bus_type_pci_express 
e1000_bus_type_reserved 

Definition at line 132 of file e1000_hw.h.

Enumerator:
e1000_bus_width_unknown 
e1000_bus_width_32 
e1000_bus_width_64 
e1000_bus_width_reserved 
e1000_bus_width_unknown 
e1000_bus_width_pcie_x1 
e1000_bus_width_pcie_x2 
e1000_bus_width_pcie_x4 
e1000_bus_width_32 
e1000_bus_width_64 
e1000_bus_width_reserved 
e1000_bus_width_unknown 
e1000_bus_width_pcie_x1 
e1000_bus_width_pcie_x2 
e1000_bus_width_pcie_x4 
e1000_bus_width_pcie_x8 
e1000_bus_width_32 
e1000_bus_width_64 
e1000_bus_width_reserved 

Definition at line 152 of file e1000_hw.h.

Enumerator:
e1000_fc_none 
e1000_fc_rx_pause 
e1000_fc_tx_pause 
e1000_fc_full 
e1000_fc_default 
e1000_fc_none 
e1000_fc_rx_pause 
e1000_fc_tx_pause 
e1000_fc_full 
e1000_fc_default 

Definition at line 175 of file e1000_hw.h.

Enumerator:
e1000_undefined 
e1000_82542_rev2_0 
e1000_82542_rev2_1 
e1000_82543 
e1000_82544 
e1000_82540 
e1000_82545 
e1000_82545_rev_3 
e1000_82546 
e1000_ce4100 
e1000_82546_rev_3 
e1000_82541 
e1000_82541_rev_2 
e1000_82547 
e1000_82547_rev_2 
e1000_num_macs 
e1000_82571 
e1000_82572 
e1000_82573 
e1000_82574 
e1000_82583 
e1000_80003es2lan 
e1000_ich8lan 
e1000_ich9lan 
e1000_ich10lan 
e1000_pchlan 
e1000_pch2lan 
e1000_pch_lpt 
e1000_undefined 
e1000_82575 
e1000_82576 
e1000_82580 
e1000_i350 
e1000_i210 
e1000_i211 
e1000_num_macs 
e1000_undefined 
e1000_vfadapt 
e1000_vfadapt_i350 
e1000_num_macs 

Definition at line 87 of file e1000_hw.h.

Enumerator:
e1000_media_type_copper 
e1000_media_type_fiber 
e1000_media_type_internal_serdes 
e1000_num_media_types 
e1000_media_type_unknown 
e1000_media_type_copper 
e1000_media_type_fiber 
e1000_media_type_internal_serdes 
e1000_num_media_types 
e1000_media_type_unknown 
e1000_media_type_copper 
e1000_media_type_internal_serdes 
e1000_num_media_types 

Definition at line 98 of file e1000_hw.h.

Enumerator:
e1000_nvm_override_none 
e1000_nvm_override_spi_small 
e1000_nvm_override_spi_large 
e1000_nvm_override_none 
e1000_nvm_override_spi_small 
e1000_nvm_override_spi_large 

Definition at line 113 of file e1000_hw.h.

Enumerator:
e1000_nvm_unknown 
e1000_nvm_none 
e1000_nvm_eeprom_spi 
e1000_nvm_flash_hw 
e1000_nvm_flash_sw 
e1000_nvm_unknown 
e1000_nvm_none 
e1000_nvm_eeprom_spi 
e1000_nvm_flash_hw 
e1000_nvm_flash_sw 

Definition at line 105 of file e1000_hw.h.

Enumerator:
e1000_phy_m88 
e1000_phy_igp 
e1000_phy_8211 
e1000_phy_8201 
e1000_phy_undefined 
e1000_phy_unknown 
e1000_phy_none 
e1000_phy_m88 
e1000_phy_igp 
e1000_phy_igp_2 
e1000_phy_gg82563 
e1000_phy_igp_3 
e1000_phy_ife 
e1000_phy_bm 
e1000_phy_82578 
e1000_phy_82577 
e1000_phy_82579 
e1000_phy_i217 
e1000_phy_unknown 
e1000_phy_none 
e1000_phy_m88 
e1000_phy_igp 
e1000_phy_igp_2 
e1000_phy_gg82563 
e1000_phy_igp_3 
e1000_phy_ife 
e1000_phy_82580 
e1000_phy_i210 

Definition at line 119 of file e1000_hw.h.

Enumerator:
e1000_rev_polarity_normal 
e1000_rev_polarity_reversed 
e1000_rev_polarity_undefined 
e1000_rev_polarity_normal 
e1000_rev_polarity_reversed 
e1000_rev_polarity_undefined 
e1000_rev_polarity_normal 
e1000_rev_polarity_reversed 
e1000_rev_polarity_undefined 

Definition at line 169 of file e1000_hw.h.

Function Documentation

struct net_device* igb_get_hw_dev ( struct e1000_hw hw)
read

igb_get_hw_dev - return device used by hardware layer to print debugging information

Definition at line 575 of file igb_main.c.

s32 igb_read_pcie_cap_reg ( struct e1000_hw hw,
u32  reg,
u16 value 
)

Definition at line 6219 of file igb_main.c.

s32 igb_write_pcie_cap_reg ( struct e1000_hw hw,
u32  reg,
u16 value 
)

Definition at line 6229 of file igb_main.c.

Variable Documentation

struct e1000_info e1000_82575_info

Definition at line 2287 of file e1000_82575.c.