[PATCH] sky2: set lower pause threshold to prevent overrun
authorStephen Hemminger <shemminger@osdl.org>
Mon, 9 Oct 2006 22:49:27 +0000 (15:49 -0700)
committerJeff Garzik <jeff@garzik.org>
Wed, 11 Oct 2006 08:07:45 +0000 (04:07 -0400)
Adjust the pause threshold on slower systems to keep from getting overrun.
Since FIFO is 2K bytes, don't send XON pause until there is space for a full
frame.

Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/net/sky2.c

index 1f91f30f4c6dd90041a1890979926f01bbf25ed5..c10e7f5faa5f59be42894b51bf6a74e76c812714 100644 (file)
@@ -683,7 +683,7 @@ static void sky2_mac_init(struct sky2_hw *hw, unsigned port)
        sky2_write16(hw, SK_REG(port, TX_GMF_CTRL_T), GMF_OPER_ON);
 
        if (hw->chip_id == CHIP_ID_YUKON_EC_U) {
-               sky2_write8(hw, SK_REG(port, RX_GMF_LP_THR), 768/8);
+               sky2_write8(hw, SK_REG(port, RX_GMF_LP_THR), 512/8);
                sky2_write8(hw, SK_REG(port, RX_GMF_UP_THR), 1024/8);
                if (hw->dev[port]->mtu > ETH_DATA_LEN) {
                        /* set Tx GMAC FIFO Almost Empty Threshold */