All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/6] Thunderbolt workarounds take 2
@ 2013-06-25 16:22 Mika Westerberg
  2013-06-25 16:22 ` [PATCH 1/6] PCI: acpiphp: do not check for SLOT_ENABLED in enable_device() Mika Westerberg
                   ` (6 more replies)
  0 siblings, 7 replies; 71+ messages in thread
From: Mika Westerberg @ 2013-06-25 16:22 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Bjorn Helgaas, Rafael J. Wysocki
  Cc: Jesse Barnes, Yinghai Lu, john.ronciak, miles.j.penner,
	bruce.w.allan, Kirill A. Shutemov, Heikki Krogerus,
	Mika Westerberg, linux-kernel, linux-pci, x86

Hi all,

This is the second iteration of the patches first posted here quite a while
ago:

	https://lkml.org/lkml/2012/12/13/589

With Thunderbolt devices we might see pretty complex PCIe hierarchies that
the current ACPI hotplug code was not able to handle properly but instead
failed to scan the whole hierarchy. This series tries to address these
problems. In addition to that there's a possibility that only part of the
chain is disconnected so we don't want to leave behind stale PCI devices.

We have tested this on Acer Aspire S5 with the largest chain looking like
this:

  PC +--+ eSata Hub #0 +--+ eSata Hub #1 +--+ Apple Thunderbolt display +--+ Apple ethernet dongle

There are still problems with different device drivers because of the
surprise hotplug nature of Thunderbolt, causing occasional hangs and
failures that should be fixed per-driver later on (not addressed in this
series).

Currently Thunderbolt on Apple hardware like Macbooks is not yet supported
as they use some different mechanism than ACPI events to trigger hotplug
events.

The series is based on linux-pm.git/linux-next.

Kirill A. Shutemov (4):
  PCI: acpiphp: do not check for SLOT_ENABLED in enable_device()
  PCI: acpiphp: enable_device(): rescan even if no new devices on slot
  PCI: introduce pci_trim_stale_devices()
  PCI: acpiphp: check for new devices on enabled host

Mika Westerberg (2):
  PCI: acpiphp: look _RMV method a bit deeper in the hierarhcy
  x86/PCI: quirk Thunderbolt PCI-to-PCI bridges

 arch/x86/pci/fixup.c               | 51 ++++++++++++++++++++++++
 drivers/pci/hotplug/acpi_pcihp.c   | 53 ++++++++++++++++++++++---
 drivers/pci/hotplug/acpiphp_glue.c | 79 +++++++++++++++++---------------------
 drivers/pci/remove.c               | 20 ++++++++++
 include/linux/pci.h                |  1 +
 5 files changed, 156 insertions(+), 48 deletions(-)

-- 
1.8.3.1


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

end of thread, other threads:[~2013-07-02 20:40 UTC | newest]

Thread overview: 71+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-06-25 16:22 [PATCH 0/6] Thunderbolt workarounds take 2 Mika Westerberg
2013-06-25 16:22 ` [PATCH 1/6] PCI: acpiphp: do not check for SLOT_ENABLED in enable_device() Mika Westerberg
2013-06-26 23:28   ` Bjorn Helgaas
2013-06-27 13:25     ` Kirill A. Shutemov
2013-06-28  9:51     ` Kirill A. Shutemov
2013-06-28 17:00       ` Bjorn Helgaas
2013-06-28 18:54         ` Rafael J. Wysocki
2013-07-01  9:32           ` Mika Westerberg
2013-07-01 14:01             ` Rafael J. Wysocki
2013-07-01 18:36               ` Mika Westerberg
2013-07-02  1:29                 ` Rafael J. Wysocki
2013-07-02 16:40                   ` Bjorn Helgaas
2013-07-02 20:29                     ` Rafael J. Wysocki
2013-07-02 20:31                       ` Mika Westerberg
2013-07-02 20:49                         ` Rafael J. Wysocki
2013-06-25 16:22 ` [PATCH 2/6] PCI: acpiphp: enable_device(): rescan even if no new devices on slot Mika Westerberg
2013-06-26 23:37   ` Bjorn Helgaas
2013-06-27 13:02     ` Mika Westerberg
2013-06-27 16:32       ` Mika Westerberg
2013-06-27 16:50         ` Bjorn Helgaas
2013-06-27 16:54         ` Bjorn Helgaas
2013-06-27  1:20   ` Yinghai Lu
2013-06-27 13:04     ` Mika Westerberg
2013-06-25 16:22 ` [PATCH 3/6] PCI: introduce pci_trim_stale_devices() Mika Westerberg
2013-06-25 17:47   ` Andy Shevchenko
2013-06-25 17:56     ` Kirill A. Shutemov
2013-06-28 19:59   ` Rafael J. Wysocki
2013-06-25 16:22 ` [PATCH 4/6] PCI: acpiphp: check for new devices on enabled host Mika Westerberg
2013-06-25 18:04   ` Andy Shevchenko
2013-06-26  9:39     ` Kirill A. Shutemov
2013-06-27 19:05   ` Yinghai Lu
2013-06-28  9:33     ` Kirill A. Shutemov
2013-06-28 16:22       ` Yinghai Lu
2013-06-28 20:04         ` Rafael J. Wysocki
2013-06-25 16:22 ` [PATCH 5/6] PCI: acpiphp: look _RMV method a bit deeper in the hierarhcy Mika Westerberg
2013-06-25 18:15   ` Andy Shevchenko
2013-06-25 18:31     ` Mika Westerberg
2013-06-25 18:31       ` Andy Shevchenko
2013-06-25 18:51         ` Mika Westerberg
2013-06-25 19:30           ` Andy Shevchenko
2013-07-02 10:44   ` Kirill A. Shutemov
2013-07-02 17:09     ` Bjorn Helgaas
2013-07-02 17:45       ` Kirill A. Shutemov
2013-07-02 20:48         ` Rafael J. Wysocki
2013-07-02 20:40       ` Rafael J. Wysocki
2013-06-25 16:22 ` [PATCH 6/6] x86/PCI: quirk Thunderbolt PCI-to-PCI bridges Mika Westerberg
2013-06-25 21:15   ` Jesse Barnes
2013-06-26 12:17     ` Mika Westerberg
2013-06-26 15:04       ` Greg Kroah-Hartman
2013-06-26 20:59       ` Bjorn Helgaas
2013-06-26 22:15         ` Alex Williamson
2013-06-27 13:09           ` Mika Westerberg
2013-06-26 22:18   ` Bjorn Helgaas
2013-06-26 22:26     ` Yinghai Lu
2013-06-26 22:31       ` Yinghai Lu
2013-06-26 22:44         ` Rafael J. Wysocki
2013-06-26 22:38           ` Yinghai Lu
2013-06-26 22:55         ` Bjorn Helgaas
2013-06-26 23:56           ` Yinghai Lu
2013-06-27 16:00             ` Bjorn Helgaas
2013-06-27 17:27               ` Yinghai Lu
2013-06-27 13:58       ` Mika Westerberg
2013-06-27 13:54     ` Mika Westerberg
2013-06-27 16:27       ` Mika Westerberg
2013-06-27 17:18         ` Yinghai Lu
2013-06-25 23:24 ` [PATCH 0/6] Thunderbolt workarounds take 2 Rafael J. Wysocki
2013-06-26  7:25   ` Mika Westerberg
2013-06-26 12:45     ` Rafael J. Wysocki
2013-06-26 19:48       ` Bjorn Helgaas
2013-06-26 20:01         ` Rafael J. Wysocki
2013-06-26 19:55           ` Bjorn Helgaas

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.