Skip to content

Commit

Permalink
powerpc/crypto: add 842 hardware compression driver
Browse files Browse the repository at this point in the history
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 <rcj@linux.vnet.ibm.com>
Signed-off-by: Seth Jennings <sjenning@linux.vnet.ibm.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
  • Loading branch information
Seth Jennings authored and herbertx committed Aug 1, 2012
1 parent da29aa8 commit 0e16aaf
Show file tree
Hide file tree
Showing 5 changed files with 1,644 additions and 0 deletions.
6 changes: 6 additions & 0 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -3415,6 +3415,12 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux.git
S: Maintained
F: arch/ia64/

IBM Power 842 compression accelerator
M: Robert Jennings <rcj@linux.vnet.ibm.com>
S: Supported
F: drivers/crypto/nx/nx-842.c
F: include/linux/nx842.h

IBM Power Linux RAID adapter
M: Brian King <brking@us.ibm.com>
S: Supported
Expand Down
9 changes: 9 additions & 0 deletions drivers/crypto/nx/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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.
3 changes: 3 additions & 0 deletions drivers/crypto/nx/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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
Loading

0 comments on commit 0e16aaf

Please sign in to comment.