android_kernel_google_msm/crypto
Sami Tolvanen 60317b0c4e crypto: arm/sha256 - Add optimized SHA-256/224
Add Andy Polyakov's optimized assembly and NEON implementations for
SHA-256/224.

The sha256-armv4.pl script for generating the assembly code is from
OpenSSL commit 51f8d095562f36cdaa6893597b5c609e943b0565.

Compared to sha256-generic these implementations have the following
tcrypt speed improvements on Motorola Nexus 6 (Snapdragon 805):

  bs    b/u      sha256-neon  sha256-asm
  16    16       x1.32        x1.19
  64    16       x1.27        x1.15
  64    64       x1.36        x1.20
  256   16       x1.22        x1.11
  256   64       x1.36        x1.19
  256   256      x1.59        x1.23
  1024  16       x1.21        x1.10
  1024  256      x1.65        x1.23
  1024  1024     x1.76        x1.25
  2048  16       x1.21        x1.10
  2048  256      x1.66        x1.23
  2048  1024     x1.78        x1.25
  2048  2048     x1.79        x1.25
  4096  16       x1.20        x1.09
  4096  256      x1.66        x1.23
  4096  1024     x1.79        x1.26
  4096  4096     x1.82        x1.26
  8192  16       x1.20        x1.09
  8192  256      x1.67        x1.23
  8192  1024     x1.80        x1.26
  8192  4096     x1.85        x1.28
  8192  8192     x1.85        x1.27

Where bs refers to block size and b/u to bytes per update.

Change-Id: Id221ad8ca7f27ca079290911da0178c3364b39f3
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
Cc: Andy Polyakov <appro@openssl.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2020-12-14 17:10:40 +01:00
..
async_tx crypto: remove the second argument of k[un]map_atomic() 2012-03-20 21:48:16 +08:00
Kconfig crypto: arm/sha256 - Add optimized SHA-256/224 2020-12-14 17:10:40 +01:00
Makefile crypto: create generic version of ablk_helper 2016-10-29 23:12:13 +08:00
ablk_helper.c crypto: create generic version of ablk_helper 2016-10-29 23:12:13 +08:00
ablkcipher.c crypto: skcipher - Copy iv from desc even for 0-len walks 2016-10-26 23:15:36 +08:00
aead.c crypto: user - fix info leaks in report API 2013-03-14 11:29:50 -07:00
aes_generic.c
af_alg.c crypto: af_alg - fix backlog handling 2015-04-14 17:33:48 +08:00
ahash.c crypto: ahash - ensure statesize is non-zero 2016-04-27 18:55:27 +08:00
algapi.c crypto: api - Only abort operations on fatal signal 2016-04-27 18:55:28 +08:00
algboss.c
algif_hash.c crypto: algif_hash - Only export and import on sockets with data 2016-10-26 23:15:26 +08:00
algif_skcipher.c UPSTREAM: crypto: algif_skcipher - Load TX SG list after waiting 2018-01-13 17:13:40 +03:00
ansi_cprng.c crypto: ansi_cprng - Fix off by one error in non-block size request 2013-11-29 10:50:32 -08:00
anubis.c
api.c crypto: api - Only abort operations on fatal signal 2016-04-27 18:55:28 +08:00
arc4.c
authenc.c crypto: authenc - Find proper IV address in ablkcipher callback 2013-12-11 22:34:10 -08:00
authencesn.c
blkcipher.c crypto: skcipher - Copy iv from desc even for 0-len walks 2016-10-26 23:15:36 +08:00
blowfish_common.c
blowfish_generic.c
camellia_generic.c crypto: camellia - rename camellia.c to camellia_generic.c 2012-03-14 17:25:55 +08:00
cast5.c
cast6.c
cbc.c
ccm.c crypto: ccm - Fix handling of zero plaintext when computing mac 2013-12-11 22:34:10 -08:00
chainiv.c
cipher.c
compress.c
crc32c.c crypto: crc32c should use library implementation 2012-03-23 16:58:38 -07:00
cryptd.c crypto: cryptd - disable softirqs in cryptd_queue_worker to prevent data corruption 2012-11-26 11:37:41 -08:00
crypto_null.c
crypto_user.c crypto: api - Only abort operations on fatal signal 2016-04-27 18:55:28 +08:00
crypto_wq.c crypto: crypto_wq - Fix late crypto work queue initialization 2014-06-07 16:02:02 -07:00
ctr.c
cts.c
deflate.c
des_generic.c
ecb.c
eseqiv.c
fcrypt.c
fips.c
gcm.c crypto: gcm - fix assumption that assoc has one segment 2013-04-12 09:38:46 -07:00
gf128mul.c
ghash-generic.c
hmac.c
internal.h
khazad.c
krng.c
lrw.c
lzo.c
md4.c
md5.c
michael_mic.c
pcbc.c
pcompress.c crypto: user - fix info leaks in report API 2013-03-14 11:29:50 -07:00
pcrypt.c crypto: pcrypt - Use the online cpumask as the default 2012-03-29 19:52:47 +08:00
proc.c
ripemd.h
rmd128.c
rmd160.c
rmd256.c
rmd320.c
rng.c crypto: user - fix info leaks in report API 2013-03-14 11:29:50 -07:00
salsa20_generic.c
scatterwalk.c crypto: remove the second argument of k[un]map_atomic() 2012-03-20 21:48:16 +08:00
seed.c
seqiv.c
serpent_generic.c
sha1_generic.c
sha256_generic.c crypto: sha256 - Expose SHA256 generic routine to be callable externally. 2016-10-29 23:12:14 +08:00
sha512_generic.c crypto: sha512 - Expose generic sha512 routine to be callable from other modules 2016-10-29 23:12:14 +08:00
shash.c Merge remote-tracking branch 'stable/linux-3.4.y' into lineage-15.1 2017-12-27 17:13:15 +03:00
tcrypt.c crypto: tcrypt - add more camellia tests 2012-03-14 17:25:55 +08:00
tcrypt.h
tea.c
testmgr.c crypto: testmgr - add more camellia test vectors 2012-03-14 17:25:54 +08:00
testmgr.h crypto: testmgr - update LZO compression test vectors 2014-07-28 07:06:44 -07:00
tgr192.c
twofish_common.c
twofish_generic.c
vmac.c
wp512.c
xcbc.c
xor.c
xts.c
zlib.c