linux/drivers/thunderbolt
Rajmohan Mani cf29b9afb1 thunderbolt: Add support for Time Management Unit
Time Management Unit (TMU) is included in each USB4 router. It is used
to synchronize time across the USB4 fabric. By default when USB4 router
is plugged to the domain, its TMU is turned off. This differs from
Thunderbolt (1, 2 and 3) devices whose TMU is by default configured to
bi-directional HiFi mode. Since time synchronization is needed for
proper Display Port tunneling this means we need to configure the TMU on
USB4 compliant devices.

The USB4 spec allows some flexibility on how the TMU can be configured.
This makes it possible to enable link power management states (CLx) in
certain topologies, where for example DP tunneling is not used. TMU can
also be re-configured dynamicaly depending on types of tunnels created
over the USB4 fabric.

In this patch we simply configure the TMU to be in bi-directional HiFi
mode. This way we can tunnel any kind of traffic without need to perform
complex steps to re-configure the domain dynamically. We can add more
fine-grained TMU configuration later on when we start enabling CLx
states.

Signed-off-by: Rajmohan Mani <rajmohan.mani@intel.com>
Co-developed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Link: https://lore.kernel.org/r/20191217123345.31850-8-mika.westerberg@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-12-18 15:41:15 +01:00
..
Kconfig thunderbolt: Update Kconfig entries to USB4 2019-12-18 15:39:18 +01:00
Makefile thunderbolt: Add support for Time Management Unit 2019-12-18 15:41:15 +01:00
cap.c thunderbolt: Make tb_switch_find_cap() available to other files 2019-12-18 15:40:36 +01:00
ctl.c thunderbolt: Populate PG field in hot plug acknowledgment packet 2019-12-18 15:34:25 +01:00
ctl.h thunderbolt: Populate PG field in hot plug acknowledgment packet 2019-12-18 15:34:25 +01:00
dma_port.c thunderbolt: Convert rest of the driver files to use SPDX identifier 2018-10-02 15:52:08 -07:00
dma_port.h thunderbolt: Convert rest of the driver files to use SPDX identifier 2018-10-02 15:52:08 -07:00
domain.c crypto: shash - remove shash_desc::flags 2019-04-25 15:38:12 +08:00
eeprom.c thunderbolt: Add initial support for USB4 2019-12-18 15:38:55 +01:00
icm.c thunderbolt: Do not start firmware unless asked by the user 2019-11-02 12:13:31 +03:00
lc.c thunderbolt: Add Display Port adapter pairing and resource management 2019-11-02 12:13:31 +03:00
nhi.c thunderbolt: Add initial support for USB4 2019-12-18 15:38:55 +01:00
nhi.h thunderbolt: Add initial support for USB4 2019-12-18 15:38:55 +01:00
nhi_ops.c thunderbolt: Drop unnecessary read when writing LC command in Ice Lake 2019-10-08 12:08:21 +03:00
nhi_regs.h thunderbolt: Add support for Intel Ice Lake 2019-08-26 12:15:06 +03:00
path.c thunderbolt: Add bandwidth management for Display Port tunnels 2019-11-02 12:13:31 +03:00
property.c thunderbolt: property: Fix a missing check of kzalloc 2019-03-28 11:30:47 +03:00
switch.c thunderbolt: Add support for Time Management Unit 2019-12-18 15:41:15 +01:00
tb.c thunderbolt: Add support for Time Management Unit 2019-12-18 15:41:15 +01:00
tb.h thunderbolt: Add support for Time Management Unit 2019-12-18 15:41:15 +01:00
tb_msgs.h thunderbolt: Populate PG field in hot plug acknowledgment packet 2019-12-18 15:34:25 +01:00
tb_regs.h thunderbolt: Add support for Time Management Unit 2019-12-18 15:41:15 +01:00
tmu.c thunderbolt: Add support for Time Management Unit 2019-12-18 15:41:15 +01:00
tunnel.c thunderbolt: Add initial support for USB4 2019-12-18 15:38:55 +01:00
tunnel.h thunderbolt: Add bandwidth management for Display Port tunnels 2019-11-02 12:13:31 +03:00
usb4.c thunderbolt: Add initial support for USB4 2019-12-18 15:38:55 +01:00
xdomain.c thunderbolt: Add initial support for USB4 2019-12-18 15:38:55 +01:00