Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
ich8lan.c File Reference
#include "e1000.h"

Go to the source code of this file.

Data Structures

union  ich8_hws_flash_status
 
struct  ich8_hws_flash_status::ich8_hsfsts
 
union  ich8_hws_flash_ctrl
 
struct  ich8_hws_flash_ctrl::ich8_hsflctl
 
union  ich8_hws_flash_regacc
 
struct  ich8_hws_flash_regacc::ich8_flracc
 
union  ich8_flash_protected_range
 
struct  ich8_flash_protected_range::ich8_pr
 

Macros

#define ICH_FLASH_GFPREG   0x0000
 
#define ICH_FLASH_HSFSTS   0x0004
 
#define ICH_FLASH_HSFCTL   0x0006
 
#define ICH_FLASH_FADDR   0x0008
 
#define ICH_FLASH_FDATA0   0x0010
 
#define ICH_FLASH_PR0   0x0074
 
#define ICH_FLASH_READ_COMMAND_TIMEOUT   500
 
#define ICH_FLASH_WRITE_COMMAND_TIMEOUT   500
 
#define ICH_FLASH_ERASE_COMMAND_TIMEOUT   3000000
 
#define ICH_FLASH_LINEAR_ADDR_MASK   0x00FFFFFF
 
#define ICH_FLASH_CYCLE_REPEAT_COUNT   10
 
#define ICH_CYCLE_READ   0
 
#define ICH_CYCLE_WRITE   2
 
#define ICH_CYCLE_ERASE   3
 
#define FLASH_GFPREG_BASE_MASK   0x1FFF
 
#define FLASH_SECTOR_ADDR_SHIFT   12
 
#define ICH_FLASH_SEG_SIZE_256   256
 
#define ICH_FLASH_SEG_SIZE_4K   4096
 
#define ICH_FLASH_SEG_SIZE_8K   8192
 
#define ICH_FLASH_SEG_SIZE_64K   65536
 
#define E1000_ICH_FWSM_RSPCIPHY   0x00000040 /* Reset PHY on PCI Reset */
 
#define E1000_ICH_FWSM_FW_VALID   0x00008000
 
#define E1000_ICH_MNG_IAMT_MODE   0x2
 
#define ID_LED_DEFAULT_ICH8LAN
 
#define E1000_ICH_NVM_SIG_WORD   0x13
 
#define E1000_ICH_NVM_SIG_MASK   0xC000
 
#define E1000_ICH_NVM_VALID_SIG_MASK   0xC0
 
#define E1000_ICH_NVM_SIG_VALUE   0x80
 
#define E1000_ICH8_LAN_INIT_TIMEOUT   1500
 
#define E1000_FEXTNVM_SW_CONFIG   1
 
#define E1000_FEXTNVM_SW_CONFIG_ICH8M   (1 << 27) /* Bit redefined for ICH8M :/ */
 
#define E1000_FEXTNVM3_PHY_CFG_COUNTER_MASK   0x0C000000
 
#define E1000_FEXTNVM3_PHY_CFG_COUNTER_50MSEC   0x08000000
 
#define E1000_FEXTNVM4_BEACON_DURATION_MASK   0x7
 
#define E1000_FEXTNVM4_BEACON_DURATION_8USEC   0x7
 
#define E1000_FEXTNVM4_BEACON_DURATION_16USEC   0x3
 
#define PCIE_ICH8_SNOOP_ALL   PCIE_NO_SNOOP_ALL
 
#define E1000_ICH_RAR_ENTRIES   7
 
#define E1000_PCH2_RAR_ENTRIES   5 /* RAR[0], SHRA[0-3] */
 
#define E1000_PCH_LPT_RAR_ENTRIES   12 /* RAR[0], SHRA[0-10] */
 
#define PHY_PAGE_SHIFT   5
 
#define PHY_REG(page, reg)
 
#define IGP3_KMRN_DIAG   PHY_REG(770, 19) /* KMRN Diagnostic */
 
#define IGP3_VR_CTRL   PHY_REG(776, 18) /* Voltage Regulator Control */
 
#define IGP3_KMRN_DIAG_PCS_LOCK_LOSS   0x0002
 
#define IGP3_VR_CTRL_DEV_POWERDOWN_MODE_MASK   0x0300
 
