Opened 3 years ago

Last modified 3 years 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:
Has a Patch: no Platform: All

Description

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: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/thunderbolt

Attachments (1)

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

Download all attachments as: .zip

Change History (2)

Changed 3 years ago by kallisti5

Attachment: acpi-dellxps13.tar.gz added

ACPI Dump , Dell XPS 13

comment:1 Changed 3 years ago by kallisti5

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: http://www.tomshardware.com/reviews/thunderbolt-performance-z77a-gd80,3205-4.html

Note: See TracTickets for help on using tickets.