Hi, fascinating, so only one Thunderbolt tunnel is established by the Thunderbolt connection manager firmware on the Dell Inspiron 7610, despite two screens being connected via DisplayPort. On Tue, May 31, 2022 at 11:38 AM Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> wrote: > > > 0x0039 0 0x04 0x00 0xc009048f > > > The bits 31:30 tell that this tunnel is active. > > 0x0039 0 0x04 0x00 0x0009048f > > This one is not. I have a second notebook, a Dell XPS 9360 Kaby Lake generation, and there the situation (everything else identical) is [root@desktop-9c4gf7m ~]# dmesg | grep thunderbolt | grep HDMI [ 6.631731] thunderbolt 0000:03:00.0: Port 9: 8086:1576 (Revision: 4, TB Version: 1, Type: DP/HDMI (0xe0101)) [ 6.631989] thunderbolt 0000:03:00.0: Port 10: 8086:1576 (Revision: 4, TB Version: 1, Type: DP/HDMI (0xe0101)) [ 7.046273] thunderbolt 0000:03:00.0: Port 10: 8086:15ef (Revision: 6, TB Version: 1, Type: DP/HDMI (0xe0102)) [ 7.046769] thunderbolt 0000:03:00.0: Port 11: 8086:15ef (Revision: 6, TB Version: 1, Type: DP/HDMI (0xe0102)) cat /sys/kernel/debug/thunderbolt/0-0/port9/regs | grep -E ^0x0039 0x0039 0 0x04 0x00 0xc009044f cat /sys/kernel/debug/thunderbolt/0-0/port10/regs | grep -E ^0x0039 0x0039 0 0x04 0x00 0xc009044f This would suggest that, on the XPS 9360, two Thunderbolt tunnels were established (by the Thunderbolt connection manager firmware), which is matched with both the 2.5K and the 4K screen working at 60 Hz. > > > ********** $ cat /sys/kernel/debug/thunderbolt/0-1/port11/regs ... > > 0x003d 4 0x04 0x00 0x00c0a234 > > This is the "local" capability and it tells that this one supports MST > (bit 15). > > I wonder if this dock has the two DP outputs behind a MST "hub" or so? The content of https://i-tec.pro/en/produkt/tb3cdualdpdockpd-2/ mentions "2x DisplayPort (1x DP++ support)" (where DP++ == Dual-mode == DisplayPort++ - and "active vs passive" whatever that means). There is no mention of MST anywhere, and my screens are each on their own port. For the dock registers, while connected to the XPS 9360, I get [root@desktop-9c4gf7m ~]# cat /sys/kernel/debug/thunderbolt/0-1/port10/regs | grep -E ^0x003d 0x003d 4 0x04 0x00 0x00c0a214 [root@desktop-9c4gf7m ~]# cat /sys/kernel/debug/thunderbolt/0-1/port11/regs | grep -E ^0x003d 0x003d 4 0x04 0x00 0x00c0a214 which would imply MST in both cases? > I don't remember if you already mentioned but have you tried to connect > the second monitor to the USB-C downstream ports on that dock? At least > for some docks this is where the second DP OUT adapter is routed. I own a USB-C to DisplayPort adapter; trying to go 2.5K screen -> DisplayPort adapter -> USB-C port on both of the USB-C ports of the dock did not impress the screen one bit. The specs say "2x USB-C Gen 2 port (10 Gbps, for data only)", so I am not surprised. > If the second DP tunnel gets activated you should also see bits 31:30 of > the port6/regs to be set by the connection manager firmware. That's what I do see for the XPS 9360, but not for the Dell Inspiron 7610. On the (working) XPS 9360, boltctl list ● i-tec TB3CDUALDPDOCKPD ├─ type: peripheral ├─ name: TB3CDUALDPDOCKPD ├─ vendor: i-tec ├─ uuid: c0030000-0080-840e-83dc-6b1282b06021 ├─ generation: Thunderbolt 3 ├─ status: authorized │ ├─ domain: df010000-0062-6508-a2e8-71d78a74c118 │ ├─ rx speed: 40 Gb/s = 2 lanes * 20 Gb/s │ ├─ tx speed: 40 Gb/s = 2 lanes * 20 Gb/s │ └─ authflags: none ├─ authorized: Di 31 Mai 2022 16:38:55 ├─ connected: Di 31 Mai 2022 16:38:51 └─ stored: Fr 20 Aug 2021 08:52:32 ├─ policy: auto └─ key: no On the (broken) Inspiron 7610, ● i-tec TB3CDUALDPDOCKPD ├─ type: peripheral ├─ name: TB3CDUALDPDOCKPD ├─ vendor: i-tec ├─ uuid: 004158c8-bd26-6b01-ffff-ffffffffffff ├─ generation: Thunderbolt 3 ├─ status: authorized │ ├─ domain: 606de333-0530-8780-ffff-ffffffffffff │ ├─ rx speed: 40 Gb/s = 2 lanes * 20 Gb/s │ ├─ tx speed: 40 Gb/s = 2 lanes * 20 Gb/s │ └─ authflags: none ├─ authorized: Tue 31 May 2022 05:49:01 PM UTC ├─ connected: Tue 31 May 2022 05:49:01 PM UTC └─ stored: Tue 10 May 2022 06:48:15 PM UTC ├─ policy: iommu └─ key: no With respect to NVM versions (which, I think, would be the Thunderbolt connection manager?), I get * dock == 50.0 (cat /sys/bus/thunderbolt/devices/0-1/nvm_version) * XPS 9360 == 26.1 (cat /sys/bus/thunderbolt/devices/0-0/nvm_version) * Inspiron 7610 = ??? - I don't see nvm_version here? What could be reasons that the second tunnel is not established on the Dell? I read somewhere that Intel hands off the firmware to vendors (Dell) who then customize it for their systems? Could the vendor have made bad customizations / configurations of that package while integrating it? I would imagine that plugging in a DisplayPort cable makes the dock (firmware) signal something to the notebook (TB firmware) and a negotiation will take place. That negotiation fails, otherwise the tunnel would be established, and remain established? Is there a means to trace the negotiation? FWIW, I have read the phrase "insufficent provision of GPU Interfaces to the TB port" (sic, on Reddit), and a lengthy related post at https://www.dell.com/community/XPS/Understanding-Thunderbolt-docks-GPU-bandwidth-and-GPU-interfaces/td-p/7678776 which I will not pretend to understand. What I wonder about is whether the "GPU interfaces" situation would be reliably discoverable by inspecting ... something ... anything? Anyway, my impression, from a layering point of view, is that on the stack (my imagination!) * notebook hardware * firmware (BIOS, Thunderbolt firmware / connection manager, ...) * Linux thunderbolt driver * Linux graphics drivers: drm / kms (i915 / nvidia / nouveau) the graphics drivers are not involved when it comes to building / maintaining the Thunderbolt(!) tunnel? I am also reading "Thunderbolt Alternate Mode encapsulates DisplayPort Alternate Mode". To my ears this sounds like "wrap the raw DisplayPort Alternate Mode bitstream", just with more bandwidth. Pure "DisplayPort Alternate Mode" I can force with success by way of disabling Thunderbolt in the BIOS (at the expense of bandwidth -> bad refresh rate). And "DisplayPort Alternate Mode" gives me _both_ screens, apparently very much scraping along at the max protocol bandwidth, with the 4K screen going black (out of sync?) every once in a while. Sorry for my rambling, this is an area where I have no expertise. Anyway, if those graphics drivers are involved for _Thunderbolt_, please do tell me, and I'll venture over to dri-devel. And given what I see above, is that still "Thunderbolt 4 Certified" ("Two 4K displays") in the case of the Dell Inspiron 7610? BR and many thanks for your patience! Stefan