#define IGP3_VR_CTRL_MODE_SHUTDOWN   0x0200
 
#define HV_LED_CONFIG   PHY_REG(768, 30) /* LED Configuration */
 
#define SW_FLAG_TIMEOUT   1000 /* SW Semaphore flag timeout in milliseconds */
 
#define CV_SMB_CTRL   PHY_REG(769, 23)
 
#define CV_SMB_CTRL_FORCE_SMBUS   0x0001
 
#define HV_SMB_ADDR   PHY_REG(768, 26)
 
#define HV_SMB_ADDR_MASK   0x007F
 
#define HV_SMB_ADDR_PEC_EN   0x0200
 
#define HV_SMB_ADDR_VALID   0x0080
 
#define HV_SMB_ADDR_FREQ_MASK   0x1100
 
#define HV_SMB_ADDR_FREQ_LOW_SHIFT   8
 
#define HV_SMB_ADDR_FREQ_HIGH_SHIFT   12
 
#define HV_PM_CTRL   PHY_REG(770, 17)
 
#define HV_PM_CTRL_PLL_STOP_IN_K1_GIGA   0x100
 
#define I82579_LPI_CTRL   PHY_REG(772, 20)
 
#define I82579_LPI_CTRL_ENABLE_MASK   0x6000
 
#define I82579_LPI_CTRL_FORCE_PLL_LOCK_COUNT   0x80
 
#define I82579_EMI_ADDR   0x10
 
#define I82579_EMI_DATA   0x11
 
#define I82579_LPI_UPDATE_TIMER   0x4805 /* in 40ns units + 40 ns base value */
 
#define I82579_MSE_THRESHOLD   0x084F /* Mean Square Error Threshold */
 
#define I82579_MSE_LINK_DOWN   0x2411 /* MSE count before dropping link */
 
#define I217_EEE_ADVERTISEMENT   0x8001 /* IEEE MMD Register 7.60 */
 
#define I217_EEE_LP_ABILITY   0x8002 /* IEEE MMD Register 7.61 */
 
#define I217_EEE_100_SUPPORTED   (1 << 1) /* 100BaseTx EEE supported */
 
#define I217_PROXY_CTRL   BM_PHY_REG(BM_WUC_PAGE, 70)
 
#define I217_PROXY_CTRL_AUTO_DISABLE   0x0080
 
#define I217_SxCTRL   PHY_REG(BM_PORT_CTRL_PAGE, 28)
 
#define I217_SxCTRL_ENABLE_LPI_RESET   0x1000
 
#define I217_CGFREG   PHY_REG(772, 29)
 
#define I217_CGFREG_ENABLE_MTA_RESET   0x0002
 
#define I217_MEMPWR   PHY_REG(772, 26)
 
#define I217_MEMPWR_DISABLE_SMB_RELEASE   0x0010
 
#define E1000_STRAP   0x0000C
 
#define E1000_STRAP_SMBUS_ADDRESS_MASK   0x00FE0000
 
#define E1000_STRAP_SMBUS_ADDRESS_SHIFT   17
 
#define E1000_STRAP_SMT_FREQ_MASK   0x00003000
 
#define E1000_STRAP_SMT_FREQ_SHIFT   12
 
#define HV_OEM_BITS   PHY_REG(768, 25)
 
#define HV_OEM_BITS_LPLU   0x0004 /* Low Power Link Up */
 
#define HV_OEM_BITS_GBE_DIS   0x0040 /* Gigabit Disable */
 
#define HV_OEM_BITS_RESTART_AN   0x0400 /* Restart Auto-negotiation */
 
#define E1000_NVM_K1_CONFIG   0x1B /* NVM K1 Config Word */
 
#define E1000_NVM_K1_ENABLE   0x1 /* NVM Enable K1 bit */
 
#define HV_KMRN_MODE_CTRL   PHY_REG(769, 16)
 
#define HV_KMRN_MDIO_SLOW   0x0400
 
#define HV_KMRN_FIFO_CTRLSTA   PHY_REG(770, 16)
 
#define HV_KMRN_FIFO_CTRLSTA_PREAMBLE_MASK   0x7000
 
#define HV_KMRN_FIFO_CTRLSTA_PREAMBLE_SHIFT   12
 
