Hi PCI/ACPI PM experts, Since Linux 4.8, nouveau switched to rely on the PCIe port driver to transition to D3cold. This however does not happen for an Acer Aspire V7-582PG (Haswell, NVIDIA GTX 750M) from Rick. Any idea why? acpidump, lspci, dmesg and other details can be found in the linked bug below. Kind regards, Peter On Wed, Oct 26, 2016 at 10:42:07PM +0000, bugzilla-daemon@xxxxxxxxxxxxxxx wrote: > https://bugs.freedesktop.org/show_bug.cgi?id=98398 > > --- Comment #11 from Peter Wu <peter@xxxxxxxxxxxxx> --- > So 4.7 and before used the "DSM" method on runtime-suspend: > - \_SB.PCI0.RP05.PEGP._DSM would be invoked to enable Optimus > - \_SB.PCI0.RP05.PEGP._PS3 is then invoked which would enter D3cold > (note, this method is still used in 4.8 on older laptops or with the > pcie_pm_port=off kernel option) > > Since 4.8, _DSM is not called anymore by nouveau (when support from the PCI > core is detected) and this sequence should instead happen: > - \_SB.PCI0.RP05.PEGP._PS3 (does nothing besides updating _STA) > - PCIe core removes power for the PCIe port since all its children are in > D3 and are willing to transition to D3cold. It does so by invoking > \NVP3._OFF (where \NVP3 is the power resource from \_SB.PCI0.RP05._PR3) > > That is how I think it should work in theory, but on Ricks laptop running > 4.8.4, > /sys/bus/devices/0000:1c.4/firmware_node/ does not have power_resources_D0 > devices (which I do have on my own laptop for 0000:01:0). > > The SSDT1 of Rick's Acer laptop shows this structure: > > If (\_OSI ("Windows 2013")) > { > Scope (\_SB.PCI0.RP05) > { > //... > Name (_PR0, Package (0x01) // _PR0: Power Resources for D0 > { > NVP3 > }) > Name (_PR2, Package (0x01) // _PR2: Power Resources for D2 > { > NVP2 > }) > Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot > { > NVP3 > }) > // ... > Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 > { > } > > Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 > { > } > } > > Name (MSD3, Zero) > PowerResource (NVP3, 0x00, 0x0000) > { > Name (_STA, One) // _STA: Status > // ... > > Method (_ON, 0, NotSerialized) // _ON_: Power On > { > // ... > } > > Method (_OFF, 0, NotSerialized) // _OFF: Power Off > { > // ... > } > } > > The dmesg does show "ACPI: Power Resource [NVP3] (on)", so I guess that the > methods are found. It is a mystery to me why the "power_resources_Dx" files are > not created, possibly breaking PM. -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html