RE: [PATCH v3] Add driver to force WMI Thunderbolt controller power status

From: Mario.Limonciello
Date: Tue Sep 12 2017 - 15:31:52 EST


> -----Original Message-----
> From: Darren Hart [mailto:dvhart@xxxxxxxxxxxxx]
> Sent: Monday, September 11, 2017 4:45 PM
> To: Limonciello, Mario <Mario_Limonciello@xxxxxxxx>
> Cc: LKML <linux-kernel@xxxxxxxxxxxxxxx>; platform-driver-x86@xxxxxxxxxxxxxxx;
> Richard Hughes <hughsient@xxxxxxxxx>; Yehezkel Bernat
> <yehezkelshb@xxxxxxxxx>; Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>
> Subject: Re: [PATCH v3] Add driver to force WMI Thunderbolt controller power
> status
>
> On Fri, Sep 08, 2017 at 10:23:11AM -0500, Mario Limonciello wrote:
> > Current implementations of Intel Thunderbolt controllers will go
> > into a low power mode when not in use.
> >
> > Many machines containing these controllers also have a GPIO wired up
> > that can force the controller awake. This is offered via a ACPI-WMI
> > interface intended to be manipulated by a userspace utility.
> >
> > This mechanism is provided by Intel to OEMs to include in BIOS.
> > It uses an industry wide GUID that is populated in a separate _WDG
> > entry with no binary MOF.
> >
> > This interface allows software such as fwupd to wake up thunderbolt
> > controllers to query the firmware version or flash new firmware.
> >
> > Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxxx>
>
> Queued for testing, thanks everyone.
>
> --
> Darren Hart
> VMware Open Source Technology Center

Darren,

Thanks.

FYI to those that would like to test this, the associated userspace
code that is paired with this was just merged to fwupd master.
https://github.com/hughsie/fwupd/commit/8f17e1ccf4f68b3fb7015a41acc4cbb784c1f776

It's done in a way that if another GUID ever needs to be added for force-power
it will be no changes for userspace, and if another driver is introduced it will
be minimal changes (what drivers the code matches on is hardcoded).

If you would like to experiment with it, instructions for building fwupd
are available here:
https://github.com/hughsie/fwupd/wiki/Compilation

If you find any problems, feel free to file an issue with fwupd on Github.

Thanks,