#define er16flash(reg)   __er16flash(hw, (reg))
 
#define er32flash(reg)   __er32flash(hw, (reg))
 
#define ew16flash(reg, val)   __ew16flash(hw, (reg), (val))
 
#define ew32flash(reg, val)   __ew32flash(hw, (reg), (val))
 

Functions

s32 e1000_configure_k1_ich8lan (struct e1000_hw *hw, bool k1_enable)
 
void e1000_copy_rx_addrs_to_phy_ich8lan (struct e1000_hw *hw)
 
s32 e1000_lv_jumbo_workaround_ich8lan (struct e1000_hw *hw, bool enable)
 
void e1000e_write_protect_nvm_ich8lan (struct e1000_hw *hw)
 
void e1000e_set_kmrn_lock_loss_workaround_ich8lan (struct e1000_hw *hw, bool state)
 
void e1000e_igp3_phy_powerdown_workaround_ich8lan (struct e1000_hw *hw)
 
void e1000e_gig_downshift_workaround_ich8lan (struct e1000_hw *hw)
 
void e1000_suspend_workarounds_ich8lan (struct e1000_hw *hw)
 
void e1000_resume_workarounds_pchlan (struct e1000_hw *hw)
 

Variables

struct e1000_info e1000_ich8_info
 
struct e1000_info e1000_ich9_info
 
struct e1000_info e1000_ich10_info
 
struct e1000_info e1000_pch_info
 
struct e1000_info e1000_pch2_info
 
struct e1000_info e1000_pch_lpt_info
 

Macro Definition Documentation

#define CV_SMB_CTRL   PHY_REG(769, 23)

Definition at line 136 of file ich8lan.c.

#define CV_SMB_CTRL_FORCE_SMBUS   0x0001

Definition at line 137 of file ich8lan.c.

#define E1000_FEXTNVM3_PHY_CFG_COUNTER_50MSEC   0x08000000

Definition at line 109 of file ich8lan.c.

#define E1000_FEXTNVM3_PHY_CFG_COUNTER_MASK   0x0C000000

Definition at line 108 of file ich8lan.c.

#define E1000_FEXTNVM4_BEACON_DURATION_16USEC   0x3

Definition at line 113 of file ich8lan.c.

#define E1000_FEXTNVM4_BEACON_DURATION_8USEC   0x7

Definition at line 112 of file ich8lan.c.

#define E1000_FEXTNVM4_BEACON_DURATION_MASK   0x7

Definition at line 111 of file ich8lan.c.

#define E1000_FEXTNVM_SW_CONFIG   1

Definition at line 105 of file ich8lan.c.

#define E1000_FEXTNVM_SW_CONFIG_ICH8M   (1 << 27) /* Bit redefined for ICH8M :/ */

Definition at line 106 of file ich8lan.c.

#define E1000_ICH8_LAN_INIT_TIMEOUT   1500

Definition at line 103 of file ich8lan.c.

#define E1000_ICH_FWSM_FW_VALID   0x00008000

Definition at line 89 of file ich8lan.c.

#define E1000_ICH_FWSM_RSPCIPHY   0x00000040 /* Reset PHY on PCI Reset */

Definition at line 87 of file ich8lan.c.

#define E1000_ICH_MNG_IAMT_MODE   0x2

Definition at line 91 of file ich8lan.c.

#define E1000_ICH_NVM_SIG_MASK   0xC000

Definition at line 99 of file ich8lan.c.

#define E1000_ICH_NVM_SIG_VALUE   0x80

Definition at line 101 of file ich8lan.c.

#define E1000_ICH_NVM_SIG_WORD   0x13

Definition at line 98 of file ich8lan.c.

#define E1000_ICH_NVM_VALID_SIG_MASK   0xC0

Definition at line 100 of file ich8lan.c.

#define E1000_ICH_RAR_ENTRIES   7

Definition at line 117 of file ich8lan.c.

#define E1000_NVM_K1_CONFIG   0x1B /* NVM K1 Config Word */

Definition at line 190 of file ich8lan.c.

#define E1000_NVM_K1_ENABLE   0x1 /* NVM Enable K1 bit */

Definition at line 191 of file ich8lan.c.

#define E1000_PCH2_RAR_ENTRIES   5 /* RAR[0], SHRA[0-3] */

