e1000.h File Reference

#include "e1000_api.h"

Go to the source code of this file.

Data Structures

struct  e1000_buffer
struct  e1000_rx_buffer
struct  e1000_tx_ring
struct  e1000_rx_ring
struct  e1000_adapter

Defines

#define BAR_0   0
#define BAR_1   1
#define BAR_5   5
#define E1000_DEFAULT_TXD   256
#define E1000_MAX_TXD   256
#define E1000_MIN_TXD   80
#define E1000_MAX_82544_TXD   4096
#define E1000_DEFAULT_TXD_PWR   12
#define E1000_MAX_TXD_PWR   12
#define E1000_MIN_TXD_PWR   7
#define E1000_DEFAULT_RXD   256
#define E1000_MAX_RXD   256
#define E1000_MIN_RXD   80
#define E1000_MAX_82544_RXD   4096
#define E1000_MIN_ITR_USECS   10
#define E1000_MAX_ITR_USECS   10000
#define MAXIMUM_ETHERNET_VLAN_SIZE   1522
#define E1000_RXBUFFER_128   128
#define E1000_RXBUFFER_256   256
#define E1000_RXBUFFER_512   512
#define E1000_RXBUFFER_1024   1024
#define E1000_RXBUFFER_2048   2048
#define E1000_RXBUFFER_4096   4096
#define E1000_RXBUFFER_8192   8192
#define E1000_RXBUFFER_16384   16384
#define E1000_SMARTSPEED_DOWNSHIFT   3
#define E1000_SMARTSPEED_MAX   15
#define E1000_PBA_BYTES_SHIFT   0xA
#define E1000_TX_HEAD_ADDR_SHIFT   7
#define E1000_PBA_TX_MASK   0xFFFF0000
#define E1000_ERT_2048   0x100
#define E1000_FC_PAUSE_TIME   0x0680
#define E1000_TX_QUEUE_WAKE   16
#define E1000_RX_BUFFER_WRITE   16
#define AUTO_ALL_MODES   0
#define E1000_EEPROM_82544_APM   0x0004
#define E1000_EEPROM_APME   0x0400
#define E1000_TX_DESC_INC(R, index)   {index += (R)->step; if (index == (R)->count) index = 0; }
#define E1000_TX_DESC_DEC(R, index)
#define E1000_DESC_UNUSED(R)
#define E1000_RX_DESC_EXT(R, i)   (&(((union e1000_rx_desc_extended *)((R).desc))[i]))
#define E1000_GET_DESC(R, i, type)   (&(((struct type *)((R).desc))[i]))
#define E1000_RX_DESC(R, i)   E1000_GET_DESC(R, i, e1000_rx_desc)
#define E1000_TX_DESC(R, i)   E1000_GET_DESC(R, i, e1000_tx_desc)
#define E1000_CONTEXT_DESC(R, i)   E1000_GET_DESC(R, i, e1000_context_desc)
#define NUM_TX_DESC   8
#define NUM_RX_DESC   8
#define E1000_FLAG_HAS_SMBUS   (1 << 0)
#define E1000_FLAG_HAS_INTR_MODERATION   (1 << 4)
#define E1000_FLAG_BAD_TX_CARRIER_STATS_FD   (1 << 6)
#define E1000_FLAG_QUAD_PORT_A   (1 << 8)
#define E1000_FLAG_SMART_POWER_DOWN   (1 << 9)

Functions

 FILE_LICENCE (GPL2_ONLY)
void e1000_power_up_phy (struct e1000_hw *hw)
 e1000_power_up_phy - Restores link in case of PHY power down : pointer to the HW structure
void e1000_set_ethtool_ops (struct net_device *netdev)
void e1000_check_options (struct e1000_adapter *adapter)
int e1000_up (struct e1000_adapter *adapter)
void e1000_down (struct e1000_adapter *adapter)
void e1000_reinit_locked (struct e1000_adapter *adapter)
void e1000_reset (struct e1000_adapter *adapter)
 e1000_reset - Put e1000 NIC in known initial state
int e1000_set_spd_dplx (struct e1000_adapter *adapter, u16 spddplx)
int e1000_setup_all_rx_resources (struct e1000_adapter *adapter)
int e1000_setup_all_tx_resources (struct e1000_adapter *adapter)
void e1000_free_all_rx_resources (struct e1000_adapter *adapter)
void e1000_free_all_tx_resources (struct e1000_adapter *adapter)
void e1000_update_stats (struct e1000_adapter *adapter)

Variables

char e1000_driver_name []
const char e1000_driver_version []


Define Documentation

#define BAR_0   0

Definition at line 38 of file e1000.h.

#define BAR_1   1

Definition at line 39 of file e1000.h.

#define BAR_5   5

Definition at line 40 of file e1000.h.

#define E1000_DEFAULT_TXD   256

