Hi all, This series adds support for receiver lane margining. This is standard USB4 port feature that can be used in manufacturing to check electrical robustness and quality of given USB4 port. This is a separate Kconfig option (CONFIG_USB4_DEBUGFS_MARGINING) that can be enabled by the kernels used in manufacturing floor (normal distro kernels do not need this to be enabled). This exposes a new debugfs directory "margining" under each connected USB4 port that can be used to run the margining test. This supports both hardware and software lane margining although I have only tested the former as the current Intel hardware only supports that. Mika Westerberg (4): thunderbolt: Move tb_xdomain_parent() to tb.h thunderbolt: Move port CL state functions into correct place in switch.c thunderbolt: Add helpers to check if CL states are enabled on port thunderbolt: Add support for receiver lane margining drivers/thunderbolt/Kconfig | 10 + drivers/thunderbolt/debugfs.c | 836 ++++++++++++++++++++++++++++++++++ drivers/thunderbolt/sb_regs.h | 58 +++ drivers/thunderbolt/switch.c | 235 +++++----- drivers/thunderbolt/tb.h | 27 ++ drivers/thunderbolt/usb4.c | 120 +++++ drivers/thunderbolt/xdomain.c | 9 +- 7 files changed, 1184 insertions(+), 111 deletions(-) -- 2.35.1