igb.h File Reference

#include "igb_api.h"

Go to the source code of this file.

Data Structures

struct  vf_data_storage
struct  igb_buffer
struct  igb_queue_stats
struct  igb_q_vector
struct  igb_ring
struct  igb_adapter

Defines

#define IGB_START_ITR   648
#define IGB_INT_MODE_LEGACY   0
#define IGB_INT_MODE_MSI   1
#define IGB_INT_MODE_MSIX   2
#define HW_PERF
#define IGB_DEFAULT_TXD   256
#define IGB_MIN_TXD   80
#define IGB_MAX_TXD   4096
#define IGB_DEFAULT_RXD   256
#define IGB_MIN_RXD   80
#define IGB_MAX_RXD   4096
#define IGB_MIN_ITR_USECS   10
#define IGB_MAX_ITR_USECS   8191
#define NON_Q_VECTORS   1
#define MAX_Q_VECTORS   8
#define IGB_MAX_RX_QUEUES
#define IGB_ABS_MAX_TX_QUEUES   8
#define IGB_MAX_TX_QUEUES   IGB_MAX_RX_QUEUES
#define IGB_MAX_VF_MC_ENTRIES   30
#define IGB_MAX_VF_FUNCTIONS   8
#define IGB_MAX_VFTA_ENTRIES   128
#define IGB_MAX_UTA_ENTRIES   128
#define MAX_EMULATION_MAC_ADDRS   16
#define OUI_LEN   3
#define IGB_VF_FLAG_CTS   0x00000001
#define IGB_VF_FLAG_UNI_PROMISC   0x00000002
#define IGB_VF_FLAG_MULTI_PROMISC   0x00000004
#define IGB_RX_PTHRESH   (hw->mac.type <= e1000_82576 ? 16 : 8)
#define IGB_RX_HTHRESH   8
#define IGB_RX_WTHRESH   1
#define IGB_TX_PTHRESH   8
#define IGB_TX_HTHRESH   1
#define IGB_TX_WTHRESH
#define MAXIMUM_ETHERNET_VLAN_SIZE   1522
#define IGB_RXBUFFER_128   128
#define IGB_RXBUFFER_256   256
#define IGB_RXBUFFER_512   512
#define IGB_RXBUFFER_1024   1024
#define IGB_RXBUFFER_2048   2048
#define IGB_RXBUFFER_4096   4096
#define IGB_RXBUFFER_8192   8192
#define IGB_RXBUFFER_16384   16384
#define IGB_PBA_BYTES_SHIFT   0xA
#define IGB_TX_HEAD_ADDR_SHIFT   7
#define IGB_PBA_TX_MASK   0xFFFF0000
#define IGB_FC_PAUSE_TIME   0x0680
#define IGB_TX_QUEUE_WAKE   32
#define IGB_RX_BUFFER_WRITE   16
#define AUTO_ALL_MODES   0
#define IGB_EEPROM_APME   0x0400
#define IGB_MASTER_SLAVE   e1000_ms_hw_default
#define IGB_MNG_VLAN_NONE   -1
#define IGB_ADVTXD_DCMD   (E1000_ADVTXD_DCMD_EOP | E1000_ADVTXD_DCMD_RS)
#define IGB_DESC_UNUSED(R)
#define E1000_RX_DESC_ADV(R, i)   (&(((union e1000_adv_rx_desc *)((R).desc))[i]))
#define E1000_TX_DESC_ADV(R, i)   (&(((union e1000_adv_tx_desc *)((R).desc))[i]))
#define E1000_TX_CTXTDESC_ADV(R, i)   (&(((struct e1000_adv_tx_context_desc *)((R).desc))[i]))
#define E1000_GET_DESC(R, i, type)   (&(((struct type *)((R).desc))[i]))
#define E1000_TX_DESC(R, i)   E1000_GET_DESC(R, i, e1000_tx_desc)
#define E1000_RX_DESC(R, i)   E1000_GET_DESC(R, i, e1000_rx_desc)
#define MAX_MSIX_COUNT   10
#define NUM_TX_DESC   8
#define NUM_RX_DESC   8
#define IGB_FLAG_HAS_MSI   (1 << 0)
#define IGB_FLAG_MSI_ENABLE   (1 << 1)
#define IGB_FLAG_DCA_ENABLED   (1 << 3)
#define IGB_FLAG_LLI_PUSH   (1 << 4)
#define IGB_FLAG_IN_NETPOLL   (1 << 5)
#define IGB_FLAG_QUAD_PORT_A   (1 << 6)
#define IGB_FLAG_QUEUE_PAIRS   (1 << 7)
#define IGB_82576_TSYNC_SHIFT   19

