diff options
author | Linas Vepstas <linas@austin.ibm.com> | 2006-11-17 14:39:40 -0800 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2006-11-30 06:14:06 -0500 |
commit | 7bd54c863608a460e72aa0e57170cffb6bc62110 (patch) | |
tree | cf8c99896335061f76780e48b0b1e187e1c6fd9d /drivers | |
parent | 9c434f5e2181097e1d22d9b3e381ca6d693e5188 (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>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/spider_net.c | 2 | ||||
-rw-r--r-- | drivers/net/spider_net.h | 8 |
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) ) |