25#define PCI_VENDOR_ID_SI 0x1039
27#define PHY_MAX_ADDR 32
28#define PHY_ID_ANY 0x1f
29#define MII_REG_ANY 0x1f
31#define DRV_VERSION "1.3"
32#define DRV_NAME "sis190"
33#define SIS190_DRIVER_NAME DRV_NAME " Gigabit Ethernet driver " DRV_VERSION
34#define PFX DRV_NAME ": "
36#define sis190_rx_quota(count, quota) count
40#define TX_RING_BYTES (NUM_TX_DESC * sizeof(struct TxDesc))
41#define RX_RING_BYTES (NUM_RX_DESC * sizeof(struct RxDesc))
42#define RX_BUF_SIZE 1536
43#define RX_BUF_MASK 0xfff8
45#define RING_ALIGNMENT 256
47#define SIS190_REGS_SIZE 0x80
50#define EhnMIIread 0x0000
51#define EhnMIIwrite 0x0020
52#define EhnMIIdataShift 16
53#define EhnMIIpmdShift 6
54#define EhnMIIregShift 11
55#define EhnMIIreq 0x0010
56#define EhnMIInotDone 0x0010
59#define SIS_W8(reg, val) writeb ((val), ioaddr + (reg))
60#define SIS_W16(reg, val) writew ((val), ioaddr + (reg))
61#define SIS_W32(reg, val) writel ((val), ioaddr + (reg))
62#define SIS_R8(reg) readb (ioaddr + (reg))
63#define SIS_R16(reg) readw (ioaddr + (reg))
64#define SIS_R32(reg) readl (ioaddr + (reg))
66#define SIS_PCI_COMMIT() SIS_R32(IntrControl)
290 {
"Atheros PHY", { 0x004d, 0xd010 },
LAN, 0 },
291 {
"Atheros PHY AR8012", { 0x004d, 0xd020 },
LAN, 0 },
293 {
"Broadcom PHY AC131", { 0x0143, 0xbc70 },
LAN, 0 },
294 {
"Agere PHY ET1101B", { 0x0282, 0xf010 },
LAN, 0 },
296 {
"Realtek PHY RTL8201", { 0x0000, 0x8200 },
LAN, 0 },
297 {
NULL, { 0x00, 0x00 }, 0, 0 }
#define NULL
NULL pointer (VOID *)
#define FILE_LICENCE(_licence)
Declare a particular licence as applying to a file.
Dynamic memory allocation.
Media Independent Interface constants.
Network device management.
static struct mii_chip_info mii_chip_table[]
static void sis190_free(struct net_device *dev)
static void sis190_init_rxfilter(struct net_device *dev)
static void sis190_phy_task(struct sis190_private *tp)
sis190_eeprom_access_register_bits
A doubly-linked list entry (or list head)
struct RxDesc * RxDescRing
struct TxDesc * TxDescRing
struct pci_device * pci_device
struct mii_if_info mii_if
struct io_buffer * Rx_iobuf[NUM_RX_DESC]
struct io_buffer * Tx_iobuf[NUM_TX_DESC]
struct list_head first_phy
static struct tulip_private * tp