Opened 7 years ago

Last modified 8 weeks ago

#12889 new enhancement

Thunderbolt 3 support

Reported by: kallisti5 Owned by: nobody
Priority: low Milestone: Unscheduled
Component: Drivers Version: R1/Development
Keywords: thunderbolt TB3 Cc:
Blocked By: Blocking:
Platform: All


Thunderbolt 3 is beginning to appear in consumer PC hardware and enables a single wire extension of the system's PCIe bus. Once the thunderbolt connection is established, the attached PCIe bus can be handled like any other PCIe bus.

Some newer Thunderbolt 3 docking stations exist that present several PCIe devices over the TB3 link.

Linux has a pretty simple implementation containing a minimal amount of code:

Attachments (1)

acpi-dellxps13.tar.gz (165.5 KB ) - added by kallisti5 7 years ago.
ACPI Dump , Dell XPS 13

Download all attachments as: .zip

Change History (6)

by kallisti5, 7 years ago

Attachment: acpi-dellxps13.tar.gz added

ACPI Dump , Dell XPS 13

comment:1 by kallisti5, 7 years ago

I thought acpi might of been how TB devices were discovered, however from the Linux driver, a Thunderbolt Host Device identification seems purely based on the presence of a special PCI class :-| Definitely something created by the sadistic Intel hw engineers.

static struct pci_device_id nhi_ids[] = {
     * We have to specify class, the TB bridges use the same device and
     * vendor (sub)id.
        .class = PCI_CLASS_SYSTEM_OTHER << 8, .class_mask = ~0,
        .vendor = PCI_VENDOR_ID_INTEL, .device = 0x1547,
        .subvendor = 0x2222, .subdevice = 0x1111,
        .class = PCI_CLASS_SYSTEM_OTHER << 8, .class_mask = ~0,
        .vendor = PCI_VENDOR_ID_INTEL, .device = 0x156c,
        .subvendor = PCI_ANY_ID, .subdevice = PCI_ANY_ID,
    { 0,}

More info:,3205-4.html

comment:3 by kallisti5, 8 weeks ago

Small note on this one.

Plugging in a Thunderbolt 3 eGPU consistently results in the following in syslog on my Framework 11th Gen Intel laptop...

KERN: ACPI Debug: "=====QUERY_04====="
KERN: ACPI Debug: "=====QUERY_08====="

Unplugging the TB3 eGPU shows:

KERN: ACPI Debug: "=====QUERY_05====="
KERN: ACPI Debug: "=====QUERY_08====="

One of these might be an ACPI "Docking Event"?

I can't actually find in our source code what is generating that log message however :-|

comment:4 by tqh, 8 weeks ago

That would most likely be ACPICA code I think, although I don't think debug logging was enabled.

See our print functions here:

comment:5 by tqh, 8 weeks ago

And I guess the message is probably from your ACPI firmware..

Note: See TracTickets for help on using tickets.