Netdev List
 help / color / mirror / Atom feed
* [PATCH 3/8] [MV643XX_ETH] Disable RX/TX byte swapping on little-endian systems
@ 2007-10-19  2:10 Lennert Buytenhek
  0 siblings, 0 replies; only message in thread
From: Lennert Buytenhek @ 2007-10-19  2:10 UTC (permalink / raw)
  To: Dale Farnsworth; +Cc: Nicolas Pitre, Tzachi Perelstein, Manas Saksena, netdev

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>

Index: linux-2.6/drivers/net/mv643xx_eth.h
===================================================================
--- linux-2.6.orig/drivers/net/mv643xx_eth.h
+++ linux-2.6/drivers/net/mv643xx_eth.h
@@ -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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2007-10-19  2:10 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-10-19  2:10 [PATCH 3/8] [MV643XX_ETH] Disable RX/TX byte swapping on little-endian systems Lennert Buytenhek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox