[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