From: James Taylor <jrtaylor11@gmail.com>
To: mika.westerberg@linux.intel.com
Cc: linux-usb@vger.kernel.org
Subject: Re: thunderbolt: AMD Phoenix USB4 host advertises Gen3 Support=0 in SB LINK_CONF with TB5 device, link stuck at Gen2
Date: Mon, 09 Nov 2026 11:25:45 +0000 [thread overview]
Message-ID: <1794223545.366398.reply.hermes@gmail.com> (raw)
In-Reply-To: <20261109111852.GQ176724@black.igk.intel.com>
[-- Attachment #1: Type: text/plain, Size: 7509 bytes --]
Hi Mika,
On Mon, Nov 09, 2026 at 12:18:52PM +0100, Mika Westerberg wrote:
> Please use tbdump from tbtools [1]. It knows the registers. Something like
> this:
>
> https://github.com/intel/tbtools/wiki/Useful-Commands#dump-lane-adapter-capability-for-current-link-capabilities-and-status
Thanks, here it is (tbtools 0.8.0). Domain 1 route 0 is the AMD host
router, route 2 is the DEG2 (JHL9480). Both lane adapters on each side
are included, followed by tbadapters for reference.
tbtools 0.8.0, kernel 7.2.15, BIOS 1.06, 2026-11-09 11:23 UTC
# tblist -A
Domain 0
Domain 0 Route 0: 0000:0000
Domain 1
Domain 1 Route 0: 0000:0000
Domain 1 Route 0 Adapter 2 Index 1: 7fea:1032
Domain 1 Route 2: 041f:d002 Micro Computer (HK) Tech. Ltd. TBGAA
# tbdump -d 1 -r 0 -a 2 -N 2 -vv LANE_ADP_CS_0
0x0080 0x003c01c0 0b00000000 00111100 00000001 11000000 .<.. LANE_ADP_CS_0
[00:07] 0xc0 Next Capability Pointer
[08:15] 0x1 Capability ID
[16:19] 0xc Supported Link Speeds
[20:21] 0x3 Supported Link Widths (SLW)
[22:23] 0x0 Gen 4 Asymmetric Support (G4AS)
[26:26] 0x0 CL0s Support
[27:27] 0x0 CL1 Support
[28:28] 0x0 CL2 Support
0x0081 0x4828003c 0b01001000 00101000 00000000 00111100 H(.< LANE_ADP_CS_1
[00:03] 0xc Target Link Speed → Router shall attempt Gen 3 speed
[04:05] 0x3 Target Link Width → Establish a Symmetric Link
[06:07] 0x0 Target Asymmetric Link → Establish Symmetric Link
[10:10] 0x0 CL0s Enable
[11:11] 0x0 CL1 Enable
[12:12] 0x0 CL2 Enable
[14:14] 0x0 Lane Disable (LD)
[15:15] 0x0 Lane Bonding (LB)
[16:19] 0x8 Current Link Speed → Gen 2
[20:25] 0x2 Negotiated Link Width → Symmetric Link (x2)
[26:29] 0x2 Adapter State → CL0
[30:30] 0x1 PM Secondary (PMS)
# tbdump -d 1 -r 0 -a 3 -N 2 -vv LANE_ADP_CS_0
0x0080 0x003c0100 0b00000000 00111100 00000001 00000000 .<.. LANE_ADP_CS_0
[00:07] 0x0 Next Capability Pointer
[08:15] 0x1 Capability ID
[16:19] 0xc Supported Link Speeds
[20:21] 0x3 Supported Link Widths (SLW)
[22:23] 0x0 Gen 4 Asymmetric Support (G4AS)
[26:26] 0x0 CL0s Support
[27:27] 0x0 CL1 Support
[28:28] 0x0 CL2 Support
0x0081 0x4828003c 0b01001000 00101000 00000000 00111100 H(.< LANE_ADP_CS_1
[00:03] 0xc Target Link Speed → Router shall attempt Gen 3 speed
[04:05] 0x3 Target Link Width → Establish a Symmetric Link
[06:07] 0x0 Target Asymmetric Link → Establish Symmetric Link
[10:10] 0x0 CL0s Enable
[11:11] 0x0 CL1 Enable
[12:12] 0x0 CL2 Enable
[14:14] 0x0 Lane Disable (LD)
[15:15] 0x0 Lane Bonding (LB)
[16:19] 0x8 Current Link Speed → Gen 2
[20:25] 0x2 Negotiated Link Width → Symmetric Link (x2)
[26:29] 0x2 Adapter State → CL0
[30:30] 0x1 PM Secondary (PMS)
# tbdump -d 1 -r 2 -a 1 -N 2 -vv LANE_ADP_CS_0
0x0036 0x0cfe01c0 0b00001100 11111110 00000001 11000000 .... LANE_ADP_CS_0
[00:07] 0xc0 Next Capability Pointer
[08:15] 0x1 Capability ID
[16:19] 0xe Supported Link Speeds
[20:21] 0x3 Supported Link Widths (SLW)
[22:23] 0x3 Gen 4 Asymmetric Support (G4AS)
[26:26] 0x1 CL0s Support
[27:27] 0x1 CL1 Support
[28:28] 0x0 CL2 Support
0x0037 0x4828003e 0b01001000 00101000 00000000 00111110 H(.> LANE_ADP_CS_1
[00:03] 0xe Target Link Speed → Router shall attempt Gen 4 speed
[04:05] 0x3 Target Link Width → Establish a Symmetric Link
[06:07] 0x0 Target Asymmetric Link → Establish Symmetric Link
[10:10] 0x0 CL0s Enable
[11:11] 0x0 CL1 Enable
[12:12] 0x0 CL2 Enable
[14:14] 0x0 Lane Disable (LD)
[15:15] 0x0 Lane Bonding (LB)
[16:19] 0x8 Current Link Speed → Gen 2
[20:25] 0x2 Negotiated Link Width → Symmetric Link (x2)
[26:29] 0x2 Adapter State → CL0
[30:30] 0x1 PM Secondary (PMS)
# tbdump -d 1 -r 2 -a 2 -N 2 -vv LANE_ADP_CS_0
0x0036 0x0cfe0100 0b00001100 11111110 00000001 00000000 .... LANE_ADP_CS_0
[00:07] 0x0 Next Capability Pointer
[08:15] 0x1 Capability ID
[16:19] 0xe Supported Link Speeds
[20:21] 0x3 Supported Link Widths (SLW)
[22:23] 0x3 Gen 4 Asymmetric Support (G4AS)
[26:26] 0x1 CL0s Support
[27:27] 0x1 CL1 Support
[28:28] 0x0 CL2 Support
0x0037 0x4828003e 0b01001000 00101000 00000000 00111110 H(.> LANE_ADP_CS_1
[00:03] 0xe Target Link Speed → Router shall attempt Gen 4 speed
[04:05] 0x3 Target Link Width → Establish a Symmetric Link
[06:07] 0x0 Target Asymmetric Link → Establish Symmetric Link
[10:10] 0x0 CL0s Enable
[11:11] 0x0 CL1 Enable
[12:12] 0x0 CL2 Enable
[14:14] 0x0 Lane Disable (LD)
[15:15] 0x0 Lane Bonding (LB)
[16:19] 0x8 Current Link Speed → Gen 2
[20:25] 0x2 Negotiated Link Width → Symmetric Link (x2)
[26:29] 0x2 Adapter State → CL0
[30:30] 0x1 PM Secondary (PMS)
# tbadapters -d 1 -r 0
1: Host Interface (upstream) Enabled
2: Lane 0 CL0
3: Lane 0 CL0
4: USB 3 Down Disabled
5: PCIe Down L0
6: DisplayPort IN Disabled
7: DisplayPort IN Disabled
# tbadapters -d 1 -r 2
1: Lane 0 (upstream) CL0
2: Lane 1 CL0
3: Lane 0 CLd
4: Lane 1 CLd
5: Lane 0 CLd
6: Lane 1 CLd
7: Lane 0 CLd
8: Lane 1 CLd
9: PCIe Up L0
10: PCIe Down Disabled
11: DisplayPort OUT Disabled
12: DisplayPort OUT Disabled
13: Not implemented
14: Not implemented
15: Not implemented
16: Not implemented
17: PCIe Down Disabled
18: PCIe Down Disabled
19: DisplayPort OUT Disabled
20: USB 3 Up Disabled
21: USB 3 Down Disabled
22: USB 3 Down Disabled
23: USB 3 Down Disabled
> Also please provide full dmesg with dynamic debugging enabled.
Attached (dmesg-tb-dyndbg-20261109.txt.gz, gzipped to stay under the
list size limit). It is the full log since boot; at 68136.012005 I
reloaded the driver with "modprobe thunderbolt host_reset=0 dyndbg=+p"
so the whole enumeration of the host routers, the retimer and the DEG2
is captured with debug output. The link came up the same way again,
2 x Gen2 ("current link speed 10.0 Gb/s", "link: TBT"). The only edits
to the log are masked MAC and IP addresses.
Happy to run anything else that would help.
Thanks,
James
[-- Attachment #2: dmesg-tb-dyndbg-20261109.txt.gz --]
[-- Type: application/gzip, Size: 36429 bytes --]
next prev parent reply other threads:[~2026-11-09 11:26 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-08 13:15 thunderbolt: AMD Phoenix USB4 host advertises Gen3 Support=0 in SB LINK_CONF with TB5 device, link stuck at Gen2 James Taylor
2026-11-09 11:18 ` Mika Westerberg
2026-11-09 11:25 ` James Taylor [this message]
2026-11-09 14:20 ` Mika Westerberg
2026-11-09 14:39 ` James R Taylor
2026-11-09 15:39 ` Mika Westerberg
2026-11-09 15:41 ` James R Taylor
2026-11-09 15:50 ` Mika Westerberg
2026-11-09 15:53 ` James R Taylor
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1794223545.366398.reply.hermes@gmail.com \
--to=jrtaylor11@gmail.com \
--cc=linux-usb@vger.kernel.org \
--cc=mika.westerberg@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.