summaryrefslogtreecommitdiffstats
path: root/drivers/net/skge.c
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 /drivers/net/skge.c
parent21d7f67700ad7a4523d35d43ce95755e40eae5b7 (diff)
downloadlinux-485982a99a8a0b547aebedc3d0017dbffc3a44c0.tar.bz2
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>
Diffstat (limited to 'drivers/net/skge.c')
-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 73a424694ac5..f7e0fbbd4ad6 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