Linux Kernel
3.7.1
|
#include <linux/module.h>
#include <linux/isa.h>
#include <linux/pnp.h>
#include <linux/string.h>
#include <linux/interrupt.h>
#include <linux/errno.h>
#include <linux/in.h>
#include <linux/ioport.h>
#include <linux/init.h>
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/pm.h>
#include <linux/skbuff.h>
#include <linux/delay.h>
#include <linux/spinlock.h>
#include <linux/ethtool.h>
#include <linux/device.h>
#include <linux/eisa.h>
#include <linux/bitops.h>
#include <asm/uaccess.h>
#include <asm/io.h>
#include <asm/irq.h>
Go to the source code of this file.
Data Structures | |
struct | el3_private |
Macros | |
#define | DRV_NAME "3c509" |
#define | DRV_VERSION "1.20" |
#define | DRV_RELDATE "04Feb2008" |
#define | TX_TIMEOUT (400*HZ/1000) |
#define | EL3_MAX_CARDS 8 |
#define | EL3_DATA 0x00 |
#define | EL3_CMD 0x0e |
#define | EL3_STATUS 0x0e |
#define | EEPROM_READ 0x80 |
#define | EL3_IO_EXTENT 16 |
#define | EL3WINDOW(win_num) outw(SelectWindow + (win_num), ioaddr + EL3_CMD) |
#define | TX_FIFO 0x00 |
#define | RX_FIFO 0x00 |
#define | RX_STATUS 0x08 |
#define | TX_STATUS 0x0B |
#define | TX_FREE 0x0C /* Remaining free bytes in Tx buffer. */ |
#define | WN0_CONF_CTRL 0x04 /* Window 0: Configuration control register */ |
#define | WN0_ADDR_CONF 0x06 /* Window 0: Address configuration register */ |
#define | WN0_IRQ 0x08 /* Window 0: Set IRQ line in bits 12-15. */ |
#define | WN4_MEDIA 0x0A /* Window 4: Various transcvr/media bits. */ |
#define | MEDIA_TP 0x00C0 /* Enable link beat and jabber for 10baseT. */ |
#define | WN4_NETDIAG 0x06 /* Window 4: Net diagnostic */ |
#define | FD_ENABLE 0x8000 /* Enable full-duplex ("external loopback") */ |
#define | SKB_QUEUE_SIZE 64 |
#define | el3_suspend NULL |
#define | el3_resume NULL |
Enumerations | |
enum | c509cmd { TotalReset = 0<<11, SelectWindow = 1<<11, StartCoax = 2<<11, RxDisable = 3<<11, RxEnable = 4<<11, RxReset = 5<<11, RxDiscard = 8<<11, TxEnable = 9<<11, TxDisable = 10<<11, TxReset = 11<<11, FakeIntr = 12<<11, AckIntr = 13<<11, SetIntrEnb = 14<<11, SetStatusEnb = 15<<11, SetRxFilter = 16<<11, SetRxThreshold = 17<<11, SetTxThreshold = 18<<11, SetTxStart = 19<<11, StatsEnable = 21<<11, StatsDisable = 22<<11, StopCoax = 23<<11, PowerUp = 27<<11, PowerDown = 28<<11, PowerAuto = 29<<11, TotalReset = 0<<11, SelectWindow = 1<<11, StartCoax = 2<<11, RxDisable = 3<<11, RxEnable = 4<<11, RxReset = 5<<11, RxDiscard = 8<<11, TxEnable = 9<<11, TxDisable = 10<<11, TxReset = 11<<11, FakeIntr = 12<<11, AckIntr = 13<<11, SetIntrEnb = 14<<11, SetStatusEnb = 15<<11, SetRxFilter = 16<<11, SetRxThreshold = 17<<11, SetTxThreshold = 18<<11, SetTxStart = 19<<11, StatsEnable = 21<<11, StatsDisable = 22<<11, StopCoax = 23<<11 } |
enum | c509status { IntLatch = 0x0001, AdapterFailure = 0x0002, TxComplete = 0x0004, TxAvailable = 0x0008, RxComplete = 0x0010, RxEarly = 0x0020, IntReq = 0x0040, StatsFull = 0x0080, CmdBusy = 0x1000, IntLatch = 0x0001, AdapterFailure = 0x0002, TxComplete = 0x0004, TxAvailable = 0x0008, RxComplete = 0x0010, RxEarly = 0x0020, IntReq = 0x0040, StatsFull = 0x0080, CmdBusy = 0x1000 } |
enum | RxFilter { RxStation = 1, RxMulticast = 2, RxBroadcast = 4, RxProm = 8, RxStation = 1, RxMulticast = 2, RxBroadcast = 4, RxProm = 8, RxStation = 1, RxMulticast = 2, RxBroadcast = 4, RxProm = 8, RxStation = 1, RxMulticast = 2, RxBroadcast = 4, RxProm = 8, RxStation = 1, RxMulticast = 2, RxBroadcast = 4, RxProm = 8 } |
enum | el3_cardtype { EL3_ISA, EL3_PNP, EL3_EISA } |
Functions | |
module_param (debug, int, 0) | |
module_param_array (irq, int, NULL, 0) | |
module_param (max_interrupt_work, int, 0) | |
MODULE_PARM_DESC (debug,"debug level (0-6)") | |
MODULE_PARM_DESC (irq,"IRQ number(s) (assigned)") | |
MODULE_PARM_DESC (max_interrupt_work,"maximum events handled per interrupt") | |
MODULE_DESCRIPTION ("3Com Etherlink III (3c509, 3c509B, 3c529, 3c579) ethernet driver") | |
MODULE_LICENSE ("GPL") | |
module_init (el3_init_module) | |
module_exit (el3_cleanup_module) | |
#define EL3WINDOW | ( | win_num | ) | outw(SelectWindow + (win_num), ioaddr + EL3_CMD) |
#define FD_ENABLE 0x8000 /* Enable full-duplex ("external loopback") */ |
#define MEDIA_TP 0x00C0 /* Enable link beat and jabber for 10baseT. */ |
#define TX_FREE 0x0C /* Remaining free bytes in Tx buffer. */ |
#define WN0_ADDR_CONF 0x06 /* Window 0: Address configuration register */ |
#define WN0_CONF_CTRL 0x04 /* Window 0: Configuration control register */ |
#define WN0_IRQ 0x08 /* Window 0: Set IRQ line in bits 12-15. */ |
#define WN4_MEDIA 0x0A /* Window 4: Various transcvr/media bits. */ |
enum c509cmd |
enum c509status |
enum el3_cardtype |
enum RxFilter |
MODULE_DESCRIPTION | ( | "3Com Etherlink III (3c509, 3c509B, 3c529, 3c579) ethernet driver" | ) |
module_exit | ( | el3_cleanup_module | ) |
module_init | ( | el3_init_module | ) |
MODULE_LICENSE | ( | "GPL" | ) |
module_param | ( | max_interrupt_work | , |
int | , | ||
0 | |||
) |