Definition at line 118 of file ich8lan.c.

#define E1000_PCH_LPT_RAR_ENTRIES   12 /* RAR[0], SHRA[0-10] */

Definition at line 119 of file ich8lan.c.

#define E1000_STRAP   0x0000C

Definition at line 178 of file ich8lan.c.

#define E1000_STRAP_SMBUS_ADDRESS_MASK   0x00FE0000

Definition at line 179 of file ich8lan.c.

#define E1000_STRAP_SMBUS_ADDRESS_SHIFT   17

Definition at line 180 of file ich8lan.c.

#define E1000_STRAP_SMT_FREQ_MASK   0x00003000

Definition at line 181 of file ich8lan.c.

#define E1000_STRAP_SMT_FREQ_SHIFT   12

Definition at line 182 of file ich8lan.c.

#define er16flash (   reg)    __er16flash(hw, (reg))

Definition at line 311 of file ich8lan.c.

#define er32flash (   reg)    __er32flash(hw, (reg))

Definition at line 312 of file ich8lan.c.

#define ew16flash (   reg,
  val 
)    __ew16flash(hw, (reg), (val))

Definition at line 313 of file ich8lan.c.

#define ew32flash (   reg,
  val 
)    __ew32flash(hw, (reg), (val))

Definition at line 314 of file ich8lan.c.

#define FLASH_GFPREG_BASE_MASK   0x1FFF

Definition at line 78 of file ich8lan.c.

#define FLASH_SECTOR_ADDR_SHIFT   12

Definition at line 79 of file ich8lan.c.

#define HV_KMRN_FIFO_CTRLSTA   PHY_REG(770, 16)

Definition at line 198 of file ich8lan.c.

#define HV_KMRN_FIFO_CTRLSTA_PREAMBLE_MASK   0x7000

Definition at line 199 of file ich8lan.c.

#define HV_KMRN_FIFO_CTRLSTA_PREAMBLE_SHIFT   12

Definition at line 200 of file ich8lan.c.

#define HV_KMRN_MDIO_SLOW   0x0400

Definition at line 195 of file ich8lan.c.

#define HV_KMRN_MODE_CTRL   PHY_REG(769, 16)

Definition at line 194 of file ich8lan.c.

#define HV_LED_CONFIG   PHY_REG(768, 30) /* LED Configuration */

Definition at line 131 of file ich8lan.c.

#define HV_OEM_BITS   PHY_REG(768, 25)

Definition at line 185 of file ich8lan.c.

#define HV_OEM_BITS_GBE_DIS   0x0040 /* Gigabit Disable */

Definition at line 187 of file ich8lan.c.

#define HV_OEM_BITS_LPLU   0x0004 /* Low Power Link Up */

Definition at line 186 of file ich8lan.c.

#define HV_OEM_BITS_RESTART_AN   0x0400 /* Restart Auto-negotiation */

Definition at line 188 of file ich8lan.c.

#define HV_PM_CTRL   PHY_REG(770, 17)

Definition at line 149 of file ich8lan.c.

#define HV_PM_CTRL_PLL_STOP_IN_K1_GIGA   0x100

Definition at line 150 of file ich8lan.c.

#define HV_SMB_ADDR   PHY_REG(768, 26)

Definition at line 140 of file ich8lan.c.

#define HV_SMB_ADDR_FREQ_HIGH_SHIFT   12

Definition at line 146 of file ich8lan.c.

#define HV_SMB_ADDR_FREQ_LOW_SHIFT   8

Definition at line 145 of file ich8lan.c.

#define HV_SMB_ADDR_FREQ_MASK   0x1100

Definition at line 144 of file ich8lan.c.

#define HV_SMB_ADDR_MASK   0x007F

Definition at line 141 of file ich8lan.c.

#define HV_SMB_ADDR_PEC_EN   0x0200

Definition at line 142 of file ich8lan.c.

#define HV_SMB_ADDR_VALID   0x0080

Definition at line 143 of file ich8lan.c.

#define I217_CGFREG   PHY_REG(772, 29)

Definition at line 172 of file ich8lan.c.

#define I217_CGFREG_ENABLE_MTA_RESET   0x0002

Definition at line 173 of file ich8lan.c.

