Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Enumerations | Functions
starfire.c File Reference
#include <linux/interrupt.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/pci.h>
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/init.h>
#include <linux/delay.h>
#include <linux/crc32.h>
#include <linux/ethtool.h>
#include <linux/mii.h>
#include <linux/if_vlan.h>
#include <linux/mm.h>
#include <linux/firmware.h>
#include <asm/processor.h>
#include <asm/uaccess.h>
#include <asm/io.h>

Go to the source code of this file.

Data Structures

struct  chip_info
 
struct  starfire_rx_desc
 
struct  short_rx_done_desc
 
struct  basic_rx_done_desc
 
struct  csum_rx_done_desc
 
struct  full_rx_done_desc
 
struct  starfire_tx_desc_1
 
struct  starfire_tx_desc_2
 
struct  tx_done_desc
 
struct  rx_ring_info
 
struct  tx_ring_info
 
struct  netdev_private
 

Macros

#define DRV_NAME   "starfire"
 
#define DRV_VERSION   "2.1"
 
#define DRV_RELDATE   "July 6, 2008"
 
#define HAS_BROKEN_FIRMWARE
 
#define PADDING_MASK   3
 
#define ZEROCOPY
 
#define PKT_BUF_SZ   1536 /* Size of each temporary Rx buffer.*/
 
#define DMA_BURST_SIZE   128
 
#define RX_RING_SIZE   256
 
#define TX_RING_SIZE   32
 
#define DONE_Q_SIZE   1024
 
#define QUEUE_ALIGN   256
 
#define RX_Q_ENTRIES   Rx256QEntries
 
#define TX_TIMEOUT   (2 * HZ)
 
#define netdrv_addr_t   __le32
 
#define cpu_to_dma(x)   cpu_to_le32(x)
 
#define dma_to_cpu(x)   le32_to_cpu(x)
 
#define RX_DESC_Q_ADDR_SIZE   RxDescQAddr32bit
 
#define TX_DESC_Q_ADDR_SIZE   TxDescQAddr32bit
 
#define RX_COMPL_Q_ADDR_SIZE   RxComplQAddr32bit
 
#define TX_COMPL_Q_ADDR_SIZE   TxComplQAddr32bit
 
#define RX_DESC_ADDR_SIZE   RxDescAddr32bit
 
#define skb_first_frag_len(skb)   skb_headlen(skb)
 
#define skb_num_frags(skb)   (skb_shinfo(skb)->nr_frags + 1)
 
#define FIRMWARE_RX   "adaptec/starfire_rx.bin"
 
#define FIRMWARE_TX   "adaptec/starfire_tx.bin"
 
#define RxComplType   RxComplType2
 
#define TX_DESC_TYPE   TxDescType1
 
#define TX_DESC_SPACING   TxDescSpaceUnlim
 
#define PHY_CNT   2
 

Typedefs

typedef struct csum_rx_done_desc rx_done_desc
 
typedef struct starfire_tx_desc_1 starfire_tx_desc
 

Enumerations

enum  chip_capability_flags {
  CanHaveMII =1, CanHaveMII =1, HasBrokenTx =2, AlwaysFDX =4,
  FDXOnNoMII =8, HAS_MII_XCVR, HAS_CHIP_XCVR, MII_PWRDWN =1,
  TYPE2_INTR =2, NO_MII =4
}
 
enum  chipset { CH_6915 = 0 }
 