Functions

 FILE_LICENCE (GPL2_ONLY)
int igb_probe (struct pci_device *pdev, const struct pci_device_id *ent)
void igb_remove (struct pci_device *pdev)
 igb_remove - Device Removal Routine


Define Documentation

#define IGB_START_ITR   648

Definition at line 43 of file igb.h.

#define IGB_INT_MODE_LEGACY   0

Definition at line 46 of file igb.h.

#define IGB_INT_MODE_MSI   1

Definition at line 47 of file igb.h.

#define IGB_INT_MODE_MSIX   2

Definition at line 48 of file igb.h.

#define HW_PERF

Definition at line 50 of file igb.h.

#define IGB_DEFAULT_TXD   256

Definition at line 52 of file igb.h.

#define IGB_MIN_TXD   80

Definition at line 53 of file igb.h.

#define IGB_MAX_TXD   4096

Definition at line 54 of file igb.h.

#define IGB_DEFAULT_RXD   256

Definition at line 56 of file igb.h.

#define IGB_MIN_RXD   80

Definition at line 57 of file igb.h.

#define IGB_MAX_RXD   4096

Definition at line 58 of file igb.h.

#define IGB_MIN_ITR_USECS   10

Definition at line 60 of file igb.h.

#define IGB_MAX_ITR_USECS   8191

Definition at line 61 of file igb.h.

#define NON_Q_VECTORS   1

Definition at line 63 of file igb.h.

#define MAX_Q_VECTORS   8

Definition at line 64 of file igb.h.

#define IGB_MAX_RX_QUEUES

Value:

(adapter->vfs_allocated_count ? 2 : \
                                           (hw->mac.type > e1000_82575 ? 8 : 4))

Definition at line 67 of file igb.h.

#define IGB_ABS_MAX_TX_QUEUES   8

Definition at line 69 of file igb.h.

#define IGB_MAX_TX_QUEUES   IGB_MAX_RX_QUEUES

Definition at line 70 of file igb.h.

#define IGB_MAX_VF_MC_ENTRIES   30

Definition at line 72 of file igb.h.

#define IGB_MAX_VF_FUNCTIONS   8

Definition at line 73 of file igb.h.

#define IGB_MAX_VFTA_ENTRIES   128

Definition at line 74 of file igb.h.

#define IGB_MAX_UTA_ENTRIES   128

Definition at line 75 of file igb.h.

#define MAX_EMULATION_MAC_ADDRS   16

Definition at line 76 of file igb.h.

#define OUI_LEN   3

Definition at line 77 of file igb.h.

#define IGB_VF_FLAG_CTS   0x00000001

Definition at line 91 of file igb.h.

#define IGB_VF_FLAG_UNI_PROMISC   0x00000002

Definition at line 92 of file igb.h.

#define IGB_VF_FLAG_MULTI_PROMISC   0x00000004

Definition at line 93 of file igb.h.

#define IGB_RX_PTHRESH   (hw->mac.type <= e1000_82576 ? 16 : 8)

Definition at line 106 of file igb.h.

Referenced by igb_configure_rx().

#define IGB_RX_HTHRESH   8

Definition at line 107 of file igb.h.

Referenced by igb_configure_rx().

#define IGB_RX_WTHRESH   1

Definition at line 108 of file igb.h.

Referenced by igb_configure_rx().

#define IGB_TX_PTHRESH   8

Definition at line 109 of file igb.h.

#define IGB_TX_HTHRESH   1

Definition at line 110 of file igb.h.

#define IGB_TX_WTHRESH

Value:

((hw->mac.type == e1000_82576 && \
                                             adapter->msix_entries) ? 0 : 16)

Definition at line 111 of file igb.h.

#define MAXIMUM_ETHERNET_VLAN_SIZE   1522

Definition at line 115 of file igb.h.

#define IGB_RXBUFFER_128   128

Definition at line 118 of file igb.h.

#define IGB_RXBUFFER_256   256

Definition at line 119 of file igb.h.

#define IGB_RXBUFFER_512   512

Definition at line 120 of file igb.h.

#define IGB_RXBUFFER_1024   1024

Definition at line 121 of file igb.h.

#define IGB_RXBUFFER_2048   2048

Definition at line 122 of file igb.h.

#define IGB_RXBUFFER_4096   4096

