aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/e1000/e1000_hw.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/e1000/e1000_hw.c')
-rw-r--r--drivers/net/e1000/e1000_hw.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/net/e1000/e1000_hw.c b/drivers/net/e1000/e1000_hw.c
index f79d2a06ee7f..ac227c7847ff 100644
--- a/drivers/net/e1000/e1000_hw.c
+++ b/drivers/net/e1000/e1000_hw.c
@@ -1933,14 +1933,19 @@ e1000_phy_force_speed_duplex(struct e1000_hw *hw)
1933void 1933void
1934e1000_config_collision_dist(struct e1000_hw *hw) 1934e1000_config_collision_dist(struct e1000_hw *hw)
1935{ 1935{
1936 uint32_t tctl; 1936 uint32_t tctl, coll_dist;
1937 1937
1938 DEBUGFUNC("e1000_config_collision_dist"); 1938 DEBUGFUNC("e1000_config_collision_dist");
1939 1939
1940 if (hw->mac_type < e1000_82543)
1941 coll_dist = E1000_COLLISION_DISTANCE_82542;
1942 else
1943 coll_dist = E1000_COLLISION_DISTANCE;
1944
1940 tctl = E1000_READ_REG(hw, TCTL); 1945 tctl = E1000_READ_REG(hw, TCTL);
1941 1946
1942 tctl &= ~E1000_TCTL_COLD; 1947 tctl &= ~E1000_TCTL_COLD;
1943 tctl |= E1000_COLLISION_DISTANCE << E1000_COLD_SHIFT; 1948 tctl |= coll_dist << E1000_COLD_SHIFT;
1944 1949
1945 E1000_WRITE_REG(hw, TCTL, tctl); 1950 E1000_WRITE_REG(hw, TCTL, tctl);
1946 E1000_WRITE_FLUSH(hw); 1951 E1000_WRITE_FLUSH(hw);