summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/ti/cpsw.c
diff options
context:
space:
mode:
authorJohn Ogness2014-11-14 15:42:52 +0100
committerDavid S. Miller2014-11-16 20:20:00 +0100
commit35717d8d6fc6fc50692273d6667a0a575c26aa93 (patch)
tree9ce75d4c7f6ec18ec261bedfd2466b09b2e48766 /drivers/net/ethernet/ti/cpsw.c
parentreciprocal_div: objects with exported symbols should be obj-y rather than lib-y (diff)
downloadkernel-qcow2-linux-35717d8d6fc6fc50692273d6667a0a575c26aa93.tar.gz
kernel-qcow2-linux-35717d8d6fc6fc50692273d6667a0a575c26aa93.tar.xz
kernel-qcow2-linux-35717d8d6fc6fc50692273d6667a0a575c26aa93.zip
drivers: net: cpsw: Fix TX_IN_SEL offset
The TX_IN_SEL offset for the CPSW_PORT/TX_IN_CTL register was incorrect. This caused the Dual MAC mode to never get set when it should. It also caused possible unintentional setting of a bit in the CPSW_PORT/TX_BLKS_REM register. The purpose of setting the Dual MAC mode for this register is to: "... allow packets from both ethernet ports to be written into the FIFO without one port starving the other port." - AM335x ARM TRM Signed-off-by: John Ogness <john.ogness@linutronix.de> Reviewed-by: Mugunthan V N <mugunthanvnm@ti.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/ti/cpsw.c')
-rw-r--r--drivers/net/ethernet/ti/cpsw.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/ethernet/ti/cpsw.c b/drivers/net/ethernet/ti/cpsw.c
index d8794488f80a..c560f9aeb55d 100644
--- a/drivers/net/ethernet/ti/cpsw.c
+++ b/drivers/net/ethernet/ti/cpsw.c
@@ -129,9 +129,9 @@ do { \
#define CPSW_VLAN_AWARE BIT(1)
#define CPSW_ALE_VLAN_AWARE 1
-#define CPSW_FIFO_NORMAL_MODE (0 << 15)
-#define CPSW_FIFO_DUAL_MAC_MODE (1 << 15)
-#define CPSW_FIFO_RATE_LIMIT_MODE (2 << 15)
+#define CPSW_FIFO_NORMAL_MODE (0 << 16)
+#define CPSW_FIFO_DUAL_MAC_MODE (1 << 16)
+#define CPSW_FIFO_RATE_LIMIT_MODE (2 << 16)
#define CPSW_INTPACEEN (0x3f << 16)
#define CPSW_INTPRESCALE_MASK (0x7FF << 0)