[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