[Skiboot] [PATCH V3 00/15] OpenCAPI support for P10

Christophe Lombard clombard at linux.vnet.ibm.com
Fri Oct 15 02:56:49 AEDT 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-2: general refactoring

   Add various structs and fields we'll need later.

 - Patch 3: Detect devices on Rainier platform

 - Patches 4-8: setting up the PAU

 - Patch 9: create OpenCAPI PHBs

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

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

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

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

Changelog[v3]
 - Rebase to latest upstream.
 - patch2: - hdata_to_dt-check-dt Error.
           - Change the header files in pau.c
 - patch4: - Phys map direct test FAILED: Entry overlaps and Hole in map.

Changelog[v2]
 - Rebase to latest upstream.
 - patch1: - Rework opal call functions.
 - Remove patch2 due to the series to remove npu3 support.
 - patch3: - HDAT part for PAU have been removed. Keep only
             pau_dt_create() for the definitions.
           - Update "ibm,phb-index" definition.
 - patch4: - rainier_i2c_dev_detect() has been a little bit reworked.
 - patch11: - Avoid going back to the device tree to read the scom base.
 - patch14: - Rework opal call functions.
 - patch16: - Change mapping of OCAPI_MEM

Christophe Lombard (15):
  npu2: move opal api
  pau: introduce support
  rainier: detect pau devices
  pau: assign bars
  pau: create phb
  pau: enabling opencapi
  pau: translation layer configuration
  pau: enable interrupt on error
  pau: complete phb ops
  pau: hmi scom dump
  pau: phy init
  pau: link training
  pau: update current opal call functions
  pau: mmio invalidates
  pau: Add support for OpenCAPI Persistent Memory devices.

 core/hmi.c                 |  276 +++--
 core/init.c                |    3 +
 core/pci-opal.c            |    9 +-
 core/pci.c                 |    4 +-
 hdata/spira.c              |   31 +-
 hdata/spira.h              |    2 +-
 hw/Makefile.inc            |    2 +-
 hw/npu-opal.c              |  113 ++
 hw/npu2-common.c           |   27 +-
 hw/npu2-opencapi.c         |   58 +-
 hw/pau-hw-procedures.c     |  310 ++++++
 hw/pau.c                   | 2095 ++++++++++++++++++++++++++++++++++++
 hw/phys-map.c              |   66 +-
 include/npu2-regs.h        |    5 +
 include/npu2.h             |   12 +-
 include/pau-regs.h         |  223 ++++
 include/pau.h              |  220 ++++
 include/pci.h              |    1 +
 include/phys-map.h         |    4 +
 include/platform.h         |    9 +
 include/skiboot.h          |    1 +
 include/xscom-p10-regs.h   |   51 +
 platforms/astbmc/rainier.c |  239 ++++
 23 files changed, 3520 insertions(+), 241 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