public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/12] Thunderbolt hotplug support for Apple hardware (testers needed)
@ 2013-11-29  1:35 Andreas Noever
  2013-11-29  1:35 ` [PATCH 01/12] thunderbolt: Add initial cactus ridge NHI support Andreas Noever
                   ` (12 more replies)
  0 siblings, 13 replies; 23+ messages in thread
From: Andreas Noever @ 2013-11-29  1:35 UTC (permalink / raw)
  To: linux-kernel

Thunderbolt hotplug is supposed to be implemented by the firmware. But Apple's
firmeware only initializes devices during boot and ignores hotplugged devices.
This patch series adds a driver for the Intel Cactus Ridge Thunderbolt
controller. The driver supports hotplug operations of simple (one PCI device,
no chaining) thunderbolt devices.

The patches in this series are self contained and I have tried to sort them
(roughly) from lowest to highest level of abstraction. They all compile but
only the final driver has been tested.

The driver works on my MacBookPro10,1 with two Thunderbolt ethernet adapters.
The system contains the Cactus Ridge C4 TB controller (device id 0x1547). I
could not run tests on other systems, but there is a good chance that the
driver will work on other models as well. If something is controller specific
then it should be confined to patch 01.

There are still a number of limitations:
 (1) The system must be booted with acpi_osi=Darwin. Otherwise ACPI will cut
power to the controller.
 (2) After suspend the controller is gone. I think that ACPI thinks that we are
Windows and cuts power, even with acpi_osi=Darwin.
 (3) No support for chaining. Also the driver only activates the first PCI
device found on a Thunderbolt device.
 (4) Rapidly replugging a device confuses pciehp.

(1) and (2) should be solveable given some time. I also have a pretty good idea
on how chaining should work. The main problem is that I have yet to see any
Thunderbolt device besides the Apple ethernet adapter. If someone with a
MacBook and access to more complicated TB hardware is willing to run some
tests: Please contact me.

I will try to debug (4) further and write a seperate bug report for the issue.

Andreas


^ permalink raw reply	[flat|nested] 23+ messages in thread
* Re: [PATCH 00/12] Thunderbolt hotplug support for Apple hardware (testers needed)
@ 2013-11-29  9:05 Daniel J Blueman
  2013-12-02  2:51 ` Daniel J Blueman
  0 siblings, 1 reply; 23+ messages in thread
From: Daniel J Blueman @ 2013-11-29  9:05 UTC (permalink / raw)
  To: Andreas Noever; +Cc: Linux Kernel

On Friday, 29 November 2013 09:40:02 UTC+8, Andreas Noever  wrote:
> Thunderbolt hotplug is supposed to be implemented by the firmware. But Apple's
> firmeware only initializes devices during boot and ignores hotplugged devices.
> This patch series adds a driver for the Intel Cactus Ridge Thunderbolt
> controller. The driver supports hotplug operations of simple (one PCI device,
> no chaining) thunderbolt devices.
[...]
> (1) and (2) should be solveable given some time. I also have a pretty good idea
> on how chaining should work. The main problem is that I have yet to see any
> Thunderbolt device besides the Apple ethernet adapter. If someone with a
> MacBook and access to more complicated TB hardware is willing to run some
> tests: Please contact me.
>
> I will try to debug (4) further and write a seperate bug report for the issue.

Superb work! I have a Buffalo MiniStation Thunderbolt [1] and the
Apple ethernet adapter, so will give this a spin over the weekend on
my mid-2012 MacBook Pro retina with the noted constraints.

Thanks,
  Daniel

[1] http://www.buffalo-technology.com/en/products/storage-devices/portable-storage/ministationtm/hd-patu3s-ministation-thunderbolt-portable-ssd/
-- 
Daniel J Blueman

^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2014-03-11 14:00 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-11-29  1:35 [PATCH 00/12] Thunderbolt hotplug support for Apple hardware (testers needed) Andreas Noever
2013-11-29  1:35 ` [PATCH 01/12] thunderbolt: Add initial cactus ridge NHI support Andreas Noever
2013-11-29  1:35 ` [PATCH 02/12] thunderbolt: Add configuration channel interface Andreas Noever
2013-11-29  1:35 ` [PATCH 03/12] thunderbolt: Setup configuration channel Andreas Noever
2013-11-29  1:35 ` [PATCH 04/12] thunderbolt: Add tb_regs.h Andreas Noever
2013-11-29  1:35 ` [PATCH 05/12] thunderbolt: Initialize root switch and ports Andreas Noever
2013-11-29  1:35 ` [PATCH 06/12] thunderbolt: Add thunderbolt capability handling Andreas Noever
2013-11-29  1:35 ` [PATCH 07/12] thunderbolt: Enable plug events Andreas Noever
2013-11-29  1:35 ` [PATCH 08/12] thunderbolt: Scan for downstream switches Andreas Noever
2013-11-29  1:35 ` [PATCH 09/12] thunderbolt: Handle hotplug events Andreas Noever
2013-11-29  1:35 ` [PATCH 10/12] thunderbolt: Add path setup code Andreas Noever
2013-11-29  1:35 ` [PATCH 11/12] thunderbolt: Add support for simple pci tunnels Andreas Noever
2013-11-29  1:35 ` [PATCH 12/12] thunderbolt: Scan and activate one PCI device Andreas Noever
2013-12-02 16:29 ` [PATCH 00/12] Thunderbolt hotplug support for Apple hardware (testers needed) Matthew Garrett
2014-03-04  0:09   ` Matthew Garrett
2014-03-04 23:59     ` Andreas Noever
2014-03-05  0:26       ` Matthew Garrett
2014-03-08  2:40       ` Matthew Garrett
2014-03-11 13:08         ` Andreas Noever
2014-03-11 14:00           ` Matthew Garrett
  -- strict thread matches above, loose matches on Subject: below --
2013-11-29  9:05 Daniel J Blueman
2013-12-02  2:51 ` Daniel J Blueman
     [not found]   ` <CAMxnaaX67fnKS0bfmqeKR8WfEJUccpUCfwJVAkE57nNmHYic9w@mail.gmail.com>
2013-12-02 13:10     ` Daniel J Blueman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox