[Skiboot] [PATCH 0/4] capi: Add support for Coherent Accelerator Interface Architecture 2.0

Christophe Lombard clombard at linux.vnet.ibm.com
Fri Feb 10 20:04:18 AEDT 2017

This series implements phb4 backend to support card which supports the
Coherent Accelerator Interface Architecture 2.0.

It requires IBM Power9 system and the Power Service Layer, version 9.
The PSL provides the address translation and system memory cache for
CAIA compliant Accelerators.
the PSL attaches to the IBM Processor chip through the PCIe link using
the PSL-specific “CAPI Protocol” Transaction Layer Packets.
The PSL and CAPP communicate using PowerBus packets. 
When using a PCIe link the PCIe Host Bridge (PHB) decodes the CAPI
Protocol Packets from the PSL and forwards them as PowerBus data
packets. The PSL also has an optional DMA feature which allows the AFU
to send native PCIe reads and writes to the Processor.

The code for PHB4 (Caia2) is based on PHB3 (Caia2) for the commun
functionalities as the synchronization of the timebase and the
preload/load of the CAPP microcode.

CAPP Connections for PHB4
• CAPP0 is located in unit EN and is connected to pci-e unit 0 (PHB0).
• CAPP1 is located in unit ES and is connected to pci-e unit 2 (PHB3).

The first patch externalizes the chiptod code. It will be used for PHB3
and PHB4.
The patch 2 moves in a specific file the definitions of the CAPP
registers for PHB3.
The patch 3 initializes the CAPP registers and enables the CAPP Mode of
the PEC.
and the patch 4 loads the CAPP microcode for PHB4.

Tested on Simulation environment.

Christophe Lombard (4):
  capi: Externalize capp timebase synchronization
  capi: Move phb3 capp registers to specialized files
  capi: Enable capi mode for phb4
  capi: Load capp microcode for phb4

 core/hmi.c          |   2 +-
 core/init.c         |   2 +-
 hw/Makefile.inc     |   2 +-
 hw/capp.c           | 235 ++++++++++++++++++++++++++++++++++++++++++++
 hw/chiptod.c        |  40 ++++----
 hw/phb3.c           | 215 ++++------------------------------------
 hw/phb4.c           | 277 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 include/capp.h      |  43 +++-----
 include/chip.h      |   1 +
 include/chiptod.h   |   4 +-
 include/phb3-capp.h |  50 ++++++++++
 include/phb4-capp.h |  57 +++++++++++
 include/phb4-regs.h |   8 +-
 include/skiboot.h   |   3 +-
 14 files changed, 681 insertions(+), 258 deletions(-)
 create mode 100644 hw/capp.c
 create mode 100644 include/phb3-capp.h
 create mode 100644 include/phb4-capp.h


More information about the Skiboot mailing list