thunderbolt: Add CL0s support for USB4 routers
authorGil Fine <gil.fine@intel.com>
Fri, 17 Dec 2021 01:16:39 +0000 (03:16 +0200)
committerMika Westerberg <mika.westerberg@linux.intel.com>
Wed, 22 Dec 2021 14:13:14 +0000 (17:13 +0300)
commit8a90e4fa3b4d6a10c96b0a04abf57bb5a16a8f4e
tree6c827d6d67aa7d5250f9d06dc59457493a5a1ca4
parenta28ec0e165ba2f90568828a2578aaa8540e13bc5
thunderbolt: Add CL0s support for USB4 routers

In this patch we add enabling of CL0s - a low power state of the link.
Low power states (called collectively CLx) are used to reduce
transmitter and receiver power when a high-speed lane is idle. For now,
we add support only for first low power state: CL0s.  We enable it, if
both sides of the link support it, and only for the first hop router.
(i.e. the first device that connected to the host router). This is
needed for better thermal management.

Signed-off-by: Gil Fine <gil.fine@intel.com>
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
drivers/thunderbolt/switch.c
drivers/thunderbolt/tb.c
drivers/thunderbolt/tb.h
drivers/thunderbolt/tb_regs.h
drivers/thunderbolt/usb4.c