Linux USB
 help / color / mirror / Atom feed
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 --]

  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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox