aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/8390.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-07-10 17:56:22 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-07-10 17:56:22 -0400
commit6ed911fb04886c5510a41cd89203b931b1c5d261 (patch)
treeb4ee4111fe5371fb84a0c632b8aa749ae49cc874 /drivers/net/8390.h
parent64b853aa328f34dd58e4e617cded91e2ddbcac13 (diff)
parent4ad072c984ebe329c99965ddd1e58b0bb24af12b (diff)
Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6
* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: (40 commits) bonding/bond_main.c: make 2 functions static ps3: gigabit ethernet driver for PS3, take3 [netdrvr] Fix dependencies for ax88796 ne2k clone driver eHEA: Capability flag for DLPAR support Remove sk98lin ethernet driver. sunhme.c:quattro_pci_find() must be __devinit bonding / ipv6: no addrconf for slaves separately from master atl1: remove write-only var in tx handler macmace: use "unsigned long flags;" Cleanup usbnet_probe() return value handling netxen: deinline and sparse fix eeprom_93cx6: shorten pulse timing to match spec (bis) phylib: Add Marvell 88E1112 phy id phylib: cleanup marvell.c a bit AX88796 network driver IOC3: Switch to pci refcounting safe APIs e100: Fix Tyan motherboard e100 not receiving IPMI commands QE Ethernet driver writes to wrong register to mask interrupts rrunner.c:rr_init() must be __devinit tokenring/3c359.c:xl_init() must be __devinit ...
Diffstat (limited to 'drivers/net/8390.h')
-rw-r--r--drivers/net/8390.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/net/8390.h b/drivers/net/8390.h
index 414de5bd228f..04ddec0f4c61 100644
--- a/drivers/net/8390.h
+++ b/drivers/net/8390.h
@@ -73,6 +73,9 @@ struct ei_device {
73 u32 *reg_offset; /* Register mapping table */ 73 u32 *reg_offset; /* Register mapping table */
74 spinlock_t page_lock; /* Page register locks */ 74 spinlock_t page_lock; /* Page register locks */
75 unsigned long priv; /* Private field to store bus IDs etc. */ 75 unsigned long priv; /* Private field to store bus IDs etc. */
76#ifdef AX88796_PLATFORM
77 unsigned char rxcr_base; /* default value for RXCR */
78#endif
76}; 79};
77 80
78/* The maximum number of 8390 interrupt service routines called per IRQ. */ 81/* The maximum number of 8390 interrupt service routines called per IRQ. */
@@ -86,11 +89,19 @@ struct ei_device {
86/* Some generic ethernet register configurations. */ 89/* Some generic ethernet register configurations. */
87#define E8390_TX_IRQ_MASK 0xa /* For register EN0_ISR */ 90#define E8390_TX_IRQ_MASK 0xa /* For register EN0_ISR */
88#define E8390_RX_IRQ_MASK 0x5 91#define E8390_RX_IRQ_MASK 0x5
92
93#ifdef AX88796_PLATFORM
94#define E8390_RXCONFIG (ei_status.rxcr_base | 0x04)
95#define E8390_RXOFF (ei_status.rxcr_base | 0x20)
96#else
89#define E8390_RXCONFIG 0x4 /* EN0_RXCR: broadcasts, no multicast,errors */ 97#define E8390_RXCONFIG 0x4 /* EN0_RXCR: broadcasts, no multicast,errors */
90#define E8390_RXOFF 0x20 /* EN0_RXCR: Accept no packets */ 98#define E8390_RXOFF 0x20 /* EN0_RXCR: Accept no packets */
99#endif
100
91#define E8390_TXCONFIG 0x00 /* EN0_TXCR: Normal transmit mode */ 101#define E8390_TXCONFIG 0x00 /* EN0_TXCR: Normal transmit mode */
92#define E8390_TXOFF 0x02 /* EN0_TXCR: Transmitter off */ 102#define E8390_TXOFF 0x02 /* EN0_TXCR: Transmitter off */
93 103
104
94/* Register accessed at EN_CMD, the 8390 base addr. */ 105/* Register accessed at EN_CMD, the 8390 base addr. */
95#define E8390_STOP 0x01 /* Stop and reset the chip */ 106#define E8390_STOP 0x01 /* Stop and reset the chip */
96#define E8390_START 0x02 /* Start the chip, clear reset */ 107#define E8390_START 0x02 /* Start the chip, clear reset */