Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Enumerations | Functions | Variables
e1000_main.c File Reference
#include "e1000.h"
#include <net/ip6_checksum.h>
#include <linux/io.h>
#include <linux/prefetch.h>
#include <linux/bitops.h>
#include <linux/if_vlan.h>

Go to the source code of this file.

Macros

#define DRV_VERSION   "7.3.21-k8-NAPI"
 
#define COPYBREAK_DEFAULT   256
 
#define DEFAULT_MSG_ENABLE   (NETIF_MSG_DRV|NETIF_MSG_PROBE|NETIF_MSG_LINK)
 
#define E1000_TX_FLAGS_CSUM   0x00000001
 
#define E1000_TX_FLAGS_VLAN   0x00000002
 
#define E1000_TX_FLAGS_TSO   0x00000004
 
#define E1000_TX_FLAGS_IPV4   0x00000008
 
#define E1000_TX_FLAGS_NO_FCS   0x00000010
 
#define E1000_TX_FLAGS_VLAN_MASK   0xffff0000
 
#define E1000_TX_FLAGS_VLAN_SHIFT   16
 
#define E1000_MAX_TXD_PWR   12
 
#define E1000_MAX_DATA_PER_TXD   (1<<E1000_MAX_TXD_PWR)
 
#define E1000_FIFO_HDR   0x10
 
#define E1000_82547_PAD_LEN   0x3E0
 
#define TXD_USE_COUNT(S, X)   (((S) >> (X)) + 1 )
 
#define NUM_REGS   38 /* 1 based count */
 
#define PHY_IDLE_ERROR_COUNT_MASK   0x00FF
 
#define TX_WAKE_THRESHOLD   32
 
#define rxtop   rx_ring->rx_skb_top
 
#define E1000_CTRL_ADVD3WUC   0x00100000
 
#define E1000_CTRL_EN_PHY_PWR_MGMT   0x00200000
 

Enumerations

enum  latency_range {
  lowest_latency = 0, low_latency = 1, bulk_latency = 2, latency_invalid = 255,
  lowest_latency = 0, low_latency = 1, bulk_latency = 2, latency_invalid = 255,
  lowest_latency = 0, low_latency = 1, bulk_latency = 2, latency_invalid = 255,
  lowest_latency = 0, low_latency = 1, bulk_latency = 2, latency_invalid = 255,
  lowest_latency = 0, low_latency = 1, bulk_latency = 2, latency_invalid = 255,
  lowest_latency = 0, low_latency = 1, bulk_latency = 2, latency_invalid = 255
}
 

Functions

 MODULE_DEVICE_TABLE (pci, e1000_pci_tbl)
 
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)
 
int e1000_setup_all_tx_resources (struct e1000_adapter *adapter)
 
int e1000_setup_all_rx_resources (struct e1000_adapter *adapter)
 
void e1000_free_all_tx_resources (struct e1000_adapter *adapter)
 
void e1000_free_all_rx_resources (struct e1000_adapter *adapter)
 
void e1000_update_stats (struct e1000_adapter *adapter)
 
 module_param (copybreak, uint, 0644)
 
 MODULE_PARM_DESC (copybreak,"Maximum size of packet that is copied to a new buffer on receive")
 
 MODULE_AUTHOR ("Intel Corporation, <[email protected]>")
 
 MODULE_DESCRIPTION ("Intel(R) PRO/1000 Network Driver")
 
 MODULE_LICENSE ("GPL")
 
 MODULE_VERSION (DRV_VERSION)
 
 module_param (debug, int, 0)
 
 MODULE_PARM_DESC (debug,"Debug level (0=none,...,16=all)")
 
struct net_devicee1000_get_hw_dev (struct e1000_hw *hw)
 
 module_init (e1000_init_module)
 
 module_exit (e1000_exit_module)
 
void e1000_power_up_phy (struct e1000_adapter *adapter)
 
bool e1000_has_link (struct e1000_adapter *adapter)
 
void e1000_pci_set_mwi (struct e1000_hw *hw)
 
void e1000_pci_clear_mwi (struct e1000_hw *hw)
 
int e1000_pcix_get_mmrbc (struct e1000_hw *hw)
 
void e1000_pcix_set_mmrbc (struct e1000_hw *hw, int mmrbc)
 
void e1000_io_write (struct e1000_hw *hw, unsigned long port, u32 value)
 
int e1000_set_spd_dplx (struct e1000_adapter *adapter, u32 spd, u8 dplx)
 

Variables

char e1000_driver_name [] = "e1000"
 
const char e1000_driver_version [] = DRV_VERSION
 

Macro Definition Documentation

#define COPYBREAK_DEFAULT   256

Definition at line 184 of file e1000_main.c.

#define DEFAULT_MSG_ENABLE   (NETIF_MSG_DRV|NETIF_MSG_PROBE|NETIF_MSG_LINK)

Definition at line 220 of file e1000_main.c.

#define DRV_VERSION   "7.3.21-k8-NAPI"

Definition at line 38 of file e1000_main.c.

#define E1000_82547_PAD_LEN   0x3E0

Definition at line 3067 of file e1000_main.c.

#define E1000_CTRL_ADVD3WUC   0x00100000
#define E1000_CTRL_EN_PHY_PWR_MGMT   0x00200000
#define E1000_FIFO_HDR   0x10

Definition at line 3066 of file e1000_main.c.

#define E1000_MAX_DATA_PER_TXD   (1<<E1000_MAX_TXD_PWR)

Definition at line 2851 of file e1000_main.c.

#define E1000_MAX_TXD_PWR   12

Definition at line 2850 of file e1000_main.c.

#define E1000_TX_FLAGS_CSUM   0x00000001

Definition at line 2718 of file e1000_main.c.

