diff options
author | Stephen Hemminger <shemminger@linux-foundation.org> | 2007-11-26 11:54:52 -0800 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-12-01 16:32:29 -0500 |
commit | 485982a99a8a0b547aebedc3d0017dbffc3a44c0 (patch) | |
tree | f66678c715c2a7405d0eae323038fd683f46cc21 | |
parent | 21d7f67700ad7a4523d35d43ce95755e40eae5b7 (diff) | |
download | op-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.c | 11 |
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 |