mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] thunderbolt: Disable CL states for the Anker Prime TB5 dock
       [not found]     ` <20260924101046.GN106095@black.igk.intel.com>
@ 2026-09-24 12:26       ` Kurt Lieber
  2026-09-24 12:57         ` Mika Westerberg
  0 siblings, 1 reply; 2+ messages in thread
From: Kurt Lieber @ 2026-09-24 12:26 UTC (permalink / raw)
  To: Mika Westerberg
  Cc: linux-usb, andreas.noever, westeri, YehezkelShB, linux-kernel

The Anker Prime TB5 dock identifies itself in the DROM as 01ea:83b5.
Its router config space is an Intel Barlow Ridge 80G hub (8087:5786).
The upstream lane adapter advertises CL0s, CL1, and CL2. With CLx left
enabled, TMU uni-directional LowRes setup fails with -ENOTCONN, the USB3
and DisplayPort tunnels are aborted, and the router reconnects in a loop.
Loading thunderbolt with clx=0 keeps the link up on this machine.

Match the DROM id together with the Barlow Ridge hub id and disable CL
states for this dock only. QUIRK_NO_CLX takes the same early-out as the
module parameter, without disabling CLx for every other router.

Assisted-by: LLM
Signed-off-by: Kurt Lieber <kurt@lieber.org>
---
Runtime-tested on linux-omarchy 7.2.5-3 (LG Gram 17Z90S, Meteor Lake).
Booted with thunderbolt.clx left at the default (Y). The dock came up
once, CL0s/CL1/CL2 Enable stayed 0 while the support bits stayed 1, the
link stayed in CL0 at 40 Gb/s, and the TMU uni-directional reconnect
loop did not occur.

 drivers/thunderbolt/quirks.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/thunderbolt/quirks.c b/drivers/thunderbolt/quirks.c
--- a/drivers/thunderbolt/quirks.c
+++ b/drivers/thunderbolt/quirks.c
@@ -116,2 +116,5 @@
 	{ 0x0438, 0x020b, 0x0000, 0x0000, quirk_clx_disable },
+	/* CLx is unstable on the Anker Prime TB5 dock (DROM 01ea:83b5). */
+	{ 0x8087, PCI_DEVICE_ID_INTEL_BARLOW_RIDGE_HUB_80G_BRIDGE, 0x01ea, 0x83b5,
+		  quirk_clx_disable },
 };

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] thunderbolt: Disable CL states for the Anker Prime TB5 dock
  2026-09-24 12:26       ` [PATCH] thunderbolt: Disable CL states for the Anker Prime TB5 dock Kurt Lieber
@ 2026-09-24 12:57         ` Mika Westerberg
  0 siblings, 0 replies; 2+ messages in thread
From: Mika Westerberg @ 2026-09-24 12:57 UTC (permalink / raw)
  To: Kurt Lieber; +Cc: linux-usb, andreas.noever, westeri, YehezkelShB, linux-kernel

Hi,

On Thu, Sep 24, 2026 at 12:26:37PM +0000, Kurt Lieber wrote:
> The Anker Prime TB5 dock identifies itself in the DROM as 01ea:83b5.
> Its router config space is an Intel Barlow Ridge 80G hub (8087:5786).
> The upstream lane adapter advertises CL0s, CL1, and CL2. With CLx left
> enabled, TMU uni-directional LowRes setup fails with -ENOTCONN, the USB3
> and DisplayPort tunnels are aborted, and the router reconnects in a loop.
> Loading thunderbolt with clx=0 keeps the link up on this machine.

Hmm, I missed that it's Barlow Ridge. That should definitely support CL
states. I have one here and it for sure works. 

What's the NVM version can you check? It could be that some older ones have
issues.

> Match the DROM id together with the Barlow Ridge hub id and disable CL
> states for this dock only. QUIRK_NO_CLX takes the same early-out as the
> module parameter, without disabling CLx for every other router.
> 
> Assisted-by: LLM
> Signed-off-by: Kurt Lieber <kurt@lieber.org>
> ---
> Runtime-tested on linux-omarchy 7.2.5-3 (LG Gram 17Z90S, Meteor Lake).
> Booted with thunderbolt.clx left at the default (Y). The dock came up
> once, CL0s/CL1/CL2 Enable stayed 0 while the support bits stayed 1, the
> link stayed in CL0 at 40 Gb/s, and the TMU uni-directional reconnect
> loop did not occur.
> 
>  drivers/thunderbolt/quirks.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/thunderbolt/quirks.c b/drivers/thunderbolt/quirks.c
> --- a/drivers/thunderbolt/quirks.c
> +++ b/drivers/thunderbolt/quirks.c
> @@ -116,2 +116,5 @@
>  	{ 0x0438, 0x020b, 0x0000, 0x0000, quirk_clx_disable },
> +	/* CLx is unstable on the Anker Prime TB5 dock (DROM 01ea:83b5). */
> +	{ 0x8087, PCI_DEVICE_ID_INTEL_BARLOW_RIDGE_HUB_80G_BRIDGE, 0x01ea, 0x83b5,
> +		  quirk_clx_disable },
>  };

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-09-24 12:57 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <SJ0PR15MB4696D491504DB667AA8E0617A3812@SJ0PR15MB4696.namprd15.prod.outlook.com>
     [not found] ` <20260924073514.GM106095@black.igk.intel.com>
     [not found]   ` <SJ0PR15MB4696C6AB0D4FB7C86C420008A3812@SJ0PR15MB4696.namprd15.prod.outlook.com>
     [not found]     ` <20260924101046.GN106095@black.igk.intel.com>
2026-09-24 12:26       ` [PATCH] thunderbolt: Disable CL states for the Anker Prime TB5 dock Kurt Lieber
2026-09-24 12:57         ` Mika Westerberg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®