From: Mika Westerberg <mika.westerberg@linux.intel.com>
To: James Taylor <jrtaylor11@gmail.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, 9 Nov 2026 12:18:52 +0100 [thread overview]
Message-ID: <20261109111852.GQ176724@black.igk.intel.com> (raw)
In-Reply-To: <1794143745.17311.hermes@gmail.com>
Hi,
On Sun, Nov 08, 2026 at 01:15:45PM +0000, James Taylor wrote:
> Hi,
>
> (Resend as plain text. The first copy was rejected by the list for HTML.
> Mika, apologies for the duplicate.)
>
> I'm reporting a link-speed problem on an AMD Phoenix USB4 host with a
> Thunderbolt 5 (Barlow Ridge) device. I think the register data points at
> host firmware, and I'd like to know whether the connection manager has any
> supported way to influence it.
>
> Setup
> - Host: Minisforum UM890 Pro (AMD Ryzen 9 8945HS / Phoenix, "Pink Sardine"
> USB4 NHI 1022:1668/1669), BIOS 1.06, AGESA PhoenixPI-FP8-FP7 1.2.0.0a
> - Device: Minisforum DEG2 eGPU dock, Intel JHL9480 (8086:5786), NVM 62.42,
> vendor 0x41f device 0xd002
> - Cable: StarTech TBLT5MM50CM240W (0.5 m, TB5). One retimer is enumerated:
> 1-0:2.1 vendor=0x7fea device=0x1032
> - Kernel: 7.2.15, software CM, thunderbolt.host_reset=0 (also tested
> host_reset=1: same result)
>
> Symptom
> The link always comes up 2 x Gen2 (rx/tx 10.0 Gb/s, 2 lanes),
> usb4_port2/link = "tbt". It's deterministic across replug, host_reset and
> reboots. A USB4 v1 device (ASM2464PD enclosure) on the same host port, with
> a different cable, trains Gen3 x2.
>
> Registers (debugfs)
> Host 1-0 port2:
> LANE_ADP_CS_0 = 0x003c01c0 (supported Gen2|Gen3)
> LANE_ADP_CS_1 = 0x4828003c (target Gen3, current Gen2, width 2)
> PORT_CS_18 = 0x00002f00 (TCM set)
> SB 0x0c LINK_CONF = 03 d3 03
> Device 1-2 port1:
> LANE_ADP_CS_0 = 0x0cfe01c0 (supported Gen2|Gen3|Gen4)
> LANE_ADP_CS_1 = 0x4828003e (target Gen4, current Gen2)
> PORT_CS_18 = 0x00902f01 (TCM set)
> SB 0x0c LINK_CONF = 03 f3 1b
>
> The two LINK_CONF values differ in bit 13. If I map the fields in the USB4
> order (enabling decisions, rsvd, enabling requests, rsvd, bonding, Gen3
> support, RS-FEC Gen2/Gen3, SB channel support, TBT3 speeds, Gen4, asym...),
> the host advertises Gen3 Support = 0 and the device advertises Gen3
> Support = 1. I took the field positions from a protocol-analyser field list
> rather than the spec text, so please correct me if the layout is wrong.
> Under that reading, the host's link characteristics exclude Gen3 even though
> its lane adapter supports and targets Gen3, which would explain Gen2.
>
> Experiment
> With a thunderbolt.ko built with CONFIG_USB4_DEBUGFS_WRITE:
> - Writing "0x0c 0x03 0xf3 0x03" to 1-0/port2/sb_regs fails with -EIO, and
> the value is unchanged. So the host router appears to own this register
> (set by platform/PD firmware).
> - Toggling LANE_ADP_CS_1.LD on 1-0 port2 dropped the link. It did not
> re-establish when LD was cleared, and recovered only after reloading the
> driver with host_reset=1. Possibly worth handling separately.
>
> Questions
> 1. Is my reading of SB LINK_CONF correct, i.e. is the host-side Gen3
> Support bit what limits this link?
> 2. On AMD USB4 hosts, is there a CM-visible way (router operation, port
> config, or reset sequence) to make the host re-evaluate Gen3 support, or
> is this purely platform PD/USB4 firmware (cable/partner VDO handling with
> TB5 cables)?
> 3. Is this a known issue with Phoenix/Hawk Point hosts and USB4 v2 / TB5
> devices or cables? (Bugzilla 221822 and 221319 look related but describe
> different symptoms.)
>
> I can provide full debugfs dumps, dmesg with thunderbolt.dyndbg, or test
> patches.
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
Also please provide full dmesg with dynamic debugging enabled.
[1] https://github.com/intel/tbtools
next prev parent reply other threads:[~2026-11-09 11:18 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 [this message]
2026-11-09 11:25 ` James Taylor
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=20261109111852.GQ176724@black.igk.intel.com \
--to=mika.westerberg@linux.intel.com \
--cc=jrtaylor11@gmail.com \
--cc=linux-usb@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox