Re: [PATCH] PCI: Allow pcie_aspm=force to work even when FADT indicatesit is unsupported

From: Colin Ian King
Date: Fri Mar 30 2012 - 06:05:15 EST


On 30/03/12 10:55, Andy Whitcroft wrote:
On Thu, Mar 22, 2012 at 4:49 PM, Colin King<colin.king@xxxxxxxxxxxxx> wrote:
From: Colin Ian King<colin.king@xxxxxxxxxxxxx>

Right now using pcie_aspm=force will not enable ASPM if the FADT indicates
ASPM is unsupported. However, the semantics of force should probably allow
for this, especially as they did before the ASPM disable rework with commit
3c076351c4027a56d5005a39a0b518a4ba393ce2

This patch just skips the clearing of any ASPM setup that the firmware has
carried out on this bus if pcie_aspm=force is being used.

BugLink: https://bugs.launchpad.net/ubuntu/+bug/962038

Signed-off-by: Colin Ian King<colin.king@xxxxxxxxxxxxx>
---
drivers/pci/pcie/aspm.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/drivers/pci/pcie/aspm.c b/drivers/pci/pcie/aspm.c
index 24f049e..e406429 100644
--- a/drivers/pci/pcie/aspm.c
+++ b/drivers/pci/pcie/aspm.c
@@ -783,6 +783,9 @@ void pcie_clear_aspm(struct pci_bus *bus)
{
struct pci_dev *child;

+ if (aspm_force)
+ return;
+
/*
* Clear any ASPM setup that the firmware has carried out on this bus
*/
--
1.7.9.1
Andrew, I believe the above is also needed to fix some additional
regressions with the new ASPM code. If you are picking up the one
below this probably should go with it:

+ aspm-fix-pcie-devices-with-non-pcie-children.patch added to -mm tree
Just to add, I have tested this on a variety of modern SNB i3 based laptops (Dell, Lenovo) and also user has tested this and has confirmed it works.

Colin
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/