enum  register_offsets {
  PCIDeviceConfig =0x50040, GenCtrl =0x50070, IntrTimerCtrl =0x50074, IntrClear =0x50080,
  IntrStatus =0x50084, IntrEnable =0x50088, MIICtrl =0x52000, TxStationAddr =0x50120,
  EEPROMCtrl =0x51000, GPIOCtrl =0x5008C, TxDescCtrl =0x50090, TxRingPtr =0x50098,
  HiPriTxRingPtr =0x50094, TxRingHiAddr =0x5009C, TxProducerIdx =0x500A0, TxConsumerIdx =0x500A4,
  TxThreshold =0x500B0, CompletionHiAddr =0x500B4, TxCompletionAddr =0x500B8, RxCompletionAddr =0x500BC,
  RxCompletionQ2Addr =0x500C0, CompletionQConsumerIdx =0x500C4, RxDMACtrl =0x500D0, RxDescQCtrl =0x500D4,
  RxDescQHiAddr =0x500DC, RxDescQAddr =0x500E0, RxDescQIdx =0x500E8, RxDMAStatus =0x500F0,
  RxFilterMode =0x500F4, TxMode =0x55000, VlanType =0x55064, PerfFilterTable =0x56000,
  HashTable =0x56100, TxGfpMem =0x58000, RxGfpMem =0x5a000, ChipCmd = 0x00,
  ChipConfig = 0x04, EECtrl = 0x08, PCIBusCfg = 0x0C, IntrStatus = 0x10,
  IntrMask = 0x14, IntrEnable = 0x18, IntrHoldoff = 0x1C, TxRingPtr = 0x20,
  TxConfig = 0x24, RxRingPtr = 0x30, RxConfig = 0x34, ClkRun = 0x3C,
  WOLCmd = 0x40, PauseCmd = 0x44, RxFilterAddr = 0x48, RxFilterData = 0x4C,
  BootRomAddr = 0x50, BootRomData = 0x54, SiliconRev = 0x58, StatsCtrl = 0x5C,
  StatsData = 0x60, RxPktErrs = 0x60, RxMissed = 0x68, RxCRCErrs = 0x64,
  BasicControl = 0x80, BasicStatus = 0x84, AnegAdv = 0x90, AnegPeer = 0x94,
  PhyStatus = 0xC0, MIntrCtrl = 0xC4, MIntrStatus = 0xC8, PhyCtrl = 0xE4,
  PGSEL = 0xCC, PMDCSR = 0xE4, TSTDAT = 0xFC, DSPCFG = 0xF4,
  SDCFG = 0xF8, StationAddr =0x00, RxConfig =0x06, TxConfig =0x07,
  ChipCmd =0x08, ChipCmd1 =0x09, TQWake =0x0A, IntrStatus =0x0C,
  IntrEnable =0x0E, MulticastFilter0 =0x10, MulticastFilter1 =0x14, RxRingPtr =0x18,
  TxRingPtr =0x1C, GFIFOTest =0x54, MIIPhyAddr =0x6C, MIIStatus =0x6D,
  PCIBusConfig =0x6E, PCIBusConfig1 =0x6F, MIICmd =0x70, MIIRegAddr =0x71,
  MIIData =0x72, MACRegEEcsr =0x74, ConfigA =0x78, ConfigB =0x79,
  ConfigC =0x7A, ConfigD =0x7B, RxMissed =0x7C, RxCRCErrs =0x7E,
  MiscCmd =0x81, StickyHW =0x83, IntrStatus2 =0x84, CamMask =0x88,
  CamCon =0x92, CamAddr =0x93, WOLcrSet =0xA0, PwcfgSet =0xA1,
  WOLcgSet =0xA3, WOLcrClr =0xA4, WOLcrClr1 =0xA6, WOLcgClr =0xA7,
  PwrcsrSet =0xA8, PwrcsrSet1 =0xA9, PwrcsrClr =0xAC, PwrcsrClr1 =0xAD,
  TxBufCount = 0x20, RxBufCount = 0x21, OpModes = 0x22, TxQed = 0x23,
  RxQed = 0x24, MaxBurst = 0x25, RxUnit = 0x60, EthStatus = 0x61,
  StationAddr0 = 0x67, EthStats = 0x69, LEDCtrl = 0x81
}
 
