[Skiboot] [PATCH 00/16] PCI Surprise Hotplug Support

Gavin Shan gwshan at linux.vnet.ibm.com
Thu Oct 13 12:10:47 AEDT 2016


On Fri, Sep 16, 2016 at 03:05:07PM +1000, Gavin Shan wrote:
>This series of patches supports PCI surprise hotplug. The functionality
>relies on PCI slot presence and link state change reporting event. When
>surprise hotplug has been claimed on the slot through device-tree property
>"ibm,slot-surprise-pluggable", we have to keep slot's power supply always
>on. Otherwise, the required events won't be raised properly. The code changes
>were tested on Firestone+{Sumsung NVMe Adapter, Memblaze NVMe Adapter} when
>the PCI adapters seat behind PLX or PMC PCIe switch downstream port.
>
>PATCH[1-4] supports dynamic PCIe slots on openPower platforms. It's requested
>from customer who inserts a PMC PCIe switch behind PHB direct slot in order to
>evaluate its functionality. Those patches populate PCIe slots on the PMC PCIe
>switch downstream ports and their labels ("S<domain><bus_num>") are populated
>dynamically.
>
>PATCH[5-12] are preparation for PCI surprise hotplug support by fixing couple
>of issues: Use the cached power state; Find the associated PCI slot before
>applying quirk; Reserve PCI buses on the root port when there is nothing
>connected. 
>
>PATCH[13-15] claims PCI surprise hotplug capability on the PCI slot when
>it's supported in PCI slot capability (in PCIe capability) or link state
>change reporting is claimed. The surprise link down event on the PCI slot
>shouldn't cause a EEH error when the PCI slot supports surprise hotplug.
>
>PATCH[16] fixes a bug. We have to disable ECRC functionality when BCM57800
>seats behind PMC PCIe switch. Otherwise, the adapter cannot be probed by
>PCI subsystem successfully.
>

Some of the patches included in this series (old revision though) have
been merged to upstream. We don't have critical difference between the
old revision and this one for those have been merged. Stewart, please
ignore this series and I post the incremental patches shortly.

Thanks,
Gavin

>Gavin Shan (16):
>  platforms/astbmc: Fix coding style for slot_table_get_slot_info()
>  platforms/astbmc: ibm,slot-label not depend on ibm,slot-location-code
>  platforms/astbmc: Introduce helper function slot_init_info()
>  platforms/astbmc: Support dynamic PCI slot
>  core/pci: Output CRS retry times
>  core/pci: Fix PCIe slot power state
>  core/pci: Return error on invalid power state transition
>  core/pci: Cache power state on slot without power control
>  core/pci: Return slot cached power state
>  core/pci: Update PCI topology after power change
>  core/pci: Get PCI slot before applying quirk
>  core/pci: Reserve PCI buses for RC's slot
>  core/pci: Claim surprise hotplug capability
>  hw/phb3: Disable surprise link down event on PCI slots
>  hw/phb3: Override root slot's prepare_link_change() with PHB's
>  hw/phb3: Disable ECRC on Broadcom adapter behind PMC switch
>
> core/pci-opal.c                 | 20 ++++++---
> core/pci-slot.c                 | 26 +++++++----
> core/pci.c                      | 47 +++++++++++++-------
> core/pcie-slot.c                | 79 ++++++++++++++++++++++++++-------
> hw/phb3.c                       | 88 +++++++++++++++++++++++++++++++-----
> include/pci-slot.h              |  1 +
> platforms/astbmc/slots.c        | 98 ++++++++++++++++++++++++++++++++++-------
> platforms/ibm-fsp/firenze-pci.c | 10 +++++
> 8 files changed, 296 insertions(+), 73 deletions(-)
>
>-- 
>2.1.0
>



More information about the Skiboot mailing list