[Skiboot] [RFC 00/12] opencapi: enable card reset and link retraining
Frederic Barrat
fbarrat at linux.ibm.com
Wed Jun 19 22:44:58 AEST 2019
This series sets the groundwork to allow to reset an opencapi adapter
from linux. The main intentent is to refresh linux' view of the device
when flashing a new FPGA image.
Sending as an RFC, as it's built on top of another RFC series from Oliver:
https://lists.ozlabs.org/pipermail/skiboot/2019-April/013869.html
which I'm reusing to control the slot power state.
The approach taken is to use the PCI hotplug framework. We define a
(virtual) slot for the (virtual) opencapi PHB. It allows linux to
control the slot state to unplug (set the opencapi adapter in reset)
and replug (release reset and retrain the link). On replug, the PCI
devices go through PCI enumeration, so BARs for the new image will be
properly reassigned.
Most of those patches are really to allow to retrain the link
reliably. Activating the hotplug framewore is done in patch 10, by
adding the required properties in the device tree and implementing the
slot power state callbacks on the PHB.
We have a dependency on the version of the DLx and TLx used on the
FPGA to make sure they are reset properly. The hw enablement team has
provided fixes for a while now, so we should be good.
Frederic Barrat (12):
npu2-hw-procedures: Move some opencapi PHY settings in one-off init
npu2-opencapi: Make sure the PCI slot has the proper ID
npu2-hw-procedures: Fix link retraining on reset
npu2-opencapi: Rework link training timeout
npu2-opencapi: Tweak fundamental reset sequence
npu2-opencapi: Simplify freset states
npu2-opencapi: Detect PHY reset errors
npu2-opencapi: Improve error reporting to the OS
npu2-opencapi: tweak to Oliver's RFC series
npu2-opencapi: Activate PCI hotplug on opencapi slot
npu2-opencapi: Handle OPAL_UNMAP_PE operation on set_pe() callback
npu2-opencapi: Log an warning when resetting a broken device
core/pci-opal.c | 73 ++++++++++++-------
core/pci-slot.c | 3 +
hw/npu2-common.c | 7 ++
hw/npu2-hw-procedures.c | 64 +++++++++++------
hw/npu2-opencapi.c | 155 ++++++++++++++++++++++++++++------------
include/npu2.h | 10 ++-
6 files changed, 214 insertions(+), 98 deletions(-)
--
2.21.0
More information about the Skiboot
mailing list