xref: /linux/Documentation/ABI/testing/configfs-thunderbolt_stream (revision 364f4a55c661641c02c86a849f0608d8fc3c0006)
1What:		/sys/kernel/config/thunderbolt/stream/<xdomain>.<service>
2Date:		Sep 2026
3KernelVersion:	v7.2
4Contact:	Mika Westerberg <mika.westerberg@linux.intel.com>
5Description:
6		Configuration group for a stream Thunderbolt/USB4
7		service. It is possible to create groups even if there
8		is no connection yet to the other host. Once a
9		connection established and there is stream service on
10		the remote side that matches, this configuration is
11		applied to it.
12
13		To find the service name you can run tblist from tbtools [1]:
14
15		  # tblist -A
16		  ...
17		  Domain 0 Route 3 Index 0: stream
18
19		[1] https://github.com/intel/tbtools
20
21What:		/sys/kernel/config/thunderbolt/stream/<xdomain>.<service>/$name
22Date:		Sep 2026
23KernelVersion:	v7.2
24Contact:	Mika Westerberg <mika.westerberg@linux.intel.com>
25Description:
26		Creates new stream with $name and fills it with the
27		default values. If there is an advertised remote stream
28		with the same name, uses its values as the default.
29
30What:		/sys/kernel/config/thunderbolt/stream/<xdomain>.<service>/$name/index
31Date:		Sep 2026
32KernelVersion:	v7.2
33Contact:	Mika Westerberg <mika.westerberg@linux.intel.com>
34Description:
35		This matches the X in /dev/tbstreamX and allows userspace
36		to map the configfs directory to the corresponding character
37		device.
38
39What:		/sys/kernel/config/thunderbolt/stream/<xdomain>.<service>/$name/in_hopid
40Date:		Sep 2026
41KernelVersion:	v7.2
42Contact:	Mika Westerberg <mika.westerberg@linux.intel.com>
43Description:
44		In HopID used with the read path of the tunnel. Available HopIDs
45		for tunneling start from 8. You can pass also -1 for automatic
46		allocation. The allocated value can be read here. Writing 0 will
47		de-allocate if the stream is not in use.
48
49		To figure out the maximum HopID you can run tbget from
50		tbtools for the lane adapter. For example below we check
51		for lane adapter number 1 (first USB4 port):
52
53		  # tbget -r 0 -a 1 -D ADP_CS_5.Max\ Input\ HopID
54		  19
55
56		This allows to use anything between 8 and 19 inclusive.
57
58What:		/sys/kernel/config/thunderbolt/stream/<xdomain>.<service>/$name/out_hopid
59Date:		Sep 2026
60KernelVersion:	v7.2
61Contact:	Mika Westerberg <mika.westerberg@linux.intel.com>
62Description:
63		Out HopID used with the write path of the tunnel. Available HopIDs
64		for tunneling start from 8. You can pass also -1 for automatic
65		allocation. The allocated value can be read here. Writing 0 will
66		de-allocate if the stream is not in use. See @in_hopid
67		for how to figure out the maximum HopID.
68
69What:		/sys/kernel/config/thunderbolt/stream/<xdomain>.<service>/$name/ring_size
70Date:		Sep 2026
71KernelVersion:	v7.2
72Contact:	Mika Westerberg <mika.westerberg@linux.intel.com>
73Description:
74		Size of the TX/RX rings. Can be adjusted between 32 and
75		4096. The default is 256.
76
77What:		/sys/kernel/config/thunderbolt/stream/<xdomain>.<service>/$name/throttling
78Date:		Sep 2026
79KernelVersion:	v7.2
80Contact:	Mika Westerberg <mika.westerberg@linux.intel.com>
81Description:
82		Interrupt throttling rate in ns. Lower values can give
83		better latency. The default is 8192 ns.
84