diff options
author | Jeff Kirsher <jeffrey.t.kirsher@intel.com> | 2006-01-12 19:51:05 -0500 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2006-01-17 07:44:51 -0500 |
commit | 0fadb0597d240d4ed279042cab632d567510a1a3 (patch) | |
tree | 83786788f8bf5ef24b3b2cc871b84030c4d59fdf /drivers/net/e1000/e1000_hw.c | |
parent | 47028635d17c7b9c7ffc67499be5fed579bdfe72 (diff) |
[PATCH] e1000: Fix collision distance
Fixed the collision distance for 82543 controllers and newer.
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: John Ronciak <john.ronciak@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Diffstat (limited to 'drivers/net/e1000/e1000_hw.c')
-rw-r--r-- | drivers/net/e1000/e1000_hw.c | 9 |
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) | |||
1933 | void | 1933 | void |
1934 | e1000_config_collision_dist(struct e1000_hw *hw) | 1934 | e1000_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); |