mbox series

[v2,0/4] Add libsbefifo

Message ID 20190821060817.31012-1-amitay@ozlabs.org
Headers show
Series Add libsbefifo | expand

Message

Amitay Isaacs Aug. 21, 2019, 6:08 a.m. UTC
Instead of polluting pdbg code with sbefifo specific details, abstract all
sbefifo operations into a separate library, libsbefifo.  Drop all the sbefifo
related code from sbefifo driver and use library api.  Since the library
implements all the chip-operations, there is no need for a generic chipop api.

There is no reason to use different types of access (ADU / PBA) based on ci.
Stick to ADU always.  Since ADU requires 8-byte alignment instead of 128-byte
alignment for PBA, makes easier to specify addresses/data for getmem/putmem.

v2 changes:
 - Rebase on top of Alistair's patches that separate sbefifo_mem target
 - Include extra patch for always using ADU for memory access

Amitay Isaacs (4):
  libsbefifo: Add a library to talk to sbefifo
  libpdbg: Drop sbe_chipop api for generic chip-op
  sbefifo: Switch to using libsbefifo api
  sbefifo: Always use ADU for memory access

 Makefile.am                  |  20 +-
 libpdbg/hwunit.h             |   6 +-
 libpdbg/libpdbg.h            |   1 -
 libpdbg/sbefifo.c            | 375 ++++-------------------------------
 libpdbg/target.c             |  11 -
 libsbefifo/cmd_array.c       | 100 ++++++++++
 libsbefifo/cmd_control.c     |  50 +++++
 libsbefifo/cmd_generic.c     | 169 ++++++++++++++++
 libsbefifo/cmd_instruction.c |  54 +++++
 libsbefifo/cmd_memory.c      | 243 +++++++++++++++++++++++
 libsbefifo/cmd_mpipl.c       | 102 ++++++++++
 libsbefifo/cmd_register.c    | 115 +++++++++++
 libsbefifo/cmd_ring.c        | 119 +++++++++++
 libsbefifo/cmd_scom.c        | 147 ++++++++++++++
 libsbefifo/connect.c         |  74 +++++++
 libsbefifo/ffdc.c            | 151 ++++++++++++++
 libsbefifo/libsbefifo.h      | 116 +++++++++++
 libsbefifo/operation.c       | 149 ++++++++++++++
 libsbefifo/sbefifo_private.h |  88 ++++++++
 19 files changed, 1730 insertions(+), 360 deletions(-)
 create mode 100644 libsbefifo/cmd_array.c
 create mode 100644 libsbefifo/cmd_control.c
 create mode 100644 libsbefifo/cmd_generic.c
 create mode 100644 libsbefifo/cmd_instruction.c
 create mode 100644 libsbefifo/cmd_memory.c
 create mode 100644 libsbefifo/cmd_mpipl.c
 create mode 100644 libsbefifo/cmd_register.c
 create mode 100644 libsbefifo/cmd_ring.c
 create mode 100644 libsbefifo/cmd_scom.c
 create mode 100644 libsbefifo/connect.c
 create mode 100644 libsbefifo/ffdc.c
 create mode 100644 libsbefifo/libsbefifo.h
 create mode 100644 libsbefifo/operation.c
 create mode 100644 libsbefifo/sbefifo_private.h