netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH V2 1/6] net/ethernet/atl1c: Disable ASPM on various chipsets
       [not found] <1321028064-644-1-git-send-email-mjg@redhat.com>
@ 2011-11-11 16:14 ` Matthew Garrett
  2011-11-14  5:30   ` David Miller
  2011-11-11 16:14 ` [PATCH V2 2/6] net/ethernet/atl1e: Disable ASPM Matthew Garrett
  2011-11-11 16:14 ` [PATCH V2 3/6] net/ethernet/jme: " Matthew Garrett
  2 siblings, 1 reply; 9+ messages in thread
From: Matthew Garrett @ 2011-11-11 16:14 UTC (permalink / raw)
  To: linux-kernel; +Cc: Matthew Garrett, netdev, jcliburn, chris.snook

The Windows driver disables ASPM support for various chipsets supported
by atl1c. This adds the same set of logic to the Linux driver. ASPM is
disabled on l1c, l2c, l2cb and l2cb2 devices except for those in Toshiba
or Lenovo devices. Data taken from
http://www.atheros.cz/atheros-inf-file.php?inf=199&chipset=51&system=6

Signed-off-by: Matthew Garrett <mjg@redhat.com>
Cc: netdev@vger.kernel.org
Cc: jcliburn@gmail.com
Cc: chris.snook@gmail.com
---
 drivers/net/ethernet/atheros/atl1c/atl1c_main.c |   15 +++++++++++++++
 1 files changed, 15 insertions(+), 0 deletions(-)

diff --git a/drivers/net/ethernet/atheros/atl1c/atl1c_main.c b/drivers/net/ethernet/atheros/atl1c/atl1c_main.c
index 02c7ed8..d91dabd 100644
--- a/drivers/net/ethernet/atheros/atl1c/atl1c_main.c
+++ b/drivers/net/ethernet/atheros/atl1c/atl1c_main.c
@@ -19,6 +19,7 @@
  * Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  */
 
+#include <linux/pci-aspm.h>
 #include "atl1c.h"
 
 #define ATL1C_DRV_VERSION "1.0.1.0-NAPI"
