aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/mv643xx_eth.c
diff options
context:
space:
mode:
authorLennert Buytenhek <buytenh@wantstofly.org>2008-07-10 08:40:51 -0400
committerLennert Buytenhek <buytenh@marvell.com>2008-07-24 00:22:51 -0400
commitcd4ccf76bfd2c36d351e68be7e6a597268f98a1a (patch)
treea9c63d6536d1c49cbb350c238b903a4f05036dcb /drivers/net/mv643xx_eth.c
parentae9ae06443f7bfa4f013c0e2c035d549e999ad3e (diff)
mv643xx_eth: use longer DMA bursts
The mv643xx_eth driver is limiting DMA bursts to 32 bytes, while using the largest burst size (128 bytes) gives a couple percentage points performance improvement in throughput tests, and the docs say that the 128 byte default should not need to be changed, so use 128 byte bursts instead. Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
Diffstat (limited to 'drivers/net/mv643xx_eth.c')
-rw-r--r--drivers/net/mv643xx_eth.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/net/mv643xx_eth.c b/drivers/net/mv643xx_eth.c
index c700c1f494e9..9d200568d88a 100644
--- a/drivers/net/mv643xx_eth.c
+++ b/drivers/net/mv643xx_eth.c
@@ -129,21 +129,21 @@ static char mv643xx_eth_driver_version[] = "1.1";
129/* 129/*
130 * SDMA configuration register. 130 * SDMA configuration register.
131 */ 131 */
132#define RX_BURST_SIZE_4_64BIT (2 << 1) 132#define RX_BURST_SIZE_16_64BIT (4 << 1)
133#define BLM_RX_NO_SWAP (1 << 4) 133#define BLM_RX_NO_SWAP (1 << 4)
134#define BLM_TX_NO_SWAP (1 << 5) 134#define BLM_TX_NO_SWAP (1 << 5)
135#define TX_BURST_SIZE_4_64BIT (2 << 22) 135#define TX_BURST_SIZE_16_64BIT (4 << 22)
136 136
137#if defined(__BIG_ENDIAN) 137#if defined(__BIG_ENDIAN)
138#define PORT_SDMA_CONFIG_DEFAULT_VALUE \ 138#define PORT_SDMA_CONFIG_DEFAULT_VALUE \
139 RX_BURST_SIZE_4_64BIT | \ 139 RX_BURST_SIZE_16_64BIT | \
140 TX_BURST_SIZE_4_64BIT 140 TX_BURST_SIZE_16_64BIT
141#elif defined(__LITTLE_ENDIAN) 141#elif defined(__LITTLE_ENDIAN)
142#define PORT_SDMA_CONFIG_DEFAULT_VALUE \ 142#define PORT_SDMA_CONFIG_DEFAULT_VALUE \
143 RX_BURST_SIZE_4_64BIT | \ 143 RX_BURST_SIZE_16_64BIT | \
144 BLM_RX_NO_SWAP | \ 144 BLM_RX_NO_SWAP | \
145 BLM_TX_NO_SWAP | \ 145 BLM_TX_NO_SWAP | \
146 TX_BURST_SIZE_4_64BIT 146 TX_BURST_SIZE_16_64BIT
147#else 147#else
148#error One of __BIG_ENDIAN or __LITTLE_ENDIAN must be defined 148#error One of __BIG_ENDIAN or __LITTLE_ENDIAN must be defined
149#endif 149#endif