Re: [PATCH 6/7] thunderbolt: Add support for runtime PM
From: Mika Westerberg
Date: Wed Jul 25 2018 - 04:43:25 EST
On Wed, Jul 25, 2018 at 10:17:01AM +0200, Greg Kroah-Hartman wrote:
> 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.westerberg@xxxxxxxxxxxxxxx>
> > ---
> > 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?
It is based on v4.18-rc2 but I missed the fact that 007a74907dee
("thunderbolt: Notify userspace when boot_acl is changed") touches
domain.c as well. I've just rebased this patch on top of your current
char-misc-testing and will be sending it to your direction in a moment.
Sorry about that.
> I've applied the others here, thanks.
Thanks!