#define I217_EEE_100_SUPPORTED   (1 << 1) /* 100BaseTx EEE supported */

Definition at line 165 of file ich8lan.c.

#define I217_EEE_ADVERTISEMENT   0x8001 /* IEEE MMD Register 7.60 */

Definition at line 163 of file ich8lan.c.

#define I217_EEE_LP_ABILITY   0x8002 /* IEEE MMD Register 7.61 */

Definition at line 164 of file ich8lan.c.

#define I217_MEMPWR   PHY_REG(772, 26)

Definition at line 174 of file ich8lan.c.

#define I217_MEMPWR_DISABLE_SMB_RELEASE   0x0010

Definition at line 175 of file ich8lan.c.

#define I217_PROXY_CTRL   BM_PHY_REG(BM_WUC_PAGE, 70)

Definition at line 168 of file ich8lan.c.

#define I217_PROXY_CTRL_AUTO_DISABLE   0x0080

Definition at line 169 of file ich8lan.c.

#define I217_SxCTRL   PHY_REG(BM_PORT_CTRL_PAGE, 28)

Definition at line 170 of file ich8lan.c.

#define I217_SxCTRL_ENABLE_LPI_RESET   0x1000

Definition at line 171 of file ich8lan.c.

#define I82579_EMI_ADDR   0x10

Definition at line 158 of file ich8lan.c.

#define I82579_EMI_DATA   0x11

Definition at line 159 of file ich8lan.c.

#define I82579_LPI_CTRL   PHY_REG(772, 20)

Definition at line 153 of file ich8lan.c.

#define I82579_LPI_CTRL_ENABLE_MASK   0x6000

Definition at line 154 of file ich8lan.c.

#define I82579_LPI_CTRL_FORCE_PLL_LOCK_COUNT   0x80

Definition at line 155 of file ich8lan.c.

#define I82579_LPI_UPDATE_TIMER   0x4805 /* in 40ns units + 40 ns base value */

Definition at line 160 of file ich8lan.c.

#define I82579_MSE_LINK_DOWN   0x2411 /* MSE count before dropping link */

Definition at line 162 of file ich8lan.c.

#define I82579_MSE_THRESHOLD   0x084F /* Mean Square Error Threshold */

Definition at line 161 of file ich8lan.c.

#define ICH_CYCLE_ERASE   3

Definition at line 76 of file ich8lan.c.

#define ICH_CYCLE_READ   0

Definition at line 74 of file ich8lan.c.

#define ICH_CYCLE_WRITE   2

Definition at line 75 of file ich8lan.c.

#define ICH_FLASH_CYCLE_REPEAT_COUNT   10

Definition at line 72 of file ich8lan.c.

#define ICH_FLASH_ERASE_COMMAND_TIMEOUT   3000000

Definition at line 70 of file ich8lan.c.

#define ICH_FLASH_FADDR   0x0008

Definition at line 64 of file ich8lan.c.

#define ICH_FLASH_FDATA0   0x0010

Definition at line 65 of file ich8lan.c.

#define ICH_FLASH_GFPREG   0x0000

Definition at line 61 of file ich8lan.c.

#define ICH_FLASH_HSFCTL   0x0006

Definition at line 63 of file ich8lan.c.

#define ICH_FLASH_HSFSTS   0x0004

Definition at line 62 of file ich8lan.c.

#define ICH_FLASH_LINEAR_ADDR_MASK   0x00FFFFFF

Definition at line 71 of file ich8lan.c.

#define ICH_FLASH_PR0   0x0074

Definition at line 66 of file ich8lan.c.

#define ICH_FLASH_READ_COMMAND_TIMEOUT   500

Definition at line 68 of file ich8lan.c.

#define ICH_FLASH_SEG_SIZE_256   256

Definition at line 81 of file ich8lan.c.

#define ICH_FLASH_SEG_SIZE_4K   4096

Definition at line 82 of file ich8lan.c.

#define ICH_FLASH_SEG_SIZE_64K   65536

Definition at line 84 of file ich8lan.c.

#define ICH_FLASH_SEG_SIZE_8K   8192

Definition at line 83 of file ich8lan.c.

#define ICH_FLASH_WRITE_COMMAND_TIMEOUT   500

Definition at line 69 of file ich8lan.c.

