[Skiboot] [PATCH v4 00/10] PCI Slot Management

Gavin Shan gwshan at linux.vnet.ibm.com
Tue Feb 17 17:48:47 AEDT 2015


It bases on I2C patch from Neelesh Gupata. Please refer to PATCH[10/10]
for the details. Currently, the patchset intends to support unified PCI
slot management infrastructure, including reset and hotplug support.
The attention LED for one particular PCI slot isn't finalized yet
and it's something to be supported in future.

The kernel counterpart will be split into 2 parts and sent to linux-ppc
and linux-pci maillists separately: (A) PowerPC PowerNV related changes
to use the unified reset OPAL API; (B) powernv-php.ko changes to support
hotplug for PowerNV platform.

Changelog
=========
v3 -> v4:
        * Most of functions in pci-slot.c have prefix "pcie_".
        * Functions exported from pci-slot.c, p7ioc-phb.c and phb3.c to
          be called by individual platforms to create PHB slots or normal
          PCI slots.
        * Fixed compatible issue by: (1) Adjusting the compound ID scheme;
          (2) Added device node property "ibm,reset-by-firmware"; (3) Keep
          opal_pci_reinit(). Eventually, old/new kernel can work with old/new
          skiboot.
        * Instead of looking into device-tree for I2C based external power
          management, a fixed table used to describe it.
        * struct pci_slot_ops::add_properties() used by platform to add
          additional slot properties except those exported by
          pci_slot_add_properties().
        * Updated doc/pci-slot.txt based on code changes.
v2 -> v3:
        * Support Linux PCI hotplug driver (rpaphp.ko)
        * Rework I2C functionality based on the skiboot "master"
          branch.
        * Add OPAL APIs to retrieve slot's power and presence status
          for hotplug path.
        * Remove blank suffix for LXVPD slot label.
        * One more parameter to opal_pci_poll().
        * Misc fixup
v1 -> v2:
        * Rebased the code to Ben's I2C fixup
        * Split into multiple patches
        * Code refactor and bug fixes while doing the test.
        * Add PERST logic for Firenze PCI slot
        * Remove opal_pci_reinit()
        * All debugging messages should be turned off with PR_TRACE,
          which will be done when the design is finalized

Gavin Shan (10):
  core/pci: Allow iteration on specified devices
  core/pci: PCI slot management core
  hw/p5ioc: PHB slot
  hw/p7ioc: PHB slot
  hw/phb3: PHB slot
  platforms/ibm-fsp: Refactor PCI stuff
  core/pci: PCI slot
  core/opal: Switch to PCI slot
  PCI: Reinitialize devices on slot reset
  doc: PCI slot

 core/Makefile.inc               |    2 +-
 core/pci-opal.c                 |  150 +++--
 core/pci-slot.c                 |  744 +++++++++++++++++++++++++
 core/pci.c                      |  178 ++----
 doc/pci-slot-properties.txt     |   17 -
 doc/pci-slot.txt                |   87 +++
 hw/p5ioc2-phb.c                 |  367 ++-----------
 hw/p7ioc-phb.c                  | 1149 ++++++++++++++++-----------------------
 hw/phb3.c                       |  721 ++++++++++--------------
 include/opal.h                  |    9 +-
 include/p5ioc2.h                |   10 +-
 include/p7ioc.h                 |   49 +-
 include/pci-slot.h              |  201 +++++++
 include/pci.h                   |  154 +-----
 include/phb3.h                  |   53 +-
 include/platform.h              |    3 +-
 platforms/ibm-fsp/Makefile.inc  |    3 +-
 platforms/ibm-fsp/apollo-pci.c  |   93 ++++
 platforms/ibm-fsp/apollo.c      |   24 +-
 platforms/ibm-fsp/firenze-pci.c |  794 +++++++++++++++++++++++++++
 platforms/ibm-fsp/firenze.c     |  206 +------
 platforms/ibm-fsp/ibm-fsp.h     |    8 +
 platforms/ibm-fsp/lxvpd.c       |  375 ++++++++-----
 platforms/ibm-fsp/lxvpd.h       |   35 +-
 24 files changed, 3218 insertions(+), 2214 deletions(-)
 create mode 100644 core/pci-slot.c
 delete mode 100644 doc/pci-slot-properties.txt
 create mode 100644 doc/pci-slot.txt
 create mode 100644 include/pci-slot.h
 create mode 100644 platforms/ibm-fsp/apollo-pci.c
 create mode 100644 platforms/ibm-fsp/firenze-pci.c

-- 
1.8.3.2



More information about the Skiboot mailing list