aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMallikarjuna R Chilakala <mallikarjuna.chilakala@intel.com>2005-10-04 07:08:19 -0400
committerJeff Garzik <jgarzik@pobox.com>2005-10-04 07:08:19 -0400
commita7990ba60adc46a808c737443393fdfecdc82593 (patch)
tree5691856aa31edcf1ab15c12c777e9b1aff3a7d70
parent352c9f854cb197581d7135d1276742fd76b53c25 (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.c6
-rw-r--r--drivers/net/e1000/e1000_hw.c1
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;