mirror of
https://git.proxmox.com/git/mirror_ubuntu-kernels.git
synced 2026-01-06 01:12:43 +00:00
This driver allows sending DMA traffic over XDomain connection. Specifically over a loopback connection using either a Thunderbolt/USB4 cable that is connected back to the host router port, or a special loopback dongle that has RX and TX lines crossed. This can be useful at manufacturing floor to check whether Thunderbolt/USB4 ports are functional. The driver exposes debugfs directory under the XDomain service that can be used to configure the driver, start the test and check the results. If a loopback dongle is used the steps to send and receive 1000 packets can be done like: # modprobe thunderbolt_dma_test # echo 1000 > /sys/kernel/debug/thunderbolt/<service_id>/dma_test/packets_to_receive # echo 1000 > /sys/kernel/debug/thunderbolt/<service_id>/dma_test/packets_to_send # echo 1 > /sys/kernel/debug/thunderbolt/<service_id>/dma_test/test # cat /sys/kernel/debug/thunderbolt/<service_id>/dma_test/status When a cable is connected back to host then there are two Thunderbolt services, one is configured for receiving (does not matter which one): # modprobe thunderbolt_dma_test # echo 1000 > /sys/kernel/debug/thunderbolt/<service_a>/dma_test/packets_to_receive # echo 1 > /sys/kernel/debug/thunderbolt/<service_a>/dma_test/test The other one for sending: # echo 1000 > /sys/kernel/debug/thunderbolt/<service_b>/dma_test/packets_to_send # echo 1 > /sys/kernel/debug/thunderbolt/<service_b>/dma_test/test Results can be read from both services status attributes. Signed-off-by: Isaac Hazan <isaac.hazan@intel.com> Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com> Acked-by: Yehezkel Bernat <YehezkelShB@gmail.com> Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
||
|---|---|---|
| .. | ||
| acpi.c | ||
| cap.c | ||
| ctl.c | ||
| ctl.h | ||
| debugfs.c | ||
| dma_port.c | ||
| dma_port.h | ||
| dma_test.c | ||
| domain.c | ||
| eeprom.c | ||
| icm.c | ||
| Kconfig | ||
| lc.c | ||
| Makefile | ||
| nhi_ops.c | ||
| nhi_regs.h | ||
| nhi.c | ||
| nhi.h | ||
| nvm.c | ||
| path.c | ||
| property.c | ||
| quirks.c | ||
| retimer.c | ||
| sb_regs.h | ||
| switch.c | ||
| tb_msgs.h | ||
| tb_regs.h | ||
| tb.c | ||
| tb.h | ||
| test.c | ||
| tmu.c | ||
| tunnel.c | ||
| tunnel.h | ||
| usb4.c | ||
| xdomain.c | ||