Lines Matching refs:ctx
200 static void append_key_aead(u32 *desc, struct caam_ctx *ctx, in append_key_aead() argument
204 unsigned int enckeylen = ctx->enckeylen; in append_key_aead()
215 append_key_as_imm(desc, ctx->key, ctx->split_key_pad_len, in append_key_aead()
216 ctx->split_key_len, CLASS_2 | in append_key_aead()
218 append_key_as_imm(desc, (void *)ctx->key + in append_key_aead()
219 ctx->split_key_pad_len, enckeylen, in append_key_aead()
222 append_key(desc, ctx->key_dma, ctx->split_key_len, CLASS_2 | in append_key_aead()
224 append_key(desc, ctx->key_dma + ctx->split_key_pad_len, in append_key_aead()
230 nonce = (u32 *)((void *)ctx->key + ctx->split_key_pad_len + in append_key_aead()
242 static void init_sh_desc_key_aead(u32 *desc, struct caam_ctx *ctx, in init_sh_desc_key_aead() argument
254 append_key_aead(desc, ctx, keys_fit_inline, is_rfc3686); in init_sh_desc_key_aead()
262 struct caam_ctx *ctx = crypto_aead_ctx(aead); in aead_null_set_sh_desc() local
263 struct device *jrdev = ctx->jrdev; in aead_null_set_sh_desc()
273 ctx->split_key_pad_len <= CAAM_DESC_BYTES_MAX) in aead_null_set_sh_desc()
277 desc = ctx->sh_desc_enc; in aead_null_set_sh_desc()
285 append_key_as_imm(desc, ctx->key, ctx->split_key_pad_len, in aead_null_set_sh_desc()
286 ctx->split_key_len, CLASS_2 | in aead_null_set_sh_desc()
289 append_key(desc, ctx->key_dma, ctx->split_key_len, CLASS_2 | in aead_null_set_sh_desc()
294 append_math_sub_imm_u32(desc, REG3, SEQOUTLEN, IMM, ctx->authsize); in aead_null_set_sh_desc()
324 append_operation(desc, ctx->class2_alg_type | in aead_null_set_sh_desc()
337 append_seq_store(desc, ctx->authsize, LDST_CLASS_2_CCB | in aead_null_set_sh_desc()
340 ctx->sh_desc_enc_dma = dma_map_single(jrdev, desc, in aead_null_set_sh_desc()
343 if (dma_mapping_error(jrdev, ctx->sh_desc_enc_dma)) { in aead_null_set_sh_desc()
360 ctx->split_key_pad_len <= CAAM_DESC_BYTES_MAX) in aead_null_set_sh_desc()
363 desc = ctx->sh_desc_dec; in aead_null_set_sh_desc()
372 append_key_as_imm(desc, ctx->key, ctx->split_key_pad_len, in aead_null_set_sh_desc()
373 ctx->split_key_len, CLASS_2 | in aead_null_set_sh_desc()
376 append_key(desc, ctx->key_dma, ctx->split_key_len, CLASS_2 | in aead_null_set_sh_desc()
381 append_operation(desc, ctx->class2_alg_type | in aead_null_set_sh_desc()
386 ctx->authsize + tfm->ivsize); in aead_null_set_sh_desc()
430 append_seq_fifo_load(desc, ctx->authsize, FIFOLD_CLASS_CLASS2 | in aead_null_set_sh_desc()
433 ctx->sh_desc_dec_dma = dma_map_single(jrdev, desc, in aead_null_set_sh_desc()
436 if (dma_mapping_error(jrdev, ctx->sh_desc_dec_dma)) { in aead_null_set_sh_desc()
453 struct caam_ctx *ctx = crypto_aead_ctx(aead); in aead_set_sh_desc() local
456 struct device *jrdev = ctx->jrdev; in aead_set_sh_desc()
461 const bool ctr_mode = ((ctx->class1_alg_type & OP_ALG_AAI_MASK) == in aead_set_sh_desc()
466 if (!ctx->authsize) in aead_set_sh_desc()
470 if (!ctx->enckeylen) in aead_set_sh_desc()
494 ctx->split_key_pad_len + ctx->enckeylen + in aead_set_sh_desc()
500 desc = ctx->sh_desc_enc; in aead_set_sh_desc()
503 init_sh_desc_key_aead(desc, ctx, keys_fit_inline, is_rfc3686); in aead_set_sh_desc()
506 append_operation(desc, ctx->class2_alg_type | in aead_set_sh_desc()
510 append_math_sub_imm_u32(desc, REG3, SEQOUTLEN, IMM, ctx->authsize); in aead_set_sh_desc()
532 append_operation(desc, ctx->class1_alg_type | in aead_set_sh_desc()
541 append_seq_store(desc, ctx->authsize, LDST_CLASS_2_CCB | in aead_set_sh_desc()
544 ctx->sh_desc_enc_dma = dma_map_single(jrdev, desc, in aead_set_sh_desc()
547 if (dma_mapping_error(jrdev, ctx->sh_desc_enc_dma)) { in aead_set_sh_desc()
563 ctx->split_key_pad_len + ctx->enckeylen + in aead_set_sh_desc()
569 desc = ctx->sh_desc_dec; in aead_set_sh_desc()
572 init_sh_desc_key_aead(desc, ctx, keys_fit_inline, is_rfc3686); in aead_set_sh_desc()
575 append_operation(desc, ctx->class2_alg_type | in aead_set_sh_desc()
580 ctx->authsize + tfm->ivsize); in aead_set_sh_desc()
601 append_operation(desc, ctx->class1_alg_type | in aead_set_sh_desc()
604 append_dec_op1(desc, ctx->class1_alg_type); in aead_set_sh_desc()
612 append_seq_fifo_load(desc, ctx->authsize, FIFOLD_CLASS_CLASS2 | in aead_set_sh_desc()
615 ctx->sh_desc_dec_dma = dma_map_single(jrdev, desc, in aead_set_sh_desc()
618 if (dma_mapping_error(jrdev, ctx->sh_desc_dec_dma)) { in aead_set_sh_desc()
634 ctx->split_key_pad_len + ctx->enckeylen + in aead_set_sh_desc()
640 desc = ctx->sh_desc_givenc; in aead_set_sh_desc()
643 init_sh_desc_key_aead(desc, ctx, keys_fit_inline, is_rfc3686); in aead_set_sh_desc()
664 append_operation(desc, ctx->class2_alg_type | in aead_set_sh_desc()
668 append_math_sub_imm_u32(desc, REG3, SEQOUTLEN, IMM, ctx->authsize); in aead_set_sh_desc()
694 append_operation(desc, ctx->class1_alg_type | in aead_set_sh_desc()
709 append_seq_store(desc, ctx->authsize, LDST_CLASS_2_CCB | in aead_set_sh_desc()
712 ctx->sh_desc_givenc_dma = dma_map_single(jrdev, desc, in aead_set_sh_desc()
715 if (dma_mapping_error(jrdev, ctx->sh_desc_givenc_dma)) { in aead_set_sh_desc()
731 struct caam_ctx *ctx = crypto_aead_ctx(authenc); in aead_setauthsize() local
733 ctx->authsize = authsize; in aead_setauthsize()
742 struct caam_ctx *ctx = crypto_aead_ctx(aead); in gcm_set_sh_desc() local
743 struct device *jrdev = ctx->jrdev; in gcm_set_sh_desc()
749 if (!ctx->enckeylen || !ctx->authsize) in gcm_set_sh_desc()
758 ctx->enckeylen <= CAAM_DESC_BYTES_MAX) in gcm_set_sh_desc()
761 desc = ctx->sh_desc_enc; in gcm_set_sh_desc()
769 append_key_as_imm(desc, (void *)ctx->key, ctx->enckeylen, in gcm_set_sh_desc()
770 ctx->enckeylen, CLASS_1 | KEY_DEST_CLASS_REG); in gcm_set_sh_desc()
772 append_key(desc, ctx->key_dma, ctx->enckeylen, in gcm_set_sh_desc()
777 append_operation(desc, ctx->class1_alg_type | in gcm_set_sh_desc()
781 append_math_sub_imm_u32(desc, REG3, SEQOUTLEN, IMM, ctx->authsize); in gcm_set_sh_desc()
844 append_seq_store(desc, ctx->authsize, LDST_CLASS_1_CCB | in gcm_set_sh_desc()
847 ctx->sh_desc_enc_dma = dma_map_single(jrdev, desc, in gcm_set_sh_desc()
850 if (dma_mapping_error(jrdev, ctx->sh_desc_enc_dma)) { in gcm_set_sh_desc()
866 ctx->enckeylen <= CAAM_DESC_BYTES_MAX) in gcm_set_sh_desc()
869 desc = ctx->sh_desc_dec; in gcm_set_sh_desc()
878 append_key_as_imm(desc, (void *)ctx->key, ctx->enckeylen, in gcm_set_sh_desc()
879 ctx->enckeylen, CLASS_1 | KEY_DEST_CLASS_REG); in gcm_set_sh_desc()
881 append_key(desc, ctx->key_dma, ctx->enckeylen, in gcm_set_sh_desc()
886 append_operation(desc, ctx->class1_alg_type | in gcm_set_sh_desc()
891 ctx->authsize + tfm->ivsize); in gcm_set_sh_desc()
940 append_seq_fifo_load(desc, ctx->authsize, FIFOLD_CLASS_CLASS1 | in gcm_set_sh_desc()
943 ctx->sh_desc_dec_dma = dma_map_single(jrdev, desc, in gcm_set_sh_desc()
946 if (dma_mapping_error(jrdev, ctx->sh_desc_dec_dma)) { in gcm_set_sh_desc()
961 struct caam_ctx *ctx = crypto_aead_ctx(authenc); in gcm_setauthsize() local
963 ctx->authsize = authsize; in gcm_setauthsize()
972 struct caam_ctx *ctx = crypto_aead_ctx(aead); in rfc4106_set_sh_desc() local
973 struct device *jrdev = ctx->jrdev; in rfc4106_set_sh_desc()
979 if (!ctx->enckeylen || !ctx->authsize) in rfc4106_set_sh_desc()
988 ctx->enckeylen <= CAAM_DESC_BYTES_MAX) in rfc4106_set_sh_desc()
991 desc = ctx->sh_desc_enc; in rfc4106_set_sh_desc()
999 append_key_as_imm(desc, (void *)ctx->key, ctx->enckeylen, in rfc4106_set_sh_desc()
1000 ctx->enckeylen, CLASS_1 | KEY_DEST_CLASS_REG); in rfc4106_set_sh_desc()
1002 append_key(desc, ctx->key_dma, ctx->enckeylen, in rfc4106_set_sh_desc()
1007 append_operation(desc, ctx->class1_alg_type | in rfc4106_set_sh_desc()
1011 append_math_sub_imm_u32(desc, REG3, SEQOUTLEN, IMM, ctx->authsize); in rfc4106_set_sh_desc()
1021 append_fifo_load_as_imm(desc, (void *)(ctx->key + ctx->enckeylen), in rfc4106_set_sh_desc()
1042 append_seq_store(desc, ctx->authsize, LDST_CLASS_1_CCB | in rfc4106_set_sh_desc()
1045 ctx->sh_desc_enc_dma = dma_map_single(jrdev, desc, in rfc4106_set_sh_desc()
1048 if (dma_mapping_error(jrdev, ctx->sh_desc_enc_dma)) { in rfc4106_set_sh_desc()
1064 ctx->enckeylen <= CAAM_DESC_BYTES_MAX) in rfc4106_set_sh_desc()
1067 desc = ctx->sh_desc_dec; in rfc4106_set_sh_desc()
1075 append_key_as_imm(desc, (void *)ctx->key, ctx->enckeylen, in rfc4106_set_sh_desc()
1076 ctx->enckeylen, CLASS_1 | KEY_DEST_CLASS_REG); in rfc4106_set_sh_desc()
1078 append_key(desc, ctx->key_dma, ctx->enckeylen, in rfc4106_set_sh_desc()
1083 append_operation(desc, ctx->class1_alg_type | in rfc4106_set_sh_desc()
1088 ctx->authsize + tfm->ivsize); in rfc4106_set_sh_desc()
1098 append_fifo_load_as_imm(desc, (void *)(ctx->key + ctx->enckeylen), in rfc4106_set_sh_desc()
1119 append_seq_fifo_load(desc, ctx->authsize, FIFOLD_CLASS_CLASS1 | in rfc4106_set_sh_desc()
1122 ctx->sh_desc_dec_dma = dma_map_single(jrdev, desc, in rfc4106_set_sh_desc()
1125 if (dma_mapping_error(jrdev, ctx->sh_desc_dec_dma)) { in rfc4106_set_sh_desc()
1141 ctx->split_key_pad_len + ctx->enckeylen <= in rfc4106_set_sh_desc()
1146 desc = ctx->sh_desc_givenc; in rfc4106_set_sh_desc()
1154 append_key_as_imm(desc, (void *)ctx->key, ctx->enckeylen, in rfc4106_set_sh_desc()
1155 ctx->enckeylen, CLASS_1 | KEY_DEST_CLASS_REG); in rfc4106_set_sh_desc()
1157 append_key(desc, ctx->key_dma, ctx->enckeylen, in rfc4106_set_sh_desc()
1177 append_operation(desc, ctx->class1_alg_type | in rfc4106_set_sh_desc()
1181 append_math_sub_imm_u32(desc, REG3, SEQOUTLEN, IMM, ctx->authsize); in rfc4106_set_sh_desc()
1193 append_data(desc, (void *)(ctx->key + ctx->enckeylen), 4); in rfc4106_set_sh_desc()
1219 append_seq_store(desc, ctx->authsize, LDST_CLASS_1_CCB | in rfc4106_set_sh_desc()
1222 ctx->sh_desc_givenc_dma = dma_map_single(jrdev, desc, in rfc4106_set_sh_desc()
1225 if (dma_mapping_error(jrdev, ctx->sh_desc_givenc_dma)) { in rfc4106_set_sh_desc()
1242 struct caam_ctx *ctx = crypto_aead_ctx(authenc); in rfc4106_setauthsize() local
1244 ctx->authsize = authsize; in rfc4106_setauthsize()
1253 struct caam_ctx *ctx = crypto_aead_ctx(aead); in rfc4543_set_sh_desc() local
1254 struct device *jrdev = ctx->jrdev; in rfc4543_set_sh_desc()
1261 if (!ctx->enckeylen || !ctx->authsize) in rfc4543_set_sh_desc()
1270 ctx->enckeylen <= CAAM_DESC_BYTES_MAX) in rfc4543_set_sh_desc()
1273 desc = ctx->sh_desc_enc; in rfc4543_set_sh_desc()
1281 append_key_as_imm(desc, (void *)ctx->key, ctx->enckeylen, in rfc4543_set_sh_desc()
1282 ctx->enckeylen, CLASS_1 | KEY_DEST_CLASS_REG); in rfc4543_set_sh_desc()
1284 append_key(desc, ctx->key_dma, ctx->enckeylen, in rfc4543_set_sh_desc()
1289 append_operation(desc, ctx->class1_alg_type | in rfc4543_set_sh_desc()
1309 append_math_sub_imm_u32(desc, REG3, SEQOUTLEN, IMM, ctx->authsize); in rfc4543_set_sh_desc()
1318 append_data(desc, (void *)(ctx->key + ctx->enckeylen), 4); in rfc4543_set_sh_desc()
1364 append_seq_store(desc, ctx->authsize, LDST_CLASS_1_CCB | in rfc4543_set_sh_desc()
1367 ctx->sh_desc_enc_dma = dma_map_single(jrdev, desc, in rfc4543_set_sh_desc()
1370 if (dma_mapping_error(jrdev, ctx->sh_desc_enc_dma)) { in rfc4543_set_sh_desc()
1386 ctx->enckeylen <= CAAM_DESC_BYTES_MAX) in rfc4543_set_sh_desc()
1389 desc = ctx->sh_desc_dec; in rfc4543_set_sh_desc()
1397 append_key_as_imm(desc, (void *)ctx->key, ctx->enckeylen, in rfc4543_set_sh_desc()
1398 ctx->enckeylen, CLASS_1 | KEY_DEST_CLASS_REG); in rfc4543_set_sh_desc()
1400 append_key(desc, ctx->key_dma, ctx->enckeylen, in rfc4543_set_sh_desc()
1405 append_operation(desc, ctx->class1_alg_type | in rfc4543_set_sh_desc()
1417 append_math_sub_imm_u32(desc, REG3, SEQINLEN, IMM, ctx->authsize); in rfc4543_set_sh_desc()
1445 append_data(desc, (void *)(ctx->key + ctx->enckeylen), 4); in rfc4543_set_sh_desc()
1486 append_seq_fifo_load(desc, ctx->authsize, FIFOLD_CLASS_CLASS1 | in rfc4543_set_sh_desc()
1489 ctx->sh_desc_dec_dma = dma_map_single(jrdev, desc, in rfc4543_set_sh_desc()
1492 if (dma_mapping_error(jrdev, ctx->sh_desc_dec_dma)) { in rfc4543_set_sh_desc()
1508 ctx->enckeylen <= CAAM_DESC_BYTES_MAX) in rfc4543_set_sh_desc()
1512 desc = ctx->sh_desc_givenc; in rfc4543_set_sh_desc()
1520 append_key_as_imm(desc, (void *)ctx->key, ctx->enckeylen, in rfc4543_set_sh_desc()
1521 ctx->enckeylen, CLASS_1 | KEY_DEST_CLASS_REG); in rfc4543_set_sh_desc()
1523 append_key(desc, ctx->key_dma, ctx->enckeylen, in rfc4543_set_sh_desc()
1552 append_operation(desc, ctx->class1_alg_type | in rfc4543_set_sh_desc()
1556 append_math_sub_imm_u32(desc, REG3, SEQOUTLEN, IMM, ctx->authsize); in rfc4543_set_sh_desc()
1578 append_data(desc, (void *)(ctx->key + ctx->enckeylen), 4); in rfc4543_set_sh_desc()
1614 append_seq_store(desc, ctx->authsize, LDST_CLASS_1_CCB | in rfc4543_set_sh_desc()
1617 ctx->sh_desc_givenc_dma = dma_map_single(jrdev, desc, in rfc4543_set_sh_desc()
1620 if (dma_mapping_error(jrdev, ctx->sh_desc_givenc_dma)) { in rfc4543_set_sh_desc()
1637 struct caam_ctx *ctx = crypto_aead_ctx(authenc); in rfc4543_setauthsize() local
1639 ctx->authsize = authsize; in rfc4543_setauthsize()
1645 static u32 gen_split_aead_key(struct caam_ctx *ctx, const u8 *key_in, in gen_split_aead_key() argument
1648 return gen_split_key(ctx->jrdev, ctx->key, ctx->split_key_len, in gen_split_aead_key()
1649 ctx->split_key_pad_len, key_in, authkeylen, in gen_split_aead_key()
1650 ctx->alg_op); in gen_split_aead_key()
1658 struct caam_ctx *ctx = crypto_aead_ctx(aead); in aead_setkey() local
1659 struct device *jrdev = ctx->jrdev; in aead_setkey()
1667 ctx->split_key_len = mdpadlen[(ctx->alg_op & OP_ALG_ALGSEL_SUBMASK) >> in aead_setkey()
1669 ctx->split_key_pad_len = ALIGN(ctx->split_key_len, 16); in aead_setkey()
1671 if (ctx->split_key_pad_len + keys.enckeylen > CAAM_MAX_KEY_SIZE) in aead_setkey()
1679 ctx->split_key_len, ctx->split_key_pad_len); in aead_setkey()
1684 ret = gen_split_aead_key(ctx, keys.authkey, keys.authkeylen); in aead_setkey()
1690 memcpy(ctx->key + ctx->split_key_pad_len, keys.enckey, keys.enckeylen); in aead_setkey()
1692 ctx->key_dma = dma_map_single(jrdev, ctx->key, ctx->split_key_pad_len + in aead_setkey()
1694 if (dma_mapping_error(jrdev, ctx->key_dma)) { in aead_setkey()
1700 DUMP_PREFIX_ADDRESS, 16, 4, ctx->key, in aead_setkey()
1701 ctx->split_key_pad_len + keys.enckeylen, 1); in aead_setkey()
1704 ctx->enckeylen = keys.enckeylen; in aead_setkey()
1708 dma_unmap_single(jrdev, ctx->key_dma, ctx->split_key_pad_len + in aead_setkey()
1721 struct caam_ctx *ctx = crypto_aead_ctx(aead); in gcm_setkey() local
1722 struct device *jrdev = ctx->jrdev; in gcm_setkey()
1730 memcpy(ctx->key, key, keylen); in gcm_setkey()
1731 ctx->key_dma = dma_map_single(jrdev, ctx->key, keylen, in gcm_setkey()
1733 if (dma_mapping_error(jrdev, ctx->key_dma)) { in gcm_setkey()
1737 ctx->enckeylen = keylen; in gcm_setkey()
1741 dma_unmap_single(jrdev, ctx->key_dma, ctx->enckeylen, in gcm_setkey()
1751 struct caam_ctx *ctx = crypto_aead_ctx(aead); in rfc4106_setkey() local
1752 struct device *jrdev = ctx->jrdev; in rfc4106_setkey()
1763 memcpy(ctx->key, key, keylen); in rfc4106_setkey()
1769 ctx->enckeylen = keylen - 4; in rfc4106_setkey()
1771 ctx->key_dma = dma_map_single(jrdev, ctx->key, ctx->enckeylen, in rfc4106_setkey()
1773 if (dma_mapping_error(jrdev, ctx->key_dma)) { in rfc4106_setkey()
1780 dma_unmap_single(jrdev, ctx->key_dma, ctx->enckeylen, in rfc4106_setkey()
1790 struct caam_ctx *ctx = crypto_aead_ctx(aead); in rfc4543_setkey() local
1791 struct device *jrdev = ctx->jrdev; in rfc4543_setkey()
1802 memcpy(ctx->key, key, keylen); in rfc4543_setkey()
1808 ctx->enckeylen = keylen - 4; in rfc4543_setkey()
1810 ctx->key_dma = dma_map_single(jrdev, ctx->key, ctx->enckeylen, in rfc4543_setkey()
1812 if (dma_mapping_error(jrdev, ctx->key_dma)) { in rfc4543_setkey()
1819 dma_unmap_single(jrdev, ctx->key_dma, ctx->enckeylen, in rfc4543_setkey()
1829 struct caam_ctx *ctx = crypto_ablkcipher_ctx(ablkcipher); in ablkcipher_setkey() local
1833 struct device *jrdev = ctx->jrdev; in ablkcipher_setkey()
1840 const bool ctr_mode = ((ctx->class1_alg_type & OP_ALG_AAI_MASK) == in ablkcipher_setkey()
1867 memcpy(ctx->key, key, keylen); in ablkcipher_setkey()
1868 ctx->key_dma = dma_map_single(jrdev, ctx->key, keylen, in ablkcipher_setkey()
1870 if (dma_mapping_error(jrdev, ctx->key_dma)) { in ablkcipher_setkey()
1874 ctx->enckeylen = keylen; in ablkcipher_setkey()
1877 desc = ctx->sh_desc_enc; in ablkcipher_setkey()
1884 append_key_as_imm(desc, (void *)ctx->key, ctx->enckeylen, in ablkcipher_setkey()
1885 ctx->enckeylen, CLASS_1 | in ablkcipher_setkey()
1915 append_operation(desc, ctx->class1_alg_type | in ablkcipher_setkey()
1921 ctx->sh_desc_enc_dma = dma_map_single(jrdev, desc, in ablkcipher_setkey()
1924 if (dma_mapping_error(jrdev, ctx->sh_desc_enc_dma)) { in ablkcipher_setkey()
1935 desc = ctx->sh_desc_dec; in ablkcipher_setkey()
1943 append_key_as_imm(desc, (void *)ctx->key, ctx->enckeylen, in ablkcipher_setkey()
1944 ctx->enckeylen, CLASS_1 | in ablkcipher_setkey()
1975 append_operation(desc, ctx->class1_alg_type | in ablkcipher_setkey()
1978 append_dec_op1(desc, ctx->class1_alg_type); in ablkcipher_setkey()
1983 ctx->sh_desc_dec_dma = dma_map_single(jrdev, desc, in ablkcipher_setkey()
1986 if (dma_mapping_error(jrdev, ctx->sh_desc_dec_dma)) { in ablkcipher_setkey()
1998 desc = ctx->sh_desc_givenc; in ablkcipher_setkey()
2006 append_key_as_imm(desc, (void *)ctx->key, ctx->enckeylen, in ablkcipher_setkey()
2007 ctx->enckeylen, CLASS_1 | in ablkcipher_setkey()
2055 append_operation(desc, ctx->class1_alg_type | in ablkcipher_setkey()
2061 ctx->sh_desc_givenc_dma = dma_map_single(jrdev, desc, in ablkcipher_setkey()
2064 if (dma_mapping_error(jrdev, ctx->sh_desc_givenc_dma)) { in ablkcipher_setkey()
2189 struct caam_ctx *ctx = crypto_aead_ctx(aead); in aead_encrypt_done() local
2213 ctx->authsize + 4, 1); in aead_encrypt_done()
2228 struct caam_ctx *ctx = crypto_aead_ctx(aead); in aead_decrypt_done() local
2243 req->cryptlen - ctx->authsize, 1); in aead_decrypt_done()
2263 ctx->authsize + 36, 1); in aead_decrypt_done()
2268 sg->length + ctx->authsize + 16, 1); in aead_decrypt_done()
2351 struct caam_ctx *ctx = crypto_aead_ctx(aead); in init_aead_job() local
2353 int authsize = ctx->authsize; in init_aead_job()
2377 if (((ctx->class1_alg_type & OP_ALG_ALGSEL_MASK) == in init_aead_job()
2379 ((ctx->class1_alg_type & OP_ALG_AAI_MASK) == OP_ALG_AAI_GCM)) in init_aead_job()
2436 struct caam_ctx *ctx = crypto_aead_ctx(aead); in init_aead_giv_job() local
2438 int authsize = ctx->authsize; in init_aead_giv_job()
2461 if (((ctx->class1_alg_type & OP_ALG_ALGSEL_MASK) == in init_aead_giv_job()
2463 ((ctx->class1_alg_type & OP_ALG_AAI_MASK) == OP_ALG_AAI_GCM)) in init_aead_giv_job()
2616 struct caam_ctx *ctx = crypto_aead_ctx(aead); in aead_edesc_alloc() local
2617 struct device *jrdev = ctx->jrdev; in aead_edesc_alloc()
2628 unsigned int authsize = ctx->authsize; in aead_edesc_alloc()
2664 if (((ctx->class1_alg_type & OP_ALG_ALGSEL_MASK) == in aead_edesc_alloc()
2666 ((ctx->class1_alg_type & OP_ALG_AAI_MASK) == OP_ALG_AAI_GCM)) in aead_edesc_alloc()
2759 struct caam_ctx *ctx = crypto_aead_ctx(aead); in aead_encrypt() local
2760 struct device *jrdev = ctx->jrdev; in aead_encrypt()
2772 init_aead_job(ctx->sh_desc_enc, ctx->sh_desc_enc_dma, edesc, req, in aead_encrypt()
2796 struct caam_ctx *ctx = crypto_aead_ctx(aead); in aead_decrypt() local
2797 struct device *jrdev = ctx->jrdev; in aead_decrypt()
2815 init_aead_job(ctx->sh_desc_dec, in aead_decrypt()
2816 ctx->sh_desc_dec_dma, edesc, req, all_contig, false); in aead_decrypt()
2844 struct caam_ctx *ctx = crypto_aead_ctx(aead); in aead_giv_edesc_alloc() local
2845 struct device *jrdev = ctx->jrdev; in aead_giv_edesc_alloc()
2862 dst_nents = sg_count(req->dst, req->cryptlen + ctx->authsize, in aead_giv_edesc_alloc()
2883 if (((ctx->class1_alg_type & OP_ALG_ALGSEL_MASK) == in aead_giv_edesc_alloc()
2885 ((ctx->class1_alg_type & OP_ALG_AAI_MASK) == OP_ALG_AAI_GCM)) in aead_giv_edesc_alloc()
3007 struct caam_ctx *ctx = crypto_aead_ctx(aead); in aead_givencrypt() local
3008 struct device *jrdev = ctx->jrdev; in aead_givencrypt()
3027 init_aead_giv_job(ctx->sh_desc_givenc, in aead_givencrypt()
3028 ctx->sh_desc_givenc_dma, edesc, req, contig); in aead_givencrypt()
3060 struct caam_ctx *ctx = crypto_ablkcipher_ctx(ablkcipher); in ablkcipher_edesc_alloc() local
3061 struct device *jrdev = ctx->jrdev; in ablkcipher_edesc_alloc()
3158 struct caam_ctx *ctx = crypto_ablkcipher_ctx(ablkcipher); in ablkcipher_encrypt() local
3159 struct device *jrdev = ctx->jrdev; in ablkcipher_encrypt()
3171 init_ablkcipher_job(ctx->sh_desc_enc, in ablkcipher_encrypt()
3172 ctx->sh_desc_enc_dma, edesc, req, iv_contig); in ablkcipher_encrypt()
3195 struct caam_ctx *ctx = crypto_ablkcipher_ctx(ablkcipher); in ablkcipher_decrypt() local
3196 struct device *jrdev = ctx->jrdev; in ablkcipher_decrypt()
3208 init_ablkcipher_job(ctx->sh_desc_dec, in ablkcipher_decrypt()
3209 ctx->sh_desc_dec_dma, edesc, req, iv_contig); in ablkcipher_decrypt()
3239 struct caam_ctx *ctx = crypto_ablkcipher_ctx(ablkcipher); in ablkcipher_giv_edesc_alloc() local
3240 struct device *jrdev = ctx->jrdev; in ablkcipher_giv_edesc_alloc()
3339 struct caam_ctx *ctx = crypto_ablkcipher_ctx(ablkcipher); in ablkcipher_givencrypt() local
3340 struct device *jrdev = ctx->jrdev; in ablkcipher_givencrypt()
3352 init_ablkcipher_giv_job(ctx->sh_desc_givenc, ctx->sh_desc_givenc_dma, in ablkcipher_givencrypt()
4140 struct caam_ctx *ctx = crypto_tfm_ctx(tfm); in caam_cra_init() local
4142 ctx->jrdev = caam_jr_alloc(); in caam_cra_init()
4143 if (IS_ERR(ctx->jrdev)) { in caam_cra_init()
4145 return PTR_ERR(ctx->jrdev); in caam_cra_init()
4149 ctx->class1_alg_type = OP_TYPE_CLASS1_ALG | caam_alg->class1_alg_type; in caam_cra_init()
4150 ctx->class2_alg_type = OP_TYPE_CLASS2_ALG | caam_alg->class2_alg_type; in caam_cra_init()
4151 ctx->alg_op = OP_TYPE_CLASS2_ALG | caam_alg->alg_op; in caam_cra_init()
4158 struct caam_ctx *ctx = crypto_tfm_ctx(tfm); in caam_cra_exit() local
4160 if (ctx->sh_desc_enc_dma && in caam_cra_exit()
4161 !dma_mapping_error(ctx->jrdev, ctx->sh_desc_enc_dma)) in caam_cra_exit()
4162 dma_unmap_single(ctx->jrdev, ctx->sh_desc_enc_dma, in caam_cra_exit()
4163 desc_bytes(ctx->sh_desc_enc), DMA_TO_DEVICE); in caam_cra_exit()
4164 if (ctx->sh_desc_dec_dma && in caam_cra_exit()
4165 !dma_mapping_error(ctx->jrdev, ctx->sh_desc_dec_dma)) in caam_cra_exit()
4166 dma_unmap_single(ctx->jrdev, ctx->sh_desc_dec_dma, in caam_cra_exit()
4167 desc_bytes(ctx->sh_desc_dec), DMA_TO_DEVICE); in caam_cra_exit()
4168 if (ctx->sh_desc_givenc_dma && in caam_cra_exit()
4169 !dma_mapping_error(ctx->jrdev, ctx->sh_desc_givenc_dma)) in caam_cra_exit()
4170 dma_unmap_single(ctx->jrdev, ctx->sh_desc_givenc_dma, in caam_cra_exit()
4171 desc_bytes(ctx->sh_desc_givenc), in caam_cra_exit()
4173 if (ctx->key_dma && in caam_cra_exit()
4174 !dma_mapping_error(ctx->jrdev, ctx->key_dma)) in caam_cra_exit()
4175 dma_unmap_single(ctx->jrdev, ctx->key_dma, in caam_cra_exit()
4176 ctx->enckeylen + ctx->split_key_pad_len, in caam_cra_exit()
4179 caam_jr_free(ctx->jrdev); in caam_cra_exit()