All of lore.kernel.org
 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 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.