enum  intr_status_bits {
  IntrLinkChange =0xf0000000, IntrStatsMax =0x08000000, IntrAbnormalSummary =0x02000000, IntrGeneralTimer =0x01000000,
  IntrSoftware =0x800000, IntrRxComplQ1Low =0x400000, IntrTxComplQLow =0x200000, IntrPCI =0x100000,
  IntrDMAErr =0x080000, IntrTxDataLow =0x040000, IntrRxComplQ2Low =0x020000, IntrRxDescQ1Low =0x010000,
  IntrNormalSummary =0x8000, IntrTxDone =0x4000, IntrTxDMADone =0x2000, IntrTxEmpty =0x1000,
  IntrEarlyRxQ2 =0x0800, IntrEarlyRxQ1 =0x0400, IntrRxQ2Done =0x0200, IntrRxQ1Done =0x0100,
  IntrRxGFPDead =0x80, IntrRxDescQ2Low =0x40, IntrNoTxCsum =0x20, IntrTxBadID =0x10,
  IntrHiPriTxBadID =0x08, IntrRxGfp =0x04, IntrTxGfp =0x02, IntrPCIPad =0x01,
  IntrRxDone =IntrRxQ2Done | IntrRxQ1Done, IntrRxEmpty =IntrRxDescQ1Low | IntrRxDescQ2Low, IntrNormalMask =0xff00, IntrAbnormalMask =0x3ff00fe,
  IntrSummary =0x0001, IntrPCIErr =0x0002, IntrMACCtrl =0x0008, IntrTxDone =0x0004,
  IntrRxDone =0x0010, IntrRxStart =0x0020, IntrDrvRqst =0x0040, StatsMax =0x0080,
  LinkChange =0x0100, IntrTxDMADone =0x0200, IntrRxDMADone =0x0400, RFCON = 0x00020000,
  RFCOFF = 0x00010000, LSCStatus = 0x00008000, ANCStatus = 0x00004000, FBE = 0x00002000,
  FBEMask = 0x00001800, ParityErr = 0x00000000, TargetErr = 0x00001000, MasterErr = 0x00000800,
  TUNF = 0x00000400, ROVF = 0x00000200, ETI = 0x00000100, ERI = 0x00000080,
  CNTOVF = 0x00000040, RBU = 0x00000020, TBU = 0x00000010, TI = 0x00000008,
  RI = 0x00000004, RxErr = 0x00000002, IntrRxDone =0x01, IntrRxPCIFault =0x02,
  IntrRxPCIErr =0x04, IntrTxDone =0x100, IntrTxPCIFault =0x200, IntrTxPCIErr =0x400,
  LinkChange =0x10000, NegotiationChange =0x20000, StatsMax =0x40000, IntrRxDone =0x01,
  IntrRxInvalid =0x02, IntrRxPCIFault =0x04, IntrRxPCIErr =0x08, IntrTxDone =0x10,
  IntrTxInvalid =0x20, IntrTxPCIFault =0x40, IntrTxPCIErr =0x80, IntrEarlyRx =0x100,
  IntrWakeup =0x200, IntrRxDone = 0x0001, IntrTxDone = 0x0002, IntrRxErr = 0x0004,
  IntrTxError = 0x0008, IntrRxEmpty = 0x0020, IntrPCIErr = 0x0040, IntrStatsMax = 0x0080,
  IntrRxEarly = 0x0100, IntrTxUnderrun = 0x0210, IntrRxOverflow = 0x0400, IntrRxDropped = 0x0800,
  IntrRxNoBuf = 0x1000, IntrTxAborted = 0x2000, IntrLinkChange = 0x4000, IntrRxWakeUp = 0x8000,
  IntrTxDescRace = 0x080000, IntrNormalSummary = IntrRxDone | IntrTxDone, IntrTxErrSummary
}
 
enum  rx_mode_bits {
  AcceptBroadcast =0x04, AcceptAllMulticast =0x02, AcceptAll =0x01, AcceptMulticast =0x10,
  PerfectFilter =0x40, HashFilter =0x30, PerfectFilterVlan =0x80, MinVLANPrio =0xE000,
  VlanMode =0x0200, WakeupOnGFP =0x0800, AcceptErr =0x80, RxAcceptBroadcast =0x20,
  AcceptMulticast =0x10, RxAcceptAllPhys =0x08, AcceptMyPhys =0x02, AcceptAllIPMulti =0x20,
  AcceptMultiHash =0x10, AcceptAll =0x08, AcceptBroadcast =0x04, AcceptMulticast =0x02,
  AcceptMyPhys =0x01, CR_W_ENH = 0x02000000, CR_W_FD = 0x00100000, CR_W_PS10 = 0x00080000,
  CR_W_TXEN = 0x00040000, CR_W_PS1000 = 0x00010000, CR_W_RXMODEMASK = 0x000000e0, CR_W_PROM = 0x00000080,
  CR_W_AB = 0x00000040, CR_W_AM = 0x00000020, CR_W_ARP = 0x00000008, CR_W_ALP = 0x00000004,
  CR_W_SEP = 0x00000002, CR_W_RXEN = 0x00000001, CR_R_TXSTOP = 0x04000000, CR_R_FD = 0x00100000,
  CR_R_PS10 = 0x00080000, CR_R_RXSTOP = 0x00008000, AcceptErr = 0x20, AcceptRunt = 0x10,
  AcceptBroadcast = 0x08, AcceptMulticast = 0x04, AcceptMyPhys = 0x02, AcceptAllPhys = 0x01
}
 
