mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-01 10:45:49 +00:00
54e418106c
This adds debugfs interface that can be used for debugging possible issues in hardware/software. It exposes router and adapter config spaces through files like this: /sys/kernel/debug/thunderbolt/<DEVICE>/regs /sys/kernel/debug/thunderbolt/<DEVICE>/<PORT1>/regs /sys/kernel/debug/thunderbolt/<DEVICE>/<PORT1>/path /sys/kernel/debug/thunderbolt/<DEVICE>/<PORT1>/counters /sys/kernel/debug/thunderbolt/<DEVICE>/<PORT2>/regs /sys/kernel/debug/thunderbolt/<DEVICE>/<PORT2>/path /sys/kernel/debug/thunderbolt/<DEVICE>/<PORT2>/counters ... The "regs" is either the router or port configuration space register dump. The "path" is the port path configuration space and "counters" is the optional counters configuration space. These files contains one register per line so it should be easy to use normal filtering tools to find the registers of interest if needed. The router and adapter regs file becomes writable when CONFIG_USB4_DEBUGFS_WRITE is enabled (which is not supposed to be done in production systems) and in this case the developer can write "offset value" lines there to modify the hardware directly. For convenience this also supports the long format the read side produces (but ignores the additional fields). The counters file can be written even when CONFIG_USB4_DEBUGFS_WRITE is not enabled and it is only used to clear the counter values. Signed-off-by: Gil Fine <gil.fine@intel.com> Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com> Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
33 lines
991 B
Plaintext
33 lines
991 B
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
menuconfig USB4
|
|
tristate "Unified support for USB4 and Thunderbolt"
|
|
depends on PCI
|
|
select APPLE_PROPERTIES if EFI_STUB && X86
|
|
select CRC32
|
|
select CRYPTO
|
|
select CRYPTO_HASH
|
|
select NVMEM
|
|
help
|
|
USB4 and Thunderbolt driver. USB4 is the public specification
|
|
based on the Thunderbolt 3 protocol. This driver is required if
|
|
you want to hotplug Thunderbolt and USB4 compliant devices on
|
|
Apple hardware or on PCs with Intel Falcon Ridge or newer.
|
|
|
|
To compile this driver a module, choose M here. The module will be
|
|
called thunderbolt.
|
|
|
|
config USB4_DEBUGFS_WRITE
|
|
bool "Enable write by debugfs to configuration spaces (DANGEROUS)"
|
|
depends on USB4
|
|
help
|
|
Enables writing to device configuration registers through
|
|
debugfs interface.
|
|
|
|
Only enable this if you know what you are doing! Never enable
|
|
this for production systems or distro kernels.
|
|
|
|
config USB4_KUNIT_TEST
|
|
bool "KUnit tests"
|
|
depends on KUNIT=y
|
|
depends on USB4=y
|