locking/refcounts: Include fewer headers in <linux/refcount.h>
[linux/fpc-iii.git] / arch / x86 / include / asm / crypto / serpent-sse2.h
blob1a345e8a7496c655c7066ca4c0efac30e60c1c69
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef ASM_X86_SERPENT_SSE2_H
3 #define ASM_X86_SERPENT_SSE2_H
5 #include <linux/crypto.h>
6 #include <crypto/serpent.h>
8 #ifdef CONFIG_X86_32
10 #define SERPENT_PARALLEL_BLOCKS 4
12 asmlinkage void __serpent_enc_blk_4way(struct serpent_ctx *ctx, u8 *dst,
13 const u8 *src, bool xor);
14 asmlinkage void serpent_dec_blk_4way(struct serpent_ctx *ctx, u8 *dst,
15 const u8 *src);
17 static inline void serpent_enc_blk_xway(struct serpent_ctx *ctx, u8 *dst,
18 const u8 *src)
20 __serpent_enc_blk_4way(ctx, dst, src, false);
23 static inline void serpent_enc_blk_xway_xor(struct serpent_ctx *ctx, u8 *dst,
24 const u8 *src)
26 __serpent_enc_blk_4way(ctx, dst, src, true);
29 static inline void serpent_dec_blk_xway(struct serpent_ctx *ctx, u8 *dst,
30 const u8 *src)
32 serpent_dec_blk_4way(ctx, dst, src);
35 #else
37 #define SERPENT_PARALLEL_BLOCKS 8
39 asmlinkage void __serpent_enc_blk_8way(struct serpent_ctx *ctx, u8 *dst,
40 const u8 *src, bool xor);
41 asmlinkage void serpent_dec_blk_8way(struct serpent_ctx *ctx, u8 *dst,
42 const u8 *src);
44 static inline void serpent_enc_blk_xway(struct serpent_ctx *ctx, u8 *dst,
45 const u8 *src)
47 __serpent_enc_blk_8way(ctx, dst, src, false);
50 static inline void serpent_enc_blk_xway_xor(struct serpent_ctx *ctx, u8 *dst,
51 const u8 *src)
53 __serpent_enc_blk_8way(ctx, dst, src, true);
56 static inline void serpent_dec_blk_xway(struct serpent_ctx *ctx, u8 *dst,
57 const u8 *src)
59 serpent_dec_blk_8way(ctx, dst, src);
62 #endif
64 #endif