From 485982a99a8a0b547aebedc3d0017dbffc3a44c0 Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Mon, 26 Nov 2007 11:54:52 -0800 Subject: 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 Signed-off-by: Jeff Garzik --- drivers/net/skge.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'drivers/net/skge.c') diff --git a/drivers/net/skge.c b/drivers/net/skge.c index 73a424694ac..f7e0fbbd4ad 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 -- cgit v1.2.3