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

Stewart Smith stewart at linux.vnet.ibm.com
Tue Aug 1 16:23:08 AEST 2017

Haren Myneni <haren at linux.vnet.ibm.com> writes:
> 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:
> https://lists.ozlabs.org/pipermail/skiboot/2017-May/007400.html
> Thanks to Sukadev Bhattiprolu for review and fixing several issues found
> during VAS testing.

Merged to skiboot master as of d689cb96ac58681bcff087e31162ff92fefd411d

I also added in the below patch to just be nicer with error messages, as
these aren't really *errors* currently, so much as "this functionality
isn't supported yet" bits of information.

Can you also work with Pridhiviraj to get something into
op-test-framework that adequately smoke-tests nx compression?

commit d111ad209af573ae488e99a2262546d62f59f7f2
Author: Stewart Smith <stewart at linux.vnet.ibm.com>
Date:   Tue Aug 1 14:06:57 2017 +1000

    nx: PR_INFO that NX RNG and Crypto not yet supported on POWER9
    Signed-off-by: Stewart Smith <stewart at linux.vnet.ibm.com>

diff --git a/hw/nx-crypto.c b/hw/nx-crypto.c
index 723c571af878..fd5f43d8ed0b 100644
--- a/hw/nx-crypto.c
+++ b/hw/nx-crypto.c
@@ -265,6 +265,10 @@ void nx_create_crypto_node(struct dt_node *node)
                cfg_asym = pb_base + NX_P8_ASYM_CFG;
                cfg_iq = pb_base + NX_P8_CRB_IQ;
                cfg_ee = pb_base + NX_P8_EE_CFG;
+       } else if (dt_node_is_compatible(node, "ibm, power9-nx")) {
+               prlog(PR_INFO, "NX%d: POWER9 nx-crypto not yet supported\n",
+                     gcid);
+               return;
        } else {
                prerror("NX%d: ERROR: Unknown NX type!\n", gcid);
diff --git a/hw/nx-rng.c b/hw/nx-rng.c
index dc419cb5e9df..51940e28dc9d 100644
--- a/hw/nx-rng.c
+++ b/hw/nx-rng.c
@@ -43,6 +43,10 @@ void nx_create_rng_node(struct dt_node *node)
                xbar = pb_base + NX_P8_RNG_BAR;
                xcfg = pb_base + NX_P8_RNG_CFG;
                addr_mask = NX_P8_RNG_BAR_ADDR;
+       } else if (dt_node_is_compatible(node, "ibm, power9-nx")) {
+               prlog(PR_INFO, "NX%d: POWER9 nx-rng not yet supported\n",
+                     gcid);
+               return;
        } else {
                prerror("NX%d: Unknown NX type!\n", gcid);

Stewart Smith
OPAL Architect, IBM.

More information about the Skiboot mailing list