summaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/Config.in1
-rw-r--r--drivers/net/pcnet32.c12
-rw-r--r--drivers/net/plip.c2
-rw-r--r--drivers/net/ppp.c2
-rw-r--r--drivers/net/scc.c2
5 files changed, 10 insertions, 9 deletions
diff --git a/drivers/net/Config.in b/drivers/net/Config.in
index b90affadc..f0e760d5a 100644
--- a/drivers/net/Config.in
+++ b/drivers/net/Config.in
@@ -97,6 +97,7 @@ if [ "$CONFIG_NET_ETHERNET" = "y" ]; then
tristate 'CS89x0 support' CONFIG_CS89x0
tristate 'Generic DECchip & DIGITAL EtherWORKS PCI/EISA' CONFIG_DE4X5
tristate 'DECchip Tulip (dc21x4x) PCI support' CONFIG_DEC_ELCP
+ tristate 'DECchip Tulip (dc21x4x) PCI support' CONFIG_DEC_ELCP
tristate 'Digi Intl. RightSwitch SE-X support' CONFIG_DGRS
tristate 'EtherExpressPro/100 support' CONFIG_EEXPRESS_PRO100
if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
diff --git a/drivers/net/pcnet32.c b/drivers/net/pcnet32.c
index d10663ff5..b4c973e5f 100644
--- a/drivers/net/pcnet32.c
+++ b/drivers/net/pcnet32.c
@@ -321,13 +321,14 @@ __initfunc(static int pcnet32_probe1(struct device *dev, unsigned int ioaddr, un
/* Make certain the data structures used by the PCnet32 are 16byte aligned and DMAble. */
lp = (struct pcnet32_private *) (((unsigned long)kmalloc(sizeof(*lp)+15, GFP_DMA | GFP_KERNEL)+15) & ~15);
+ flush_cache_post_dma_in(lp, sizeof(*lp)+15);
#ifdef __mips__
/* XXX Maybe modify kmalloc() to return KSEG1 memory? This would
* make lots of modifications to drivers unnecessary but possibly
* have negative impact on the performance due to drivers not being
- * aware of the CPU performance impact of GFP_DMA memory ...
+ * aware of the CPU performance impact of GFP_DMA memory. It also
+ * adds a bit of extra overhead to kmalloc().
*/
- flush_cache_range(current->mm, lp, sizeof(*lp)+15);
lp = KSEG1ADDR(lp);
#endif
@@ -641,10 +642,8 @@ pcnet32_start_xmit(struct sk_buff *skb, struct device *dev)
lp->tx_ring[entry].base = (u32)le32_to_cpu(virt_to_bus(skb->data));
lp->tx_ring[entry].status = le16_to_cpu(0x8300);
-#ifdef __mips__
- flush_cache_range(current->mm, (void *)skb->data,
- (skb->len < ETH_ZLEN) ? ETH_ZLEN : skb->len);
-#endif
+ flush_cache_pre_dma_out((void *)skb->data,
+ (skb->len < ETH_ZLEN) ? ETH_ZLEN : skb->len);
lp->cur_tx++;
@@ -856,6 +855,7 @@ pcnet32_rx(struct device *dev)
pkt_len,0);
skb->protocol=eth_type_trans(skb,dev);
netif_rx(skb);
+ flush_cache_post_dma_in(bus_to_virt(le32_to_cpu(lp->rx_ring[entry].base)), pkt_len);
lp->stats.rx_packets++;
}
}
diff --git a/drivers/net/plip.c b/drivers/net/plip.c
index 72b8a3314..223210e91 100644
--- a/drivers/net/plip.c
+++ b/drivers/net/plip.c
@@ -1,4 +1,4 @@
-/* $Id: plip.c,v 1.2 1997/08/06 19:15:51 miguel Exp $ */
+/* $Id: plip.c,v 1.3.6.2 1997/04/16 15:07:56 phil Exp $ */
/* PLIP: A parallel port "network" driver for Linux. */
/* This driver is for parallel port with 5-bit cable (LapLink (R) cable). */
/*
diff --git a/drivers/net/ppp.c b/drivers/net/ppp.c
index 4d2cb31f1..740bfc1ff 100644
--- a/drivers/net/ppp.c
+++ b/drivers/net/ppp.c
@@ -51,7 +51,7 @@
#define PPP_MAX_DEV 256
#endif
-/* $Id: ppp.c,v 1.1.1.1 1997/06/01 03:17:18 ralf Exp $
+/* $Id: ppp.c,v 1.27 1997/01/26 07:13:29 davem Exp $
* Added dynamic allocation of channels to eliminate
* compiled-in limits on the number of channels.
*
diff --git a/drivers/net/scc.c b/drivers/net/scc.c
index 7f1b70b90..3c5e81848 100644
--- a/drivers/net/scc.c
+++ b/drivers/net/scc.c
@@ -1,4 +1,4 @@
-#define RCS_ID "$Id: scc.c,v 1.1.1.1 1997/06/01 03:17:20 ralf Exp $"
+#define RCS_ID "$Id: scc.c,v 1.69 1997/04/06 19:22:45 jreuter Exp jreuter $"
#define VERSION "3.0"
#define BANNER "Z8530 SCC driver version "VERSION".dl1bke (experimental) by DL1BKE\n"