1 /* SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) */ 2 /* 3 * Shared descriptors for ahash algorithms 4 * 5 * Copyright 2017 NXP 6 */ 7 8 #ifndef _CAAMHASH_DESC_H_ 9 #define _CAAMHASH_DESC_H_ 10 11 /* length of descriptors text */ 12 #define DESC_AHASH_BASE (3 * CAAM_CMD_SZ) 13 #define DESC_AHASH_UPDATE_LEN (6 * CAAM_CMD_SZ) 14 #define DESC_AHASH_UPDATE_FIRST_LEN (DESC_AHASH_BASE + 4 * CAAM_CMD_SZ) 15 #define DESC_AHASH_FINAL_LEN (DESC_AHASH_BASE + 5 * CAAM_CMD_SZ) 16 #define DESC_AHASH_DIGEST_LEN (DESC_AHASH_BASE + 4 * CAAM_CMD_SZ) 17 18 static inline bool is_xcbc_aes(u32 algtype) 19 { 20 return (algtype & (OP_ALG_ALGSEL_MASK | OP_ALG_AAI_MASK)) == 21 (OP_ALG_ALGSEL_AES | OP_ALG_AAI_XCBC_MAC); 22 } 23 24 void cnstr_shdsc_ahash(u32 * const desc, struct alginfo *adata, u32 state, 25 int digestsize, int ctx_len, bool import_ctx, int era); 26 27 void cnstr_shdsc_sk_hash(u32 * const desc, struct alginfo *adata, u32 state, 28 int digestsize, int ctx_len, dma_addr_t key_dma); 29 #endif /* _CAAMHASH_DESC_H_ */ 30