From b466331beaff539a50e561995a5729c044fdd613 Mon Sep 17 00:00:00 2001 From: Bruce Allan Date: Mon, 10 May 2010 15:02:12 +0000 Subject: [PATCH] --- yaml --- r: 195055 b: refs/heads/master c: a305595b127fdbe7ab5ba458f7ee470a82a3b82c h: refs/heads/master i: 195053: 606ee9d61ecd27a6a17148a028809ff1e2d63070 195051: 696d7f81a7819268e36bf122e7b183d6c53e0d3a 195047: bf014c2a97d2c85a28adaa95c3917617dc7dd079 195039: 14570a2290cd23874fc30df0189546331c1455c1 v: v3 --- [refs] | 2 +- trunk/drivers/net/e1000e/hw.h | 1 + trunk/drivers/net/e1000e/ich8lan.c | 2 ++ trunk/drivers/net/e1000e/netdev.c | 5 +---- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index aebd1f349939..0867838b3816 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a65a4a0d51eaf9e5715dc24f8820c8689c3719a5 +refs/heads/master: a305595b127fdbe7ab5ba458f7ee470a82a3b82c diff --git a/trunk/drivers/net/e1000e/hw.h b/trunk/drivers/net/e1000e/hw.h index 287ee954448f..fa314b4a68c1 100644 --- a/trunk/drivers/net/e1000e/hw.h +++ b/trunk/drivers/net/e1000e/hw.h @@ -901,6 +901,7 @@ struct e1000_fc_info { u32 high_water; /* Flow control high-water mark */ u32 low_water; /* Flow control low-water mark */ u16 pause_time; /* Flow control pause timer */ + u16 refresh_time; /* Flow control refresh timer */ bool send_xon; /* Flow control send XON */ bool strict_ieee; /* Strict IEEE mode */ enum e1000_fc_mode current_mode; /* FC mode in effect */ diff --git a/trunk/drivers/net/e1000e/ich8lan.c b/trunk/drivers/net/e1000e/ich8lan.c index 8efe9a7cbaad..2b2cffc017be 100644 --- a/trunk/drivers/net/e1000e/ich8lan.c +++ b/trunk/drivers/net/e1000e/ich8lan.c @@ -2823,6 +2823,8 @@ static s32 e1000_setup_link_ich8lan(struct e1000_hw *hw) ew32(FCTTV, hw->fc.pause_time); if ((hw->phy.type == e1000_phy_82578) || (hw->phy.type == e1000_phy_82577)) { + ew32(FCRTV_PCH, hw->fc.refresh_time); + ret_val = hw->phy.ops.write_reg(hw, PHY_REG(BM_PORT_CTRL_PAGE, 27), hw->fc.pause_time); diff --git a/trunk/drivers/net/e1000e/netdev.c b/trunk/drivers/net/e1000e/netdev.c index 16a03c553299..d1f60c570c0e 100644 --- a/trunk/drivers/net/e1000e/netdev.c +++ b/trunk/drivers/net/e1000e/netdev.c @@ -3134,6 +3134,7 @@ void e1000e_reset(struct e1000_adapter *adapter) fc->high_water = 0x5000; fc->low_water = 0x3000; } + fc->refresh_time = 0x1000; } else { if ((adapter->flags & FLAG_HAS_ERT) && (adapter->netdev->mtu > ETH_DATA_LEN)) @@ -3171,10 +3172,6 @@ void e1000e_reset(struct e1000_adapter *adapter) if (mac->ops.init_hw(hw)) e_err("Hardware Error\n"); - /* additional part of the flow-control workaround above */ - if (hw->mac.type == e1000_pchlan) - ew32(FCRTV_PCH, 0x1000); - e1000_update_mng_vlan(adapter); /* Enable h/w to recognize an 802.1Q VLAN Ethernet packet */