linux_dsm_epyc7002/drivers/crypto/nx
Haren Myneni b0d6c9bab5 crypto/nx: Add P9 NX support for 842 compression engine
This patch adds P9 NX support for 842 compression engine. Virtual
Accelerator Switchboard (VAS) is used to access 842 engine on P9.

For each NX engine per chip, setup receive window using
vas_rx_win_open() which configures RxFIFo with FIFO address, lpid,
pid and tid values. This unique (lpid, pid, tid) combination will
be used to identify the target engine.

For crypto open request, open send window on the NX engine for
the corresponding chip / cpu where the open request is executed.
This send window will be closed upon crypto close request.

NX provides high and normal priority FIFOs. For compression /
decompression requests, we use only hight priority FIFOs in kernel.

Each NX request will be communicated to VAS using copy/paste
instructions with vas_copy_crb() / vas_paste_crb() functions.

Signed-off-by: Haren Myneni <haren@us.ibm.com>
Reviewed-by: Ram Pai <linuxram@us.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2017-09-01 16:42:51 +10:00
..
Kconfig crypto/nx: Add P9 NX support for 842 compression engine 2017-09-01 16:42:51 +10:00
Makefile crypto: nx - make platform drivers directly register with crypto 2015-07-23 18:14:33 +08:00
nx_csbcpb.h powerpc/crypto: nx driver code supporting nx encryption 2012-05-16 15:05:41 +10:00
nx_debugfs.c powerpc/crypto: debugfs routines and docs for the nx device driver 2012-05-16 15:05:45 +10:00
nx-842-powernv.c crypto/nx: Add P9 NX support for 842 compression engine 2017-09-01 16:42:51 +10:00
nx-842-pseries.c crypto: 842 - Add CRC and validation support 2015-10-14 22:23:17 +08:00
nx-842.c crypto/nx: Use kzalloc for workmem allocation 2017-09-01 16:42:50 +10:00
nx-842.h crypto/nx: Add P9 NX specific error codes for 842 engine 2017-09-01 16:42:50 +10:00
nx-aes-cbc.c crypto: nx - Moving NX-AES-CBC to be processed logic 2014-11-06 23:15:00 +08:00
nx-aes-ccm.c crypto: nx - Fix timing leak in GCM and CCM decryption 2015-11-16 21:39:23 +08:00
nx-aes-ctr.c crypto: nx - Removing CTR mode from NX driver 2015-08-10 23:22:22 +08:00
nx-aes-ecb.c crypto: nx - Moving NX-AES-ECB to be processed logic 2014-11-06 23:15:01 +08:00
nx-aes-gcm.c crypto: nx - Fix timing leak in GCM and CCM decryption 2015-11-16 21:39:23 +08:00
nx-aes-xcbc.c crypto: nx - Fix reentrancy bugs 2015-07-08 15:14:13 +08:00
nx-sha256.c crypto: nx - respect sg limit bounds when building sg lists for SHA 2015-08-11 22:02:57 +08:00
nx-sha512.c crypto: nx - respect sg limit bounds when building sg lists for SHA 2015-08-11 22:02:57 +08:00
nx.c crypto: nx - drop duplicate header types.h 2016-11-17 23:34:55 +08:00
nx.h crypto: nx - Add forward declaration for struct crypto_aead 2015-08-17 19:49:13 +08:00