lkml.org 
[lkml]   [2014]   [Jun]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH v5 00/15] Thunderbolt driver for Apple MacBooks
Date
Hi,

Updated version of the driver. Includes changes by Matthew to make it work on
Falcon Ridge hardware (present in the newest Mac(Book)Pro).

Changes since v4 (suggested by Matthew):
- Changed the PCI quirks to check just for Apple hardware instead of checking
against a list of machines. (The PCI id check already restricts this quirk
to the relevant Apple machines).
- Added Falcon Ridge PCI id to the driver and to the "wait_for_thunderbolt"
quirk (the "poweroff_thunderbolt" quirk is no longer necessary for Falcon
Ridge devices).
- Fixed plug events for Falcon Ridge hardware.

@Matthew: I think that your patch was missing the Falcon Ridge PCI id within
the wait_for_thunderbolt quirk (I have added it). If you have time could you
verify that suspend/resume works on your MacPro? Thanks!

As before Matthew's ACPI changes (latest version: [1]) are required for this to
work properly. Without them you need to boot with a coldplugged TB device to
prevent the firmware from disabling the controller.

Thanks,
Andreas

[1]: https://lkml.org/lkml/2014/6/1/165


Andreas Noever (15):
thunderbolt: Add initial cactus ridge NHI support
thunderbolt: Add control channel interface
thunderbolt: Setup control channel
thunderbolt: Add tb_regs.h
thunderbolt: Initialize root switch and ports
thunderbolt: Add thunderbolt capability handling
thunderbolt: Enable plug events
thunderbolt: Scan for downstream switches
thunderbolt: Handle hotplug events
thunderbolt: Add path setup code.
thunderbolt: Add support for simple pci tunnels
PCI: Add pci_fixup_suspend_late quirk pass
PCI: Suspend/resume quirks for Apple thunderbolt
thunderbolt: Read switch uid from EEPROM
thunderbolt: Add suspend/hibernate support

drivers/Kconfig | 2 +
drivers/Makefile | 1 +
drivers/pci/pci-driver.c | 18 +-
drivers/pci/quirks.c | 104 ++++++
drivers/thunderbolt/Kconfig | 12 +
drivers/thunderbolt/Makefile | 3 +
drivers/thunderbolt/cap.c | 116 ++++++
drivers/thunderbolt/ctl.c | 731 ++++++++++++++++++++++++++++++++++++++
drivers/thunderbolt/ctl.h | 75 ++++
drivers/thunderbolt/eeprom.c | 189 ++++++++++
drivers/thunderbolt/nhi.c | 677 +++++++++++++++++++++++++++++++++++
drivers/thunderbolt/nhi.h | 114 ++++++
drivers/thunderbolt/nhi_regs.h | 101 ++++++
drivers/thunderbolt/path.c | 215 +++++++++++
drivers/thunderbolt/switch.c | 498 ++++++++++++++++++++++++++
drivers/thunderbolt/tb.c | 431 ++++++++++++++++++++++
drivers/thunderbolt/tb.h | 266 ++++++++++++++
drivers/thunderbolt/tb_regs.h | 213 +++++++++++
drivers/thunderbolt/tunnel_pci.c | 232 ++++++++++++
drivers/thunderbolt/tunnel_pci.h | 30 ++
include/asm-generic/vmlinux.lds.h | 3 +
include/linux/pci.h | 12 +-
22 files changed, 4038 insertions(+), 5 deletions(-)
create mode 100644 drivers/thunderbolt/Kconfig
create mode 100644 drivers/thunderbolt/Makefile
create mode 100644 drivers/thunderbolt/cap.c
create mode 100644 drivers/thunderbolt/ctl.c
create mode 100644 drivers/thunderbolt/ctl.h
create mode 100644 drivers/thunderbolt/eeprom.c
create mode 100644 drivers/thunderbolt/nhi.c
create mode 100644 drivers/thunderbolt/nhi.h
create mode 100644 drivers/thunderbolt/nhi_regs.h
create mode 100644 drivers/thunderbolt/path.c
create mode 100644 drivers/thunderbolt/switch.c
create mode 100644 drivers/thunderbolt/tb.c
create mode 100644 drivers/thunderbolt/tb.h
create mode 100644 drivers/thunderbolt/tb_regs.h
create mode 100644 drivers/thunderbolt/tunnel_pci.c
create mode 100644 drivers/thunderbolt/tunnel_pci.h

--
2.0.0



\
 
 \ /
  Last update: 2014-06-03 22:41    [W:0.217 / U:0.176 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site