2010-02-09 23:04:11

by Matthew Garrett

[permalink] [raw]
Subject: [PATCH 1/2] e1000e: Only disable ASPM on 82573L devices

The 82537 errata and comment in e1000e_disable_l1aspm both agree that
only 82537L devices are affected. Limit the L1 disable to them.

Signed-off-by: Matthew Garrett <[email protected]>
---
drivers/net/e1000e/netdev.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/drivers/net/e1000e/netdev.c b/drivers/net/e1000e/netdev.c
index 57f149b..27eed81 100644
--- a/drivers/net/e1000e/netdev.c
+++ b/drivers/net/e1000e/netdev.c
@@ -4642,6 +4642,10 @@ static void e1000e_disable_l1aspm(struct pci_dev *pdev)
* Unfortunately this feature saves about 1W power consumption when
* active.
*/
+
+ if (pdev->device != E1000_DEV_ID_82573L)
+ return;
+
pos = pci_find_capability(pdev, PCI_CAP_ID_EXP);
pci_read_config_word(pdev, pos + PCI_EXP_LNKCTL, &val);
if (val & 0x2) {
--
1.6.6.1


2010-02-09 23:04:09

by Matthew Garrett

[permalink] [raw]
Subject: [PATCH 2/2] e1000e: Don't disable jumbo frames on 82537L due to eeprom contents

According to the 82537L errata, jumbo frames will work correctly if ASPM
is disabled. Since we disable ASPM on these devices, leave jumbo frames
enabled.

Signed-off-by: Matthew Garrett <[email protected]>
---
drivers/net/e1000e/82571.c | 12 ------------
1 files changed, 0 insertions(+), 12 deletions(-)

diff --git a/drivers/net/e1000e/82571.c b/drivers/net/e1000e/82571.c
index 02d67d0..2df00cc 100644
--- a/drivers/net/e1000e/82571.c
+++ b/drivers/net/e1000e/82571.c
@@ -381,18 +381,6 @@ static s32 e1000_get_variants_82571(struct e1000_adapter *adapter)
if (pdev->device == E1000_DEV_ID_82571EB_SERDES_QUAD)
adapter->flags &= ~FLAG_HAS_WOL;
break;
-
- case e1000_82573:
- if (pdev->device == E1000_DEV_ID_82573L) {
- if (e1000_read_nvm(&adapter->hw, NVM_INIT_3GIO_3, 1,
- &eeprom_data) < 0)
- break;
- if (!(eeprom_data & NVM_WORD1A_ASPM_MASK)) {
- adapter->flags |= FLAG_HAS_JUMBO_FRAMES;
- adapter->max_hw_frame_size = DEFAULT_JUMBO;
- }
- }
- break;
default:
break;
}
--
1.6.6.1

2010-02-12 20:39:07

by David Miller

[permalink] [raw]
Subject: Re: [PATCH 1/2] e1000e: Only disable ASPM on 82573L devices


Intel folks, are you looking at these patches?

Thanks.

2010-02-12 20:54:28

by Jesse Brandeburg

[permalink] [raw]
Subject: Re: [PATCH 1/2] e1000e: Only disable ASPM on 82573L devices



On Fri, 12 Feb 2010, David Miller wrote:
> Intel folks, are you looking at these patches?

Hi Dave, yes we're looking at them but due to Bruce being out, we need to
wait until next week to reply. If you can wait, we'll make sure they come
through Jeff or receive comments after full review.

It's a bit of a scary area to mess with as there were lots of ASPM related
bugs in the hardware in this hardware generation (system chipsets and
82573).