Improved Thermal/Power Management For Intel "Titan Ridge" Thunderbolt Coming To Linux
Intel's Titan Ridge are the JHL7440 / JHL7540 / JHL7340 controllers providing Thunderbolt 3 in some desktop motherboards. Titan Ridge was launched back in 2018 and has been supported in the mainline Linux kernel since that point.
Intel continues improving the Thunderbolt (and USB4) Linux driver support.
While the Intel Titan Ridge driver support has been in place with Linux's Thunderbolt code, it turns out the low-power link states have not been enabled for it. But a new patch out of Intel is now enabling the low-power "CL0s" mode for Titan Ridge. CL0s is the simplest of the different CLx low-power link states.
Intel Titan Ridge controller specifications.
Intel already had the low-power link states implemented for the newer USB4 support while for Titan Ridge CL0s is being implemented for the Titan Ridge device router to enable better thermal/power management. This allows reducing the transmitter and receiver power when a high speed lane is idle. It's unfortunate such important power management functionality wasn't wired up since the Titan Ridge start, but at least it's better now than never.
This CL0s support for Titan Ridge has been picked up in the Thunderbolt development tree. Also added is an option of "clx_enabled" as a new module parameter to easily disable the CLx low-power link states should any hardware issues be discovered by users once the kernel begins putting the Thunderbolt hardware in the CL0s state. These Thunderbolt changes haven't yet been sent in as part of the USB changes for the next kernel but given the timing will presumably still make it for Linux 5.17.