diff mbox

PCI / ACPI: Report _OSC control mask returned on failure to get control

Message ID 201104300021.38386.rjw@sisk.pl (mailing list archive)
State New, archived
Headers show

Commit Message

Rafael Wysocki April 29, 2011, 10:21 p.m. UTC
From: Rafael J. Wysocki <rjw@sisk.pl>

If an attempt to get _OSC control of the PCIe native features from
the BIOS fails, report the resulting mask of control flags the BIOS
was willing to grant in the error message.  Moreover, if the _OSC
support mask is insufficient for requesting control of the PCIe
native features or pcie_ports_disabled is set, print a diagnostic
message containing the _OSC support mask.  This helps to diagnose
obscure _OSC-related problems on a number machines.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
---
 drivers/acpi/pci_root.c |   14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Jesse Barnes May 9, 2011, 7:30 p.m. UTC | #1
On Sat, 30 Apr 2011 00:21:38 +0200
"Rafael J. Wysocki" <rjw@sisk.pl> wrote:

> From: Rafael J. Wysocki <rjw@sisk.pl>
> 
> If an attempt to get _OSC control of the PCIe native features from
> the BIOS fails, report the resulting mask of control flags the BIOS
> was willing to grant in the error message.  Moreover, if the _OSC
> support mask is insufficient for requesting control of the PCIe
> native features or pcie_ports_disabled is set, print a diagnostic
> message containing the _OSC support mask.  This helps to diagnose
> obscure _OSC-related problems on a number machines.

Applied, thanks.
Andreas Mohr Feb. 14, 2013, 1:10 a.m. UTC | #2
Hi,

to provide an example case, on Aspire One AOA110 v0.3310, 3.8-rc7 prints:

[    0.515599] ACPI Error: [CAPB] Namespace lookup failure,
AE_ALREADY_EXISTS (2
0121018/dsfield-211)
[    0.515629] ACPI Error: Method parse/execution failed
[\_SB_.PCI0._OSC] (Node f5449680), AE_ALREADY_EXISTS
(20121018/psparse-537)
[    0.515672] ACPI: Marking method _OSC as Serialized because of
AE_ALREADY_EXISTS error
[    0.516081] ACPI Error: [CAPB] Namespace lookup failure,
AE_ALREADY_EXISTS (20121018/dsfield-211)
[    0.516107] ACPI Error: Method parse/execution failed
[\_SB_.PCI0._OSC] (Node f5449680), AE_ALREADY_EXISTS
(20121018/psparse-537)
[    0.516168] pci_root PNP0A08:00: ACPI _OSC support notification
failed, disabling PCIe ASPM
[    0.516179] pci_root PNP0A08:00: Unable to request _OSC control (_OSC
support mask: 0x08)

HTH,

Andreas Mohr
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Rafael Wysocki Feb. 14, 2013, 12:07 p.m. UTC | #3
On Thursday, February 14, 2013 02:10:27 AM Andreas Mohr wrote:
> Hi,
> 
> to provide an example case, on Aspire One AOA110 v0.3310, 3.8-rc7 prints:
> 
> [    0.515599] ACPI Error: [CAPB] Namespace lookup failure,
> AE_ALREADY_EXISTS (2
> 0121018/dsfield-211)
> [    0.515629] ACPI Error: Method parse/execution failed
> [\_SB_.PCI0._OSC] (Node f5449680), AE_ALREADY_EXISTS
> (20121018/psparse-537)
> [    0.515672] ACPI: Marking method _OSC as Serialized because of
> AE_ALREADY_EXISTS error
> [    0.516081] ACPI Error: [CAPB] Namespace lookup failure,
> AE_ALREADY_EXISTS (20121018/dsfield-211)
> [    0.516107] ACPI Error: Method parse/execution failed
> [\_SB_.PCI0._OSC] (Node f5449680), AE_ALREADY_EXISTS
> (20121018/psparse-537)
> [    0.516168] pci_root PNP0A08:00: ACPI _OSC support notification
> failed, disabling PCIe ASPM
> [    0.516179] pci_root PNP0A08:00: Unable to request _OSC control (_OSC
> support mask: 0x08)
> 
> HTH,

Unfortunately, it doesn't, because I've lost track of the whole thread in the
meantime.  Care to give a pointer?

Rafael
Andreas Mohr Feb. 14, 2013, 1:47 p.m. UTC | #4
Hi,

On Thu, Feb 14, 2013 at 01:07:02PM +0100, Rafael J. Wysocki wrote:
> Unfortunately, it doesn't, because I've lost track of the whole thread in the
> meantime.  Care to give a pointer?

In other words, you'd like to tell me rather straight that I should
stop doing such nonsense as replying to a very old patch posting with
some (questionably?) useful info related to that case?
And I here I was thinking that linking things together according to
their relations/relevancy would be a good thing :)

Your oldish patch can be seen at
https://lkml.org/lkml/2011/4/29/406

(or perhaps I should at least specify the URL reference when replying
to older activity)

Sorry & Thanks,

Andreas Mohr
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" 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

Index: linux-2.6/drivers/acpi/pci_root.c
===================================================================
--- linux-2.6.orig/drivers/acpi/pci_root.c
+++ linux-2.6/drivers/acpi/pci_root.c
@@ -596,12 +596,18 @@  static int __devinit acpi_pci_root_add(s
 			dev_info(root->bus->bridge,
 				"ACPI _OSC control (0x%02x) granted\n", flags);
 		} else {
-			dev_dbg(root->bus->bridge,
-				"ACPI _OSC request failed (code %d)\n", status);
-			printk(KERN_INFO "Unable to assume _OSC PCIe control. "
-				"Disabling ASPM\n");
+			dev_info(root->bus->bridge,
+				"ACPI _OSC request failed (%s), "
+				"returned control mask: 0x%02x\n",
+				acpi_format_exception(status), flags);
+			pr_info("ACPI _OSC control for PCIe not granted, "
+				"disabling ASPM\n");
 			pcie_no_aspm();
 		}
+	} else {
+		dev_info(root->bus->bridge,
+			 "Unable to request _OSC control "
+			 "(_OSC support mask: 0x%02x)\n", flags);
 	}
 
 	pci_acpi_add_bus_pm_notifier(device, root->bus);