aboutsummaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorDavid Daney <david.daney@cavium.com>2013-06-19 17:40:19 -0700
committerDavid S. Miller <davem@davemloft.net>2013-06-19 22:12:48 -0700
commit906996d6eb8fbd5ee4241a0e8e0fb013423c934d (patch)
tree511bd7b48159d078129e95c73a41bbd2133a272f /drivers
parentc0353c7b5da4cbd2ab8227e84bbc9c79890f24ce (diff)
netdev: octeon_mgmt: Correct tx IFG workaround.
The previous fix was still too agressive to meet ieee specs. Increase to (14, 10). Signed-off-by: David Daney <david.daney@cavium.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/ethernet/octeon/octeon_mgmt.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/net/ethernet/octeon/octeon_mgmt.c b/drivers/net/ethernet/octeon/octeon_mgmt.c
index 921729f9c85..a603faf64a9 100644
--- a/drivers/net/ethernet/octeon/octeon_mgmt.c
+++ b/drivers/net/ethernet/octeon/octeon_mgmt.c
@@ -1141,10 +1141,13 @@ static int octeon_mgmt_open(struct net_device *netdev)
/* For compensation state to lock. */
ndelay(1040 * NS_PER_PHY_CLK);
- /* Some Ethernet switches cannot handle standard
- * Interframe Gap, increase to 16 bytes.
+ /* Default Interframe Gaps are too small. Recommended
+ * workaround is.
+ *
+ * AGL_GMX_TX_IFG[IFG1]=14
+ * AGL_GMX_TX_IFG[IFG2]=10
*/
- cvmx_write_csr(CVMX_AGL_GMX_TX_IFG, 0x88);
+ cvmx_write_csr(CVMX_AGL_GMX_TX_IFG, 0xae);
}
octeon_mgmt_rx_fill_ring(netdev);