Definition at line 123 of file igb.h.

#define IGB_RXBUFFER_8192   8192

Definition at line 124 of file igb.h.

#define IGB_RXBUFFER_16384   16384

Definition at line 125 of file igb.h.

#define IGB_PBA_BYTES_SHIFT   0xA

Definition at line 128 of file igb.h.

#define IGB_TX_HEAD_ADDR_SHIFT   7

Definition at line 129 of file igb.h.

#define IGB_PBA_TX_MASK   0xFFFF0000

Definition at line 130 of file igb.h.

#define IGB_FC_PAUSE_TIME   0x0680

Definition at line 132 of file igb.h.

#define IGB_TX_QUEUE_WAKE   32

Definition at line 135 of file igb.h.

#define IGB_RX_BUFFER_WRITE   16

Definition at line 137 of file igb.h.

#define AUTO_ALL_MODES   0

Definition at line 139 of file igb.h.

#define IGB_EEPROM_APME   0x0400

Definition at line 140 of file igb.h.

#define IGB_MASTER_SLAVE   e1000_ms_hw_default

Definition at line 144 of file igb.h.

#define IGB_MNG_VLAN_NONE   -1

Definition at line 147 of file igb.h.

#define IGB_ADVTXD_DCMD   (E1000_ADVTXD_DCMD_EOP | E1000_ADVTXD_DCMD_RS)

Definition at line 244 of file igb.h.

#define IGB_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 246 of file igb.h.

#define E1000_RX_DESC_ADV ( R,
 )     (&(((union e1000_adv_rx_desc *)((R).desc))[i]))

Definition at line 250 of file igb.h.

#define E1000_TX_DESC_ADV ( R,
 )     (&(((union e1000_adv_tx_desc *)((R).desc))[i]))

Definition at line 252 of file igb.h.

#define E1000_TX_CTXTDESC_ADV ( R,
 )     (&(((struct e1000_adv_tx_context_desc *)((R).desc))[i]))

Definition at line 254 of file igb.h.

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

Definition at line 256 of file igb.h.

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

Definition at line 257 of file igb.h.

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

Definition at line 258 of file igb.h.

#define MAX_MSIX_COUNT   10

Definition at line 260 of file igb.h.

#define NUM_TX_DESC   8

Definition at line 288 of file igb.h.

#define NUM_RX_DESC   8

Definition at line 289 of file igb.h.

#define IGB_FLAG_HAS_MSI   (1 << 0)

Definition at line 314 of file igb.h.

#define IGB_FLAG_MSI_ENABLE   (1 << 1)

Definition at line 315 of file igb.h.

#define IGB_FLAG_DCA_ENABLED   (1 << 3)

Definition at line 316 of file igb.h.

#define IGB_FLAG_LLI_PUSH   (1 << 4)

Definition at line 317 of file igb.h.

#define IGB_FLAG_IN_NETPOLL   (1 << 5)

Definition at line 318 of file igb.h.

#define IGB_FLAG_QUAD_PORT_A   (1 << 6)

Definition at line 319 of file igb.h.

#define IGB_FLAG_QUEUE_PAIRS   (1 << 7)

Definition at line 320 of file igb.h.

#define IGB_82576_TSYNC_SHIFT   19

Definition at line 322 of file igb.h.


Function Documentation

FILE_LICENCE ( GPL2_ONLY   ) 

int igb_probe ( struct pci_device pdev,
const struct pci_device_id ent 
)

void igb_remove ( struct pci_device pdev  ) 

igb_remove - Device Removal Routine

Parameters:
pdev PCI device information struct

Definition at line 942 of file igb_main.c.

References DBGP, e1000_hw::flash_address, igb_adapter::hw, e1000_hw::hw_addr, igb_reset(), iounmap(), netdev, netdev_nullify(), netdev_priv(), netdev_put(), pci_get_drvdata(), and unregister_netdev().

00943 {
00944         struct net_device *netdev = pci_get_drvdata ( pdev );
00945         struct igb_adapter *adapter = netdev_priv ( netdev );
00946 
00947         DBGP ( "igb_remove\n" );
00948 
00949         if ( adapter->hw.flash_address )
00950                 iounmap ( adapter->hw.flash_address );
00951         if  ( adapter->hw.hw_addr )
00952                 iounmap ( adapter->hw.hw_addr );
00953 
00954         unregister_netdev ( netdev );
00955         igb_reset  ( adapter );
00956         netdev_nullify ( netdev );
00957         netdev_put ( netdev );
00958 }


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