* [PATCH] thunderbolt: Enable hidden DP OUT adapter on Dell TB16 dock
@ 2026-11-01 21:23 Grant Morphett
2026-11-01 21:29 ` sashiko-bot
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Grant Morphett @ 2026-11-01 21:23 UTC (permalink / raw)
To: Andreas Noever, Mika Westerberg, Yehezkel Bernat
Cc: linux-usb, Grant Morphett
The Dell TB16 Thunderbolt 3 dock consists of two Alpine Ridge 4C routers
in a chain: one in the captive cable module (DROM 00d4:b051 "Dell
Thunderbolt Cable") and one in the dock itself (DROM 00d4:b054 "Dell
Thunderbolt Dock"). The dock has four video connectors: mini DisplayPort,
HDMI, full size DisplayPort and VGA.
Mini DisplayPort and HDMI sit behind an MST hub on DP OUT adapter 8 of
the dock router and work fine. Full size DisplayPort and VGA are wired
to DP OUT adapter 8 of the cable router, but the cable router's DROM
marks that adapter as disabled. The software connection manager
therefore never initializes it, never tunnels DisplayPort to it, and a
monitor on the full size DisplayPort or VGA connector stays dark. Only
two external displays can be used with the dock, while all of them work
with the firmware connection manager (and under Windows).
The adapter is real: its adapter config space reports type DP/HDMI OUT
(0xe0102), it raises hot plug events when a monitor is attached to the
DisplayPort or VGA connector, and once it is enabled the DP tunnel to it
is established and the display comes up. The same DROM also fails its
CRC32 check (expected 0xaf438340, got 0xaf4383c0), so the port
disabled bit is likely just wrong rather than intentional:
1: DROM data CRC32 mismatch (expected: 0xaf438340, got: 0xaf4383c0), continuing
1:8: disabled by eeprom
acking hot plug event on 1:8
Add a quirk for the cable router that re-enables adapter 8 if its
config space confirms it is a DP OUT adapter, and initializes it the
same way tb_switch_add() does for the other ports. tb_init_port() is
made non-static for this.
With the quirk applied, both DP tunnels come up at boot and all three
external monitors work:
1:8: enabling DP OUT adapter disabled in DROM
1:8: DP OUT available
0:5 <-> 1:8 (DP): activating
301:8: DP OUT available
0:6 <-> 301:8 (DP): activating
Tested on a Lenovo ThinkPad X1 Yoga Gen 8 (Raptor Lake, USB4 host
8087:a76d) with a TB16 at dock NVM 27.0 / cable NVM 16.0, driving three
1920x1080 monitors on mini DisplayPort, HDMI and full size DisplayPort.
Assisted-by: LLM
Signed-off-by: Grant Morphett <grant@gmorph.com>
---
drivers/thunderbolt/quirks.c | 35 +++++++++++++++++++++++++++++++++++
drivers/thunderbolt/switch.c | 7 ++++---
drivers/thunderbolt/tb.h | 1 +
3 files changed, 40 insertions(+), 3 deletions(-)
diff --git a/drivers/thunderbolt/quirks.c b/drivers/thunderbolt/quirks.c
index 2722918..4529fa4 100644
--- a/drivers/thunderbolt/quirks.c
+++ b/drivers/thunderbolt/quirks.c
@@ -65,6 +65,38 @@ static void quirk_stuck_pending(struct tb_switch *sw)
}
}
+/*
+ * The DROM of the Dell TB16 cable module marks adapter 8 as disabled
+ * even though it is the DP OUT adapter wired to the dock's full size
+ * DisplayPort and VGA connectors. Enable it so that the software
+ * connection manager can tunnel DisplayPort to it.
+ */
+static void quirk_dell_tb16_dp_out(struct tb_switch *sw)
+{
+ struct tb_port *port;
+ u32 type;
+
+ if (sw->config.max_port_number < 8)
+ return;
+
+ port = &sw->ports[8];
+ if (!port->disabled)
+ return;
+
+ if (tb_port_read(port, &type, TB_CFG_PORT, 2, 1))
+ return;
+ if ((type & 0xffffff) != TB_TYPE_DP_HDMI_OUT)
+ return;
+
+ port->disabled = false;
+ if (tb_init_port(port)) {
+ port->disabled = true;
+ return;
+ }
+
+ tb_port_info(port, "enabling DP OUT adapter disabled in DROM\n");
+}
+
struct tb_quirk {
u16 hw_vendor_id;
u16 hw_device_id;
@@ -77,6 +109,9 @@ static const struct tb_quirk tb_quirks[] = {
/* Dell WD19TB supports self-authentication on unplug */
{ 0x0000, 0x0000, 0x00d4, 0xb070, quirk_force_power_link },
{ 0x0000, 0x0000, 0x00d4, 0xb071, quirk_force_power_link },
+ /* Dell TB16 cable module DROM hides the second DP OUT adapter */
+ { 0x8086, PCI_DEVICE_ID_INTEL_ALPINE_RIDGE_4C_BRIDGE, 0x00d4, 0xb051,
+ quirk_dell_tb16_dp_out },
/* Intel Titan Ridge CLx is unstable on early firmware versions */
{ 0x8086, PCI_DEVICE_ID_INTEL_TITAN_RIDGE_DD_BRIDGE, 0x0000, 0x0000,
diff --git a/drivers/thunderbolt/switch.c b/drivers/thunderbolt/switch.c
index d22d8db..e4629ed 100644
--- a/drivers/thunderbolt/switch.c
+++ b/drivers/thunderbolt/switch.c
@@ -701,15 +701,16 @@ int tb_port_reset(struct tb_port *port)
return tb_lc_reset_port(port);
}
-/*
+/**
* tb_init_port() - initialize a port
+ * @port: Port to initialize
*
- * This is a helper method for tb_switch_alloc. Does not check or initialize
+ * This is a helper method for tb_switch_add(). Does not check or initialize
* any downstream switches.
*
* Return: %0 on success, negative errno otherwise.
*/
-static int tb_init_port(struct tb_port *port)
+int tb_init_port(struct tb_port *port)
{
int res;
int cap;
diff --git a/drivers/thunderbolt/tb.h b/drivers/thunderbolt/tb.h
index e868457..cb84182 100644
--- a/drivers/thunderbolt/tb.h
+++ b/drivers/thunderbolt/tb.h
@@ -1099,6 +1099,7 @@ int tb_switch_pcie_l1_enable(struct tb_switch *sw);
int tb_switch_xhci_connect(struct tb_switch *sw);
void tb_switch_xhci_disconnect(struct tb_switch *sw);
+int tb_init_port(struct tb_port *port);
int tb_port_state(struct tb_port *port);
int tb_wait_for_port(struct tb_port *port, bool wait_if_unplugged);
int tb_port_add_nfc_credits(struct tb_port *port, int credits);
--
2.53.0
^ permalink raw reply related [flat|nested] 5+ messages in thread* Re: [PATCH] thunderbolt: Enable hidden DP OUT adapter on Dell TB16 dock
2026-11-01 21:23 [PATCH] thunderbolt: Enable hidden DP OUT adapter on Dell TB16 dock Grant Morphett
@ 2026-11-01 21:29 ` sashiko-bot
2026-11-04 12:00 ` Mika Westerberg
2026-11-06 6:26 ` [PATCH v2] " Grant Morphett
2 siblings, 0 replies; 5+ messages in thread
From: sashiko-bot @ 2026-11-01 21:29 UTC (permalink / raw)
To: Grant Morphett; +Cc: linux-usb
> The Dell TB16 Thunderbolt 3 dock consists of two Alpine Ridge 4C routers
> in a chain: one in the captive cable module (DROM 00d4:b051 "Dell
> Thunderbolt Cable") and one in the dock itself (DROM 00d4:b054 "Dell
> Thunderbolt Dock"). The dock has four video connectors: mini DisplayPort,
> HDMI, full size DisplayPort and VGA.
>
> Mini DisplayPort and HDMI sit behind an MST hub on DP OUT adapter 8 of
> the dock router and work fine. Full size DisplayPort and VGA are wired
> to DP OUT adapter 8 of the cable router, but the cable router's DROM
> marks that adapter as disabled. The software connection manager
> therefore never initializes it, never tunnels DisplayPort to it, and a
> monitor on the full size DisplayPort or VGA connector stays dark. Only
> two external displays can be used with the dock, while all of them work
> with the firmware connection manager (and under Windows).
>
> [ ... ]
> 8087:a76d) with a TB16 at dock NVM 27.0 / cable NVM 16.0, driving three
> 1920x1080 monitors on mini DisplayPort, HDMI and full size DisplayPort.
>
> Assisted-by: LLM
> Signed-off-by: Grant Morphett <grant@gmorph.com>
Sashiko has reviewed this patch and found no issues.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261101212311.10946-1-grant@gmorph.com?part=1
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] thunderbolt: Enable hidden DP OUT adapter on Dell TB16 dock
2026-11-01 21:23 [PATCH] thunderbolt: Enable hidden DP OUT adapter on Dell TB16 dock Grant Morphett
2026-11-01 21:29 ` sashiko-bot
@ 2026-11-04 12:00 ` Mika Westerberg
2026-11-06 6:26 ` [PATCH v2] " Grant Morphett
2 siblings, 0 replies; 5+ messages in thread
From: Mika Westerberg @ 2026-11-04 12:00 UTC (permalink / raw)
To: Grant Morphett
Cc: Andreas Noever, Mika Westerberg, Yehezkel Bernat, linux-usb
Hi,
On Mon, Nov 02, 2026 at 08:23:11AM +1100, Grant Morphett wrote:
> The Dell TB16 Thunderbolt 3 dock consists of two Alpine Ridge 4C routers
> in a chain: one in the captive cable module (DROM 00d4:b051 "Dell
> Thunderbolt Cable") and one in the dock itself (DROM 00d4:b054 "Dell
> Thunderbolt Dock"). The dock has four video connectors: mini DisplayPort,
> HDMI, full size DisplayPort and VGA.
>
> Mini DisplayPort and HDMI sit behind an MST hub on DP OUT adapter 8 of
> the dock router and work fine. Full size DisplayPort and VGA are wired
> to DP OUT adapter 8 of the cable router, but the cable router's DROM
> marks that adapter as disabled. The software connection manager
> therefore never initializes it, never tunnels DisplayPort to it, and a
> monitor on the full size DisplayPort or VGA connector stays dark. Only
> two external displays can be used with the dock, while all of them work
> with the firmware connection manager (and under Windows).
>
> The adapter is real: its adapter config space reports type DP/HDMI OUT
> (0xe0102), it raises hot plug events when a monitor is attached to the
> DisplayPort or VGA connector, and once it is enabled the DP tunnel to it
> is established and the display comes up. The same DROM also fails its
> CRC32 check (expected 0xaf438340, got 0xaf4383c0), so the port
> disabled bit is likely just wrong rather than intentional:
>
> 1: DROM data CRC32 mismatch (expected: 0xaf438340, got: 0xaf4383c0), continuing
> 1:8: disabled by eeprom
> acking hot plug event on 1:8
>
> Add a quirk for the cable router that re-enables adapter 8 if its
> config space confirms it is a DP OUT adapter, and initializes it the
> same way tb_switch_add() does for the other ports. tb_init_port() is
> made non-static for this.
>
> With the quirk applied, both DP tunnels come up at boot and all three
> external monitors work:
>
> 1:8: enabling DP OUT adapter disabled in DROM
> 1:8: DP OUT available
> 0:5 <-> 1:8 (DP): activating
> 301:8: DP OUT available
> 0:6 <-> 301:8 (DP): activating
>
> Tested on a Lenovo ThinkPad X1 Yoga Gen 8 (Raptor Lake, USB4 host
> 8087:a76d) with a TB16 at dock NVM 27.0 / cable NVM 16.0, driving three
> 1920x1080 monitors on mini DisplayPort, HDMI and full size DisplayPort.
Yeah, the firmware connection manager ignored the DROM entries so that's
why it worked with the TB3 hosts but fails with the USB4 software
connection manager.
> Assisted-by: LLM
> Signed-off-by: Grant Morphett <grant@gmorph.com>
> ---
> drivers/thunderbolt/quirks.c | 35 +++++++++++++++++++++++++++++++++++
> drivers/thunderbolt/switch.c | 7 ++++---
> drivers/thunderbolt/tb.h | 1 +
> 3 files changed, 40 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/thunderbolt/quirks.c b/drivers/thunderbolt/quirks.c
> index 2722918..4529fa4 100644
> --- a/drivers/thunderbolt/quirks.c
> +++ b/drivers/thunderbolt/quirks.c
> @@ -65,6 +65,38 @@ static void quirk_stuck_pending(struct tb_switch *sw)
> }
> }
>
> +/*
> + * The DROM of the Dell TB16 cable module marks adapter 8 as disabled
> + * even though it is the DP OUT adapter wired to the dock's full size
> + * DisplayPort and VGA connectors. Enable it so that the software
> + * connection manager can tunnel DisplayPort to it.
> + */
> +static void quirk_dell_tb16_dp_out(struct tb_switch *sw)
> +{
> + struct tb_port *port;
> + u32 type;
> +
> + if (sw->config.max_port_number < 8)
> + return;
> +
> + port = &sw->ports[8];
> + if (!port->disabled)
> + return;
> +
> + if (tb_port_read(port, &type, TB_CFG_PORT, 2, 1))
> + return;
> + if ((type & 0xffffff) != TB_TYPE_DP_HDMI_OUT)
> + return;
> +
> + port->disabled = false;
> + if (tb_init_port(port)) {
> + port->disabled = true;
> + return;
> + }
> +
> + tb_port_info(port, "enabling DP OUT adapter disabled in DROM\n");
> +}
> +
> struct tb_quirk {
> u16 hw_vendor_id;
> u16 hw_device_id;
> @@ -77,6 +109,9 @@ static const struct tb_quirk tb_quirks[] = {
> /* Dell WD19TB supports self-authentication on unplug */
> { 0x0000, 0x0000, 0x00d4, 0xb070, quirk_force_power_link },
> { 0x0000, 0x0000, 0x00d4, 0xb071, quirk_force_power_link },
> + /* Dell TB16 cable module DROM hides the second DP OUT adapter */
> + { 0x8086, PCI_DEVICE_ID_INTEL_ALPINE_RIDGE_4C_BRIDGE, 0x00d4, 0xb051,
> + quirk_dell_tb16_dp_out },
>
> /* Intel Titan Ridge CLx is unstable on early firmware versions */
> { 0x8086, PCI_DEVICE_ID_INTEL_TITAN_RIDGE_DD_BRIDGE, 0x0000, 0x0000,
> diff --git a/drivers/thunderbolt/switch.c b/drivers/thunderbolt/switch.c
> index d22d8db..e4629ed 100644
> --- a/drivers/thunderbolt/switch.c
> +++ b/drivers/thunderbolt/switch.c
> @@ -701,15 +701,16 @@ int tb_port_reset(struct tb_port *port)
> return tb_lc_reset_port(port);
> }
>
> -/*
> +/**
> * tb_init_port() - initialize a port
> + * @port: Port to initialize
> *
> - * This is a helper method for tb_switch_alloc. Does not check or initialize
> + * This is a helper method for tb_switch_add(). Does not check or initialize
> * any downstream switches.
> *
> * Return: %0 on success, negative errno otherwise.
> */
> -static int tb_init_port(struct tb_port *port)
> +int tb_init_port(struct tb_port *port)
I'm not too happy to expose this. Instead let's add tb_check_drom_quirks()
right after DROM has been parsed and then that one can "correct" the wrong
DROM entries.
> {
> int res;
> int cap;
> diff --git a/drivers/thunderbolt/tb.h b/drivers/thunderbolt/tb.h
> index e868457..cb84182 100644
> --- a/drivers/thunderbolt/tb.h
> +++ b/drivers/thunderbolt/tb.h
> @@ -1099,6 +1099,7 @@ int tb_switch_pcie_l1_enable(struct tb_switch *sw);
> int tb_switch_xhci_connect(struct tb_switch *sw);
> void tb_switch_xhci_disconnect(struct tb_switch *sw);
>
> +int tb_init_port(struct tb_port *port);
> int tb_port_state(struct tb_port *port);
> int tb_wait_for_port(struct tb_port *port, bool wait_if_unplugged);
> int tb_port_add_nfc_credits(struct tb_port *port, int credits);
> --
> 2.53.0
^ permalink raw reply [flat|nested] 5+ messages in thread* [PATCH v2] thunderbolt: Enable hidden DP OUT adapter on Dell TB16 dock
2026-11-01 21:23 [PATCH] thunderbolt: Enable hidden DP OUT adapter on Dell TB16 dock Grant Morphett
2026-11-01 21:29 ` sashiko-bot
2026-11-04 12:00 ` Mika Westerberg
@ 2026-11-06 6:26 ` Grant Morphett
2026-11-06 6:33 ` sashiko-bot
2 siblings, 1 reply; 5+ messages in thread
From: Grant Morphett @ 2026-11-06 6:26 UTC (permalink / raw)
To: Andreas Noever, Mika Westerberg, Yehezkel Bernat
Cc: linux-usb, Grant Morphett
The Dell TB16 Thunderbolt 3 dock consists of two Alpine Ridge 4C routers
in a chain: one in the captive cable module (DROM 00d4:b051 "Dell
Thunderbolt Cable") and one in the dock itself (DROM 00d4:b054 "Dell
Thunderbolt Dock"). The dock has four video connectors: mini DisplayPort,
HDMI, full size DisplayPort and VGA.
Mini DisplayPort and HDMI sit behind an MST hub on DP OUT adapter 8 of
the dock router and work fine. Full size DisplayPort and VGA are wired
to DP OUT adapter 8 of the cable router, but the cable router's DROM
marks that adapter as disabled. The software connection manager
therefore never initializes it, never tunnels DisplayPort to it, and a
monitor on the full size DisplayPort or VGA connector stays dark. Only
two external displays can be used with the dock, while all of them work
with the firmware connection manager (and under Windows).
The adapter is real: its adapter config space reports type DP/HDMI OUT
(0xe0102), it raises hot plug events when a monitor is attached to the
DisplayPort or VGA connector, and once it is enabled the DP tunnel to it
is established and the display comes up. The same DROM also fails its
CRC32 check (expected 0xaf438340, got 0xaf4383c0), so the port
disabled bit is likely just wrong rather than intentional:
1: DROM data CRC32 mismatch (expected: 0xaf438340, got: 0xaf4383c0), continuing
1:8: disabled by eeprom
acking hot plug event on 1:8
Add a quirk for the cable router that re-enables adapter 8 if its
config space confirms it is a DP OUT adapter. It runs in a new
tb_check_drom_quirks() call right after the DROM has been parsed, so
the regular port initialisation in tb_switch_add() picks the adapter up
like any other enabled port.
With the quirk applied, both DP tunnels come up at boot and all three
external monitors work:
1:8: enabling DP OUT adapter disabled in DROM
1:8: DP OUT available
0:5 <-> 1:8 (DP): activating
301:8: DP OUT available
0:6 <-> 301:8 (DP): activating
Tested on a Lenovo ThinkPad X1 Yoga Gen 8 (Raptor Lake, USB4 host
8087:a76d) with a TB16 at dock NVM 27.0 / cable NVM 16.0, driving three
1920x1080 monitors on mini DisplayPort, HDMI and full size DisplayPort.
v2:
- Add a new tb_check_drom_quirks() call right after DROM parsing, so
the quirk corrects the wrong DROM entry before the ports are
initialized, instead of making tb_init_port() non-static and calling
it from the quirk (Mika Westerberg).
Assisted-by: LLM
Signed-off-by: Grant Morphett <grant@gmorph.com>
---
---
drivers/thunderbolt/quirks.c | 62 ++++++++++++++++++++++++++++++++++++
drivers/thunderbolt/switch.c | 1 +
drivers/thunderbolt/tb.h | 1 +
3 files changed, 64 insertions(+)
diff --git a/drivers/thunderbolt/quirks.c b/drivers/thunderbolt/quirks.c
index 2722918..bba10df 100644
--- a/drivers/thunderbolt/quirks.c
+++ b/drivers/thunderbolt/quirks.c
@@ -65,6 +65,34 @@ static void quirk_stuck_pending(struct tb_switch *sw)
}
}
+/*
+ * The DROM of the Dell TB16 cable module marks adapter 8 as disabled
+ * even though it is the DP OUT adapter wired to the dock's full size
+ * DisplayPort and VGA connectors. Correct the DROM entry so that the
+ * software connection manager initializes the adapter and can tunnel
+ * DisplayPort to it.
+ */
+static void quirk_dell_tb16_dp_out(struct tb_switch *sw)
+{
+ struct tb_port *port;
+ u32 type;
+
+ if (sw->config.max_port_number < 8)
+ return;
+
+ port = &sw->ports[8];
+ if (!port->disabled)
+ return;
+
+ if (tb_port_read(port, &type, TB_CFG_PORT, 2, 1))
+ return;
+ if ((type & 0xffffff) != TB_TYPE_DP_HDMI_OUT)
+ return;
+
+ port->disabled = false;
+ tb_port_info(port, "enabling DP OUT adapter disabled in DROM\n");
+}
+
struct tb_quirk {
u16 hw_vendor_id;
u16 hw_device_id;
@@ -163,3 +191,37 @@ void tb_check_quirks(struct tb_switch *sw)
q->hook(sw);
}
}
+
+static const struct tb_quirk tb_drom_quirks[] = {
+ /* Dell TB16 cable module DROM hides the second DP OUT adapter */
+ { 0x8086, PCI_DEVICE_ID_INTEL_ALPINE_RIDGE_4C_BRIDGE, 0x00d4, 0xb051,
+ quirk_dell_tb16_dp_out },
+};
+
+/**
+ * tb_check_drom_quirks() - Check for quirks to apply after DROM read
+ * @sw: Thunderbolt switch
+ *
+ * Apply any quirks that correct wrong DROM entries before the ports are
+ * initialized.
+ */
+void tb_check_drom_quirks(struct tb_switch *sw)
+{
+ int i;
+
+ for (i = 0; i < ARRAY_SIZE(tb_drom_quirks); i++) {
+ const struct tb_quirk *q = &tb_drom_quirks[i];
+
+ if (q->hw_vendor_id && q->hw_vendor_id != sw->config.vendor_id)
+ continue;
+ if (q->hw_device_id && q->hw_device_id != sw->config.device_id)
+ continue;
+ if (q->vendor && q->vendor != sw->vendor)
+ continue;
+ if (q->device && q->device != sw->device)
+ continue;
+
+ tb_sw_dbg(sw, "running %ps\n", q->hook);
+ q->hook(sw);
+ }
+}
diff --git a/drivers/thunderbolt/switch.c b/drivers/thunderbolt/switch.c
index d22d8db..6268ed6 100644
--- a/drivers/thunderbolt/switch.c
+++ b/drivers/thunderbolt/switch.c
@@ -3343,6 +3343,7 @@ int tb_switch_add(struct tb_switch *sw)
ret = tb_drom_read(sw);
if (ret)
dev_warn(&sw->dev, "reading DROM failed: %d\n", ret);
+ tb_check_drom_quirks(sw);
tb_sw_dbg(sw, "uid: %#llx\n", sw->uid);
ret = tb_switch_set_uuid(sw);
diff --git a/drivers/thunderbolt/tb.h b/drivers/thunderbolt/tb.h
index e868457..7d04376 100644
--- a/drivers/thunderbolt/tb.h
+++ b/drivers/thunderbolt/tb.h
@@ -1510,6 +1510,7 @@ static inline bool usb4_port_device_is_offline(const struct usb4_port *usb4)
}
void tb_check_quirks(struct tb_switch *sw);
+void tb_check_drom_quirks(struct tb_switch *sw);
#ifdef CONFIG_ACPI
bool tb_acpi_add_links(struct tb_nhi *nhi);
--
2.53.0
^ permalink raw reply related [flat|nested] 5+ messages in thread* Re: [PATCH v2] thunderbolt: Enable hidden DP OUT adapter on Dell TB16 dock
2026-11-06 6:26 ` [PATCH v2] " Grant Morphett
@ 2026-11-06 6:33 ` sashiko-bot
0 siblings, 0 replies; 5+ messages in thread
From: sashiko-bot @ 2026-11-06 6:33 UTC (permalink / raw)
To: Grant Morphett; +Cc: linux-usb
> The Dell TB16 Thunderbolt 3 dock consists of two Alpine Ridge 4C routers
> in a chain: one in the captive cable module (DROM 00d4:b051 "Dell
> Thunderbolt Cable") and one in the dock itself (DROM 00d4:b054 "Dell
> Thunderbolt Dock"). The dock has four video connectors: mini DisplayPort,
> HDMI, full size DisplayPort and VGA.
>
> Mini DisplayPort and HDMI sit behind an MST hub on DP OUT adapter 8 of
> the dock router and work fine. Full size DisplayPort and VGA are wired
> to DP OUT adapter 8 of the cable router, but the cable router's DROM
> marks that adapter as disabled. The software connection manager
> therefore never initializes it, never tunnels DisplayPort to it, and a
> monitor on the full size DisplayPort or VGA connector stays dark. Only
> two external displays can be used with the dock, while all of them work
> with the firmware connection manager (and under Windows).
>
> [ ... ]
> initialized, instead of making tb_init_port() non-static and calling
> it from the quirk (Mika Westerberg).
>
> Assisted-by: LLM
> Signed-off-by: Grant Morphett <grant@gmorph.com>
Sashiko has reviewed this patch and found no issues.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261106062614.27709-1-grant@gmorph.com?part=1
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-11-06 6:33 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-01 21:23 [PATCH] thunderbolt: Enable hidden DP OUT adapter on Dell TB16 dock Grant Morphett
2026-11-01 21:29 ` sashiko-bot
2026-11-04 12:00 ` Mika Westerberg
2026-11-06 6:26 ` [PATCH v2] " Grant Morphett
2026-11-06 6:33 ` sashiko-bot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox