On Wed, Sep 23, 2020 at 02:15:09PM +0200, Lukas Wunner wrote: > I've just taken a look at the ACPI dumps provided by Michal Rostecki > and Arthur Borsboom in the Gitlab bugs linked below. The topology > looks like this: > > 00:01.1 Root Port [\_SB.PCI0.GPP0] > 01:00.0 Switch Upstream [\_SB.PCI0.GPP0.SWUS] > 02:00.0 Switch Downstream [\_SB.PCI0.GPP0.SWUS.SWDS] > 03:00.0 dGPU [\_SB.PCI0.GPP0.SWUS.SWDS.VGA] > 03:00.1 dGPU Audio [\_SB.PCI0.GPP0.SWUS.SWDS.HDAU] > > The Root Port is hotplug-capable but is not suspended because we only > allow that for Thunderbolt hotplug ports or root ports with Microsoft's > HotPlugSupportInD3 _DSD property. However, that _DSD is not present > in the ACPI dumps and the Root Port is obviously not a Thunderbolt > port either. I took another, closer look at the ACPI tables and couldn't find anything specific about the Root Port or the GPU below, save for Power Resources and corresponding _PS0 / _PS3 methods in the Root Port's namespace. If a hotplug port is explicitly power manageable by ACPI through these methods, it should be safe to suspend it to D3. I wouldn't be surprised if that's what Windows does. So I've just submitted a patch to whitelist such ports for D3. It has been tested successfully by two users with affected laptops: https://lore.kernel.org/linux-pci/cea9071dc46025f0d89cdfcec0642b7bfa45968a.1601614985.git.lukas@xxxxxxxxx/ Thanks, Lukas