diff options
Diffstat (limited to 'drivers/net/e1000e/82571.c')
| -rw-r--r-- | drivers/net/e1000e/82571.c | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/drivers/net/e1000e/82571.c b/drivers/net/e1000e/82571.c index 712ccc66ba25..90155552ea09 100644 --- a/drivers/net/e1000e/82571.c +++ b/drivers/net/e1000e/82571.c | |||
| @@ -336,7 +336,6 @@ static s32 e1000_get_variants_82571(struct e1000_adapter *adapter) | |||
| 336 | struct e1000_hw *hw = &adapter->hw; | 336 | struct e1000_hw *hw = &adapter->hw; |
| 337 | static int global_quad_port_a; /* global port a indication */ | 337 | static int global_quad_port_a; /* global port a indication */ |
| 338 | struct pci_dev *pdev = adapter->pdev; | 338 | struct pci_dev *pdev = adapter->pdev; |
| 339 | u16 eeprom_data = 0; | ||
| 340 | int is_port_b = er32(STATUS) & E1000_STATUS_FUNC_1; | 339 | int is_port_b = er32(STATUS) & E1000_STATUS_FUNC_1; |
| 341 | s32 rc; | 340 | s32 rc; |
| 342 | 341 | ||
| @@ -387,16 +386,15 @@ static s32 e1000_get_variants_82571(struct e1000_adapter *adapter) | |||
| 387 | if (pdev->device == E1000_DEV_ID_82571EB_SERDES_QUAD) | 386 | if (pdev->device == E1000_DEV_ID_82571EB_SERDES_QUAD) |
| 388 | adapter->flags &= ~FLAG_HAS_WOL; | 387 | adapter->flags &= ~FLAG_HAS_WOL; |
| 389 | break; | 388 | break; |
| 390 | |||
| 391 | case e1000_82573: | 389 | case e1000_82573: |
| 390 | case e1000_82574: | ||
| 391 | case e1000_82583: | ||
| 392 | /* Disable ASPM L0s due to hardware errata */ | ||
| 393 | e1000e_disable_aspm(adapter->pdev, PCIE_LINK_STATE_L0S); | ||
| 394 | |||
| 392 | if (pdev->device == E1000_DEV_ID_82573L) { | 395 | if (pdev->device == E1000_DEV_ID_82573L) { |
| 393 | if (e1000_read_nvm(&adapter->hw, NVM_INIT_3GIO_3, 1, | 396 | adapter->flags |= FLAG_HAS_JUMBO_FRAMES; |
| 394 | &eeprom_data) < 0) | 397 | adapter->max_hw_frame_size = DEFAULT_JUMBO; |
| 395 | break; | ||
| 396 | if (!(eeprom_data & NVM_WORD1A_ASPM_MASK)) { | ||
| 397 | adapter->flags |= FLAG_HAS_JUMBO_FRAMES; | ||
| 398 | adapter->max_hw_frame_size = DEFAULT_JUMBO; | ||
| 399 | } | ||
| 400 | } | 398 | } |
| 401 | break; | 399 | break; |
| 402 | default: | 400 | default: |
| @@ -1792,6 +1790,7 @@ struct e1000_info e1000_82571_info = { | |||
| 1792 | | FLAG_RESET_OVERWRITES_LAA /* errata */ | 1790 | | FLAG_RESET_OVERWRITES_LAA /* errata */ |
| 1793 | | FLAG_TARC_SPEED_MODE_BIT /* errata */ | 1791 | | FLAG_TARC_SPEED_MODE_BIT /* errata */ |
| 1794 | | FLAG_APME_CHECK_PORT_B, | 1792 | | FLAG_APME_CHECK_PORT_B, |
| 1793 | .flags2 = FLAG2_DISABLE_ASPM_L1, /* errata 13 */ | ||
| 1795 | .pba = 38, | 1794 | .pba = 38, |
| 1796 | .max_hw_frame_size = DEFAULT_JUMBO, | 1795 | .max_hw_frame_size = DEFAULT_JUMBO, |
| 1797 | .get_variants = e1000_get_variants_82571, | 1796 | .get_variants = e1000_get_variants_82571, |
| @@ -1809,6 +1808,7 @@ struct e1000_info e1000_82572_info = { | |||
| 1809 | | FLAG_RX_CSUM_ENABLED | 1808 | | FLAG_RX_CSUM_ENABLED |
| 1810 | | FLAG_HAS_CTRLEXT_ON_LOAD | 1809 | | FLAG_HAS_CTRLEXT_ON_LOAD |
| 1811 | | FLAG_TARC_SPEED_MODE_BIT, /* errata */ | 1810 | | FLAG_TARC_SPEED_MODE_BIT, /* errata */ |
| 1811 | .flags2 = FLAG2_DISABLE_ASPM_L1, /* errata 13 */ | ||
| 1812 | .pba = 38, | 1812 | .pba = 38, |
| 1813 | .max_hw_frame_size = DEFAULT_JUMBO, | 1813 | .max_hw_frame_size = DEFAULT_JUMBO, |
| 1814 | .get_variants = e1000_get_variants_82571, | 1814 | .get_variants = e1000_get_variants_82571, |
| @@ -1820,13 +1820,11 @@ struct e1000_info e1000_82572_info = { | |||
| 1820 | struct e1000_info e1000_82573_info = { | 1820 | struct e1000_info e1000_82573_info = { |
| 1821 | .mac = e1000_82573, | 1821 | .mac = e1000_82573, |
| 1822 | .flags = FLAG_HAS_HW_VLAN_FILTER | 1822 | .flags = FLAG_HAS_HW_VLAN_FILTER |
| 1823 | | FLAG_HAS_JUMBO_FRAMES | ||
| 1824 | | FLAG_HAS_WOL | 1823 | | FLAG_HAS_WOL |
| 1825 | | FLAG_APME_IN_CTRL3 | 1824 | | FLAG_APME_IN_CTRL3 |
| 1826 | | FLAG_RX_CSUM_ENABLED | 1825 | | FLAG_RX_CSUM_ENABLED |
| 1827 | | FLAG_HAS_SMART_POWER_DOWN | 1826 | | FLAG_HAS_SMART_POWER_DOWN |
| 1828 | | FLAG_HAS_AMT | 1827 | | FLAG_HAS_AMT |
| 1829 | | FLAG_HAS_ERT | ||
| 1830 | | FLAG_HAS_SWSM_ON_LOAD, | 1828 | | FLAG_HAS_SWSM_ON_LOAD, |
| 1831 | .pba = 20, | 1829 | .pba = 20, |
| 1832 | .max_hw_frame_size = ETH_FRAME_LEN + ETH_FCS_LEN, | 1830 | .max_hw_frame_size = ETH_FRAME_LEN + ETH_FCS_LEN, |
