![Haren Myneni](/assets/img/avatar_default.png)
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>
50 lines
1.7 KiB
Plaintext
50 lines
1.7 KiB
Plaintext
|
|
config CRYPTO_DEV_NX_ENCRYPT
|
|
tristate "Encryption acceleration support on pSeries platform"
|
|
depends on PPC_PSERIES && IBMVIO && !CPU_LITTLE_ENDIAN
|
|
default y
|
|
select CRYPTO_AES
|
|
select CRYPTO_CCM
|
|
help
|
|
Support for PowerPC Nest (NX) encryption acceleration. This
|
|
module supports acceleration for AES and SHA2 algorithms on
|
|
the pSeries platform. If you choose 'M' here, this module
|
|
will be called nx_crypto.
|
|
|
|
config CRYPTO_DEV_NX_COMPRESS
|
|
tristate "Compression acceleration support"
|
|
default y
|
|
select CRYPTO_ALGAPI
|
|
select 842_DECOMPRESS
|
|
help
|
|
Support for PowerPC Nest (NX) compression acceleration. This
|
|
module supports acceleration for compressing memory with the 842
|
|
algorithm using the cryptographic API. One of the platform
|
|
drivers must be selected also. If you choose 'M' here, this
|
|
module will be called nx_compress.
|
|
|
|
if CRYPTO_DEV_NX_COMPRESS
|
|
|
|
config CRYPTO_DEV_NX_COMPRESS_PSERIES
|
|
tristate "Compression acceleration support on pSeries platform"
|
|
depends on PPC_PSERIES && IBMVIO
|
|
default y
|
|
help
|
|
Support for PowerPC Nest (NX) compression acceleration. This
|
|
module supports acceleration for compressing memory with the 842
|
|
algorithm. This supports NX hardware on the pSeries platform.
|
|
If you choose 'M' here, this module will be called nx_compress_pseries.
|
|
|
|
config CRYPTO_DEV_NX_COMPRESS_POWERNV
|
|
tristate "Compression acceleration support on PowerNV platform"
|
|
depends on PPC_POWERNV
|
|
depends on PPC_VAS
|
|
default y
|
|
help
|
|
Support for PowerPC Nest (NX) compression acceleration. This
|
|
module supports acceleration for compressing memory with the 842
|
|
algorithm. This supports NX hardware on the PowerNV platform.
|
|
If you choose 'M' here, this module will be called nx_compress_powernv.
|
|
|
|
endif
|