Israel Brewster <
macav...@gmail.com> wrote:
> but nothing else referencing Thunderbolt, which would seem to indicate a
> limitation to the older thunderbolt controllers. On the other hand, I
> found this page:
http://permalink.gmane.org/gmane.linux.kernel/1717419
> which seems to indicate that a patch was available to make the Falcon
> Ridge controller work as well back in June of 2014 (although I don't find
> the actual patch), and this:
>
http://www.gossamer-threads.com/lists/linux/kernel/1935522 which appears
> to indicate that all that needs to happen to support Falcon Ridge
> controllers is to add their PCI ID's. So what is the current state of
> affairs? Does the Kernel support Thunderbolt 2, and the help mentioning
> "Cactus Ridge" is simply out-of-date? Or is support limited to
> Thunderbolt 1 (for now at least)?
Since Thunderbolt is 'just' a mux of DisplayPort and PCIe, where the mux is
negotiated by the microcontrollers on the TB adaptors, it's possible that
it's transparent from the host side. Have you plugged in a TB device (eg an
Apple TB to Ethernet or Firewire dongle) and does it show in dmesg or lspci?
The module you mentioned suggests it's necessary for hotplug to work, but
perhaps it'll work without it if you boot with the TB device plugged in?
It wouldn't surprise me if an empty TB port showed up as nothing at all
because there was nothing to negotiate it as PCIe.
According to the Cactus Ridge commit:
<quote>
Thunderbolt hotplug is supposed to be handled by the firmware. But Apple
decided to implement thunderbolt at the operating system level. The
firmare only initializes thunderbolt devices that are present at boot
time. This driver enables hotplug of thunderbolt of non-chained
thunderbolt devices on Apple systems with a cactus ridge controller.
This first patch adds the Kconfig file as well the parts of the driver
which talk directly to the hardware (that is pci device setup, interrupt
handling and RX/TX ring management).
</quote>
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/drivers/thunderbolt/nhi.c?id=16603153666d22df544ae9f9b3764fd18da28eeb
which suggests that Linux doesn't need to do anything, except for Apple
hardware which is 'special'. It appears switch.c does have the change
suggested in response to Matthew Garrett's patch you cited (ie only 3 legacy
TB chip IDs need special treatment, the rest are normal).
Theo