On Mon, 2018-02-26 at 16:21 +0300, Mika Westerberg wrote: > 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. > FWIW, Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> > The previous versions of the patch series can be found here: > > v2: https://www.spinics.net/lists/linux-pci/msg69186.html > v1: https://www.spinics.net/lists/linux-acpi/msg80607.html > > Changes from v2: > > - Added Rafael's tag to patch [1/5]. > - Updated changelog of patch [1/5] to include more details about how > the > problem can be observed from dmesg and lspci output. > > Changes from v1: > > - Drop 'cmax - max ?: 1' and use similar construct than we use in > second > pass loop in patch [1/5]. > - Drop unnecessary parentheses in patch [1/5]. > - Added Rafael's tag to patches [2-5/5]. > > 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 | 11 ++++-- > drivers/pci/setup-bus.c | 41 +++++++++++++++++++- > 7 files changed, 126 insertions(+), 22 deletions(-) > -- Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Intel Finland Oy