[Skiboot] [PATCH V4 0/5] Enable NX 842 and gzip compression engines on Power9

Haren Myneni haren at linux.vnet.ibm.com
Tue Jul 18 12:45:29 AEST 2017

NX accelerator support is included since P7+ for 842 HW memory compression
and encryption. In addition to 842 compression, Power9 also introduces GZIP
compression engine in NX accelerator which supports both gzip and zlib
compression formats. Virtual Accelerator Switchboard (VAS) is added on P9
which allows kernel and user space to access NX accelerator. icswx
instruction is used on P7+ and P8 to access NX from kernel. P9 NX also
provides the mechanism for setting up NX compression requests with high or
normal priorities for each coprocessor type (842 and gzip).

This patch series adds functionality to setup and enable/disable 842 and
gzip engines with the appropriate registers available on P9 NX. Also creates
new device-tree entries so that kernel can drive 842 and gzip engines.

Tested Patches on P9 DD1 HW using VAS and nx-842 driver changes, and
also on P8.

This patchset depends on skiboot VAS changes:

Thanks to Sukadev Bhattiprolu for review and fixing several issues found
during VAS testing.

 - device tree changes for NX FIFO nodes
 - Fixed issues found with testing on P9 DD1 HW
 - Set all 1's (0xfff) for RxFIFO lpid as suggested by
   Benjamin Herrenschmidt
 - Defined the proper value for RX_FIFO_MAX_CRB_SIZE
 - Addressed other review comments from Sukadev Bhattiprolu

Haren Myneni (5):
  NX: Add P9 NX register defines for 842 / gzip engines
  NX: Organize NX compression code to include 842 and gzip engines
  NX: Add P9 NX support for 842 compression engine
  NX: Add P9 NX support for gzip compression engine
  NX: Describe device-tree changes for P9 NX compression engines

 doc/device-tree/nx.rst |   37 +++++++-
 hw/Makefile.inc        |    2 +-
 hw/nx-842.c            |   89 +++++++++++++-----
 hw/nx-compress.c       |  248 ++++++++++++++++++++++++++++++++++++++++++++++++
 hw/nx-gzip.c           |  127 ++++++++++++++++++++++++
 hw/nx.c                |    2 +-
 include/nx.h           |  112 +++++++++++++++++++++-
 7 files changed, 582 insertions(+), 35 deletions(-)
 create mode 100644 hw/nx-compress.c
 create mode 100644 hw/nx-gzip.c

More information about the Skiboot mailing list