enum  tx_mode_bits {
  MiiSoftReset =0x8000, MIILoopback =0x4000, TxFlowEnable =0x0800, RxFlowEnable =0x0400,
  PadEnable =0x04, FullDuplex =0x02, HugeFrame =0x01
}
 
enum  tx_ctrl_bits {
  TxDescSpaceUnlim =0x00, TxDescSpace32 =0x10, TxDescSpace64 =0x20, TxDescSpace128 =0x30,
  TxDescSpace256 =0x40, TxDescType0 =0x00, TxDescType1 =0x01, TxDescType2 =0x02,
  TxDescType3 =0x03, TxDescType4 =0x04, TxNoDMACompletion =0x08, TxDescQAddr64bit =0x80,
  TxDescQAddr32bit =0, TxHiPriFIFOThreshShift =24, TxPadLenShift =16, TxDMABurstSizeShift =8
}
 
enum  rx_ctrl_bits {
  RxBufferLenShift =16, RxMinDescrThreshShift =0, RxPrefetchMode =0x8000, RxVariableQ =0x2000,
  Rx2048QEntries =0x4000, Rx256QEntries =0, RxDescAddr64bit =0x1000, RxDescAddr32bit =0,
  RxDescQAddr64bit =0x0100, RxDescQAddr32bit =0, RxDescSpace4 =0x000, RxDescSpace8 =0x100,
  RxDescSpace16 =0x200, RxDescSpace32 =0x300, RxDescSpace64 =0x400, RxDescSpace128 =0x500,
  RxConsumerWrEn =0x80
}
 
enum  rx_dmactrl_bits {
  RxReportBadFrames =0x80000000, RxDMAShortFrames =0x40000000, RxDMABadFrames =0x20000000, RxDMACrcErrorFrames =0x10000000,
  RxDMAControlFrame =0x08000000, RxDMAPauseFrame =0x04000000, RxChecksumIgnore =0, RxChecksumRejectTCPUDP =0x02000000,
  RxChecksumRejectTCPOnly =0x01000000, RxCompletionQ2Enable =0x800000, RxDMAQ2Disable =0, RxDMAQ2FPOnly =0x100000,
  RxDMAQ2SmallPkt =0x200000, RxDMAQ2HighPrio =0x300000, RxDMAQ2NonIP =0x400000, RxUseBackupQueue =0x080000,
  RxDMACRC =0x040000, RxEarlyIntThreshShift =12, RxHighPrioThreshShift =8, RxBurstSizeShift =0
}
 
enum  rx_compl_bits {
  RxComplQAddr64bit =0x80, RxComplQAddr32bit =0, RxComplProducerWrEn =0x40, RxComplType0 =0x00,
  RxComplType1 =0x10, RxComplType2 =0x20, RxComplType3 =0x30, RxComplThreshShift =0
}
 
enum  tx_compl_bits {
  TxComplQAddr64bit =0x80, TxComplQAddr32bit =0, TxComplProducerWrEn =0x40, TxComplIntrStatus =0x20,
  CommonQueueMode =0x10, TxComplThreshShift =0
}
 
enum  gen_ctrl_bits { RxEnable =0x05, TxEnable =0x0a, RxGFPEnable =0x10, TxGFPEnable =0x20 }
 
enum  intr_ctrl_bits {
  Timer10X =0x800, EnableIntrMasking =0x60, SmallFrameBypass =0x100, SmallFrame64 =0,
  SmallFrame128 =0x200, SmallFrame256 =0x400, SmallFrame512 =0x600, IntrLatencyMask =0x1f
}
 
enum  rx_desc_bits { RxDescValid =1, RxDescEndRing =2 }
 
enum  rx_done_bits { RxOK =0x20000000, RxFIFOErr =0x10000000, RxBufQ2 =0x08000000 }
 
