Commit 7bd54c86 authored by Linas Vepstas's avatar Linas Vepstas Committed by Jeff Garzik

[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: default avatarJames K Lewis <jklewis@us.ibm.com>
Signed-off-by: default avatarLinas Vepstas <linas@austin.ibm.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent 9c434f5e
...@@ -1633,7 +1633,7 @@ spider_net_enable_card(struct spider_net_card *card) ...@@ -1633,7 +1633,7 @@ spider_net_enable_card(struct spider_net_card *card)
SPIDER_NET_INT2_MASK_VALUE); SPIDER_NET_INT2_MASK_VALUE);
spider_net_write_reg(card, SPIDER_NET_GDTDMACCNTR, spider_net_write_reg(card, SPIDER_NET_GDTDMACCNTR,
SPIDER_NET_GDTBSTA | SPIDER_NET_GDTDCEIDIS); SPIDER_NET_GDTBSTA);
} }
/** /**
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
#ifndef _SPIDER_NET_H #ifndef _SPIDER_NET_H
#define _SPIDER_NET_H #define _SPIDER_NET_H
#define VERSION "1.5 A" #define VERSION "1.6 A"
#include "sungem_phy.h" #include "sungem_phy.h"
...@@ -217,8 +217,7 @@ extern char spider_net_driver_name[]; ...@@ -217,8 +217,7 @@ extern char spider_net_driver_name[];
#define SPIDER_NET_GDTBSTA 0x00000300 #define SPIDER_NET_GDTBSTA 0x00000300
#define SPIDER_NET_GDTDCEIDIS 0x00000002 #define SPIDER_NET_GDTDCEIDIS 0x00000002
#define SPIDER_NET_DMA_TX_VALUE SPIDER_NET_TX_DMA_EN | \ #define SPIDER_NET_DMA_TX_VALUE SPIDER_NET_TX_DMA_EN | \
SPIDER_NET_GDTBSTA | \ SPIDER_NET_GDTBSTA
SPIDER_NET_GDTDCEIDIS
#define SPIDER_NET_DMA_TX_FEND_VALUE 0x00030003 #define SPIDER_NET_DMA_TX_FEND_VALUE 0x00030003
...@@ -328,7 +327,8 @@ enum spider_net_int2_status { ...@@ -328,7 +327,8 @@ enum spider_net_int2_status {
SPIDER_NET_GRISPDNGINT 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 */ /* We rely on flagged descriptor interrupts */
#define SPIDER_NET_RXINT ( (1 << SPIDER_NET_GDAFDCINT) ) #define SPIDER_NET_RXINT ( (1 << SPIDER_NET_GDAFDCINT) )
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment