linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/5] PCI: Fixes for native PCIe and ACPI hotplug
@ 2018-02-13 16:31 Mika Westerberg
  2018-02-13 16:31 ` [PATCH 1/5] PCI: Make sure all bridges reserve at least one bus number Mika Westerberg
                   ` (4 more replies)
  0 siblings, 5 replies; 12+ messages in thread
From: Mika Westerberg @ 2018-02-13 16:31 UTC (permalink / raw)
  To: Bjorn Helgaas, Rafael J. Wysocki
  Cc: Len Brown, Mario.Limonciello, Michael Jamet, Yehezkel Bernat,
	Mika Westerberg, linux-pci, linux-acpi

Hi,

When Thunderbolt controller is configured to be in native enumeration mode
it actually includes two slightly different modes. First there is non-RTD3
mode where the Thunderbolt host controller is only present when there is a
device connected. The second one is RTD3 mode where the controller is
always present.

In non-RTD3 mode the Thunderbolt host controller (NHI) and USB host (xHCI)
controller are not hotplugged using native PCIe hotplug but instead they
will be hotplugged via BIOS triggered ACPI Notify() to the root port. This
is done to preserve resources since the NHI and xHCI only need 1 MB of MMIO
space and no additional buses. Currently Linux does not support this very
well and ends up failing the hotplug in one way or another. More detailed
explanation is in changelog of patch [4/5].

This series fixes this issue and in addition includes fixes for few other
issues found during testing on a system that has Thunderbolt controller in
non-RTD3 native PCIe enumeration mode. However, the fixes here are not in
any way Thunderbolt specific and should be applicable to other systems as
well.

Mika Westerberg (5):
  PCI: Make sure all bridges reserve at least one bus number
  PCI: Take bridge window alignment into account when distributing resources
  PCI: pciehp: Clear Presence Detect and Data Link Layer Status Changed on resume
  ACPI / hotplug / PCI: Do not scan all bridges when native PCIe hotplug is used
  ACPI / hotplug / PCI: Mark stale PCI devices disconnected

 drivers/pci/hotplug/acpiphp.h      |  1 +
 drivers/pci/hotplug/acpiphp_glue.c | 78 ++++++++++++++++++++++++++++++--------
 drivers/pci/hotplug/pciehp.h       |  2 +-
 drivers/pci/hotplug/pciehp_core.c  |  2 +-
 drivers/pci/hotplug/pciehp_hpc.c   | 13 ++++++-
 drivers/pci/probe.c                |  9 +++--
 drivers/pci/setup-bus.c            | 41 +++++++++++++++++++-
 7 files changed, 124 insertions(+), 22 deletions(-)

-- 
2.15.1

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

end of thread, other threads:[~2018-02-14  9:47 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-02-13 16:31 [PATCH 0/5] PCI: Fixes for native PCIe and ACPI hotplug Mika Westerberg
2018-02-13 16:31 ` [PATCH 1/5] PCI: Make sure all bridges reserve at least one bus number Mika Westerberg
2018-02-13 17:43   ` Rafael J. Wysocki
2018-02-14  9:47     ` Mika Westerberg
2018-02-13 16:31 ` [PATCH 2/5] PCI: Take bridge window alignment into account when distributing resources Mika Westerberg
2018-02-13 17:45   ` Rafael J. Wysocki
2018-02-13 16:31 ` [PATCH 3/5] PCI: pciehp: Clear Presence Detect and Data Link Layer Status Changed on resume Mika Westerberg
2018-02-13 17:46   ` Rafael J. Wysocki
2018-02-13 16:31 ` [PATCH 4/5] ACPI / hotplug / PCI: Do not scan all bridges when native PCIe hotplug is used Mika Westerberg
2018-02-13 17:51   ` Rafael J. Wysocki
2018-02-13 16:32 ` [PATCH 5/5] ACPI / hotplug / PCI: Mark stale PCI devices disconnected Mika Westerberg
2018-02-13 17:51   ` Rafael J. Wysocki

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).