enum  tx_desc_bits {
  TxDescID =0xB0000000, TxCRCEn =0x01000000, TxDescIntr =0x08000000, TxRingWrap =0x04000000,
  TxCalTCP =0x02000000
}
 

Functions

 MODULE_AUTHOR ("Donald Becker <[email protected]>")
 
 MODULE_DESCRIPTION ("Adaptec Starfire Ethernet driver")
 
 MODULE_LICENSE ("GPL")
 
 MODULE_VERSION (DRV_VERSION)
 
 MODULE_FIRMWARE (FIRMWARE_RX)
 
 MODULE_FIRMWARE (FIRMWARE_TX)
 
 module_param (max_interrupt_work, int, 0)
 
 module_param (mtu, int, 0)
 
 module_param (debug, int, 0)
 
 module_param (rx_copybreak, int, 0)
 
 module_param (intr_latency, int, 0)
 
 module_param (small_frames, int, 0)
 
 module_param (enable_hw_cksum, int, 0)
 
 MODULE_PARM_DESC (max_interrupt_work,"Maximum events handled per interrupt")
 
 MODULE_PARM_DESC (mtu,"MTU (all boards)")
 
 MODULE_PARM_DESC (debug,"Debug level (0-6)")
 
 MODULE_PARM_DESC (rx_copybreak,"Copy breakpoint for copy-only-tiny-frames")
 
 MODULE_PARM_DESC (intr_latency,"Maximum interrupt latency, in microseconds")
 
 MODULE_PARM_DESC (small_frames,"Maximum size of receive frames that bypass interrupt latency (0,64,128,256,512)")
 
 MODULE_PARM_DESC (enable_hw_cksum,"Enable/disable hardware cksum support (0/1)")
 
 MODULE_DEVICE_TABLE (pci, starfire_pci_tbl)
 
 module_init (starfire_init)
 
 module_exit (starfire_cleanup)
 

Macro Definition Documentation

#define cpu_to_dma (   x)    cpu_to_le32(x)

Definition at line 152 of file starfire.c.

#define DMA_BURST_SIZE   128

Definition at line 114 of file starfire.c.

#define dma_to_cpu (   x)    le32_to_cpu(x)

Definition at line 153 of file starfire.c.

#define DONE_Q_SIZE   1024

Definition at line 125 of file starfire.c.

#define DRV_NAME   "starfire"

Definition at line 29 of file starfire.c.

#define DRV_RELDATE   "July 6, 2008"

Definition at line 31 of file starfire.c.

#define DRV_VERSION   "2.1"

Definition at line 30 of file starfire.c.

#define FIRMWARE_RX   "adaptec/starfire_rx.bin"

Definition at line 165 of file starfire.c.

#define FIRMWARE_TX   "adaptec/starfire_tx.bin"

Definition at line 166 of file starfire.c.

#define HAS_BROKEN_FIRMWARE

Definition at line 55 of file starfire.c.

#define netdrv_addr_t   __le32

Definition at line 151 of file starfire.c.

#define PADDING_MASK   3

Definition at line 61 of file starfire.c.

#define PHY_CNT   2

Definition at line 530 of file starfire.c.

#define PKT_BUF_SZ   1536 /* Size of each temporary Rx buffer.*/

Definition at line 89 of file starfire.c.

#define QUEUE_ALIGN   256

Definition at line 127 of file starfire.c.

#define RX_COMPL_Q_ADDR_SIZE   RxComplQAddr32bit

Definition at line 156 of file starfire.c.

#define RX_DESC_ADDR_SIZE   RxDescAddr32bit

Definition at line 158 of file starfire.c.

#define RX_DESC_Q_ADDR_SIZE   RxDescQAddr32bit

Definition at line 154 of file starfire.c.

#define RX_Q_ENTRIES   Rx256QEntries

Definition at line 132 of file starfire.c.

#define RX_RING_SIZE   256

Definition at line 122 of file starfire.c.

#define RxComplType   RxComplType2

Definition at line 479 of file starfire.c.

#define skb_first_frag_len (   skb)    skb_headlen(skb)

Definition at line 161 of file starfire.c.

#define skb_num_frags (   skb)    (skb_shinfo(skb)->nr_frags + 1)

Definition at line 162 of file starfire.c.

#define TX_COMPL_Q_ADDR_SIZE   TxComplQAddr32bit

