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@xxxxxxxxxxxxxxxxxxx>