Definition at line 45 of file e1000.h.

#define E1000_MAX_TXD   256

Definition at line 46 of file e1000.h.

#define E1000_MIN_TXD   80

Definition at line 47 of file e1000.h.

#define E1000_MAX_82544_TXD   4096

Definition at line 48 of file e1000.h.

#define E1000_DEFAULT_TXD_PWR   12

Definition at line 50 of file e1000.h.

#define E1000_MAX_TXD_PWR   12

Definition at line 51 of file e1000.h.

#define E1000_MIN_TXD_PWR   7

Definition at line 52 of file e1000.h.

#define E1000_DEFAULT_RXD   256

Definition at line 54 of file e1000.h.

#define E1000_MAX_RXD   256

Definition at line 55 of file e1000.h.

#define E1000_MIN_RXD   80

Definition at line 57 of file e1000.h.

#define E1000_MAX_82544_RXD   4096

Definition at line 58 of file e1000.h.

#define E1000_MIN_ITR_USECS   10

Definition at line 60 of file e1000.h.

#define E1000_MAX_ITR_USECS   10000

Definition at line 61 of file e1000.h.

#define MAXIMUM_ETHERNET_VLAN_SIZE   1522

#define E1000_RXBUFFER_128   128

Definition at line 68 of file e1000.h.

#define E1000_RXBUFFER_256   256

Definition at line 69 of file e1000.h.

#define E1000_RXBUFFER_512   512

Definition at line 70 of file e1000.h.

#define E1000_RXBUFFER_1024   1024

Definition at line 71 of file e1000.h.

#define E1000_RXBUFFER_2048   2048

Definition at line 72 of file e1000.h.

#define E1000_RXBUFFER_4096   4096

Definition at line 73 of file e1000.h.

#define E1000_RXBUFFER_8192   8192

Definition at line 74 of file e1000.h.

#define E1000_RXBUFFER_16384   16384

Definition at line 75 of file e1000.h.

#define E1000_SMARTSPEED_DOWNSHIFT   3

Definition at line 78 of file e1000.h.

#define E1000_SMARTSPEED_MAX   15

Definition at line 79 of file e1000.h.

#define E1000_PBA_BYTES_SHIFT   0xA

Definition at line 82 of file e1000.h.

#define E1000_TX_HEAD_ADDR_SHIFT   7

Definition at line 83 of file e1000.h.

#define E1000_PBA_TX_MASK   0xFFFF0000

Definition at line 84 of file e1000.h.

#define E1000_ERT_2048   0x100

Definition at line 87 of file e1000.h.

#define E1000_FC_PAUSE_TIME   0x0680

Definition at line 89 of file e1000.h.

#define E1000_TX_QUEUE_WAKE   16

Definition at line 92 of file e1000.h.

#define E1000_RX_BUFFER_WRITE   16

Definition at line 94 of file e1000.h.

#define AUTO_ALL_MODES   0

Definition at line 96 of file e1000.h.

Referenced by e1000e_probe(), and igb_probe().

#define E1000_EEPROM_82544_APM   0x0004

Definition at line 97 of file e1000.h.

#define E1000_EEPROM_APME   0x0400

Definition at line 98 of file e1000.h.

#define E1000_TX_DESC_INC ( R,
index   )     {index += (R)->step; if (index == (R)->count) index = 0; }

Definition at line 175 of file e1000.h.

#define E1000_TX_DESC_DEC ( R,
index   ) 

Value:

{ if (index == 0) index = (R)->count - (R)->step; \
        else index -= (R)->step; }

Definition at line 178 of file e1000.h.

#define E1000_DESC_UNUSED (  ) 

Value:

((((R)->next_to_clean > (R)->next_to_use) ? 0 : (R)->count) + \
        (R)->next_to_clean - (R)->next_to_use - 1)

Definition at line 182 of file e1000.h.

#define E1000_RX_DESC_EXT ( R,
 )     (&(((union e1000_rx_desc_extended *)((R).desc))[i]))

Definition at line 186 of file e1000.h.

#define E1000_GET_DESC ( R,
i,
type   )     (&(((struct type *)((R).desc))[i]))

Definition at line 188 of file e1000.h.

#define E1000_RX_DESC ( R,
 )     E1000_GET_DESC(R, i, e1000_rx_desc)

Definition at line 189 of file e1000.h.

#define E1000_TX_DESC ( R,
 )     E1000_GET_DESC(R, i, e1000_tx_desc)

Definition at line 190 of file e1000.h.

#define E1000_CONTEXT_DESC ( R,
 )     E1000_GET_DESC(R, i, e1000_context_desc)

Definition at line 191 of file e1000.h.

#define NUM_TX_DESC   8

#define NUM_RX_DESC   8

#define E1000_FLAG_HAS_SMBUS   (1 << 0)

