All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/5] powerpc/powernv/pci: Discover surprise-hotplugged PCIe devices during rescan
@ 2018-09-06 11:57 Sergey Miroshnichenko
  2018-09-06 11:57 ` [PATCH v2 1/5] powerpc/pci: Access PCI config space directly w/o pci_dn Sergey Miroshnichenko
                   ` (4 more replies)
  0 siblings, 5 replies; 14+ messages in thread
From: Sergey Miroshnichenko @ 2018-09-06 11:57 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: linux, Sergey Miroshnichenko

This patchset allows hotplugged PCIe devices to be enumerated during a bus
rescan being issued via sysfs on PowerNV platforms, when the "Presence
Detect Changed" interrupt is not available.

As a first part of our work on adding support for hotplugging PCIe bridges
full of devices (without special requirement such as Hot-Plug Controller,
reservation of bus numbers and memory regions by firmware, etc.), this
serie is intended to solve the first of two problems from the list below:

I   PowerNV doesn't discover new hotplugged PCIe devices
II  EEH is falsely triggered when poking empty slots during the PCIe rescan
III The PCI subsystem is not prepared to runtime changes of BAR addresses
IV  Device drivers don't track changes of their BAR addresses
V   Allow the moving BARs of working devices to make space for new ones
VI  Add support for PCIe bridge hotplug

Tested on:
 - POWER8 PowerNV+OPAL ppc64le (our Vesnin server) with pci=realloc;
 - POWER8 IBM 8247-42L (pSeries);
 - POWER8 IBM 8247-42L (PowerNV+OPAL) with pci=realloc.

Changes since v1:
 - Fixed build for ppc64le and ppc64be when CONFIG_PCI_IOV is disabled;
 - Fixed build for ppc64e when CONFIG_EEH is disabled;
 - Fixed code style warnings.

Sergey Miroshnichenko (5):
  powerpc/pci: Access PCI config space directly w/o pci_dn
  powerpc/pci: Create pci_dn on demand
  powerpc/pci: Use DT to create pci_dn for root bridges only
  powerpc/powernv/pci: Enable reassigning the bus numbers
  PCI/powerpc/eeh: Add pcibios hooks for preparing to rescan

 arch/powerpc/include/asm/eeh.h               |  2 +
 arch/powerpc/kernel/eeh.c                    | 12 +++
 arch/powerpc/kernel/pci_dn.c                 | 82 +++++++++++++----
 arch/powerpc/kernel/rtas_pci.c               | 97 +++++++++++++-------
 arch/powerpc/platforms/powernv/eeh-powernv.c | 22 +++++
 arch/powerpc/platforms/powernv/pci.c         | 65 ++++++++-----
 drivers/pci/probe.c                          | 14 +++
 include/linux/pci.h                          |  2 +
 8 files changed, 225 insertions(+), 71 deletions(-)

-- 
2.17.1

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

end of thread, other threads:[~2018-09-14 21:12 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-06 11:57 [PATCH v2 0/5] powerpc/powernv/pci: Discover surprise-hotplugged PCIe devices during rescan Sergey Miroshnichenko
2018-09-06 11:57 ` [PATCH v2 1/5] powerpc/pci: Access PCI config space directly w/o pci_dn Sergey Miroshnichenko
2018-09-10  4:23   ` Sam Bobroff
2018-09-10 15:46     ` Sergey Miroshnichenko
2018-09-06 11:57 ` [PATCH v2 2/5] powerpc/pci: Create pci_dn on demand Sergey Miroshnichenko
2018-09-10  4:47   ` Sam Bobroff
2018-09-10 15:51     ` Sergey Miroshnichenko
2018-09-06 11:57 ` [PATCH v2 3/5] powerpc/pci: Use DT to create pci_dn for root bridges only Sergey Miroshnichenko
2018-09-06 11:57 ` [PATCH v2 4/5] powerpc/powernv/pci: Enable reassigning the bus numbers Sergey Miroshnichenko
2018-09-06 11:57 ` [PATCH v2 5/5] PCI/powerpc/eeh: Add pcibios hooks for preparing to rescan Sergey Miroshnichenko
2018-09-10  5:03   ` Sam Bobroff
2018-09-10 16:00     ` Sergey Miroshnichenko
2018-09-12 10:39       ` Benjamin Herrenschmidt
2018-09-14 21:12         ` Sergey Miroshnichenko

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.