Definition at line 157 of file starfire.c.

#define TX_DESC_Q_ADDR_SIZE   TxDescQAddr32bit

Definition at line 155 of file starfire.c.

#define TX_DESC_SPACING   TxDescSpaceUnlim

Definition at line 506 of file starfire.c.

#define TX_DESC_TYPE   TxDescType1

Definition at line 504 of file starfire.c.

#define TX_RING_SIZE   32

Definition at line 123 of file starfire.c.

#define TX_TIMEOUT   (2 * HZ)

Definition at line 137 of file starfire.c.

#define ZEROCOPY

Definition at line 67 of file starfire.c.

Typedef Documentation

Definition at line 478 of file starfire.c.

Definition at line 503 of file starfire.c.

Enumeration Type Documentation

Enumerator:
CanHaveMII 
CanHaveMII 
HasBrokenTx 
AlwaysFDX 
FDXOnNoMII 
HAS_MII_XCVR 
HAS_CHIP_XCVR 
MII_PWRDWN 
TYPE2_INTR 
NO_MII 

Definition at line 282 of file starfire.c.

enum chipset
Enumerator:
CH_6915 

Definition at line 284 of file starfire.c.

Enumerator:
RxEnable 
TxEnable 
RxGFPEnable 
TxGFPEnable 

Definition at line 431 of file starfire.c.

Enumerator:
Timer10X 
EnableIntrMasking 
SmallFrameBypass 
SmallFrame64 
SmallFrame128 
SmallFrame256 
SmallFrame512 
IntrLatencyMask 

Definition at line 437 of file starfire.c.

Enumerator:
IntrLinkChange 
IntrStatsMax 
IntrAbnormalSummary 
IntrGeneralTimer 
IntrSoftware 
IntrRxComplQ1Low 
IntrTxComplQLow 
IntrPCI 
IntrDMAErr 
IntrTxDataLow 
IntrRxComplQ2Low 
IntrRxDescQ1Low 
IntrNormalSummary 
IntrTxDone 
IntrTxDMADone 
IntrTxEmpty 
IntrEarlyRxQ2 
IntrEarlyRxQ1 
IntrRxQ2Done 
IntrRxQ1Done 
IntrRxGFPDead 
IntrRxDescQ2Low 
IntrNoTxCsum 
IntrTxBadID 
IntrHiPriTxBadID 
IntrRxGfp 
IntrTxGfp 
IntrPCIPad 
IntrRxDone 
IntrRxEmpty 
IntrNormalMask 
IntrAbnormalMask 
IntrSummary 
IntrPCIErr 
IntrMACCtrl 
IntrTxDone 
IntrRxDone 
IntrRxStart 
IntrDrvRqst 
StatsMax 
LinkChange 
IntrTxDMADone 
IntrRxDMADone 
RFCON 
RFCOFF 
LSCStatus 
ANCStatus 
FBE 
FBEMask 
ParityErr 
TargetErr 
MasterErr 
TUNF 
ROVF 
ETI 
ERI 
CNTOVF 
RBU 
TBU 
TI 
RI 
RxErr 
IntrRxDone 
IntrRxPCIFault 
IntrRxPCIErr 
IntrTxDone 
IntrTxPCIFault 
IntrTxPCIErr 
LinkChange 
NegotiationChange 
StatsMax 
IntrRxDone 
IntrRxInvalid 
IntrRxPCIFault 
IntrRxPCIErr 
IntrTxDone 
IntrTxInvalid 
IntrTxPCIFault 
IntrTxPCIErr 
IntrEarlyRx 
IntrWakeup 
IntrRxDone 
IntrTxDone 
IntrRxErr 
IntrTxError 
IntrRxEmpty 
IntrPCIErr 
IntrStatsMax 
IntrRxEarly 
IntrTxUnderrun 
IntrRxOverflow 
IntrRxDropped 
IntrRxNoBuf 
IntrTxAborted 
IntrLinkChange 
IntrRxWakeUp 
IntrTxDescRace 
IntrNormalSummary 
IntrTxErrSummary 

Definition at line 335 of file starfire.c.

