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>
This commit is contained in:
committed by
Lennert Buytenhek
parent
ae9ae06443
commit
cd4ccf76bf
@@ -129,21 +129,21 @@ static char mv643xx_eth_driver_version[] = "1.1";
|
|||||||
/*
|
/*
|
||||||
* SDMA configuration register.
|
* SDMA configuration register.
|
||||||
*/
|
*/
|
||||||
#define RX_BURST_SIZE_4_64BIT (2 << 1)
|
#define RX_BURST_SIZE_16_64BIT (4 << 1)
|
||||||
#define BLM_RX_NO_SWAP (1 << 4)
|
#define BLM_RX_NO_SWAP (1 << 4)
|
||||||
#define BLM_TX_NO_SWAP (1 << 5)
|
#define BLM_TX_NO_SWAP (1 << 5)
|
||||||
#define TX_BURST_SIZE_4_64BIT (2 << 22)
|
#define TX_BURST_SIZE_16_64BIT (4 << 22)
|
||||||
|
|
||||||
#if defined(__BIG_ENDIAN)
|
#if defined(__BIG_ENDIAN)
|
||||||
#define PORT_SDMA_CONFIG_DEFAULT_VALUE \
|
#define PORT_SDMA_CONFIG_DEFAULT_VALUE \
|
||||||
RX_BURST_SIZE_4_64BIT | \
|
RX_BURST_SIZE_16_64BIT | \
|
||||||
TX_BURST_SIZE_4_64BIT
|
TX_BURST_SIZE_16_64BIT
|
||||||
#elif defined(__LITTLE_ENDIAN)
|
#elif defined(__LITTLE_ENDIAN)
|
||||||
#define PORT_SDMA_CONFIG_DEFAULT_VALUE \
|
#define PORT_SDMA_CONFIG_DEFAULT_VALUE \
|
||||||
RX_BURST_SIZE_4_64BIT | \
|
RX_BURST_SIZE_16_64BIT | \
|
||||||
BLM_RX_NO_SWAP | \
|
BLM_RX_NO_SWAP | \
|
||||||
BLM_TX_NO_SWAP | \
|
BLM_TX_NO_SWAP | \
|
||||||
TX_BURST_SIZE_4_64BIT
|
TX_BURST_SIZE_16_64BIT
|
||||||
#else
|
#else
|
||||||
#error One of __BIG_ENDIAN or __LITTLE_ENDIAN must be defined
|
#error One of __BIG_ENDIAN or __LITTLE_ENDIAN must be defined
|
||||||
#endif
|
#endif
|
||||||
|
Reference in New Issue
Block a user