public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andreas Noever <andreas.noever@gmail.com>
To: linux-kernel@vger.kernel.org
Subject: [PATCH 00/12] Thunderbolt hotplug support for Apple hardware (testers needed)
Date: Fri, 29 Nov 2013 02:35:37 +0100	[thread overview]
Message-ID: <1385688949-7101-1-git-send-email-andreas.noever@gmail.com> (raw)

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


             reply	other threads:[~2013-11-29  1:38 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-29  1:35 Andreas Noever [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1385688949-7101-1-git-send-email-andreas.noever@gmail.com \
    --to=andreas.noever@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox