diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2021-03-08 16:41:32 +1100 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2021-03-19 21:59:45 +1100 |
commit | 0914999744e5f233d4690aab97b09c780f9c2cb0 (patch) | |
tree | 1c246123491fbbd877de507173ae1980152e6a8b /crypto/aegis.h | |
parent | aa31e559f7f9267cc65ac7029bdf19b5b3635eaf (diff) | |
download | linux-0914999744e5f233d4690aab97b09c780f9c2cb0.tar.gz linux-0914999744e5f233d4690aab97b09c780f9c2cb0.tar.bz2 linux-0914999744e5f233d4690aab97b09c780f9c2cb0.zip |
crypto: aegis128 - Move simd prototypes into aegis.h
This patch fixes missing prototype warnings in crypto/aegis128-neon.c.
Fixes: a4397635afea ("crypto: aegis128 - provide a SIMD...")
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Acked-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto/aegis.h')
-rw-r--r-- | crypto/aegis.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/crypto/aegis.h b/crypto/aegis.h index 6920ebe77679..6ef9c174c973 100644 --- a/crypto/aegis.h +++ b/crypto/aegis.h @@ -21,9 +21,28 @@ union aegis_block { u8 bytes[AEGIS_BLOCK_SIZE]; }; +struct aegis_state; + +extern int aegis128_have_aes_insn; + #define AEGIS_BLOCK_ALIGN (__alignof__(union aegis_block)) #define AEGIS_ALIGNED(p) IS_ALIGNED((uintptr_t)p, AEGIS_BLOCK_ALIGN) +bool crypto_aegis128_have_simd(void); +void crypto_aegis128_update_simd(struct aegis_state *state, const void *msg); +void crypto_aegis128_init_simd(struct aegis_state *state, + const union aegis_block *key, + const u8 *iv); +void crypto_aegis128_encrypt_chunk_simd(struct aegis_state *state, u8 *dst, + const u8 *src, unsigned int size); +void crypto_aegis128_decrypt_chunk_simd(struct aegis_state *state, u8 *dst, + const u8 *src, unsigned int size); +int crypto_aegis128_final_simd(struct aegis_state *state, + union aegis_block *tag_xor, + unsigned int assoclen, + unsigned int cryptlen, + unsigned int authsize); + static __always_inline void crypto_aegis_block_xor(union aegis_block *dst, const union aegis_block *src) { |