#define E1000_TX_FLAGS_IPV4   0x00000008

Definition at line 2721 of file e1000_main.c.

#define E1000_TX_FLAGS_NO_FCS   0x00000010

Definition at line 2722 of file e1000_main.c.

#define E1000_TX_FLAGS_TSO   0x00000004

Definition at line 2720 of file e1000_main.c.

#define E1000_TX_FLAGS_VLAN   0x00000002

Definition at line 2719 of file e1000_main.c.

#define E1000_TX_FLAGS_VLAN_MASK   0xffff0000

Definition at line 2723 of file e1000_main.c.

#define E1000_TX_FLAGS_VLAN_SHIFT   16

Definition at line 2724 of file e1000_main.c.

#define NUM_REGS   38 /* 1 based count */

Definition at line 3293 of file e1000_main.c.

#define PHY_IDLE_ERROR_COUNT_MASK   0x00FF
#define rxtop   rx_ring->rx_skb_top
#define TX_WAKE_THRESHOLD   32
#define TXD_USE_COUNT (   S,
  X 
)    (((S) >> (X)) + 1 )

Definition at line 3125 of file e1000_main.c.

Enumeration Type Documentation

Enumerator:
lowest_latency 
low_latency 
bulk_latency 
latency_invalid 
lowest_latency 
low_latency 
bulk_latency 
latency_invalid 
lowest_latency 
low_latency 
bulk_latency 
latency_invalid 
lowest_latency 
low_latency 
bulk_latency 
latency_invalid 
lowest_latency 
low_latency 
bulk_latency 
latency_invalid 
lowest_latency 
low_latency 
bulk_latency 
latency_invalid 

Definition at line 2584 of file e1000_main.c.

Function Documentation

void e1000_down ( struct e1000_adapter adapter)

Definition at line 506 of file e1000_main.c.

void e1000_free_all_rx_resources ( struct e1000_adapter adapter)

e1000_free_all_rx_resources - Free Rx Resources for All Queues : board private structure

Free all receive software resources

Definition at line 2077 of file e1000_main.c.

void e1000_free_all_tx_resources ( struct e1000_adapter adapter)

e1000_free_all_tx_resources - Free Tx Resources for All Queues : board private structure

Free all transmit software resources

Definition at line 1967 of file e1000_main.c.

struct net_device* e1000_get_hw_dev ( struct e1000_hw hw)
read

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

Definition at line 230 of file e1000_main.c.

bool e1000_has_link ( struct e1000_adapter adapter)

Definition at line 2406 of file e1000_main.c.

void e1000_io_write ( struct e1000_hw hw,
unsigned long  port,
u32  value 
)

Definition at line 4790 of file e1000_main.c.

void e1000_pci_clear_mwi ( struct e1000_hw hw)

Definition at line 4771 of file e1000_main.c.

void e1000_pci_set_mwi ( struct e1000_hw hw)

Definition at line 4762 of file e1000_main.c.

int e1000_pcix_get_mmrbc ( struct e1000_hw hw)

Definition at line 4778 of file e1000_main.c.

void e1000_pcix_set_mmrbc ( struct e1000_hw hw,
int  mmrbc 
)

Definition at line 4784 of file e1000_main.c.

void e1000_power_up_phy ( struct e1000_adapter adapter)

e1000_power_up_phy - restore link in case the phy was powered down : address of board private structure

The phy may be powered down to save power and turn off link when the driver is unloaded and wake on lan is not enabled (among others) *** this routine MUST be followed by a call to e1000_reset ***

Definition at line 439 of file e1000_main.c.

void e1000_reinit_locked ( struct e1000_adapter adapter)

Definition at line 559 of file e1000_main.c.

void e1000_reset ( struct e1000_adapter adapter)

Definition at line 571 of file e1000_main.c.

int e1000_set_spd_dplx ( struct e1000_adapter adapter,
u32  spd,
u8  dplx 
)

Definition at line 4925 of file e1000_main.c.

int e1000_setup_all_rx_resources ( struct e1000_adapter adapter)

e1000_setup_all_rx_resources - wrapper to allocate Rx resources (Descriptors) for all queues : board private structure

Return 0 on success, negative on failure

Definition at line 1783 of file e1000_main.c.

int e1000_setup_all_tx_resources ( struct e1000_adapter adapter)

e1000_setup_all_tx_resources - wrapper to allocate Tx resources (Descriptors) for all queues : board private structure

Return 0 on success, negative on failure

Definition at line 1583 of file e1000_main.c.

int e1000_up ( struct e1000_adapter adapter)

Definition at line 409 of file e1000_main.c.

void e1000_update_stats ( struct e1000_adapter adapter)

e1000_update_stats - Update the board statistics counters : board private structure

Definition at line 3622 of file e1000_main.c.

MODULE_AUTHOR ( "Intel  Corporation,
< linux.nics @intel.com >"   
)
MODULE_DESCRIPTION ( "Intel(R) PRO/1000 Network Driver"  )
MODULE_DEVICE_TABLE ( pci  ,
e1000_pci_tbl   
)
module_exit ( e1000_exit_module  )
module_init ( e1000_init_module  )
MODULE_LICENSE ( "GPL"  )
module_param ( copybreak  ,
uint  ,
0644   
)
module_param ( debug  ,
int  ,
 
)
MODULE_PARM_DESC ( copybreak  ,
"Maximum size of packet that is copied to a new buffer on receive"   
)
MODULE_PARM_DESC ( debug  ,
"Debug level (0=none,...,16=all)"   
)
MODULE_VERSION ( DRV_VERSION  )

Variable Documentation

char e1000_driver_name[] = "e1000"

Definition at line 36 of file e1000_main.c.

const char e1000_driver_version[] = DRV_VERSION

Definition at line 39 of file e1000_main.c.