Re: [PATCH 5/5] thunderbolt: Add support for runtime PM

From: Lukas Wunner
Date: Sat Jul 07 2018 - 17:14:08 EST


On Mon, Jun 18, 2018 at 02:07:31PM +0300, Mika Westerberg wrote:
> Implement this using standard Linux runtime PM APIs so that when all the
> children devices are runtime suspended, the Thunderbolt host controller
> PCI device is runtime suspended as well. The ICM firmware then starts
> powering down power domains towards RTD3 but it can prevent this if it
> detects that there is an active Display Port stream (this is not visible
> to the software, though).
>
> The Thunderbolt host controller will be runtime resumed either when
> there is a remote wake event (device is connected or disconnected), or
> when there is access from userspace that requires hardware access.

IIUC, if there is no xdomain, after 15 s all switch devices as well as
the domain device and the NHI will have runtime suspended. The control
channel is torn down as well, so you can no longer receive notifications
over it. Then how is wakeup of the NHI signalled on hotplug/unplug?
Do you get a PME for the NHI device? Because I'm fairly certain that
I do not get a PME for the Light Ridge in my MacBook Pro, but I'll test
this once more and modify negotiate_os_control() to grant PME control
to the OS.

Thanks,

Lukas