[Skiboot] [PATCH 00/16] OpenCAPI 5.0 Support for P10

Christophe Lombard clombard at linux.vnet.ibm.com
Fri Aug 20 19:45:41 AEST 2021


The Open Coherently Attached Processor Interface (OCAPI) is used to
allow an Attached Functional Unit (AFU) to connect to the Processor
Chip's system bus in a high speed and cache coherent manner.

This series implements OpenCAPI support for P10.

The series is divided as follows:

 - Patches 1-3: general refactoring

   Add various structs and fields we'll need later.

 - Patch 4: Detect devices on Rainier platform

 - Patches 5-9: setting up the PAU

 - Patch 10: create OpenCAPI PHBs

 - Patch 11: dumping hmi scoms
 
 - Patch 12-13: Link training and Phy configuration
 
 - Patch 14: OPAL API calls

   We define three new API calls for handling the Shared Process Area and
   setting OpenCAPI TL template capabilities.

 - Patch 15: mmio invalidates. Use MMIO registers to perform TLB
   operations.
  
 - Patch 16: lpc memory support.

This series has been tested on a Rainier system with a HMS/Bono and
TresHombres cards

Christophe Lombard (16):
  opencapi5: move opal api
  opencapi5: update npu3
  opencapi5: introduce support
  opencapi5: rainier detect device
  opencapi5: assing bars
  opencapi5: create phb
  opencapi5: enabling opencapi
  opencapi5: translation layer configuration
  opencapi5: enable interrupt on error
  opencapi5: complete phb ops
  opencapi5: hmi scom dump
  opencapi5: phy init
  opencapi5: link training
  opencapi5: add opal functions
  opencapi5: mmio invalidates
  opencapi5: Add support for OpenCAPI Persistent Memory devices.

 core/hmi.c                 |  263 +++--
 core/init.c                |    3 +
 core/pci-opal.c            |    9 +-
 core/pci.c                 |    4 +-
 hdata/spira.c              |  140 ++-
 hdata/spira.h              |    2 +-
 hw/Makefile.inc            |    2 +-
 hw/npu-opal.c              |  113 ++
 hw/npu2-common.c           |   30 +-
 hw/npu2-opencapi.c         |   53 +-
 hw/npu3.c                  |    4 +-
 hw/pau-hw-procedures.c     |  310 ++++++
 hw/pau.c                   | 2073 ++++++++++++++++++++++++++++++++++++
 hw/phys-map.c              |   49 +-
 include/npu2-regs.h        |    5 +
 include/npu2.h             |   12 +-
 include/pau-regs.h         |  223 ++++
 include/pau.h              |  222 ++++
 include/pci.h              |    1 +
 include/phys-map.h         |    4 +
 include/platform.h         |    9 +
 include/skiboot.h          |    1 +
 include/xscom-p10-regs.h   |   49 +
 platforms/astbmc/rainier.c |  181 ++++
 24 files changed, 3530 insertions(+), 232 deletions(-)
 create mode 100644 hw/pau-hw-procedures.c
 create mode 100644 hw/pau.c
 create mode 100644 include/pau-regs.h
 create mode 100644 include/pau.h

-- 
2.31.1



More information about the Skiboot mailing list