[Skiboot] [PATCH v2 0/8] PCI Hotplug Support for P8DNU Machine

Gavin Shan gwshan at linux.vnet.ibm.com
Mon Feb 20 10:57:44 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;

Changelog
=========
v1 -> v2:
   * Willie modified p8dnu.c according to Stewart's comments: Add IBM's
     copyright 2017; Have platform.bmc to send correct code to sensor.
   * Unnecessary comments are removed in p8dnu.c. Give file scoped
     variables receive "static" property. 

Gavin Shan (7):
  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

Willie Liauw (1):
  platforms/astbmc: Support SMC's P8DNU

 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      | 359 ++++++++++++++++++++++++++++++++++++++++++
 platforms/astbmc/slots.c      |  15 ++
 7 files changed, 438 insertions(+), 28 deletions(-)
 create mode 100644 platforms/astbmc/p8dnu.c

-- 
2.7.4



More information about the Skiboot mailing list