Enumerator:
PCIDeviceConfig 
GenCtrl 
IntrTimerCtrl 
IntrClear 
IntrStatus 
IntrEnable 
MIICtrl 
TxStationAddr 
EEPROMCtrl 
GPIOCtrl 
TxDescCtrl 
TxRingPtr 
HiPriTxRingPtr 
TxRingHiAddr 
TxProducerIdx 
TxConsumerIdx 
TxThreshold 
CompletionHiAddr 
TxCompletionAddr 
RxCompletionAddr 
RxCompletionQ2Addr 
CompletionQConsumerIdx 
RxDMACtrl 
RxDescQCtrl 
RxDescQHiAddr 
RxDescQAddr 
RxDescQIdx 
RxDMAStatus 
RxFilterMode 
TxMode 
VlanType 
PerfFilterTable 
HashTable 
TxGfpMem 
RxGfpMem 
ChipCmd 
ChipConfig 
EECtrl 
PCIBusCfg 
IntrStatus 
IntrMask 
IntrEnable 
IntrHoldoff 
TxRingPtr 
TxConfig 
RxRingPtr 
RxConfig 
ClkRun 
WOLCmd 
PauseCmd 
RxFilterAddr 
RxFilterData 
BootRomAddr 
BootRomData 
SiliconRev 
StatsCtrl 
StatsData 
RxPktErrs 
RxMissed 
RxCRCErrs 
BasicControl 
BasicStatus 
AnegAdv 
AnegPeer 
PhyStatus 
MIntrCtrl 
MIntrStatus 
PhyCtrl 
PGSEL 
PMDCSR 
TSTDAT 
DSPCFG 
SDCFG 
StationAddr 
RxConfig 
TxConfig 
ChipCmd 
ChipCmd1 
TQWake 
IntrStatus 
IntrEnable 
MulticastFilter0 
MulticastFilter1 
RxRingPtr 
TxRingPtr 
GFIFOTest 
MIIPhyAddr 
MIIStatus 
PCIBusConfig 
PCIBusConfig1 
MIICmd 
MIIRegAddr 
MIIData 
MACRegEEcsr 
ConfigA 
ConfigB 
ConfigC 
ConfigD 
RxMissed 
RxCRCErrs 
MiscCmd 
StickyHW 
IntrStatus2 
CamMask 
CamCon 
CamAddr 
WOLcrSet 
PwcfgSet 
WOLcgSet 
WOLcrClr 
WOLcrClr1 
WOLcgClr 
PwrcsrSet 
PwrcsrSet1 
PwrcsrClr 
PwrcsrClr1 
TxBufCount 
RxBufCount 
OpModes 
TxQed 
RxQed 
MaxBurst 
RxUnit 
EthStatus 
StationAddr0 
EthStats 
LEDCtrl 

Definition at line 311 of file starfire.c.

Enumerator:
RxComplQAddr64bit 
RxComplQAddr32bit 
RxComplProducerWrEn 
RxComplType0 
RxComplType1 
RxComplType2 
RxComplType3 
RxComplThreshShift 

Definition at line 413 of file starfire.c.

Enumerator:
RxBufferLenShift 
RxMinDescrThreshShift 
RxPrefetchMode 
RxVariableQ 
Rx2048QEntries 
Rx256QEntries 
RxDescAddr64bit 
RxDescAddr32bit 
RxDescQAddr64bit 
RxDescQAddr32bit 
RxDescSpace4 
RxDescSpace8 
RxDescSpace16 
RxDescSpace32 
RxDescSpace64 
RxDescSpace128 
RxConsumerWrEn 

Definition at line 384 of file starfire.c.

Enumerator:
RxDescValid 
RxDescEndRing 

Definition at line 447 of file starfire.c.

Enumerator:
RxReportBadFrames 
RxDMAShortFrames 
RxDMABadFrames 
RxDMACrcErrorFrames 
RxDMAControlFrame 
RxDMAPauseFrame 
RxChecksumIgnore 
RxChecksumRejectTCPUDP 
RxChecksumRejectTCPOnly 
RxCompletionQ2Enable 
RxDMAQ2Disable 
RxDMAQ2FPOnly 
RxDMAQ2SmallPkt 
RxDMAQ2HighPrio 
RxDMAQ2NonIP 
RxUseBackupQueue 
RxDMACRC 
RxEarlyIntThreshShift 
RxHighPrioThreshShift 
RxBurstSizeShift 

Definition at line 397 of file starfire.c.

