1. 18 May, 2015 1 commit
  2. 15 May, 2015 4 commits
  3. 13 May, 2015 31 commits
  4. 11 May, 2015 4 commits
    • Ard Biesheuvel's avatar
      crypto: arm/aes - streamline AES-192 code path · 6499e8cf
      Ard Biesheuvel authored
      This trims off a couple of instructions of the total size of the
      core AES transform by reordering the final branch in the AES-192
      code path with the rounds that are performed regardless of whether
      the branch is taken or not. Other than the slight size reduction,
      this has no performance benefit.
      
      Fix up a comment regarding the prototype of this function while
      we're at it.
      Signed-off-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      6499e8cf
    • Ard Biesheuvel's avatar
      crypto: arm/sha512 - accelerated SHA-512 using ARM generic ASM and NEON · c80ae7ca
      Ard Biesheuvel authored
      This replaces the SHA-512 NEON module with the faster and more
      versatile implementation from the OpenSSL project. It consists
      of both a NEON and a generic ASM version of the core SHA-512
      transform, where the NEON version reverts to the ASM version
      when invoked in non-process context.
      
      This patch is based on the OpenSSL upstream version b1a5d1c65208
      of sha512-armv4.pl, which can be found here:
      
        https://git.openssl.org/gitweb/?p=openssl.git;h=b1a5d1c65208
      
      Performance relative to the generic implementation (measured
      using tcrypt.ko mode=306 sec=1 running on a Cortex-A57 under
      KVM):
      
        input size	block size	asm	neon	old neon
      
        16		16		1.39	2.54	2.21
        64		16		1.32	2.33	2.09
        64		64		1.38	2.53	2.19
        256		16		1.31	2.28	2.06
        256		64		1.38	2.54	2.25
        256		256		1.40	2.77	2.39
        1024		16		1.29	2.22	2.01
        1024		256		1.40	2.82	2.45
        1024		1024		1.41	2.93	2.53
        2048		16		1.33	2.21	2.00
        2048		256		1.40	2.84	2.46
        2048		1024		1.41	2.96	2.55
        2048		2048		1.41	2.98	2.56
        4096		16		1.34	2.20	1.99
        4096		256		1.40	2.84	2.46
        4096		1024		1.41	2.97	2.56
        4096		4096		1.41	3.01	2.58
        8192		16		1.34	2.19	1.99
        8192		256		1.40	2.85	2.47
        8192		1024		1.41	2.98	2.56
        8192		4096		1.41	2.71	2.59
        8192		8192		1.51	3.51	2.69
      Acked-by: default avatarJussi Kivilinna <jussi.kivilinna@iki.fi>
      Signed-off-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      c80ae7ca
    • Allan, Bruce W's avatar
      551d7ed2
    • Dan Streetman's avatar
      crypto: nx - add hardware 842 crypto comp alg · ed70b479
      Dan Streetman authored
      Add crypto compression alg for 842 hardware compression and decompression,
      using the alg name "842" and driver_name "842-nx".
      
      This uses only the PowerPC coprocessor hardware for 842 compression.  It
      also uses the hardware for decompression, but if the hardware fails it will
      fall back to the 842 software decompression library, so that decompression
      never fails (for valid 842 compressed buffers).  A header must be used in
      most cases, due to the hardware's restrictions on the buffers being
      specifically aligned and sized.
      
      Due to the header this driver adds, compressed buffers it creates cannot be
      directly passed to the 842 software library for decompression.  However,
      compressed buffers created by the software 842 library can be passed to
      this driver for hardware 842 decompression (with the exception of buffers
      containing the "short data" template, as lib/842/842.h explains).
      Signed-off-by: default avatarDan Streetman <ddstreet@ieee.org>
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      ed70b479