Patchwork [RESEND] PCI: Allow pcie_aspm=force to work even when FADT indicates it is unsupported

login
register
mail settings
Submitter Colin King
Date Nov. 27, 2012, 2:09 p.m.
Message ID <1354025380-19092-1-git-send-email-colin.king@canonical.com>
Download mbox | patch
Permalink /patch/202235/
State Accepted
Headers show

Comments

Colin King - Nov. 27, 2012, 2:09 p.m.
From: Colin Ian King <colin.king@canonical.com>

BugLink: http://bugs.launchpad.net/bugs/962038

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.

Signed-off-by: Colin Ian King <colin.king@canonical.com>
---
 drivers/pci/pcie/aspm.c | 3 +++
 1 file changed, 3 insertions(+)
Bjorn Helgaas - Jan. 14, 2013, 11:33 p.m.
On Tue, Nov 27, 2012 at 7:09 AM, Colin King <colin.king@canonical.com> wrote:
> From: Colin Ian King <colin.king@canonical.com>
>
> BugLink: http://bugs.launchpad.net/bugs/962038
>
> 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.
>
> Signed-off-by: Colin Ian King <colin.king@canonical.com>

I applied this to my for-linus branch, so it should appear in v3.8.
Thanks, and sorry for the delay in applying this.

Bjorn

> ---
>  drivers/pci/pcie/aspm.c | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/drivers/pci/pcie/aspm.c b/drivers/pci/pcie/aspm.c
> index 213753b..449f257 100644
> --- a/drivers/pci/pcie/aspm.c
> +++ b/drivers/pci/pcie/aspm.c
> @@ -773,6 +773,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.8.0
>
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/drivers/pci/pcie/aspm.c b/drivers/pci/pcie/aspm.c
index 213753b..449f257 100644
--- a/drivers/pci/pcie/aspm.c
+++ b/drivers/pci/pcie/aspm.c
@@ -773,6 +773,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
 	 */