[Skiboot] [PATCH 0/8] PCI hotplug support for P8DNU machine

Gavin Shan gwshan at linux.vnet.ibm.com
Wed Jan 11 11:31:10 AEDT 2017

This series includes fixes to support PCI hotplug for superMicro's last
platform "P8DNU". It's worthy to include some of them in stable branches
as well:

  - Cached presence state is out of sync with hardware.
  - Cached slot power state should be fected from power state bits in
    PCIe capability.
  - Slot power supply lost on hot-remove, but it's not on automatically
    on hot-add. So we have to turn it on after PCI adapter is present.
  - Presence Detection Change (PDC) not reliable. Switch to Link State
    Change instead.

With this series applied, Willie (from SuperMicro) and Hank (from IBM
Taiwan) tested various hotplug scenarios on P8DNU machine as below. All
worked. I don't have a P8DNU around. Willie and Hank had huge efforts
to test/verify. Great thanks to them.

  - NVMe hot-add to empty slot;
  - NVMe hot-remove;
  - NVMe hot-swap;

Gavin Shan (8):
  platforms/astbmc: Support SMC's P8DNU
  core/pci: More reliable way to update PCI slot power state
  core/pci: Fix PCIe slot's presence
  core/pci: Enforce polling PCIe link in hot-add path
  core/pci: No validation on pd and ecap in pcie_slot_create()
  astbmc/p8dnu: Enable PCI slot's power supply on PEX9733 in hot-add path
  astbmc/p8dnu: Enable PCI slot's power supply on PEX8718 in hot-add path
  core/pci: Mark broken PDC on slots without surprise hotplug capability

 core/pci-slot.c               |   3 +
 core/pcie-slot.c              |  61 +++++---
 doc/pci-slot.rst              |  22 +--
 include/pci-slot.h            |   3 +
 platforms/astbmc/Makefile.inc |   3 +-
 platforms/astbmc/p8dnu.c      | 345 ++++++++++++++++++++++++++++++++++++++++++
 platforms/astbmc/slots.c      |  15 ++
 7 files changed, 424 insertions(+), 28 deletions(-)
 create mode 100644 platforms/astbmc/p8dnu.c


More information about the Skiboot mailing list