summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinas Vepstas <linas@austin.ibm.com>2006-11-17 14:39:40 -0800
committerJeff Garzik <jeff@garzik.org>2006-11-30 06:14:06 -0500
commit7bd54c863608a460e72aa0e57170cffb6bc62110 (patch)
treecf8c99896335061f76780e48b0b1e187e1c6fd9d
parent9c434f5e2181097e1d22d9b3e381ca6d693e5188 (diff)
[PATCH] spidernet: poor network performance
Correct a problem seen on later kernels running the NetPIPE application. Specifically, NetPIPE would begin running very slowly at the 1533 packet size. It was determined that Spidernet slowed with an idle DMA engine. Signed-off-by: James K Lewis <jklewis@us.ibm.com> Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
-rw-r--r--drivers/net/spider_net.c2
-rw-r--r--drivers/net/spider_net.h8
2 files changed, 5 insertions, 5 deletions
diff --git a/drivers/net/spider_net.c b/drivers/net/spider_net.c
index 9dd282346e1..cef7e6671c4 100644
--- a/drivers/net/spider_net.c
+++ b/drivers/net/spider_net.c
@@ -1633,7 +1633,7 @@ spider_net_enable_card(struct spider_net_card *card)
SPIDER_NET_INT2_MASK_VALUE);
spider_net_write_reg(card, SPIDER_NET_GDTDMACCNTR,
- SPIDER_NET_GDTBSTA | SPIDER_NET_GDTDCEIDIS);
+ SPIDER_NET_GDTBSTA);
}
/**
diff --git a/drivers/net/spider_net.h b/drivers/net/spider_net.h
index cb85cbb3d92..3e196df2979 100644
--- a/drivers/net/spider_net.h
+++ b/drivers/net/spider_net.h
@@ -24,7 +24,7 @@
#ifndef _SPIDER_NET_H
#define _SPIDER_NET_H
-#define VERSION "1.5 A"
+#define VERSION "1.6 A"
#include "sungem_phy.h"
@@ -217,8 +217,7 @@ extern char spider_net_driver_name[];
#define SPIDER_NET_GDTBSTA 0x00000300
#define SPIDER_NET_GDTDCEIDIS 0x00000002
#define SPIDER_NET_DMA_TX_VALUE SPIDER_NET_TX_DMA_EN | \
- SPIDER_NET_GDTBSTA | \
- SPIDER_NET_GDTDCEIDIS
+ SPIDER_NET_GDTBSTA
#define SPIDER_NET_DMA_TX_FEND_VALUE 0x00030003
@@ -328,7 +327,8 @@ enum spider_net_int2_status {
SPIDER_NET_GRISPDNGINT
};
-#define SPIDER_NET_TXINT ( (1 << SPIDER_NET_GDTFDCINT) )
+#define SPIDER_NET_TXINT ( (1 << SPIDER_NET_GDTFDCINT) | \
+ (1 << SPIDER_NET_GDTDCEINT) )
/* We rely on flagged descriptor interrupts */
#define SPIDER_NET_RXINT ( (1 << SPIDER_NET_GDAFDCINT) )