Definition at line 301 of file e1000.h.

Referenced by e1000_probe().

#define E1000_FLAG_HAS_INTR_MODERATION   (1 << 4)

Definition at line 302 of file e1000.h.

Referenced by e1000_probe().

#define E1000_FLAG_BAD_TX_CARRIER_STATS_FD   (1 << 6)

Definition at line 303 of file e1000.h.

Referenced by e1000_probe().

#define E1000_FLAG_QUAD_PORT_A   (1 << 8)

Definition at line 304 of file e1000.h.

#define E1000_FLAG_SMART_POWER_DOWN   (1 << 9)

Definition at line 305 of file e1000.h.


Function Documentation

FILE_LICENCE ( GPL2_ONLY   ) 

void e1000_power_up_phy ( struct e1000_hw hw  ) 

e1000_power_up_phy - Restores link in case of PHY power down : pointer to the HW structure

The phy may be powered down to save power, to turn off link when the driver is unloaded, or wake on lan is not enabled (among others).

Definition at line 1089 of file e1000_api.c.

01090 {
01091         if (hw->phy.ops.power_up)
01092                 hw->phy.ops.power_up(hw);
01093 
01094         e1000_setup_link(hw);
01095 }

void e1000_set_ethtool_ops ( struct net_device netdev  ) 

void e1000_check_options ( struct e1000_adapter adapter  ) 

int e1000_up ( struct e1000_adapter adapter  ) 

void e1000_down ( struct e1000_adapter adapter  ) 

void e1000_reinit_locked ( struct e1000_adapter adapter  ) 

void e1000_reset ( struct e1000_adapter adapter  ) 

e1000_reset - Put e1000 NIC in known initial state

Parameters:
adapter e1000 private structure

Definition at line 496 of file e1000_main.c.

References DBG, e1000_82540, e1000_82541, e1000_82541_rev_2, e1000_82542, e1000_82543, e1000_82544, e1000_82545, e1000_82545_rev_3, e1000_82546, e1000_82546_rev_3, e1000_82547, e1000_82547_rev_2, e1000_get_phy_info(), e1000_init_hw(), e1000_init_manageability(), e1000_num_macs, E1000_PBA, E1000_PBA_30K, E1000_PBA_48K, e1000_reset_adaptive(), e1000_reset_hw(), e1000_undefined, E1000_WRITE_REG, E1000_WUC, e1000_adapter::hw, e1000_hw::mac, e1000_mac_info::type, and u32.

Referenced by e1000_open(), and e1000_probe().

00497 {
00498         struct e1000_mac_info *mac = &adapter->hw.mac;
00499         u32 pba = 0;
00500 
00501         DBG ( "e1000_reset\n" );
00502 
00503         switch (mac->type) {
00504         case e1000_82542:
00505         case e1000_82543:
00506         case e1000_82544:
00507         case e1000_82540:
00508         case e1000_82541:
00509         case e1000_82541_rev_2:
00510                 pba = E1000_PBA_48K;
00511                 break;
00512         case e1000_82545:
00513         case e1000_82545_rev_3:
00514         case e1000_82546:
00515         case e1000_82546_rev_3:
00516                 pba = E1000_PBA_48K;
00517                 break;
00518         case e1000_82547:
00519         case e1000_82547_rev_2:
00520                 pba = E1000_PBA_30K;
00521                 break;
00522         case e1000_undefined:
00523         case e1000_num_macs:
00524                 break;
00525         }
00526 
00527         E1000_WRITE_REG ( &adapter->hw, E1000_PBA, pba );
00528 
00529         /* Allow time for pending master requests to run */
00530         e1000_reset_hw ( &adapter->hw );
00531 
00532         if ( mac->type >= e1000_82544 )
00533                 E1000_WRITE_REG ( &adapter->hw, E1000_WUC, 0 );
00534 
00535         if ( e1000_init_hw ( &adapter->hw ) )
00536                 DBG ( "Hardware Error\n" );
00537 
00538         e1000_reset_adaptive ( &adapter->hw );
00539         e1000_get_phy_info ( &adapter->hw );
00540 
00541         e1000_init_manageability ( adapter );
00542 }

int e1000_set_spd_dplx ( struct e1000_adapter adapter,
u16  spddplx 
)

int e1000_setup_all_rx_resources ( struct e1000_adapter adapter  ) 

int e1000_setup_all_tx_resources ( struct e1000_adapter adapter  ) 

void e1000_free_all_rx_resources ( struct e1000_adapter adapter  ) 

void e1000_free_all_tx_resources ( struct e1000_adapter adapter  ) 

void e1000_update_stats ( struct e1000_adapter adapter  ) 


Variable Documentation

const char e1000_driver_version[]


Generated on Tue Apr 6 20:01:23 2010 for gPXE by  doxygen 1.5.7.1