summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@linux-foundation.org>2007-11-26 11:54:52 -0800
committerJeff Garzik <jeff@garzik.org>2007-12-01 16:32:29 -0500
commit485982a99a8a0b547aebedc3d0017dbffc3a44c0 (patch)
treef66678c715c2a7405d0eae323038fd683f46cc21
parent21d7f67700ad7a4523d35d43ce95755e40eae5b7 (diff)
downloadop-kernel-dev-485982a99a8a0b547aebedc3d0017dbffc3a44c0.zip
op-kernel-dev-485982a99a8a0b547aebedc3d0017dbffc3a44c0.tar.gz
skge: increase TX threshold for Jumbo
Need to increase TX threshold when doing Jumbo frames on dual port board to avoid underruns. (Code from sk98lin). Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
-rw-r--r--drivers/net/skge.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/net/skge.c b/drivers/net/skge.c
index 73a4246..f7e0fbbd 100644
--- a/drivers/net/skge.c
+++ b/drivers/net/skge.c
@@ -1633,15 +1633,14 @@ static void genesis_mac_init(struct skge_hw *hw, int port)
}
xm_write16(hw, port, XM_RX_CMD, r);
-
/* We want short frames padded to 60 bytes. */
xm_write16(hw, port, XM_TX_CMD, XM_TX_AUTO_PAD);
- /*
- * Bump up the transmit threshold. This helps hold off transmit
- * underruns when we're blasting traffic from both ports at once.
- */
- xm_write16(hw, port, XM_TX_THR, 512);
+ /* Increase threshold for jumbo frames on dual port */
+ if (hw->ports > 1 && jumbo)
+ xm_write16(hw, port, XM_TX_THR, 1020);
+ else
+ xm_write16(hw, port, XM_TX_THR, 512);
/*
* Enable the reception of all error frames. This is is
OpenPOWER on IntegriCloud