@@ -2652,6 +2653,20 @@ static int __devinit atl1c_probe(struct pci_dev *pdev,
 
 	int err = 0;
 
+	switch (pdev->device) {
+	case PCI_DEVICE_ID_ATTANSIC_L1C:
+	case PCI_DEVICE_ID_ATTANSIC_L2C:
+	case PCI_DEVICE_ID_ATHEROS_L2C_B:
+	case PCI_DEVICE_ID_ATHEROS_L2C_B2:
+		if (pdev->subsystem_vendor == PCI_VENDOR_ID_TOSHIBA ||
+		    pdev->subsystem_vendor == PCI_VENDOR_ID_LENOVO)
+			break;
+		pci_disable_link_state(pdev, PCIE_LINK_STATE_L0S |
+				       PCIE_LINK_STATE_L1 |
+				       PCIE_LINK_STATE_CLKPM);
+		break;
+	}
+
 	/* enable device (incl. PCI PM wakeup and hotplug setup) */
 	err = pci_enable_device_mem(pdev);
 	if (err) {
-- 
1.7.7.1

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH V2 2/6] net/ethernet/atl1e: Disable ASPM
       [not found] <1321028064-644-1-git-send-email-mjg@redhat.com>
  2011-11-11 16:14 ` [PATCH V2 1/6] net/ethernet/atl1c: Disable ASPM on various chipsets Matthew Garrett
@ 2011-11-11 16:14 ` Matthew Garrett
  2011-11-14  5:31   ` David Miller
  2011-11-11 16:14 ` [PATCH V2 3/6] net/ethernet/jme: " Matthew Garrett
  2 siblings, 1 reply; 9+ messages in thread
From: Matthew Garrett @ 2011-11-11 16:14 UTC (permalink / raw)
  To: linux-kernel; +Cc: Matthew Garrett, netdev, jcliburn, chris.snook

http://www.atheros.cz/atheros-inf-file.php?inf=209&chipset=45&system=6
indicates that ASPM is disabled on all L1E hardware. Duplicate for sanity.

Signed-off-by: Matthew Garrett <mjg@redhat.com>
Cc: netdev@vger.kernel.org
Cc: jcliburn@gmail.com
Cc: chris.snook@gmail.com
---
 drivers/net/ethernet/atheros/atl1e/atl1e_main.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/drivers/net/ethernet/atheros/atl1e/atl1e_main.c b/drivers/net/ethernet/atheros/atl1e/atl1e_main.c
index 95483bc..fc74dd1 100644
--- a/drivers/net/ethernet/atheros/atl1e/atl1e_main.c
+++ b/drivers/net/ethernet/atheros/atl1e/atl1e_main.c
@@ -2264,6 +2264,9 @@ static int __devinit atl1e_probe(struct pci_dev *pdev,
 
 	int err = 0;
 
+	pci_disable_link_state(pdev, PCIE_LINK_STATE_L0S | PCIE_LINK_STATE_L1 |
+			       PCIE_LINK_STATE_CLKPM);
+
 	err = pci_enable_device(pdev);
 	if (err) {
 		dev_err(&pdev->dev, "cannot enable PCI device\n");
-- 
1.7.7.1

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH V2 3/6] net/ethernet/jme: Disable ASPM
       [not found] <1321028064-644-1-git-send-email-mjg@redhat.com>
  2011-11-11 16:14 ` [PATCH V2 1/6] net/ethernet/atl1c: Disable ASPM on various chipsets Matthew Garrett
  2011-11-11 16:14 ` [PATCH V2 2/6] net/ethernet/atl1e: Disable ASPM Matthew Garrett
@ 2011-11-11 16:14 ` Matthew Garrett
  2011-11-14  5:31   ` David Miller
  2 siblings, 1 reply; 9+ messages in thread
From: Matthew Garrett @ 2011-11-11 16:14 UTC (permalink / raw)
  To: linux-kernel; +Cc: Matthew Garrett, netdev, cooldavid

http://driveragent.com/archive/30421/7-0-14 indicates that ASPM is
disabled on the 250 and 260. Duplicate for sanity.

Signed-off-by: Matthew Garrett <mjg@redhat.com>
Cc: netdev@vger.kernel.org
Cc: cooldavid@cooldavid.org
---
 drivers/net/ethernet/jme.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/drivers/net/ethernet/jme.c b/drivers/net/ethernet/jme.c
index 7becff1..88e7ce1 100644
--- a/drivers/net/ethernet/jme.c
+++ b/drivers/net/ethernet/jme.c
@@ -27,6 +27,7 @@
 #include <linux/module.h>
 #include <linux/kernel.h>
 #include <linux/pci.h>
+#include <linux/pci-aspm.h>
 #include <linux/netdevice.h>
 #include <linux/etherdevice.h>
 #include <linux/ethtool.h>
@@ -2860,6 +2861,9 @@ jme_init_one(struct pci_dev *pdev,
 	/*
 	 * set up PCI device basics
 	 */
+	pci_disable_link_state(pdev, PCIE_LINK_STATE_L0S | PCIE_LINK_STATE_L1 |
+			       PCIE_LINK_STATE_CLKPM);
+
 	rc = pci_enable_device(pdev);
 	if (rc) {
 		pr_err("Cannot enable PCI device\n");
-- 
1.7.7.1

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH V2 1/6] net/ethernet/atl1c: Disable ASPM on various chipsets
  2011-11-11 16:14 ` [PATCH V2 1/6] net/ethernet/atl1c: Disable ASPM on various chipsets Matthew Garrett
@ 2011-11-14  5:30   ` David Miller
  2011-11-14  5:34     ` David Miller
  0 siblings, 1 reply; 9+ messages in thread
From: David Miller @ 2011-11-14  5:30 UTC (permalink / raw)
  To: mjg; +Cc: linux-kernel, netdev, jcliburn, chris.snook

From: Matthew Garrett <mjg@redhat.com>
Date: Fri, 11 Nov 2011 11:14:19 -0500

> The Windows driver disables ASPM support for various chipsets supported
> by atl1c. This adds the same set of logic to the Linux driver. ASPM is
> disabled on l1c, l2c, l2cb and l2cb2 devices except for those in Toshiba
> or Lenovo devices. Data taken from
> http://www.atheros.cz/atheros-inf-file.php?inf=199&chipset=51&system=6
> 
> Signed-off-by: Matthew Garrett <mjg@redhat.com>

Applied.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH V2 2/6] net/ethernet/atl1e: Disable ASPM
  2011-11-11 16:14 ` [PATCH V2 2/6] net/ethernet/atl1e: Disable ASPM Matthew Garrett
@ 2011-11-14  5:31   ` David Miller
  2011-11-14  5:33     ` David Miller
  0 siblings, 1 reply; 9+ messages in thread
From: David Miller @ 2011-11-14  5:31 UTC (permalink / raw)
  To: mjg; +Cc: linux-kernel, netdev, jcliburn, chris.snook

From: Matthew Garrett <mjg@redhat.com>
Date: Fri, 11 Nov 2011 11:14:20 -0500

> http://www.atheros.cz/atheros-inf-file.php?inf=209&chipset=45&system=6
> indicates that ASPM is disabled on all L1E hardware. Duplicate for sanity.
> 
> Signed-off-by: Matthew Garrett <mjg@redhat.com>

Applied.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH V2 3/6] net/ethernet/jme: Disable ASPM
  2011-11-11 16:14 ` [PATCH V2 3/6] net/ethernet/jme: " Matthew Garrett
@ 2011-11-14  5:31   ` David Miller
  0 siblings, 0 replies; 9+ messages in thread
From: David Miller @ 2011-11-14  5:31 UTC (permalink / raw)
  To: mjg; +Cc: linux-kernel, netdev, cooldavid

From: Matthew Garrett <mjg@redhat.com>
Date: Fri, 11 Nov 2011 11:14:21 -0500

> http://driveragent.com/archive/30421/7-0-14 indicates that ASPM is
> disabled on the 250 and 260. Duplicate for sanity.
> 
> Signed-off-by: Matthew Garrett <mjg@redhat.com>

Applied.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH V2 2/6] net/ethernet/atl1e: Disable ASPM
  2011-11-14  5:31   ` David Miller
@ 2011-11-14  5:33     ` David Miller
  2011-11-14 15:44       ` Matthew Garrett
  0 siblings, 1 reply; 9+ messages in thread
From: David Miller @ 2011-11-14  5:33 UTC (permalink / raw)
  To: mjg; +Cc: linux-kernel, netdev, jcliburn, chris.snook

From: David Miller <davem@davemloft.net>
Date: Mon, 14 Nov 2011 00:31:13 -0500 (EST)

> From: Matthew Garrett <mjg@redhat.com>
> Date: Fri, 11 Nov 2011 11:14:20 -0500
> 
>> http://www.atheros.cz/atheros-inf-file.php?inf=209&chipset=45&system=6
>> indicates that ASPM is disabled on all L1E hardware. Duplicate for sanity.
>> 
>> Signed-off-by: Matthew Garrett <mjg@redhat.com>
> 
> Applied.

Ummm, -ENOBUILDTESTING?!??!

drivers/net/ethernet/atheros/atl1e/atl1e_main.c: In function ‘atl1e_probe’:
drivers/net/ethernet/atheros/atl1e/atl1e_main.c:2267:2: error: implicit declaration of function ‘pci_disable_link_state’ [-Werror=implicit-function-declaration]
drivers/net/ethernet/atheros/atl1e/atl1e_main.c:2267:31: error: ‘PCIE_LINK_STATE_L0S’ undeclared (first use in this function)
drivers/net/ethernet/atheros/atl1e/atl1e_main.c:2267:31: note: each undeclared identifier is reported only once for each function it appears in
drivers/net/ethernet/atheros/atl1e/atl1e_main.c:2267:53: error: ‘PCIE_LINK_STATE_L1’ undeclared (first use in this function)
drivers/net/ethernet/atheros/atl1e/atl1e_main.c:2268:11: error: ‘PCIE_LINK_STATE_CLKPM’ undeclared (first use in this function)

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH V2 1/6] net/ethernet/atl1c: Disable ASPM on various chipsets
  2011-11-14  5:30   ` David Miller
@ 2011-11-14  5:34     ` David Miller
  0 siblings, 0 replies; 9+ messages in thread
From: David Miller @ 2011-11-14  5:34 UTC (permalink / raw)
  To: mjg; +Cc: linux-kernel, netdev, jcliburn, chris.snook


I'm reverting all of these.

You do all of that work to research the inf files and whatnot, then
you don't even build test the patches you submit?

Forget it, for something as potentially fragile as this stuff might
be, I simply cannot trust you if you can't even do due diligence
wrt. the build validation.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH V2 2/6] net/ethernet/atl1e: Disable ASPM
  2011-11-14  5:33     ` David Miller
@ 2011-11-14 15:44       ` Matthew Garrett
  0 siblings, 0 replies; 9+ messages in thread
From: Matthew Garrett @ 2011-11-14 15:44 UTC (permalink / raw)
  To: David Miller; +Cc: linux-kernel, netdev, jcliburn, chris.snook

Sorry, I screwed up there - it looks like I tested atl1c twice. Still 
inexcusable, and apologies for the wasted time.

-- 
Matthew Garrett | mjg59@srcf.ucam.org

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2011-11-14 15:44 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <1321028064-644-1-git-send-email-mjg@redhat.com>
2011-11-11 16:14 ` [PATCH V2 1/6] net/ethernet/atl1c: Disable ASPM on various chipsets Matthew Garrett
2011-11-14  5:30   ` David Miller
2011-11-14  5:34     ` David Miller
2011-11-11 16:14 ` [PATCH V2 2/6] net/ethernet/atl1e: Disable ASPM Matthew Garrett
2011-11-14  5:31   ` David Miller
2011-11-14  5:33     ` David Miller
2011-11-14 15:44       ` Matthew Garrett
2011-11-11 16:14 ` [PATCH V2 3/6] net/ethernet/jme: " Matthew Garrett
2011-11-14  5:31   ` David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).