#define ID_LED_DEFAULT_ICH8LAN
Value:
((ID_LED_DEF1_DEF2 << 12) | \
(ID_LED_DEF1_OFF2 << 8) | \
(ID_LED_DEF1_ON2 << 4) | \

Definition at line 93 of file ich8lan.c.

#define IGP3_KMRN_DIAG   PHY_REG(770, 19) /* KMRN Diagnostic */

Definition at line 124 of file ich8lan.c.

#define IGP3_KMRN_DIAG_PCS_LOCK_LOSS   0x0002

Definition at line 127 of file ich8lan.c.

#define IGP3_VR_CTRL   PHY_REG(776, 18) /* Voltage Regulator Control */

Definition at line 125 of file ich8lan.c.

#define IGP3_VR_CTRL_DEV_POWERDOWN_MODE_MASK   0x0300

Definition at line 128 of file ich8lan.c.

#define IGP3_VR_CTRL_MODE_SHUTDOWN   0x0200

Definition at line 129 of file ich8lan.c.

#define PCIE_ICH8_SNOOP_ALL   PCIE_NO_SNOOP_ALL

Definition at line 115 of file ich8lan.c.

#define PHY_PAGE_SHIFT   5

Definition at line 121 of file ich8lan.c.

#define PHY_REG (   page,
  reg 
)
Value:

Definition at line 122 of file ich8lan.c.

#define SW_FLAG_TIMEOUT   1000 /* SW Semaphore flag timeout in milliseconds */

Definition at line 133 of file ich8lan.c.

Function Documentation

s32 e1000_configure_k1_ich8lan ( struct e1000_hw hw,
bool  k1_enable 
)

e1000_configure_k1_ich8lan - Configure K1 power state : pointer to the HW structure : K1 state to configure

Configure the K1 power state based on the provided parameter. Assumes semaphore already acquired.

Success returns 0, Failure returns -E1000_ERR_PHY (-2)

Definition at line 1585 of file ich8lan.c.

void e1000_copy_rx_addrs_to_phy_ich8lan ( struct e1000_hw hw)

e1000_copy_rx_addrs_to_phy_ich8lan - Copy Rx addresses from MAC to PHY : pointer to the HW structure

Definition at line 1798 of file ich8lan.c.

s32 e1000_lv_jumbo_workaround_ich8lan ( struct e1000_hw hw,
bool  enable 
)

e1000_lv_jumbo_workaround_ich8lan - required for jumbo frame operation with 82579 PHY : pointer to the HW structure : flag to enable/disable workaround when enabling/disabling jumbos

Definition at line 1839 of file ich8lan.c.

void e1000_resume_workarounds_pchlan ( struct e1000_hw hw)

e1000_resume_workarounds_pchlan - workarounds needed during Sx->S0 : pointer to the HW structure

During Sx to S0 transitions on non-managed devices or managed devices on which PHY resets are not blocked, if the PHY registers cannot be accessed properly by the s/w toggle the LANPHYPC value to power cycle the PHY. On i217, setup Intel Rapid Start Technology.

Definition at line 4165 of file ich8lan.c.

void e1000_suspend_workarounds_ich8lan ( struct e1000_hw hw)

e1000_suspend_workarounds_ich8lan - workarounds needed during S0->Sx : pointer to the HW structure

During S0 to Sx transition, it is possible the link remains at gig instead of negotiating to a lower speed. Before going to Sx, set 'Gig Disable' to force link speed negotiation to a lower speed based on the LPLU setting in the NVM or custom setting. For PCH and newer parts, the OEM bits PHY register (LED, GbE disable and LPLU configurations) also needs to be written. Parts that support (and are linked to a partner which support) EEE in 100Mbps should disable LPLU since 100Mbps w/ EEE requires less power than 10Mbps w/o EEE.

Definition at line 4057 of file ich8lan.c.

void e1000e_gig_downshift_workaround_ich8lan ( struct e1000_hw hw)

e1000e_gig_downshift_workaround_ich8lan - WoL from S5 stops working : pointer to the HW structure

Steps to take when dropping from 1Gb/s (eg. link cable removal (LSC), LPLU, Gig disable, MDIC PHY reset): 1) Set Kumeran Near-end loopback 2) Clear Kumeran Near-end loopback Should only be called for ICH8[m] devices with any 1G Phy.

