[PATCH V2 0/2] ocxl: Move SPA and TL definitions

christophe lombard clombard at linux.vnet.ibm.com
Thu Oct 17 02:59:11 AEDT 2019


This series moves the definition and the management of scheduled process
area (SPA) and of the templates (Transaction Layer) for an ocxl card,
using the OCAPI interface. The code is now located in the specific arch
powerpc platform.
These patches will help for a futur implementation of the ocxl driver in
QEMU.

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.

The Scheduled Processes Area and the configuration of the Transaction
Layer are specific to the AFU and more generally to the Opencapi device.
Running the ocxl module in a guest environment, and later in several guests
in parallel, using the same Opencapi device and the same AFus, involves to
have a common code handling the SPA. This explains why these parts of the ocxl
driver will move to arch powerpc platform running on the host.

It builds on top of the existing ocxl driver.

It has been tested in a bare-metal environment using the memcpy and
the AFP AFUs.

Changelog:
v2:
 - patch 1: delete debug message as it no longer makes sense.  (Fred)
            Rename pnv_ocxl_read_xsl_regs to pnv_ocxl_get_fault_state. (Fred)
            Rename pnv_ocxl_write_xsl_tfc to pnv_ocxl_handle_fault. (Fred)
            Call opal_npu_spa_clear_cache() internally without using external
            function. (Fred)
            Remove pe_handle parameter from pnv_ocxl_update_pe() (Fred)
            Not possible to split this patch in 2 (one part for the SPA
            handling, the other for the translation fault interrupt). There are
            far too many dependencies with the SPA structure. (Fred)
            Switch the order of the pe_data allocation and the call to add the
            entry in the SPA. (Fred)

christophe lombard (2):
  powerpc/powernv: ocxl move SPA definition
  powerpc/powernv: ocxl move TL definition

 arch/powerpc/include/asm/pnv-ocxl.h   |  46 +--
 arch/powerpc/platforms/powernv/ocxl.c | 400 +++++++++++++++++++++++---
 drivers/misc/ocxl/afu_irq.c           |   1 -
 drivers/misc/ocxl/config.c            |  89 +-----
 drivers/misc/ocxl/link.c              | 383 ++++++------------------
 drivers/misc/ocxl/ocxl_internal.h     |  12 -
 drivers/misc/ocxl/trace.h             |  64 ++---
 7 files changed, 508 insertions(+), 487 deletions(-)

-- 
2.21.0



More information about the Linuxppc-dev mailing list