patch-2.3.99-pre3 linux/drivers/net/tulip/tulip.h

Next file: linux/drivers/net/tulip/tulip_core.c
Previous file: linux/drivers/net/tulip/timer.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.3.99-pre2/linux/drivers/net/tulip/tulip.h linux/drivers/net/tulip/tulip.h
@@ -17,7 +17,7 @@
 #include <linux/spinlock.h>
 #include <linux/netdevice.h>
 #include <linux/timer.h>
-
+#include <asm/io.h>
 
 struct tulip_chip_table {
 	char *chip_name;
@@ -36,8 +36,10 @@
 	HAS_ACPI = 0x10,
 	MC_HASH_ONLY = 0x20,	/* Hash-only multicast filter. */
 	HAS_PNICNWAY = 0x80,
-	HAS_NWAY143 = 0x40,	/* Uses internal NWay xcvr. */
-	HAS_8023X = 0x100,
+	HAS_NWAY = 0x40,	/* Uses internal NWay xcvr. */
+	HAS_INTR_MITIGATION = 0x100,
+	IS_ASIX = 0x200,
+	HAS_8023X = 0x400,
 };
 
 
@@ -58,7 +60,6 @@
 	COMET,
 	COMPEX9881,
 	I21145,
-	X3201_3,
 };
 
 
@@ -137,6 +138,17 @@
 };
 
 
+enum t21041_csr13_bits {
+	csr13_eng = (0xEF0<<4), /* for eng. purposes only, hardcode at EF0h */
+	csr13_aui = (1<<3), /* clear to force 10bT, set to force AUI/BNC */
+	csr13_cac = (1<<2), /* CSR13/14/15 autoconfiguration */
+	csr13_srl = (1<<0), /* When reset, resets all SIA functions, machines */
+
+	csr13_mask_auibnc = (csr13_eng | csr13_aui | csr13_cac | csr13_srl),
+	csr13_mask_10bt = (csr13_eng | csr13_cac | csr13_srl),
+};
+
+
 /* Keep the ring sizes a power of two for efficiency.
    Making the Tx ring too large decreases the effectiveness of channel
    bonding and packet priority.
@@ -334,7 +346,14 @@
 extern u16 t21041_csr13[];
 extern u16 t21041_csr14[];
 extern u16 t21041_csr15[];
-void tulip_outl_CSR6 (struct tulip_private *tp, u32 newcsr6);
+
+
+extern inline void tulip_outl_CSR6 (struct tulip_private *tp, u32 newcsr6)
+{
+	long ioaddr = tp->base_addr;
+
+	outl (newcsr6, ioaddr + CSR6);
+}
 
 
 #endif /* __NET_TULIP_H__ */

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)