Lines Matching refs:desc
114 static inline void append_dec_op1(u32 *desc, u32 type) in append_dec_op1() argument
120 append_operation(desc, type | OP_ALG_AS_INITFINAL | in append_dec_op1()
125 jump_cmd = append_jump(desc, JUMP_TEST_ALL | JUMP_COND_SHRD); in append_dec_op1()
126 append_operation(desc, type | OP_ALG_AS_INITFINAL | in append_dec_op1()
128 uncond_jump_cmd = append_jump(desc, JUMP_TEST_ALL); in append_dec_op1()
129 set_jump_tgt_here(desc, jump_cmd); in append_dec_op1()
130 append_operation(desc, type | OP_ALG_AS_INITFINAL | in append_dec_op1()
132 set_jump_tgt_here(desc, uncond_jump_cmd); in append_dec_op1()
139 static inline void aead_append_src_dst(u32 *desc, u32 msg_type) in aead_append_src_dst() argument
141 append_seq_fifo_store(desc, 0, FIFOST_TYPE_MESSAGE_DATA | KEY_VLF); in aead_append_src_dst()
142 append_seq_fifo_load(desc, 0, FIFOLD_CLASS_BOTH | in aead_append_src_dst()
149 static inline void aead_append_ld_iv(u32 *desc, int ivsize, int ivoffset) in aead_append_ld_iv() argument
151 append_seq_load(desc, ivsize, LDST_CLASS_1_CCB | in aead_append_ld_iv()
154 append_move(desc, MOVE_SRC_CLASS1CTX | MOVE_DEST_CLASS2INFIFO | in aead_append_ld_iv()
162 static inline void ablkcipher_append_src_dst(u32 *desc) in ablkcipher_append_src_dst() argument
164 append_math_add(desc, VARSEQOUTLEN, SEQINLEN, REG0, CAAM_CMD_SZ); in ablkcipher_append_src_dst()
165 append_math_add(desc, VARSEQINLEN, SEQINLEN, REG0, CAAM_CMD_SZ); in ablkcipher_append_src_dst()
166 append_seq_fifo_load(desc, 0, FIFOLD_CLASS_CLASS1 | in ablkcipher_append_src_dst()
168 append_seq_fifo_store(desc, 0, FIFOST_TYPE_MESSAGE_DATA | KEY_VLF); in ablkcipher_append_src_dst()
200 static void append_key_aead(u32 *desc, struct caam_ctx *ctx, in append_key_aead() argument
215 append_key_as_imm(desc, ctx->key, ctx->split_key_pad_len, in append_key_aead()
218 append_key_as_imm(desc, (void *)ctx->key + 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()
232 append_load_imm_u32(desc, *nonce, LDST_CLASS_IND_CCB | in append_key_aead()
234 append_move(desc, 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
248 init_sh_desc(desc, HDR_SHARE_SERIAL | HDR_SAVECTX); in init_sh_desc_key_aead()
251 key_jump_cmd = append_jump(desc, JUMP_JSL | JUMP_TEST_ALL | in init_sh_desc_key_aead()
254 append_key_aead(desc, ctx, keys_fit_inline, is_rfc3686); in init_sh_desc_key_aead()
256 set_jump_tgt_here(desc, key_jump_cmd); in init_sh_desc_key_aead()
266 u32 *desc; in aead_null_set_sh_desc() local
277 desc = ctx->sh_desc_enc; in aead_null_set_sh_desc()
279 init_sh_desc(desc, HDR_SHARE_SERIAL); in aead_null_set_sh_desc()
282 key_jump_cmd = append_jump(desc, JUMP_JSL | JUMP_TEST_ALL | 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()
289 append_key(desc, ctx->key_dma, ctx->split_key_len, CLASS_2 | in aead_null_set_sh_desc()
291 set_jump_tgt_here(desc, key_jump_cmd); in aead_null_set_sh_desc()
294 append_math_sub_imm_u32(desc, REG3, SEQOUTLEN, IMM, ctx->authsize); in aead_null_set_sh_desc()
300 append_math_sub(desc, VARSEQINLEN, SEQINLEN, REG3, CAAM_CMD_SZ); in aead_null_set_sh_desc()
303 append_seq_fifo_load(desc, 0, FIFOLD_CLASS_CLASS2 | FIFOLD_TYPE_MSG | in aead_null_set_sh_desc()
307 append_math_add(desc, VARSEQINLEN, ZERO, REG3, CAAM_CMD_SZ); in aead_null_set_sh_desc()
308 append_math_add(desc, VARSEQOUTLEN, ZERO, REG3, CAAM_CMD_SZ); in aead_null_set_sh_desc()
315 read_move_cmd = append_move(desc, MOVE_SRC_DESCBUF | in aead_null_set_sh_desc()
318 write_move_cmd = append_move(desc, MOVE_SRC_MATH3 | in aead_null_set_sh_desc()
324 append_operation(desc, ctx->class2_alg_type | in aead_null_set_sh_desc()
328 aead_append_src_dst(desc, FIFOLD_TYPE_MSG | FIFOLD_TYPE_FLUSH1); in aead_null_set_sh_desc()
330 set_move_tgt_here(desc, read_move_cmd); in aead_null_set_sh_desc()
331 set_move_tgt_here(desc, write_move_cmd); in aead_null_set_sh_desc()
332 append_cmd(desc, CMD_LOAD | DISABLE_AUTO_INFO_FIFO); in aead_null_set_sh_desc()
333 append_move(desc, MOVE_SRC_INFIFO_CL | MOVE_DEST_OUTFIFO | 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()
341 desc_bytes(desc), in aead_null_set_sh_desc()
350 DUMP_PREFIX_ADDRESS, 16, 4, desc, in aead_null_set_sh_desc()
351 desc_bytes(desc), 1); in aead_null_set_sh_desc()
363 desc = ctx->sh_desc_dec; in aead_null_set_sh_desc()
366 init_sh_desc(desc, HDR_SHARE_SERIAL); in aead_null_set_sh_desc()
369 key_jump_cmd = append_jump(desc, JUMP_JSL | JUMP_TEST_ALL | 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()
376 append_key(desc, ctx->key_dma, ctx->split_key_len, CLASS_2 | in aead_null_set_sh_desc()
378 set_jump_tgt_here(desc, key_jump_cmd); in aead_null_set_sh_desc()
381 append_operation(desc, ctx->class2_alg_type | in aead_null_set_sh_desc()
385 append_math_sub_imm_u32(desc, REG3, SEQINLEN, IMM, in aead_null_set_sh_desc()
388 append_math_sub(desc, REG2, SEQOUTLEN, REG0, CAAM_CMD_SZ); in aead_null_set_sh_desc()
389 append_math_sub(desc, VARSEQINLEN, REG3, REG2, CAAM_CMD_SZ); in aead_null_set_sh_desc()
392 append_seq_fifo_load(desc, 0, FIFOLD_CLASS_CLASS2 | FIFOLD_TYPE_MSG | in aead_null_set_sh_desc()
396 append_math_add(desc, VARSEQINLEN, ZERO, REG2, CAAM_CMD_SZ); in aead_null_set_sh_desc()
397 append_math_add(desc, VARSEQOUTLEN, ZERO, REG2, CAAM_CMD_SZ); in aead_null_set_sh_desc()
404 read_move_cmd = append_move(desc, MOVE_SRC_DESCBUF | in aead_null_set_sh_desc()
407 write_move_cmd = append_move(desc, MOVE_SRC_MATH2 | in aead_null_set_sh_desc()
413 aead_append_src_dst(desc, FIFOLD_TYPE_MSG | FIFOLD_TYPE_FLUSH1); in aead_null_set_sh_desc()
419 jump_cmd = append_jump(desc, JUMP_TEST_ALL); in aead_null_set_sh_desc()
420 set_jump_tgt_here(desc, jump_cmd); in aead_null_set_sh_desc()
422 set_move_tgt_here(desc, read_move_cmd); in aead_null_set_sh_desc()
423 set_move_tgt_here(desc, write_move_cmd); in aead_null_set_sh_desc()
424 append_cmd(desc, CMD_LOAD | DISABLE_AUTO_INFO_FIFO); in aead_null_set_sh_desc()
425 append_move(desc, MOVE_SRC_INFIFO_CL | MOVE_DEST_OUTFIFO | in aead_null_set_sh_desc()
427 append_cmd(desc, CMD_LOAD | ENABLE_AUTO_INFO_FIFO); 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()
434 desc_bytes(desc), in aead_null_set_sh_desc()
443 DUMP_PREFIX_ADDRESS, 16, 4, desc, in aead_null_set_sh_desc()
444 desc_bytes(desc), 1); in aead_null_set_sh_desc()
460 u32 *desc; in aead_set_sh_desc() local
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()
513 append_math_sub_imm_u32(desc, REG2, SEQINLEN, IMM, tfm->ivsize); in aead_set_sh_desc()
516 append_math_sub(desc, VARSEQINLEN, REG2, REG3, CAAM_CMD_SZ); in aead_set_sh_desc()
519 append_seq_fifo_load(desc, 0, FIFOLD_CLASS_CLASS2 | FIFOLD_TYPE_MSG | in aead_set_sh_desc()
521 aead_append_ld_iv(desc, tfm->ivsize, ctx1_iv_off); in aead_set_sh_desc()
525 append_load_imm_u32(desc, be32_to_cpu(1), LDST_IMM | in aead_set_sh_desc()
532 append_operation(desc, ctx->class1_alg_type | in aead_set_sh_desc()
536 append_math_add(desc, VARSEQINLEN, ZERO, REG3, CAAM_CMD_SZ); in aead_set_sh_desc()
537 append_math_add(desc, VARSEQOUTLEN, ZERO, REG3, CAAM_CMD_SZ); in aead_set_sh_desc()
538 aead_append_src_dst(desc, FIFOLD_TYPE_MSG1OUT2); 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()
545 desc_bytes(desc), in aead_set_sh_desc()
553 DUMP_PREFIX_ADDRESS, 16, 4, desc, in aead_set_sh_desc()
554 desc_bytes(desc), 1); 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()
579 append_math_sub_imm_u32(desc, REG3, SEQINLEN, IMM, in aead_set_sh_desc()
582 append_math_sub(desc, REG2, SEQOUTLEN, REG0, CAAM_CMD_SZ); in aead_set_sh_desc()
583 append_math_sub(desc, VARSEQINLEN, REG3, REG2, CAAM_CMD_SZ); in aead_set_sh_desc()
586 append_seq_fifo_load(desc, 0, FIFOLD_CLASS_CLASS2 | FIFOLD_TYPE_MSG | in aead_set_sh_desc()
589 aead_append_ld_iv(desc, tfm->ivsize, ctx1_iv_off); in aead_set_sh_desc()
593 append_load_imm_u32(desc, be32_to_cpu(1), LDST_IMM | 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()
607 append_math_add(desc, VARSEQINLEN, ZERO, REG2, CAAM_CMD_SZ); in aead_set_sh_desc()
608 append_math_add(desc, VARSEQOUTLEN, ZERO, REG2, CAAM_CMD_SZ); in aead_set_sh_desc()
609 aead_append_src_dst(desc, FIFOLD_TYPE_MSG); 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()
616 desc_bytes(desc), in aead_set_sh_desc()
624 DUMP_PREFIX_ADDRESS, 16, 4, desc, in aead_set_sh_desc()
625 desc_bytes(desc), 1); 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()
649 append_load_imm_u32(desc, geniv, LDST_CLASS_IND_CCB | in aead_set_sh_desc()
651 append_cmd(desc, CMD_LOAD | DISABLE_AUTO_INFO_FIFO); in aead_set_sh_desc()
652 append_move(desc, MOVE_WAITCOMP | in aead_set_sh_desc()
656 append_cmd(desc, CMD_LOAD | ENABLE_AUTO_INFO_FIFO); in aead_set_sh_desc()
659 append_move(desc, MOVE_SRC_CLASS1CTX | MOVE_DEST_OUTFIFO | 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()
671 append_math_sub(desc, VARSEQINLEN, SEQINLEN, REG3, CAAM_CMD_SZ); in aead_set_sh_desc()
674 append_seq_fifo_load(desc, 0, FIFOLD_CLASS_CLASS2 | FIFOLD_TYPE_MSG | in aead_set_sh_desc()
680 append_load_imm_u32(desc, moveiv, LDST_CLASS_IND_CCB | in aead_set_sh_desc()
682 append_load_imm_u32(desc, tfm->ivsize, LDST_CLASS_2_CCB | in aead_set_sh_desc()
687 append_load_imm_u32(desc, be32_to_cpu(1), LDST_IMM | in aead_set_sh_desc()
694 append_operation(desc, ctx->class1_alg_type | in aead_set_sh_desc()
698 append_math_add(desc, VARSEQOUTLEN, SEQINLEN, REG0, CAAM_CMD_SZ); in aead_set_sh_desc()
701 append_seq_fifo_load(desc, tfm->ivsize, in aead_set_sh_desc()
705 append_math_add(desc, VARSEQINLEN, SEQINLEN, REG0, CAAM_CMD_SZ); in aead_set_sh_desc()
706 aead_append_src_dst(desc, FIFOLD_TYPE_MSG1OUT2); 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()
713 desc_bytes(desc), in aead_set_sh_desc()
721 DUMP_PREFIX_ADDRESS, 16, 4, desc, in aead_set_sh_desc()
722 desc_bytes(desc), 1); in aead_set_sh_desc()
747 u32 *desc; in gcm_set_sh_desc() local
761 desc = ctx->sh_desc_enc; in gcm_set_sh_desc()
763 init_sh_desc(desc, HDR_SHARE_SERIAL); in gcm_set_sh_desc()
766 key_jump_cmd = append_jump(desc, JUMP_JSL | JUMP_TEST_ALL | in gcm_set_sh_desc()
769 append_key_as_imm(desc, (void *)ctx->key, ctx->enckeylen, in gcm_set_sh_desc()
772 append_key(desc, ctx->key_dma, ctx->enckeylen, in gcm_set_sh_desc()
774 set_jump_tgt_here(desc, key_jump_cmd); 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()
784 append_math_sub_imm_u32(desc, REG2, SEQINLEN, IMM, tfm->ivsize); in gcm_set_sh_desc()
787 append_math_sub(desc, REG1, REG2, REG3, CAAM_CMD_SZ); in gcm_set_sh_desc()
790 append_math_add(desc, VARSEQOUTLEN, ZERO, REG3, CAAM_CMD_SZ); in gcm_set_sh_desc()
791 zero_payload_jump_cmd = append_jump(desc, JUMP_TEST_ALL | in gcm_set_sh_desc()
794 append_seq_fifo_load(desc, tfm->ivsize, FIFOLD_CLASS_CLASS1 | in gcm_set_sh_desc()
798 append_math_add(desc, VARSEQINLEN, ZERO, REG1, CAAM_CMD_SZ); in gcm_set_sh_desc()
799 zero_assoc_jump_cmd1 = append_jump(desc, JUMP_TEST_ALL | in gcm_set_sh_desc()
803 append_seq_fifo_load(desc, 0, FIFOLD_CLASS_CLASS1 | FIFOLDST_VLF | in gcm_set_sh_desc()
805 set_jump_tgt_here(desc, zero_assoc_jump_cmd1); in gcm_set_sh_desc()
807 append_math_add(desc, VARSEQINLEN, ZERO, REG3, CAAM_CMD_SZ); in gcm_set_sh_desc()
810 append_seq_fifo_store(desc, 0, FIFOST_TYPE_MESSAGE_DATA | FIFOLDST_VLF); in gcm_set_sh_desc()
813 append_seq_fifo_load(desc, 0, FIFOLD_CLASS_CLASS1 | FIFOLDST_VLF | in gcm_set_sh_desc()
817 append_jump(desc, JUMP_TEST_ALL | 7); in gcm_set_sh_desc()
820 set_jump_tgt_here(desc, zero_payload_jump_cmd); in gcm_set_sh_desc()
823 append_math_add(desc, VARSEQINLEN, ZERO, REG1, CAAM_CMD_SZ); in gcm_set_sh_desc()
824 zero_assoc_jump_cmd2 = append_jump(desc, JUMP_TEST_ALL | in gcm_set_sh_desc()
827 append_seq_fifo_load(desc, tfm->ivsize, FIFOLD_CLASS_CLASS1 | in gcm_set_sh_desc()
831 append_seq_fifo_load(desc, 0, FIFOLD_CLASS_CLASS1 | FIFOLDST_VLF | in gcm_set_sh_desc()
835 append_jump(desc, JUMP_TEST_ALL | 2); in gcm_set_sh_desc()
838 set_jump_tgt_here(desc, zero_assoc_jump_cmd2); in gcm_set_sh_desc()
839 append_seq_fifo_load(desc, tfm->ivsize, FIFOLD_CLASS_CLASS1 | 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()
848 desc_bytes(desc), in gcm_set_sh_desc()
856 DUMP_PREFIX_ADDRESS, 16, 4, desc, in gcm_set_sh_desc()
857 desc_bytes(desc), 1); in gcm_set_sh_desc()
869 desc = ctx->sh_desc_dec; in gcm_set_sh_desc()
871 init_sh_desc(desc, HDR_SHARE_SERIAL); in gcm_set_sh_desc()
874 key_jump_cmd = append_jump(desc, JUMP_JSL | in gcm_set_sh_desc()
878 append_key_as_imm(desc, (void *)ctx->key, ctx->enckeylen, in gcm_set_sh_desc()
881 append_key(desc, ctx->key_dma, ctx->enckeylen, in gcm_set_sh_desc()
883 set_jump_tgt_here(desc, key_jump_cmd); in gcm_set_sh_desc()
886 append_operation(desc, ctx->class1_alg_type | in gcm_set_sh_desc()
890 append_math_sub_imm_u32(desc, REG3, SEQINLEN, IMM, in gcm_set_sh_desc()
894 append_math_sub(desc, REG2, SEQOUTLEN, REG0, CAAM_CMD_SZ); in gcm_set_sh_desc()
895 append_math_sub(desc, REG1, REG3, REG2, CAAM_CMD_SZ); in gcm_set_sh_desc()
898 append_seq_fifo_load(desc, tfm->ivsize, FIFOLD_CLASS_CLASS1 | in gcm_set_sh_desc()
902 append_math_add(desc, VARSEQOUTLEN, ZERO, REG2, CAAM_CMD_SZ); in gcm_set_sh_desc()
903 zero_payload_jump_cmd = append_jump(desc, JUMP_TEST_ALL | in gcm_set_sh_desc()
906 append_math_add(desc, VARSEQINLEN, ZERO, REG1, CAAM_CMD_SZ); in gcm_set_sh_desc()
908 zero_assoc_jump_cmd1 = append_jump(desc, JUMP_TEST_ALL | in gcm_set_sh_desc()
911 append_seq_fifo_load(desc, 0, FIFOLD_CLASS_CLASS1 | FIFOLDST_VLF | in gcm_set_sh_desc()
913 set_jump_tgt_here(desc, zero_assoc_jump_cmd1); in gcm_set_sh_desc()
915 append_math_add(desc, VARSEQINLEN, ZERO, REG2, CAAM_CMD_SZ); in gcm_set_sh_desc()
918 append_seq_fifo_store(desc, 0, FIFOST_TYPE_MESSAGE_DATA | FIFOLDST_VLF); in gcm_set_sh_desc()
921 append_seq_fifo_load(desc, 0, FIFOLD_CLASS_CLASS1 | FIFOLDST_VLF | in gcm_set_sh_desc()
925 append_jump(desc, JUMP_TEST_ALL | 4); in gcm_set_sh_desc()
928 set_jump_tgt_here(desc, zero_payload_jump_cmd); in gcm_set_sh_desc()
931 append_math_add(desc, VARSEQINLEN, ZERO, REG1, CAAM_CMD_SZ); in gcm_set_sh_desc()
932 zero_assoc_jump_cmd2 = append_jump(desc, JUMP_TEST_ALL | in gcm_set_sh_desc()
935 append_seq_fifo_load(desc, 0, FIFOLD_CLASS_CLASS1 | FIFOLDST_VLF | in gcm_set_sh_desc()
937 set_jump_tgt_here(desc, zero_assoc_jump_cmd2); 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()
944 desc_bytes(desc), in gcm_set_sh_desc()
952 DUMP_PREFIX_ADDRESS, 16, 4, desc, in gcm_set_sh_desc()
953 desc_bytes(desc), 1); in gcm_set_sh_desc()
976 u32 *desc; in rfc4106_set_sh_desc() local
991 desc = ctx->sh_desc_enc; in rfc4106_set_sh_desc()
993 init_sh_desc(desc, HDR_SHARE_SERIAL); in rfc4106_set_sh_desc()
996 key_jump_cmd = append_jump(desc, JUMP_JSL | JUMP_TEST_ALL | in rfc4106_set_sh_desc()
999 append_key_as_imm(desc, (void *)ctx->key, ctx->enckeylen, in rfc4106_set_sh_desc()
1002 append_key(desc, ctx->key_dma, ctx->enckeylen, in rfc4106_set_sh_desc()
1004 set_jump_tgt_here(desc, key_jump_cmd); 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()
1012 append_math_add(desc, VARSEQOUTLEN, ZERO, REG3, CAAM_CMD_SZ); in rfc4106_set_sh_desc()
1015 append_math_sub_imm_u32(desc, REG2, SEQINLEN, IMM, tfm->ivsize); in rfc4106_set_sh_desc()
1018 append_math_sub(desc, VARSEQINLEN, REG2, REG3, CAAM_CMD_SZ); in rfc4106_set_sh_desc()
1021 append_fifo_load_as_imm(desc, (void *)(ctx->key + ctx->enckeylen), in rfc4106_set_sh_desc()
1024 append_seq_fifo_load(desc, tfm->ivsize, FIFOLD_CLASS_CLASS1 | in rfc4106_set_sh_desc()
1028 append_seq_fifo_load(desc, 0, FIFOLD_CLASS_CLASS1 | FIFOLDST_VLF | in rfc4106_set_sh_desc()
1032 append_math_add(desc, VARSEQINLEN, ZERO, REG3, CAAM_CMD_SZ); in rfc4106_set_sh_desc()
1035 append_seq_fifo_store(desc, 0, FIFOST_TYPE_MESSAGE_DATA | FIFOLDST_VLF); in rfc4106_set_sh_desc()
1038 append_seq_fifo_load(desc, 0, FIFOLD_CLASS_CLASS1 | FIFOLDST_VLF | 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()
1046 desc_bytes(desc), in rfc4106_set_sh_desc()
1054 DUMP_PREFIX_ADDRESS, 16, 4, desc, in rfc4106_set_sh_desc()
1055 desc_bytes(desc), 1); in rfc4106_set_sh_desc()
1067 desc = ctx->sh_desc_dec; in rfc4106_set_sh_desc()
1069 init_sh_desc(desc, HDR_SHARE_SERIAL); in rfc4106_set_sh_desc()
1072 key_jump_cmd = append_jump(desc, JUMP_JSL | in rfc4106_set_sh_desc()
1075 append_key_as_imm(desc, (void *)ctx->key, ctx->enckeylen, in rfc4106_set_sh_desc()
1078 append_key(desc, ctx->key_dma, ctx->enckeylen, in rfc4106_set_sh_desc()
1080 set_jump_tgt_here(desc, key_jump_cmd); in rfc4106_set_sh_desc()
1083 append_operation(desc, ctx->class1_alg_type | in rfc4106_set_sh_desc()
1087 append_math_sub_imm_u32(desc, REG3, SEQINLEN, IMM, in rfc4106_set_sh_desc()
1091 append_math_sub(desc, REG2, SEQOUTLEN, REG0, CAAM_CMD_SZ); in rfc4106_set_sh_desc()
1092 append_math_sub(desc, VARSEQINLEN, REG3, REG2, CAAM_CMD_SZ); in rfc4106_set_sh_desc()
1095 append_math_sub(desc, VARSEQOUTLEN, SEQOUTLEN, REG0, CAAM_CMD_SZ); in rfc4106_set_sh_desc()
1098 append_fifo_load_as_imm(desc, (void *)(ctx->key + ctx->enckeylen), in rfc4106_set_sh_desc()
1101 append_seq_fifo_load(desc, tfm->ivsize, FIFOLD_CLASS_CLASS1 | in rfc4106_set_sh_desc()
1105 append_seq_fifo_load(desc, 0, FIFOLD_CLASS_CLASS1 | FIFOLDST_VLF | in rfc4106_set_sh_desc()
1109 append_math_add(desc, VARSEQINLEN, ZERO, REG2, CAAM_CMD_SZ); in rfc4106_set_sh_desc()
1112 append_seq_fifo_store(desc, 0, FIFOST_TYPE_MESSAGE_DATA | FIFOLDST_VLF); in rfc4106_set_sh_desc()
1115 append_seq_fifo_load(desc, 0, FIFOLD_CLASS_CLASS1 | FIFOLDST_VLF | 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()
1123 desc_bytes(desc), in rfc4106_set_sh_desc()
1131 DUMP_PREFIX_ADDRESS, 16, 4, desc, in rfc4106_set_sh_desc()
1132 desc_bytes(desc), 1); in rfc4106_set_sh_desc()
1146 desc = ctx->sh_desc_givenc; in rfc4106_set_sh_desc()
1148 init_sh_desc(desc, HDR_SHARE_SERIAL); in rfc4106_set_sh_desc()
1151 key_jump_cmd = append_jump(desc, JUMP_JSL | JUMP_TEST_ALL | in rfc4106_set_sh_desc()
1154 append_key_as_imm(desc, (void *)ctx->key, ctx->enckeylen, in rfc4106_set_sh_desc()
1157 append_key(desc, ctx->key_dma, ctx->enckeylen, in rfc4106_set_sh_desc()
1159 set_jump_tgt_here(desc, key_jump_cmd); in rfc4106_set_sh_desc()
1165 append_load_imm_u32(desc, geniv, LDST_CLASS_IND_CCB | in rfc4106_set_sh_desc()
1167 append_cmd(desc, CMD_LOAD | DISABLE_AUTO_INFO_FIFO); in rfc4106_set_sh_desc()
1168 move_cmd = append_move(desc, MOVE_SRC_INFIFO | MOVE_DEST_DESCBUF | in rfc4106_set_sh_desc()
1170 append_cmd(desc, CMD_LOAD | ENABLE_AUTO_INFO_FIFO); in rfc4106_set_sh_desc()
1173 write_iv_cmd = append_move(desc, MOVE_SRC_DESCBUF | MOVE_DEST_OUTFIFO | 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()
1184 append_math_sub(desc, VARSEQINLEN, SEQINLEN, REG3, CAAM_CMD_SZ); in rfc4106_set_sh_desc()
1187 append_math_add(desc, VARSEQOUTLEN, REG3, REG0, CAAM_CMD_SZ); in rfc4106_set_sh_desc()
1190 append_cmd(desc, CMD_FIFO_LOAD | FIFOLD_CLASS_CLASS1 | FIFOLD_TYPE_IV | in rfc4106_set_sh_desc()
1193 append_data(desc, (void *)(ctx->key + ctx->enckeylen), 4); in rfc4106_set_sh_desc()
1194 set_move_tgt_here(desc, move_cmd); in rfc4106_set_sh_desc()
1195 set_move_tgt_here(desc, write_iv_cmd); in rfc4106_set_sh_desc()
1197 append_cmd(desc, 0x00000000); in rfc4106_set_sh_desc()
1198 append_cmd(desc, 0x00000000); in rfc4106_set_sh_desc()
1202 append_seq_fifo_load(desc, tfm->ivsize, FIFOLD_CLASS_SKIP); in rfc4106_set_sh_desc()
1205 append_seq_fifo_load(desc, 0, FIFOLD_CLASS_CLASS1 | FIFOLDST_VLF | in rfc4106_set_sh_desc()
1209 append_math_add(desc, VARSEQINLEN, SEQINLEN, REG0, CAAM_CMD_SZ); in rfc4106_set_sh_desc()
1212 append_seq_fifo_store(desc, 0, FIFOST_TYPE_MESSAGE_DATA | FIFOLDST_VLF); in rfc4106_set_sh_desc()
1215 append_seq_fifo_load(desc, 0, FIFOLD_CLASS_CLASS1 | FIFOLDST_VLF | 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()
1223 desc_bytes(desc), in rfc4106_set_sh_desc()
1232 DUMP_PREFIX_ADDRESS, 16, 4, desc, in rfc4106_set_sh_desc()
1233 desc_bytes(desc), 1); in rfc4106_set_sh_desc()
1258 u32 *desc; in rfc4543_set_sh_desc() local
1273 desc = ctx->sh_desc_enc; in rfc4543_set_sh_desc()
1275 init_sh_desc(desc, HDR_SHARE_SERIAL); in rfc4543_set_sh_desc()
1278 key_jump_cmd = append_jump(desc, JUMP_JSL | JUMP_TEST_ALL | in rfc4543_set_sh_desc()
1281 append_key_as_imm(desc, (void *)ctx->key, ctx->enckeylen, in rfc4543_set_sh_desc()
1284 append_key(desc, ctx->key_dma, ctx->enckeylen, in rfc4543_set_sh_desc()
1286 set_jump_tgt_here(desc, key_jump_cmd); in rfc4543_set_sh_desc()
1289 append_operation(desc, ctx->class1_alg_type | in rfc4543_set_sh_desc()
1293 append_cmd(desc, CMD_SEQ_LOAD | LDST_SRCDST_WORD_DECO_MATH1 | in rfc4543_set_sh_desc()
1297 append_jump(desc, JUMP_TEST_ALL | JUMP_COND_CALM | in rfc4543_set_sh_desc()
1301 write_iv_cmd = append_move(desc, MOVE_SRC_MATH1 | MOVE_DEST_DESCBUF | in rfc4543_set_sh_desc()
1305 write_aad_cmd = append_move(desc, MOVE_SRC_MATH1 | MOVE_DEST_DESCBUF | in rfc4543_set_sh_desc()
1309 append_math_sub_imm_u32(desc, REG3, SEQOUTLEN, IMM, ctx->authsize); in rfc4543_set_sh_desc()
1312 append_math_sub(desc, VARSEQINLEN, SEQINLEN, REG3, CAAM_CMD_SZ); in rfc4543_set_sh_desc()
1315 append_cmd(desc, CMD_FIFO_LOAD | FIFOLD_CLASS_CLASS1 | IMMEDIATE | in rfc4543_set_sh_desc()
1318 append_data(desc, (void *)(ctx->key + ctx->enckeylen), 4); in rfc4543_set_sh_desc()
1319 set_move_tgt_here(desc, write_iv_cmd); in rfc4543_set_sh_desc()
1321 append_cmd(desc, 0x00000000); in rfc4543_set_sh_desc()
1322 append_cmd(desc, 0x00000000); in rfc4543_set_sh_desc()
1326 append_seq_fifo_load(desc, 0, FIFOLD_CLASS_CLASS1 | FIFOLDST_VLF | in rfc4543_set_sh_desc()
1330 append_math_add(desc, VARSEQINLEN, ZERO, REG3, CAAM_CMD_SZ); in rfc4543_set_sh_desc()
1333 append_math_add(desc, VARSEQOUTLEN, ZERO, REG3, CAAM_CMD_SZ); in rfc4543_set_sh_desc()
1340 read_move_cmd = append_move(desc, MOVE_SRC_DESCBUF | MOVE_DEST_MATH3 | in rfc4543_set_sh_desc()
1342 write_move_cmd = append_move(desc, MOVE_SRC_MATH3 | MOVE_DEST_DESCBUF | in rfc4543_set_sh_desc()
1346 append_cmd(desc, CMD_FIFO_LOAD | FIFOLD_CLASS_CLASS1 | IMMEDIATE | in rfc4543_set_sh_desc()
1348 set_move_tgt_here(desc, write_aad_cmd); in rfc4543_set_sh_desc()
1350 append_cmd(desc, 0x00000000); in rfc4543_set_sh_desc()
1351 append_cmd(desc, 0x00000000); in rfc4543_set_sh_desc()
1355 aead_append_src_dst(desc, FIFOLD_TYPE_AAD); in rfc4543_set_sh_desc()
1357 set_move_tgt_here(desc, read_move_cmd); in rfc4543_set_sh_desc()
1358 set_move_tgt_here(desc, write_move_cmd); in rfc4543_set_sh_desc()
1359 append_cmd(desc, CMD_LOAD | DISABLE_AUTO_INFO_FIFO); in rfc4543_set_sh_desc()
1361 append_move(desc, MOVE_SRC_INFIFO_CL | MOVE_DEST_OUTFIFO); 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()
1368 desc_bytes(desc), in rfc4543_set_sh_desc()
1376 DUMP_PREFIX_ADDRESS, 16, 4, desc, in rfc4543_set_sh_desc()
1377 desc_bytes(desc), 1); in rfc4543_set_sh_desc()
1389 desc = ctx->sh_desc_dec; in rfc4543_set_sh_desc()
1391 init_sh_desc(desc, HDR_SHARE_SERIAL); in rfc4543_set_sh_desc()
1394 key_jump_cmd = append_jump(desc, JUMP_JSL | in rfc4543_set_sh_desc()
1397 append_key_as_imm(desc, (void *)ctx->key, ctx->enckeylen, in rfc4543_set_sh_desc()
1400 append_key(desc, ctx->key_dma, ctx->enckeylen, in rfc4543_set_sh_desc()
1402 set_jump_tgt_here(desc, key_jump_cmd); in rfc4543_set_sh_desc()
1405 append_operation(desc, ctx->class1_alg_type | in rfc4543_set_sh_desc()
1409 append_cmd(desc, CMD_SEQ_LOAD | LDST_SRCDST_WORD_DECO_MATH1 | in rfc4543_set_sh_desc()
1413 append_jump(desc, JUMP_TEST_ALL | JUMP_COND_CALM | in rfc4543_set_sh_desc()
1417 append_math_sub_imm_u32(desc, REG3, SEQINLEN, IMM, ctx->authsize); in rfc4543_set_sh_desc()
1420 write_iv_cmd = append_move(desc, MOVE_SRC_MATH1 | MOVE_DEST_DESCBUF | in rfc4543_set_sh_desc()
1424 write_aad_cmd = append_move(desc, MOVE_SRC_MATH1 | MOVE_DEST_DESCBUF | in rfc4543_set_sh_desc()
1428 append_math_sub(desc, REG2, SEQOUTLEN, REG0, CAAM_CMD_SZ); in rfc4543_set_sh_desc()
1429 append_math_sub(desc, VARSEQINLEN, REG3, REG2, CAAM_CMD_SZ); in rfc4543_set_sh_desc()
1436 read_move_cmd = append_move(desc, MOVE_SRC_DESCBUF | MOVE_DEST_MATH3 | in rfc4543_set_sh_desc()
1438 write_move_cmd = append_move(desc, MOVE_SRC_MATH3 | MOVE_DEST_DESCBUF | in rfc4543_set_sh_desc()
1442 append_cmd(desc, CMD_FIFO_LOAD | FIFOLD_CLASS_CLASS1 | IMMEDIATE | in rfc4543_set_sh_desc()
1445 append_data(desc, (void *)(ctx->key + ctx->enckeylen), 4); in rfc4543_set_sh_desc()
1446 set_move_tgt_here(desc, write_iv_cmd); in rfc4543_set_sh_desc()
1448 append_cmd(desc, 0x00000000); in rfc4543_set_sh_desc()
1449 append_cmd(desc, 0x00000000); in rfc4543_set_sh_desc()
1453 append_seq_fifo_load(desc, 0, FIFOLD_CLASS_CLASS1 | FIFOLDST_VLF | in rfc4543_set_sh_desc()
1457 append_math_add(desc, VARSEQINLEN, ZERO, REG2, CAAM_CMD_SZ); in rfc4543_set_sh_desc()
1460 append_math_add(desc, VARSEQOUTLEN, ZERO, REG2, CAAM_CMD_SZ); in rfc4543_set_sh_desc()
1463 append_cmd(desc, CMD_FIFO_LOAD | FIFOLD_CLASS_CLASS1 | IMMEDIATE | in rfc4543_set_sh_desc()
1465 set_move_tgt_here(desc, write_aad_cmd); in rfc4543_set_sh_desc()
1467 append_cmd(desc, 0x00000000); in rfc4543_set_sh_desc()
1468 append_cmd(desc, 0x00000000); in rfc4543_set_sh_desc()
1472 append_seq_fifo_store(desc, 0, FIFOST_TYPE_MESSAGE_DATA | FIFOLDST_VLF); in rfc4543_set_sh_desc()
1475 append_seq_fifo_load(desc, 0, FIFOLD_CLASS_BOTH | FIFOLDST_VLF | in rfc4543_set_sh_desc()
1478 set_move_tgt_here(desc, read_move_cmd); in rfc4543_set_sh_desc()
1479 set_move_tgt_here(desc, write_move_cmd); in rfc4543_set_sh_desc()
1480 append_cmd(desc, CMD_LOAD | DISABLE_AUTO_INFO_FIFO); in rfc4543_set_sh_desc()
1482 append_move(desc, MOVE_SRC_INFIFO_CL | MOVE_DEST_OUTFIFO); in rfc4543_set_sh_desc()
1483 append_cmd(desc, CMD_LOAD | ENABLE_AUTO_INFO_FIFO); 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()
1490 desc_bytes(desc), in rfc4543_set_sh_desc()
1498 DUMP_PREFIX_ADDRESS, 16, 4, desc, in rfc4543_set_sh_desc()
1499 desc_bytes(desc), 1); in rfc4543_set_sh_desc()
1512 desc = ctx->sh_desc_givenc; in rfc4543_set_sh_desc()
1514 init_sh_desc(desc, HDR_SHARE_SERIAL); in rfc4543_set_sh_desc()
1517 key_jump_cmd = append_jump(desc, JUMP_JSL | JUMP_TEST_ALL | in rfc4543_set_sh_desc()
1520 append_key_as_imm(desc, (void *)ctx->key, ctx->enckeylen, in rfc4543_set_sh_desc()
1523 append_key(desc, ctx->key_dma, ctx->enckeylen, in rfc4543_set_sh_desc()
1525 set_jump_tgt_here(desc, key_jump_cmd); in rfc4543_set_sh_desc()
1531 append_load_imm_u32(desc, geniv, LDST_CLASS_IND_CCB | in rfc4543_set_sh_desc()
1533 append_cmd(desc, CMD_LOAD | DISABLE_AUTO_INFO_FIFO); in rfc4543_set_sh_desc()
1535 append_move(desc, MOVE_SRC_INFIFO | MOVE_DEST_MATH1 | in rfc4543_set_sh_desc()
1537 append_cmd(desc, CMD_LOAD | ENABLE_AUTO_INFO_FIFO); in rfc4543_set_sh_desc()
1540 write_iv_cmd = append_move(desc, MOVE_SRC_MATH1 | MOVE_DEST_DESCBUF | in rfc4543_set_sh_desc()
1544 write_aad_cmd = append_move(desc, MOVE_SRC_MATH1 | MOVE_DEST_DESCBUF | in rfc4543_set_sh_desc()
1548 append_move(desc, MOVE_SRC_MATH1 | MOVE_DEST_OUTFIFO | 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()
1559 append_math_sub(desc, VARSEQINLEN, SEQINLEN, REG3, CAAM_CMD_SZ); in rfc4543_set_sh_desc()
1562 append_math_add(desc, VARSEQOUTLEN, REG3, REG0, CAAM_CMD_SZ); in rfc4543_set_sh_desc()
1569 read_move_cmd = append_move(desc, MOVE_SRC_DESCBUF | MOVE_DEST_MATH3 | in rfc4543_set_sh_desc()
1571 write_move_cmd = append_move(desc, MOVE_SRC_MATH3 | MOVE_DEST_DESCBUF | in rfc4543_set_sh_desc()
1575 append_cmd(desc, CMD_FIFO_LOAD | FIFOLD_CLASS_CLASS1 | IMMEDIATE | in rfc4543_set_sh_desc()
1578 append_data(desc, (void *)(ctx->key + ctx->enckeylen), 4); in rfc4543_set_sh_desc()
1579 set_move_tgt_here(desc, write_iv_cmd); in rfc4543_set_sh_desc()
1581 append_cmd(desc, 0x00000000); in rfc4543_set_sh_desc()
1582 append_cmd(desc, 0x00000000); in rfc4543_set_sh_desc()
1586 append_seq_fifo_load(desc, tfm->ivsize, FIFOLD_CLASS_SKIP); in rfc4543_set_sh_desc()
1589 append_seq_fifo_load(desc, 0, FIFOLD_CLASS_CLASS1 | FIFOLDST_VLF | in rfc4543_set_sh_desc()
1593 append_math_add(desc, VARSEQINLEN, SEQINLEN, REG0, CAAM_CMD_SZ); in rfc4543_set_sh_desc()
1596 append_cmd(desc, CMD_FIFO_LOAD | FIFOLD_CLASS_CLASS1 | IMMEDIATE | in rfc4543_set_sh_desc()
1598 set_move_tgt_here(desc, write_aad_cmd); in rfc4543_set_sh_desc()
1600 append_cmd(desc, 0x00000000); in rfc4543_set_sh_desc()
1601 append_cmd(desc, 0x00000000); in rfc4543_set_sh_desc()
1605 aead_append_src_dst(desc, FIFOLD_TYPE_AAD); in rfc4543_set_sh_desc()
1607 set_move_tgt_here(desc, read_move_cmd); in rfc4543_set_sh_desc()
1608 set_move_tgt_here(desc, write_move_cmd); in rfc4543_set_sh_desc()
1609 append_cmd(desc, CMD_LOAD | DISABLE_AUTO_INFO_FIFO); in rfc4543_set_sh_desc()
1611 append_move(desc, MOVE_SRC_INFIFO_CL | MOVE_DEST_OUTFIFO); 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()
1618 desc_bytes(desc), in rfc4543_set_sh_desc()
1627 DUMP_PREFIX_ADDRESS, 16, 4, desc, in rfc4543_set_sh_desc()
1628 desc_bytes(desc), 1); in rfc4543_set_sh_desc()
1836 u32 *desc; in ablkcipher_setkey() local
1877 desc = ctx->sh_desc_enc; in ablkcipher_setkey()
1878 init_sh_desc(desc, HDR_SHARE_SERIAL | HDR_SAVECTX); in ablkcipher_setkey()
1880 key_jump_cmd = append_jump(desc, JUMP_JSL | JUMP_TEST_ALL | in ablkcipher_setkey()
1884 append_key_as_imm(desc, (void *)ctx->key, ctx->enckeylen, in ablkcipher_setkey()
1891 append_load_imm_u32(desc, *nonce, LDST_CLASS_IND_CCB | in ablkcipher_setkey()
1893 append_move(desc, MOVE_WAITCOMP | in ablkcipher_setkey()
1900 set_jump_tgt_here(desc, key_jump_cmd); in ablkcipher_setkey()
1903 append_seq_load(desc, crt->ivsize, LDST_SRCDST_BYTE_CONTEXT | in ablkcipher_setkey()
1908 append_load_imm_u32(desc, be32_to_cpu(1), LDST_IMM | in ablkcipher_setkey()
1915 append_operation(desc, ctx->class1_alg_type | in ablkcipher_setkey()
1919 ablkcipher_append_src_dst(desc); in ablkcipher_setkey()
1921 ctx->sh_desc_enc_dma = dma_map_single(jrdev, desc, in ablkcipher_setkey()
1922 desc_bytes(desc), in ablkcipher_setkey()
1931 DUMP_PREFIX_ADDRESS, 16, 4, desc, in ablkcipher_setkey()
1932 desc_bytes(desc), 1); in ablkcipher_setkey()
1935 desc = ctx->sh_desc_dec; in ablkcipher_setkey()
1937 init_sh_desc(desc, HDR_SHARE_SERIAL | HDR_SAVECTX); in ablkcipher_setkey()
1939 key_jump_cmd = append_jump(desc, JUMP_JSL | JUMP_TEST_ALL | in ablkcipher_setkey()
1943 append_key_as_imm(desc, (void *)ctx->key, ctx->enckeylen, in ablkcipher_setkey()
1950 append_load_imm_u32(desc, *nonce, LDST_CLASS_IND_CCB | in ablkcipher_setkey()
1952 append_move(desc, MOVE_WAITCOMP | in ablkcipher_setkey()
1959 set_jump_tgt_here(desc, key_jump_cmd); in ablkcipher_setkey()
1962 append_seq_load(desc, crt->ivsize, LDST_SRCDST_BYTE_CONTEXT | in ablkcipher_setkey()
1967 append_load_imm_u32(desc, be32_to_cpu(1), LDST_IMM | 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()
1981 ablkcipher_append_src_dst(desc); in ablkcipher_setkey()
1983 ctx->sh_desc_dec_dma = dma_map_single(jrdev, desc, in ablkcipher_setkey()
1984 desc_bytes(desc), in ablkcipher_setkey()
1994 DUMP_PREFIX_ADDRESS, 16, 4, desc, in ablkcipher_setkey()
1995 desc_bytes(desc), 1); in ablkcipher_setkey()
1998 desc = ctx->sh_desc_givenc; in ablkcipher_setkey()
2000 init_sh_desc(desc, HDR_SHARE_SERIAL | HDR_SAVECTX); in ablkcipher_setkey()
2002 key_jump_cmd = append_jump(desc, JUMP_JSL | JUMP_TEST_ALL | in ablkcipher_setkey()
2006 append_key_as_imm(desc, (void *)ctx->key, ctx->enckeylen, in ablkcipher_setkey()
2013 append_load_imm_u32(desc, *nonce, LDST_CLASS_IND_CCB | in ablkcipher_setkey()
2015 append_move(desc, MOVE_WAITCOMP | in ablkcipher_setkey()
2021 set_jump_tgt_here(desc, key_jump_cmd); in ablkcipher_setkey()
2027 append_load_imm_u32(desc, geniv, LDST_CLASS_IND_CCB | in ablkcipher_setkey()
2029 append_cmd(desc, CMD_LOAD | DISABLE_AUTO_INFO_FIFO); in ablkcipher_setkey()
2030 append_move(desc, MOVE_WAITCOMP | in ablkcipher_setkey()
2035 append_cmd(desc, CMD_LOAD | ENABLE_AUTO_INFO_FIFO); in ablkcipher_setkey()
2038 append_seq_store(desc, crt->ivsize, in ablkcipher_setkey()
2044 append_load_imm_u32(desc, (u32)1, LDST_IMM | in ablkcipher_setkey()
2051 append_jump(desc, JUMP_JSL | JUMP_TEST_ALL | JUMP_COND_NCP | in ablkcipher_setkey()
2055 append_operation(desc, ctx->class1_alg_type | in ablkcipher_setkey()
2059 ablkcipher_append_src_dst(desc); in ablkcipher_setkey()
2061 ctx->sh_desc_givenc_dma = dma_map_single(jrdev, desc, in ablkcipher_setkey()
2062 desc_bytes(desc), in ablkcipher_setkey()
2071 DUMP_PREFIX_ADDRESS, 16, 4, desc, in ablkcipher_setkey()
2072 desc_bytes(desc), 1); in ablkcipher_setkey()
2182 static void aead_encrypt_done(struct device *jrdev, u32 *desc, u32 err, in aead_encrypt_done() argument
2195 edesc = (struct aead_edesc *)((char *)desc - in aead_encrypt_done()
2221 static void aead_decrypt_done(struct device *jrdev, u32 *desc, u32 err, in aead_decrypt_done() argument
2234 edesc = (struct aead_edesc *)((char *)desc - in aead_decrypt_done()
2277 static void ablkcipher_encrypt_done(struct device *jrdev, u32 *desc, u32 err, in ablkcipher_encrypt_done() argument
2289 edesc = (struct ablkcipher_edesc *)((char *)desc - in ablkcipher_encrypt_done()
2310 static void ablkcipher_decrypt_done(struct device *jrdev, u32 *desc, u32 err, in ablkcipher_decrypt_done() argument
2322 edesc = (struct ablkcipher_edesc *)((char *)desc - in ablkcipher_decrypt_done()
2354 u32 *desc = edesc->hw_desc; in init_aead_job() local
2383 init_job_desc_shared(desc, ptr, len, HDR_SHARE_DEFER | HDR_REVERSE); in init_aead_job()
2398 append_seq_in_ptr(desc, src_dma, req->assoclen + ivsize + req->cryptlen, in init_aead_job()
2420 append_seq_out_ptr(desc, dst_dma, req->cryptlen + authsize, in init_aead_job()
2423 append_seq_out_ptr(desc, dst_dma, req->cryptlen - authsize, in init_aead_job()
2439 u32 *desc = edesc->hw_desc; in init_aead_giv_job() local
2467 init_job_desc_shared(desc, ptr, len, HDR_SHARE_DEFER | HDR_REVERSE); in init_aead_giv_job()
2480 append_seq_in_ptr(desc, src_dma, req->assoclen + ivsize + req->cryptlen, in init_aead_giv_job()
2499 append_seq_out_ptr(desc, dst_dma, ivsize + req->cryptlen + authsize, in init_aead_giv_job()
2513 u32 *desc = edesc->hw_desc; in init_ablkcipher_job() local
2528 init_job_desc_shared(desc, ptr, len, HDR_SHARE_DEFER | HDR_REVERSE); in init_ablkcipher_job()
2538 append_seq_in_ptr(desc, src_dma, req->nbytes + ivsize, in_options); in init_ablkcipher_job()
2557 append_seq_out_ptr(desc, dst_dma, req->nbytes, out_options); in init_ablkcipher_job()
2570 u32 *desc = edesc->hw_desc; in init_ablkcipher_giv_job() local
2585 init_job_desc_shared(desc, ptr, len, HDR_SHARE_DEFER | HDR_REVERSE); in init_ablkcipher_giv_job()
2595 append_seq_in_ptr(desc, src_dma, req->nbytes, in_options); in init_ablkcipher_giv_job()
2605 append_seq_out_ptr(desc, dst_dma, req->nbytes + ivsize, out_options); in init_ablkcipher_giv_job()
2762 u32 *desc; in aead_encrypt() local
2780 desc = edesc->hw_desc; in aead_encrypt()
2781 ret = caam_jr_enqueue(jrdev, desc, aead_encrypt_done, req); in aead_encrypt()
2799 u32 *desc; in aead_decrypt() local
2823 desc = edesc->hw_desc; in aead_decrypt()
2824 ret = caam_jr_enqueue(jrdev, desc, aead_decrypt_done, req); in aead_decrypt()
3010 u32 *desc; in aead_givencrypt() local
3035 desc = edesc->hw_desc; in aead_givencrypt()
3036 ret = caam_jr_enqueue(jrdev, desc, aead_encrypt_done, req); in aead_givencrypt()
3161 u32 *desc; in ablkcipher_encrypt() local
3178 desc = edesc->hw_desc; in ablkcipher_encrypt()
3179 ret = caam_jr_enqueue(jrdev, desc, ablkcipher_encrypt_done, req); in ablkcipher_encrypt()
3198 u32 *desc; in ablkcipher_decrypt() local
3210 desc = edesc->hw_desc; in ablkcipher_decrypt()
3217 ret = caam_jr_enqueue(jrdev, desc, ablkcipher_decrypt_done, req); in ablkcipher_decrypt()
3342 u32 *desc; in ablkcipher_givencrypt() local
3360 desc = edesc->hw_desc; in ablkcipher_givencrypt()
3361 ret = caam_jr_enqueue(jrdev, desc, ablkcipher_encrypt_done, req); in ablkcipher_givencrypt()