diff mbox

[1/2] e1000e: Only disable ASPM on 82573L devices

Message ID 1265756630-8093-1-git-send-email-mjg@redhat.com
State Awaiting Upstream, archived
Delegated to: David Miller
Headers show

Commit Message

Matthew Garrett Feb. 9, 2010, 11:03 p.m. UTC
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 <mjg@redhat.com>
---
 drivers/net/e1000e/netdev.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

Comments

David Miller Feb. 12, 2010, 8:39 p.m. UTC | #1
Intel folks, are you looking at these patches?

Thanks.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Jesse Brandeburg Feb. 12, 2010, 8:54 p.m. UTC | #2
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).
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

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) {