powerpc/crypto: add 842 hardware compression driver

This patch adds the driver for interacting with the 842
compression accelerator on IBM Power7+ systems.

The device is a child of the Platform Facilities Option (PFO)
and shows up as a child of the IBM VIO bus.

The compression/decompression API takes the same arguments
as existing compression methods like lzo and deflate.  The 842
hardware operates on 4K hardware pages and the driver breaks up
input on 4K boundaries to submit it to the hardware accelerator.

Signed-off-by: Robert Jennings <[email protected]>
Signed-off-by: Seth Jennings <[email protected]>
Signed-off-by: Herbert Xu <[email protected]>
This commit is contained in:
Seth Jennings 2012-07-19 09:42:40 -05:00 • committed by Herbert Xu
commit 0e16aafb12
5 changed files with 1644 additions and 0 deletions

View file

@ -15,3 +15,12 @@ config CRYPTO_DEV_NX_ENCRYPT
Support for Power7+ in-Nest encryption acceleration. This
module supports acceleration for AES and SHA2 algorithms. If you
choose 'M' here, this module will be called nx_crypto.
config CRYPTO_DEV_NX_COMPRESS
tristate "Compression acceleration support"
depends on PPC64 && IBMVIO
default y
help
Support for Power7+ in-Nest compression acceleration. This
module supports acceleration for AES and SHA2 algorithms. If you
choose 'M' here, this module will be called nx_compress.

View file

@ -9,3 +9,6 @@ nx-crypto-objs := nx.o \
nx-aes-xcbc.o \
nx-sha256.o \
nx-sha512.o
obj-$(CONFIG_CRYPTO_DEV_NX_COMPRESS) += nx-compress.o
nx-compress-objs := nx-842.o

1615
drivers/crypto/nx/nx-842.c Normal file

File diff suppressed because it is too large Load diff