Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) */
0002 /*
0003  * Shared descriptors for ahash algorithms
0004  *
0005  * Copyright 2017 NXP
0006  */
0007 
0008 #ifndef _CAAMHASH_DESC_H_
0009 #define _CAAMHASH_DESC_H_
0010 
0011 /* length of descriptors text */
0012 #define DESC_AHASH_BASE         (3 * CAAM_CMD_SZ)
0013 #define DESC_AHASH_UPDATE_LEN       (6 * CAAM_CMD_SZ)
0014 #define DESC_AHASH_UPDATE_FIRST_LEN (DESC_AHASH_BASE + 4 * CAAM_CMD_SZ)
0015 #define DESC_AHASH_FINAL_LEN        (DESC_AHASH_BASE + 5 * CAAM_CMD_SZ)
0016 #define DESC_AHASH_DIGEST_LEN       (DESC_AHASH_BASE + 4 * CAAM_CMD_SZ)
0017 
0018 static inline bool is_xcbc_aes(u32 algtype)
0019 {
0020     return (algtype & (OP_ALG_ALGSEL_MASK | OP_ALG_AAI_MASK)) ==
0021            (OP_ALG_ALGSEL_AES | OP_ALG_AAI_XCBC_MAC);
0022 }
0023 
0024 void cnstr_shdsc_ahash(u32 * const desc, struct alginfo *adata, u32 state,
0025                int digestsize, int ctx_len, bool import_ctx, int era);
0026 
0027 void cnstr_shdsc_sk_hash(u32 * const desc, struct alginfo *adata, u32 state,
0028              int digestsize, int ctx_len);
0029 #endif /* _CAAMHASH_DESC_H_ */