[+cc Rafael] On Mon, Sep 14, 2020 at 08:34:03PM +0000, Deucher, Alexander wrote: > FWIW, our newer GPUs have both upstream and downstream ports that > are part of the device. > > Slightly off topic, but does the current pm code handle these cases > correctly? ACPI related power handling doesn't seem to work > correctly for these devices in laptops where the GPU power control > is handled by ACPI. I guess these newer GPUs basically have a PCIe switch embedded in them? The picture in my head is this: +--------------------------------------+ +----+ |+--------+ +----------+ +--------+| |Root+------+Switch +---+Switch +---+GPU || |Port| ||Upstream| |Downstream| |Endpoint|| +----+ ||Port | |Port | | || |+--------+ +----------+ +--------+| +--------------------------------------+ Is that accurate? If not, can you share "lspci -vv" output so we can figure it out? The PCI PM code is *supposed* to work with arbitrary hierarchies, so assuming your devices are PCIe spec-compliant, it should work. It sounds like ACPI PM is involved as well, and I can't speak to that side at all. But I know Rafael can :) Bjorn