Enumerator:
RxOK 
RxFIFOErr 
RxBufQ2 

Definition at line 482 of file starfire.c.

Enumerator:
AcceptBroadcast 
AcceptAllMulticast 
AcceptAll 
AcceptMulticast 
PerfectFilter 
HashFilter 
PerfectFilterVlan 
MinVLANPrio 
VlanMode 
WakeupOnGFP 
AcceptErr 
RxAcceptBroadcast 
AcceptMulticast 
RxAcceptAllPhys 
AcceptMyPhys 
AcceptAllIPMulti 
AcceptMultiHash 
AcceptAll 
AcceptBroadcast 
AcceptMulticast 
AcceptMyPhys 
CR_W_ENH 
CR_W_FD 
CR_W_PS10 
CR_W_TXEN 
CR_W_PS1000 
CR_W_RXMODEMASK 
CR_W_PROM 
CR_W_AB 
CR_W_AM 
CR_W_ARP 
CR_W_ALP 
CR_W_SEP 
CR_W_RXEN 
CR_R_TXSTOP 
CR_R_FD 
CR_R_PS10 
CR_R_RXSTOP 
AcceptErr 
AcceptRunt 
AcceptBroadcast 
AcceptMulticast 
AcceptMyPhys 
AcceptAllPhys 

Definition at line 357 of file starfire.c.

Enumerator:
TxComplQAddr64bit 
TxComplQAddr32bit 
TxComplProducerWrEn 
TxComplIntrStatus 
CommonQueueMode 
TxComplThreshShift 

Definition at line 422 of file starfire.c.

Enumerator:
TxDescSpaceUnlim 
TxDescSpace32 
TxDescSpace64 
TxDescSpace128 
TxDescSpace256 
TxDescType0 
TxDescType1 
TxDescType2 
TxDescType3 
TxDescType4 
TxNoDMACompletion 
TxDescQAddr64bit 
TxDescQAddr32bit 
TxHiPriFIFOThreshShift 
TxPadLenShift 
TxDMABurstSizeShift 

Definition at line 372 of file starfire.c.

Enumerator:
TxDescID 
TxCRCEn 
TxDescIntr 
TxRingWrap 
TxCalTCP 

Definition at line 508 of file starfire.c.

Enumerator:
MiiSoftReset 
MIILoopback 
TxFlowEnable 
RxFlowEnable 
PadEnable 
FullDuplex 
HugeFrame 

Definition at line 365 of file starfire.c.

Function Documentation

MODULE_AUTHOR ( "Donald Becker <[email protected]>"  )
MODULE_DESCRIPTION ( "Adaptec Starfire Ethernet driver )
MODULE_DEVICE_TABLE ( pci  ,
starfire_pci_tbl   
)
module_exit ( starfire_cleanup  )
MODULE_FIRMWARE ( FIRMWARE_RX  )
MODULE_FIRMWARE ( FIRMWARE_TX  )
module_init ( starfire_init  )
MODULE_LICENSE ( "GPL"  )
module_param ( max_interrupt_work  ,
int  ,
 
)
module_param ( mtu  ,
int  ,
 
)
module_param ( debug  ,
int  ,
 
)
module_param ( rx_copybreak  ,
int  ,
 
)
module_param ( intr_latency  ,
int  ,
 
)
module_param ( small_frames  ,
int  ,
 
)
module_param ( enable_hw_cksum  ,
int  ,
 
)
MODULE_PARM_DESC ( max_interrupt_work  ,
"Maximum events handled per interrupt  
)
MODULE_PARM_DESC ( mtu  ,
"MTU (all boards)"   
)
MODULE_PARM_DESC ( debug  ,
"Debug level (0-6)"   
)
MODULE_PARM_DESC ( rx_copybreak  ,
"Copy breakpoint for copy-only-tiny-frames"   
)
MODULE_PARM_DESC ( intr_latency  ,
"Maximum interrupt  latency,
in microseconds  
)
MODULE_PARM_DESC ( small_frames  ,
"Maximum size of receive frames that bypass interrupt latency (0,64,128,256,512)"   
)
MODULE_PARM_DESC ( enable_hw_cksum  ,
"Enable/disable hardware cksum support (0/1)"   
)
MODULE_VERSION ( DRV_VERSION  )