Am 31.08.2016 um 13:46 schrieb Peter Wu:
On Wed, Aug 31, 2016 at 01:27:36PM +0200, Roland Singer wrote:
Am 30.08.2016 um 21:53 schrieb Peter Wu:
On Mon, Aug 29, 2016 at 11:02:10AM -0500, Bjorn Helgaas wrote:
[+cc linux-acpi, linux-kernel, dri-devel]
Hi Roland,
I have no idea how to debug this problem. Are you seeing something that suggests it may be a PCI problem?
Yes I suspect there is an ACPI and/ or PCI problem, possibly device-specific. Steps to reproduce on the affected machines:
- Load nouveau.
- Wait for it to runtime suspend.
- Invoke 'lspci', this resumes the Nvidia PCI device via nouveau.
- lspci never returns, few moments later an AML_INFINITE_LOOP is reported.
I can confirm this. Same result on my machine.
Here is a link to my ACPI tables: https://bugs.launchpad.net/lpbugreporter/+bug/752542/+attachment/4722651/+fi...
The specific source for the NVIDIA card can be found in the ssdt5.dsl file.
Method (PGON, 1, Serialized) { /* ... */ GPPR (PION, One) If ((OSYS == 0x07D9)) /* Is Windows 2009 - In my case, setting to Windows 2009 only works! */ {
[..]
} Else { LKEN (PION) } /* ... */ Return (Zero) }
If not set to Windows 2009, then this is triggered:
Method (LKEN, 1, NotSerialized) {
[..]
}
Yep, this is the same code. I stripped out irrelevant parts from the previous mail for brevity.
Is it possible to override the specific ACPI table functions (SSDT) in the DSDT? This way I could try to debug to find some more information...
See Documentation/acpi/initrd_table_override.txt and note that it is important that the tables are really located at /kernel/firmware/acpi/ in your initrd (which must be the first, even before any possible microcode updates).
What are you trying to do? For ACPI method tracing, see Documentation/acpi/method-tracing.txt
Oh, you're right.
Thanks. Right now I am overriding the DSDT, but I am not able to override the SSDT, because I have to fix and compile all the SSDT files. There are too many compile errors... Wanted to find the exact line which is responsible for the hickup.
Yes I suspect there is an ACPI and/ or PCI problem, possibly device-specific. Steps to reproduce on the affected machines:
- Load nouveau.
- Wait for it to runtime suspend.
- Invoke 'lspci', this resumes the Nvidia PCI device via nouveau.
- lspci never returns, few moments later an AML_INFINITE_LOOP is reported.
I noticed following:
1. Blacklist nouveau 2. Boot to GDM login manager (Wayland) 3. Switch to TTY with CTRL+ALT+FN2 4. Load bbswitch 5. Switch off GPU 6. run lspci -> no freeze 7. Switch to GDM 8. Login to a Wayland session (X11 won't work) 9. run lspci in a GUI terminal -> system freezes