Re: [PATCH 0/9] thunderbolt: Offline on-board retimer NVM upgrade support

Greg Kroah-Hartman
2021-05-20T08:59:16Z

On Wed, May 19, 2021 at 05:12:50PM +0300, Mika Westerberg wrote:
> Hi all,
>
> USB4 retimers are only accessible when the USB4 is up. However, sometimes
> it may be useful to be able to upgrade on-board retimers even if the link
> is not up. For instance if the user simply does not have any USB4 devices.
>
> Making retimers accessible in "offline" mode requires some help from the
> platform firmware (ACPI in our case) to turn on power to the retimers and
> cycle them through different modes to get the sideband link up. This may
> also involve other firmwares such as Embedded Controller (as it is the case
> with recent Chromebooks).
>
> This series adds support for "offline" retimer NVM upgrade so that it first
> exposes each USB4 port to the userspace. If the platform firmware provides
> a special _DSM-method (Device Specific Method) under the USB4 port ACPI
> description, we expose two attributes under the port that the userspace can
> use to put the port to offline mode and rescan for the retimers. Otherwise
> the NVM upgrade works the same way than with the online mode. We also add
> documentation to the admin-guide how this can be done.
>
> In addition to this, at least Intel USB4 devices (and retimers) allow
> running NVM authenticate (upgrade) separately from write so we make it
> possible for the userspace to run the write and authenticate in two steps.
> This allows userspace to trigger the authentication at later time, like
> when the user logs out.
>
> Mika Westerberg (4):
> thunderbolt: Log the link as TBT instead of TBT3
> thunderbolt: Add USB4 port devices
> thunderbolt: Allow router NVM authenticate separately
> thunderbolt: Check for NVM authentication status after the operation started
>
> Rajmohan Mani (5):
> thunderbolt: Add support for ACPI _DSM to power on/off retimers
> thunderbolt: Add additional USB4 port operations for retimer access
> thunderbolt: Add support for retimer NVM upgrade when there is no link
> thunderbolt: Move nvm_write_ops to tb.h
> thunderbolt: Add WRITE_ONLY and AUTHENTICATE_ONLY NVM operations for retimers

Looks good:

Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>