On Wed, Jul 25, 2018 at 11:03:20AM +0300, Mika Westerberg wrote: > When Thunderbolt host controller is set to RTD3 mode (Runtime D3) it is > present all the time. Because of this it is important to runtime suspend > the controller whenever possible. In case of ICM we have following rules > which all needs to be true before the host controller can be put to D3: > > - The controller firmware reports to support RTD3 > - All the connected devices announce support for RTD3 > - There is no active XDomain connection > > 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. > > Signed-off-by: Mika Westerberg <mika.westerb...@linux.intel.com> > --- > drivers/thunderbolt/domain.c | 42 +++++++++++- > drivers/thunderbolt/icm.c | 119 ++++++++++++++++++++++++++++++---- > drivers/thunderbolt/nhi.c | 38 ++++++++++- > drivers/thunderbolt/switch.c | 65 +++++++++++++++++-- > drivers/thunderbolt/tb.h | 10 +++ > drivers/thunderbolt/tb_msgs.h | 4 ++ > drivers/thunderbolt/xdomain.c | 18 +++++ > 7 files changed, 276 insertions(+), 20 deletions(-)
This patch did not apply to my tree at all, what branch did you make it against? I've applied the others here, thanks. greg k-h