diff options
author | Mallikarjuna R Chilakala <mallikarjuna.chilakala@intel.com> | 2005-10-04 07:08:19 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-10-04 07:08:19 -0400 |
commit | a7990ba60adc46a808c737443393fdfecdc82593 (patch) | |
tree | 5691856aa31edcf1ab15c12c777e9b1aff3a7d70 | |
parent | 352c9f854cb197581d7135d1276742fd76b53c25 (diff) |
e1000: Flush shadow RAM
Flush shadow RAM to save updates to ASF related bits for 82573 controllers.
These bits are past the first 63 words of NVM.
Signed-off-by: Mallikarjuna R Chilakala <mallikarjuna.chilakala@intel.com>
Signed-off-by: Ganesh Venkatesan <ganesh.venkatesan@intel.com>
Signed-off-by: John Ronciak <john.ronciak@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
-rw-r--r-- | drivers/net/e1000/e1000_ethtool.c | 6 | ||||
-rw-r--r-- | drivers/net/e1000/e1000_hw.c | 1 |
2 files changed, 5 insertions, 2 deletions
diff --git a/drivers/net/e1000/e1000_ethtool.c b/drivers/net/e1000/e1000_ethtool.c index ee66947e5043..6b9acc7f94a3 100644 --- a/drivers/net/e1000/e1000_ethtool.c +++ b/drivers/net/e1000/e1000_ethtool.c | |||
@@ -547,8 +547,10 @@ e1000_set_eeprom(struct net_device *netdev, | |||
547 | ret_val = e1000_write_eeprom(hw, first_word, | 547 | ret_val = e1000_write_eeprom(hw, first_word, |
548 | last_word - first_word + 1, eeprom_buff); | 548 | last_word - first_word + 1, eeprom_buff); |
549 | 549 | ||
550 | /* Update the checksum over the first part of the EEPROM if needed */ | 550 | /* Update the checksum over the first part of the EEPROM if needed |
551 | if((ret_val == 0) && first_word <= EEPROM_CHECKSUM_REG) | 551 | * and flush shadow RAM for 82573 conrollers */ |
552 | if((ret_val == 0) && ((first_word <= EEPROM_CHECKSUM_REG) || | ||
553 | (hw->mac_type == e1000_82573))) | ||
552 | e1000_update_eeprom_checksum(hw); | 554 | e1000_update_eeprom_checksum(hw); |
553 | 555 | ||
554 | kfree(eeprom_buff); | 556 | kfree(eeprom_buff); |
diff --git a/drivers/net/e1000/e1000_hw.c b/drivers/net/e1000/e1000_hw.c index 7d627dd89a3d..8fc876da43b4 100644 --- a/drivers/net/e1000/e1000_hw.c +++ b/drivers/net/e1000/e1000_hw.c | |||
@@ -717,6 +717,7 @@ e1000_init_hw(struct e1000_hw *hw) | |||
717 | default: | 717 | default: |
718 | break; | 718 | break; |
719 | case e1000_82571: | 719 | case e1000_82571: |
720 | case e1000_82572: | ||
720 | ctrl = E1000_READ_REG(hw, TXDCTL1); | 721 | ctrl = E1000_READ_REG(hw, TXDCTL1); |
721 | ctrl &= ~E1000_TXDCTL_WTHRESH; | 722 | ctrl &= ~E1000_TXDCTL_WTHRESH; |
722 | ctrl |= E1000_TXDCTL_COUNT_DESC | E1000_TXDCTL_FULL_TX_DESC_WB; | 723 | ctrl |= E1000_TXDCTL_COUNT_DESC | E1000_TXDCTL_FULL_TX_DESC_WB; |