Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9f316841 authored by Lennert Buytenhek's avatar Lennert Buytenhek Committed by Dale Farnsworth
Browse files

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: default avatarLennert Buytenhek <buytenh@marvell.com>
Acked-by: default avatarTzachi Perelstein <tzachi@marvell.com>
Signed-off-by: default avatarDale Farnsworth <dale@farnsworth.org>
parent e2734d6c
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -266,10 +266,21 @@

#define	MV643XX_ETH_IPG_INT_RX(value) ((value & 0x3fff) << 8)

#if defined(__BIG_ENDIAN)
#define	MV643XX_ETH_PORT_SDMA_CONFIG_DEFAULT_VALUE		\
		MV643XX_ETH_RX_BURST_SIZE_4_64BIT	|	\
		MV643XX_ETH_IPG_INT_RX(0)		|	\
		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 */
#define MV643XX_ETH_SERIAL_PORT_DISABLE			0