Definition at line 4021 of file ich8lan.c.

void e1000e_igp3_phy_powerdown_workaround_ich8lan ( struct e1000_hw hw)

e1000_ipg3_phy_powerdown_workaround_ich8lan - Power down workaround on D3 : pointer to the HW structure

Workaround for 82566 power-down on D3 entry: 1) disable gigabit link 2) write VR power-down enable 3) read it back Continue if successful, else issue LCD reset and repeat

Definition at line 3969 of file ich8lan.c.

void e1000e_set_kmrn_lock_loss_workaround_ich8lan ( struct e1000_hw hw,
bool  state 
)

e1000e_set_kmrn_lock_loss_workaround_ich8lan - Set Kumeran workaround state : pointer to the HW structure : boolean value used to set the current Kumeran workaround state

If ICH8, set the current Kumeran workaround state (enabled - true /disabled - false).

Definition at line 3946 of file ich8lan.c.

void e1000e_write_protect_nvm_ich8lan ( struct e1000_hw hw)

e1000e_write_protect_nvm_ich8lan - Make the NVM read-only : pointer to the HW structure

To prevent malicious write/erase of the NVM, set it to be read-only so that the hardware ignores all write/erase cycles of the NVM via the flash control registers. The shadow-ram copy of the NVM will still be updated, however any updates to this copy will not stick across driver reloads.

Definition at line 3033 of file ich8lan.c.

Variable Documentation

struct e1000_info e1000_ich10_info
Initial value:
= {
.pba = 18,
.max_hw_frame_size = DEFAULT_JUMBO,
.get_variants = e1000_get_variants_ich8lan,
.mac_ops = &ich8_mac_ops,
.phy_ops = &ich8_phy_ops,
.nvm_ops = &ich8_nvm_ops,
}

Definition at line 4564 of file ich8lan.c.

struct e1000_info e1000_ich8_info
Initial value:
= {
.mac = e1000_ich8lan,
.flags = FLAG_HAS_WOL
.pba = 8,
.max_hw_frame_size = ETH_FRAME_LEN + ETH_FCS_LEN,
.get_variants = e1000_get_variants_ich8lan,
.mac_ops = &ich8_mac_ops,
.phy_ops = &ich8_phy_ops,
.nvm_ops = &ich8_nvm_ops,
}

Definition at line 4531 of file ich8lan.c.

struct e1000_info e1000_ich9_info
Initial value:
= {
.mac = e1000_ich9lan,
.pba = 18,
.max_hw_frame_size = DEFAULT_JUMBO,
.get_variants = e1000_get_variants_ich8lan,
.mac_ops = &ich8_mac_ops,
.phy_ops = &ich8_phy_ops,
.nvm_ops = &ich8_nvm_ops,
}

Definition at line 4547 of file ich8lan.c.

struct e1000_info e1000_pch2_info
Initial value:
= {
.mac = e1000_pch2lan,
.flags = FLAG_IS_ICH
.pba = 26,
.max_hw_frame_size = DEFAULT_JUMBO,
.get_variants = e1000_get_variants_ich8lan,
.mac_ops = &ich8_mac_ops,
.phy_ops = &ich8_phy_ops,
.nvm_ops = &ich8_nvm_ops,
}

Definition at line 4600 of file ich8lan.c.

struct e1000_info e1000_pch_info
Initial value:
= {
.mac = e1000_pchlan,
.flags = FLAG_IS_ICH
.pba = 26,
.max_hw_frame_size = 4096,
.get_variants = e1000_get_variants_ich8lan,
.mac_ops = &ich8_mac_ops,
.phy_ops = &ich8_phy_ops,
.nvm_ops = &ich8_nvm_ops,
}

Definition at line 4581 of file ich8lan.c.

struct e1000_info e1000_pch_lpt_info
Initial value:
= {
.mac = e1000_pch_lpt,
.flags = FLAG_IS_ICH
.pba = 26,
.max_hw_frame_size = DEFAULT_JUMBO,
.get_variants = e1000_get_variants_ich8lan,
.mac_ops = &ich8_mac_ops,
.phy_ops = &ich8_phy_ops,
.nvm_ops = &ich8_nvm_ops,
}

Definition at line 4619 of file ich8lan.c.