mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-12 21:57:43 +00:00
mv643xx_eth: Disable RX/TX byte swapping on little-endian systems
On little-endian systems, configure the SDMA unit with MV643XX_ETH_BLM_RX_NO_SWAP and MV643XX_ETH_BLM_TX_NO_SWAP. Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Acked-by: Tzachi Perelstein <tzachi@marvell.com> Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
This commit is contained in:
parent
e2734d6c61
commit
9f31684144
1 changed files with 11 additions and 0 deletions
|
@ -266,10 +266,21 @@
|
||||||
|
|
||||||
#define MV643XX_ETH_IPG_INT_RX(value) ((value & 0x3fff) << 8)
|
#define MV643XX_ETH_IPG_INT_RX(value) ((value & 0x3fff) << 8)
|
||||||
|
|
||||||
|
#if defined(__BIG_ENDIAN)
|
||||||
#define MV643XX_ETH_PORT_SDMA_CONFIG_DEFAULT_VALUE \
|
#define MV643XX_ETH_PORT_SDMA_CONFIG_DEFAULT_VALUE \
|
||||||
MV643XX_ETH_RX_BURST_SIZE_4_64BIT | \
|
MV643XX_ETH_RX_BURST_SIZE_4_64BIT | \
|
||||||
MV643XX_ETH_IPG_INT_RX(0) | \
|
MV643XX_ETH_IPG_INT_RX(0) | \
|
||||||
MV643XX_ETH_TX_BURST_SIZE_4_64BIT
|
MV643XX_ETH_TX_BURST_SIZE_4_64BIT
|
||||||
|
#elif defined(__LITTLE_ENDIAN)
|
||||||
|
#define MV643XX_ETH_PORT_SDMA_CONFIG_DEFAULT_VALUE \
|
||||||
|
MV643XX_ETH_RX_BURST_SIZE_4_64BIT | \
|
||||||
|
MV643XX_ETH_BLM_RX_NO_SWAP | \
|
||||||
|
MV643XX_ETH_BLM_TX_NO_SWAP | \
|
||||||
|
MV643XX_ETH_IPG_INT_RX(0) | \
|
||||||
|
MV643XX_ETH_TX_BURST_SIZE_4_64BIT
|
||||||
|
#else
|
||||||
|
#error One of __BIG_ENDIAN or __LITTLE_ENDIAN must be defined
|
||||||
|
#endif
|
||||||
|
|
||||||
/* These macros describe Ethernet Port serial control reg (PSCR) bits */
|
/* These macros describe Ethernet Port serial control reg (PSCR) bits */
|
||||||
#define MV643XX_ETH_SERIAL_PORT_DISABLE 0
|
#define MV643XX_ETH_SERIAL_PORT_DISABLE 0
|
||||||
|
|
Loading…
Reference in a new issue