Lines Matching refs:desc

16 static inline void aead_append_src_dst(u32 *desc, u32 msg_type)  in aead_append_src_dst()  argument
18 append_seq_fifo_store(desc, 0, FIFOST_TYPE_MESSAGE_DATA | KEY_VLF); in aead_append_src_dst()
19 append_seq_fifo_load(desc, 0, FIFOLD_CLASS_BOTH | in aead_append_src_dst()
24 static inline void append_dec_op1(u32 *desc, u32 type) in append_dec_op1() argument
30 append_operation(desc, type | OP_ALG_AS_INITFINAL | in append_dec_op1()
35 jump_cmd = append_jump(desc, JUMP_TEST_ALL | JUMP_COND_SHRD); in append_dec_op1()
36 append_operation(desc, type | OP_ALG_AS_INIT | OP_ALG_DECRYPT); in append_dec_op1()
37 uncond_jump_cmd = append_jump(desc, JUMP_TEST_ALL); in append_dec_op1()
38 set_jump_tgt_here(desc, jump_cmd); in append_dec_op1()
39 append_operation(desc, type | OP_ALG_AS_INIT | OP_ALG_DECRYPT | in append_dec_op1()
41 set_jump_tgt_here(desc, uncond_jump_cmd); in append_dec_op1()
56 void cnstr_shdsc_aead_null_encap(u32 * const desc, struct alginfo *adata, in cnstr_shdsc_aead_null_encap() argument
61 init_sh_desc(desc, HDR_SHARE_SERIAL); in cnstr_shdsc_aead_null_encap()
64 key_jump_cmd = append_jump(desc, JUMP_JSL | JUMP_TEST_ALL | in cnstr_shdsc_aead_null_encap()
68 append_key_as_imm(desc, adata->key_virt, in cnstr_shdsc_aead_null_encap()
73 append_key(desc, adata->key_dma, adata->keylen, in cnstr_shdsc_aead_null_encap()
76 append_proto_dkp(desc, adata); in cnstr_shdsc_aead_null_encap()
78 set_jump_tgt_here(desc, key_jump_cmd); in cnstr_shdsc_aead_null_encap()
81 append_math_sub(desc, REG3, SEQINLEN, REG0, CAAM_CMD_SZ); in cnstr_shdsc_aead_null_encap()
84 append_math_add(desc, VARSEQINLEN, ZERO, REG3, CAAM_CMD_SZ); in cnstr_shdsc_aead_null_encap()
85 append_math_add(desc, VARSEQOUTLEN, ZERO, REG3, CAAM_CMD_SZ); in cnstr_shdsc_aead_null_encap()
92 read_move_cmd = append_move(desc, MOVE_SRC_DESCBUF | in cnstr_shdsc_aead_null_encap()
95 write_move_cmd = append_move(desc, MOVE_SRC_MATH3 | in cnstr_shdsc_aead_null_encap()
101 append_operation(desc, adata->algtype | OP_ALG_AS_INITFINAL | in cnstr_shdsc_aead_null_encap()
105 aead_append_src_dst(desc, FIFOLD_TYPE_MSG | FIFOLD_TYPE_FLUSH1); in cnstr_shdsc_aead_null_encap()
107 set_move_tgt_here(desc, read_move_cmd); in cnstr_shdsc_aead_null_encap()
108 set_move_tgt_here(desc, write_move_cmd); in cnstr_shdsc_aead_null_encap()
109 append_cmd(desc, CMD_LOAD | DISABLE_AUTO_INFO_FIFO); in cnstr_shdsc_aead_null_encap()
110 append_move(desc, MOVE_SRC_INFIFO_CL | MOVE_DEST_OUTFIFO | in cnstr_shdsc_aead_null_encap()
114 append_seq_store(desc, icvsize, LDST_CLASS_2_CCB | in cnstr_shdsc_aead_null_encap()
118 DUMP_PREFIX_ADDRESS, 16, 4, desc, desc_bytes(desc), in cnstr_shdsc_aead_null_encap()
135 void cnstr_shdsc_aead_null_decap(u32 * const desc, struct alginfo *adata, in cnstr_shdsc_aead_null_decap() argument
140 init_sh_desc(desc, HDR_SHARE_SERIAL); in cnstr_shdsc_aead_null_decap()
143 key_jump_cmd = append_jump(desc, JUMP_JSL | JUMP_TEST_ALL | in cnstr_shdsc_aead_null_decap()
147 append_key_as_imm(desc, adata->key_virt, in cnstr_shdsc_aead_null_decap()
152 append_key(desc, adata->key_dma, adata->keylen, in cnstr_shdsc_aead_null_decap()
155 append_proto_dkp(desc, adata); in cnstr_shdsc_aead_null_decap()
157 set_jump_tgt_here(desc, key_jump_cmd); in cnstr_shdsc_aead_null_decap()
160 append_operation(desc, adata->algtype | OP_ALG_AS_INITFINAL | in cnstr_shdsc_aead_null_decap()
164 append_math_sub(desc, REG2, SEQOUTLEN, REG0, CAAM_CMD_SZ); in cnstr_shdsc_aead_null_decap()
167 append_math_add(desc, VARSEQINLEN, ZERO, REG2, CAAM_CMD_SZ); in cnstr_shdsc_aead_null_decap()
168 append_math_add(desc, VARSEQOUTLEN, ZERO, REG2, CAAM_CMD_SZ); in cnstr_shdsc_aead_null_decap()
175 read_move_cmd = append_move(desc, MOVE_SRC_DESCBUF | in cnstr_shdsc_aead_null_decap()
178 write_move_cmd = append_move(desc, MOVE_SRC_MATH2 | in cnstr_shdsc_aead_null_decap()
184 aead_append_src_dst(desc, FIFOLD_TYPE_MSG | FIFOLD_TYPE_FLUSH1); in cnstr_shdsc_aead_null_decap()
190 jump_cmd = append_jump(desc, JUMP_TEST_ALL); in cnstr_shdsc_aead_null_decap()
191 set_jump_tgt_here(desc, jump_cmd); in cnstr_shdsc_aead_null_decap()
193 set_move_tgt_here(desc, read_move_cmd); in cnstr_shdsc_aead_null_decap()
194 set_move_tgt_here(desc, write_move_cmd); in cnstr_shdsc_aead_null_decap()
195 append_cmd(desc, CMD_LOAD | DISABLE_AUTO_INFO_FIFO); in cnstr_shdsc_aead_null_decap()
196 append_move(desc, MOVE_SRC_INFIFO_CL | MOVE_DEST_OUTFIFO | in cnstr_shdsc_aead_null_decap()
198 append_cmd(desc, CMD_LOAD | ENABLE_AUTO_INFO_FIFO); in cnstr_shdsc_aead_null_decap()
201 append_seq_fifo_load(desc, icvsize, FIFOLD_CLASS_CLASS2 | in cnstr_shdsc_aead_null_decap()
205 DUMP_PREFIX_ADDRESS, 16, 4, desc, desc_bytes(desc), in cnstr_shdsc_aead_null_decap()
210 static void init_sh_desc_key_aead(u32 * const desc, in init_sh_desc_key_aead() argument
219 init_sh_desc(desc, HDR_SHARE_SERIAL | HDR_SAVECTX); in init_sh_desc_key_aead()
222 key_jump_cmd = append_jump(desc, JUMP_JSL | JUMP_TEST_ALL | in init_sh_desc_key_aead()
235 append_key_as_imm(desc, adata->key_virt, in init_sh_desc_key_aead()
240 append_key(desc, adata->key_dma, adata->keylen, in init_sh_desc_key_aead()
243 append_proto_dkp(desc, adata); in init_sh_desc_key_aead()
247 append_key_as_imm(desc, cdata->key_virt, enckeylen, in init_sh_desc_key_aead()
250 append_key(desc, cdata->key_dma, enckeylen, CLASS_1 | in init_sh_desc_key_aead()
255 append_load_as_imm(desc, nonce, CTR_RFC3686_NONCE_SIZE, in init_sh_desc_key_aead()
258 append_move(desc, in init_sh_desc_key_aead()
265 set_jump_tgt_here(desc, key_jump_cmd); in init_sh_desc_key_aead()
288 void cnstr_shdsc_aead_encap(u32 * const desc, struct alginfo *cdata, in cnstr_shdsc_aead_encap() argument
295 init_sh_desc_key_aead(desc, cdata, adata, is_rfc3686, nonce, era); in cnstr_shdsc_aead_encap()
298 append_operation(desc, adata->algtype | OP_ALG_AS_INITFINAL | in cnstr_shdsc_aead_encap()
305 append_seq_load(desc, 4, LDST_CLASS_DECO | in cnstr_shdsc_aead_encap()
309 wait_load_cmd = append_jump(desc, JUMP_JSL | JUMP_TEST_ALL | in cnstr_shdsc_aead_encap()
313 set_jump_tgt_here(desc, wait_load_cmd); in cnstr_shdsc_aead_encap()
315 append_seq_load(desc, ivsize, LDST_CLASS_1_CCB | in cnstr_shdsc_aead_encap()
322 append_math_add(desc, VARSEQINLEN, ZERO, REG3, CAAM_CMD_SZ); in cnstr_shdsc_aead_encap()
323 append_math_add(desc, VARSEQOUTLEN, ZERO, REG3, CAAM_CMD_SZ); in cnstr_shdsc_aead_encap()
325 append_math_add(desc, VARSEQINLEN, ZERO, DPOVRD, CAAM_CMD_SZ); in cnstr_shdsc_aead_encap()
326 append_math_add(desc, VARSEQOUTLEN, ZERO, DPOVRD, CAAM_CMD_SZ); in cnstr_shdsc_aead_encap()
330 append_seq_fifo_store(desc, 0, FIFOST_TYPE_SKIP | FIFOLDST_VLF); in cnstr_shdsc_aead_encap()
333 append_seq_fifo_load(desc, 0, FIFOLD_CLASS_CLASS2 | FIFOLD_TYPE_MSG | in cnstr_shdsc_aead_encap()
338 append_load_imm_be32(desc, 1, LDST_IMM | LDST_CLASS_1_CCB | in cnstr_shdsc_aead_encap()
344 append_operation(desc, cdata->algtype | OP_ALG_AS_INITFINAL | in cnstr_shdsc_aead_encap()
348 append_math_add(desc, VARSEQINLEN, SEQINLEN, REG0, CAAM_CMD_SZ); in cnstr_shdsc_aead_encap()
349 append_math_add(desc, VARSEQOUTLEN, SEQINLEN, REG0, CAAM_CMD_SZ); in cnstr_shdsc_aead_encap()
350 aead_append_src_dst(desc, FIFOLD_TYPE_MSG1OUT2); in cnstr_shdsc_aead_encap()
353 append_seq_store(desc, icvsize, LDST_CLASS_2_CCB | in cnstr_shdsc_aead_encap()
357 DUMP_PREFIX_ADDRESS, 16, 4, desc, desc_bytes(desc), in cnstr_shdsc_aead_encap()
382 void cnstr_shdsc_aead_decap(u32 * const desc, struct alginfo *cdata, in cnstr_shdsc_aead_decap() argument
389 init_sh_desc_key_aead(desc, cdata, adata, is_rfc3686, nonce, era); in cnstr_shdsc_aead_decap()
392 append_operation(desc, adata->algtype | OP_ALG_AS_INITFINAL | in cnstr_shdsc_aead_decap()
399 append_seq_load(desc, 4, LDST_CLASS_DECO | in cnstr_shdsc_aead_decap()
403 wait_load_cmd = append_jump(desc, JUMP_JSL | JUMP_TEST_ALL | in cnstr_shdsc_aead_decap()
407 set_jump_tgt_here(desc, wait_load_cmd); in cnstr_shdsc_aead_decap()
410 append_seq_load(desc, ivsize, LDST_CLASS_1_CCB | in cnstr_shdsc_aead_decap()
417 append_math_add(desc, VARSEQINLEN, ZERO, REG3, CAAM_CMD_SZ); in cnstr_shdsc_aead_decap()
419 append_math_add_imm_u32(desc, VARSEQOUTLEN, REG3, IMM, in cnstr_shdsc_aead_decap()
422 append_math_add(desc, VARSEQOUTLEN, ZERO, REG3, in cnstr_shdsc_aead_decap()
425 append_math_add(desc, VARSEQINLEN, ZERO, DPOVRD, CAAM_CMD_SZ); in cnstr_shdsc_aead_decap()
427 append_math_add_imm_u32(desc, VARSEQOUTLEN, DPOVRD, IMM, in cnstr_shdsc_aead_decap()
430 append_math_add(desc, VARSEQOUTLEN, ZERO, DPOVRD, in cnstr_shdsc_aead_decap()
435 append_seq_fifo_store(desc, 0, FIFOST_TYPE_SKIP | FIFOLDST_VLF); in cnstr_shdsc_aead_decap()
438 append_seq_fifo_load(desc, 0, FIFOLD_CLASS_CLASS2 | FIFOLD_TYPE_MSG | in cnstr_shdsc_aead_decap()
442 append_seq_load(desc, ivsize, LDST_CLASS_1_CCB | in cnstr_shdsc_aead_decap()
445 append_move(desc, MOVE_SRC_CLASS1CTX | MOVE_DEST_CLASS2INFIFO | in cnstr_shdsc_aead_decap()
451 append_load_imm_be32(desc, 1, LDST_IMM | LDST_CLASS_1_CCB | in cnstr_shdsc_aead_decap()
458 append_operation(desc, cdata->algtype | OP_ALG_AS_INITFINAL | in cnstr_shdsc_aead_decap()
461 append_dec_op1(desc, cdata->algtype); in cnstr_shdsc_aead_decap()
464 append_math_add(desc, VARSEQINLEN, SEQOUTLEN, REG0, CAAM_CMD_SZ); in cnstr_shdsc_aead_decap()
465 append_math_add(desc, VARSEQOUTLEN, SEQOUTLEN, REG0, CAAM_CMD_SZ); in cnstr_shdsc_aead_decap()
466 aead_append_src_dst(desc, FIFOLD_TYPE_MSG); in cnstr_shdsc_aead_decap()
469 append_seq_fifo_load(desc, icvsize, FIFOLD_CLASS_CLASS2 | in cnstr_shdsc_aead_decap()
473 DUMP_PREFIX_ADDRESS, 16, 4, desc, desc_bytes(desc), in cnstr_shdsc_aead_decap()
499 void cnstr_shdsc_aead_givencap(u32 * const desc, struct alginfo *cdata, in cnstr_shdsc_aead_givencap() argument
509 init_sh_desc_key_aead(desc, cdata, adata, is_rfc3686, nonce, era); in cnstr_shdsc_aead_givencap()
515 append_seq_load(desc, 4, LDST_CLASS_DECO | in cnstr_shdsc_aead_givencap()
519 wait_load_cmd = append_jump(desc, JUMP_JSL | JUMP_TEST_ALL | in cnstr_shdsc_aead_givencap()
523 set_jump_tgt_here(desc, wait_load_cmd); in cnstr_shdsc_aead_givencap()
528 append_seq_load(desc, ivsize, LDST_CLASS_1_CCB | in cnstr_shdsc_aead_givencap()
539 append_load_imm_u32(desc, geniv, LDST_CLASS_IND_CCB | in cnstr_shdsc_aead_givencap()
541 append_cmd(desc, CMD_LOAD | DISABLE_AUTO_INFO_FIFO); in cnstr_shdsc_aead_givencap()
542 append_move(desc, MOVE_WAITCOMP | in cnstr_shdsc_aead_givencap()
546 append_cmd(desc, CMD_LOAD | ENABLE_AUTO_INFO_FIFO); in cnstr_shdsc_aead_givencap()
550 append_move(desc, MOVE_SRC_CLASS1CTX | MOVE_DEST_OUTFIFO | in cnstr_shdsc_aead_givencap()
555 append_operation(desc, adata->algtype | OP_ALG_AS_INITFINAL | in cnstr_shdsc_aead_givencap()
560 append_math_add(desc, VARSEQINLEN, ZERO, REG3, CAAM_CMD_SZ); in cnstr_shdsc_aead_givencap()
561 append_math_add(desc, VARSEQOUTLEN, ZERO, REG3, CAAM_CMD_SZ); in cnstr_shdsc_aead_givencap()
563 append_math_add(desc, VARSEQINLEN, ZERO, DPOVRD, CAAM_CMD_SZ); in cnstr_shdsc_aead_givencap()
564 append_math_add(desc, VARSEQOUTLEN, ZERO, DPOVRD, CAAM_CMD_SZ); in cnstr_shdsc_aead_givencap()
568 append_seq_fifo_store(desc, 0, FIFOST_TYPE_SKIP | FIFOLDST_VLF); in cnstr_shdsc_aead_givencap()
571 append_seq_fifo_load(desc, 0, FIFOLD_CLASS_CLASS2 | FIFOLD_TYPE_MSG | in cnstr_shdsc_aead_givencap()
577 append_load_imm_u32(desc, moveiv, LDST_CLASS_IND_CCB | in cnstr_shdsc_aead_givencap()
579 append_load_imm_u32(desc, ivsize, LDST_CLASS_2_CCB | in cnstr_shdsc_aead_givencap()
584 append_load_imm_be32(desc, 1, LDST_IMM | LDST_CLASS_1_CCB | in cnstr_shdsc_aead_givencap()
590 append_operation(desc, cdata->algtype | OP_ALG_AS_INITFINAL | in cnstr_shdsc_aead_givencap()
594 append_math_add(desc, VARSEQOUTLEN, SEQINLEN, REG0, CAAM_CMD_SZ); in cnstr_shdsc_aead_givencap()
597 append_seq_fifo_load(desc, ivsize, in cnstr_shdsc_aead_givencap()
601 append_math_add(desc, VARSEQINLEN, SEQINLEN, REG0, CAAM_CMD_SZ); in cnstr_shdsc_aead_givencap()
607 wait_cmd = append_jump(desc, JUMP_JSL | JUMP_TEST_ALL | JUMP_COND_NIFP); in cnstr_shdsc_aead_givencap()
608 set_jump_tgt_here(desc, wait_cmd); in cnstr_shdsc_aead_givencap()
610 append_seq_fifo_load(desc, 0, FIFOLD_CLASS_BOTH | KEY_VLF | in cnstr_shdsc_aead_givencap()
612 append_seq_fifo_store(desc, 0, FIFOST_TYPE_MESSAGE_DATA | KEY_VLF); in cnstr_shdsc_aead_givencap()
615 append_seq_store(desc, icvsize, LDST_CLASS_2_CCB | in cnstr_shdsc_aead_givencap()
619 DUMP_PREFIX_ADDRESS, 16, 4, desc, desc_bytes(desc), in cnstr_shdsc_aead_givencap()
633 void cnstr_shdsc_gcm_encap(u32 * const desc, struct alginfo *cdata, in cnstr_shdsc_gcm_encap() argument
640 init_sh_desc(desc, HDR_SHARE_SERIAL); in cnstr_shdsc_gcm_encap()
643 key_jump_cmd = append_jump(desc, JUMP_JSL | JUMP_TEST_ALL | in cnstr_shdsc_gcm_encap()
646 append_key_as_imm(desc, cdata->key_virt, cdata->keylen, in cnstr_shdsc_gcm_encap()
649 append_key(desc, cdata->key_dma, cdata->keylen, CLASS_1 | in cnstr_shdsc_gcm_encap()
651 set_jump_tgt_here(desc, key_jump_cmd); in cnstr_shdsc_gcm_encap()
654 append_operation(desc, cdata->algtype | OP_ALG_AS_INITFINAL | in cnstr_shdsc_gcm_encap()
661 append_seq_load(desc, 4, LDST_CLASS_DECO | in cnstr_shdsc_gcm_encap()
665 wait_load_cmd = append_jump(desc, JUMP_JSL | JUMP_TEST_ALL | in cnstr_shdsc_gcm_encap()
669 set_jump_tgt_here(desc, wait_load_cmd); in cnstr_shdsc_gcm_encap()
671 append_math_sub_imm_u32(desc, VARSEQOUTLEN, SEQINLEN, IMM, in cnstr_shdsc_gcm_encap()
674 append_math_sub(desc, VARSEQOUTLEN, SEQINLEN, REG0, in cnstr_shdsc_gcm_encap()
679 zero_assoc_jump_cmd2 = append_jump(desc, JUMP_TEST_ALL | in cnstr_shdsc_gcm_encap()
683 append_seq_fifo_load(desc, ivsize, FIFOLD_CLASS_CLASS1 | in cnstr_shdsc_gcm_encap()
687 append_math_add(desc, VARSEQINLEN, ZERO, REG3, CAAM_CMD_SZ); in cnstr_shdsc_gcm_encap()
688 zero_assoc_jump_cmd1 = append_jump(desc, JUMP_TEST_ALL | in cnstr_shdsc_gcm_encap()
691 append_math_add(desc, VARSEQOUTLEN, ZERO, REG3, CAAM_CMD_SZ); in cnstr_shdsc_gcm_encap()
694 append_seq_fifo_store(desc, 0, FIFOST_TYPE_SKIP | FIFOLDST_VLF); in cnstr_shdsc_gcm_encap()
697 append_math_sub(desc, VARSEQOUTLEN, SEQINLEN, REG3, CAAM_CMD_SZ); in cnstr_shdsc_gcm_encap()
700 zero_payload_jump_cmd = append_jump(desc, JUMP_TEST_ALL | in cnstr_shdsc_gcm_encap()
704 append_seq_fifo_load(desc, 0, FIFOLD_CLASS_CLASS1 | FIFOLDST_VLF | in cnstr_shdsc_gcm_encap()
706 set_jump_tgt_here(desc, zero_assoc_jump_cmd1); in cnstr_shdsc_gcm_encap()
708 append_math_sub(desc, VARSEQINLEN, SEQINLEN, REG0, CAAM_CMD_SZ); in cnstr_shdsc_gcm_encap()
711 append_seq_fifo_store(desc, 0, FIFOST_TYPE_MESSAGE_DATA | FIFOLDST_VLF); in cnstr_shdsc_gcm_encap()
714 append_seq_fifo_load(desc, 0, FIFOLD_CLASS_CLASS1 | FIFOLDST_VLF | in cnstr_shdsc_gcm_encap()
719 append_jump(desc, JUMP_TEST_ALL | 4); in cnstr_shdsc_gcm_encap()
721 append_jump(desc, JUMP_TEST_ALL | 2); in cnstr_shdsc_gcm_encap()
724 set_jump_tgt_here(desc, zero_payload_jump_cmd); in cnstr_shdsc_gcm_encap()
727 append_seq_fifo_load(desc, 0, FIFOLD_CLASS_CLASS1 | FIFOLDST_VLF | in cnstr_shdsc_gcm_encap()
731 append_jump(desc, JUMP_TEST_ALL | 2); in cnstr_shdsc_gcm_encap()
734 set_jump_tgt_here(desc, zero_assoc_jump_cmd2); in cnstr_shdsc_gcm_encap()
737 append_seq_fifo_load(desc, ivsize, FIFOLD_CLASS_CLASS1 | in cnstr_shdsc_gcm_encap()
742 append_seq_store(desc, icvsize, LDST_CLASS_1_CCB | in cnstr_shdsc_gcm_encap()
746 DUMP_PREFIX_ADDRESS, 16, 4, desc, desc_bytes(desc), in cnstr_shdsc_gcm_encap()
760 void cnstr_shdsc_gcm_decap(u32 * const desc, struct alginfo *cdata, in cnstr_shdsc_gcm_decap() argument
766 init_sh_desc(desc, HDR_SHARE_SERIAL); in cnstr_shdsc_gcm_decap()
769 key_jump_cmd = append_jump(desc, JUMP_JSL | in cnstr_shdsc_gcm_decap()
772 append_key_as_imm(desc, cdata->key_virt, cdata->keylen, in cnstr_shdsc_gcm_decap()
775 append_key(desc, cdata->key_dma, cdata->keylen, CLASS_1 | in cnstr_shdsc_gcm_decap()
777 set_jump_tgt_here(desc, key_jump_cmd); in cnstr_shdsc_gcm_decap()
780 append_operation(desc, cdata->algtype | OP_ALG_AS_INITFINAL | in cnstr_shdsc_gcm_decap()
787 append_seq_load(desc, 4, LDST_CLASS_DECO | in cnstr_shdsc_gcm_decap()
791 wait_load_cmd = append_jump(desc, JUMP_JSL | JUMP_TEST_ALL | in cnstr_shdsc_gcm_decap()
795 set_jump_tgt_here(desc, wait_load_cmd); in cnstr_shdsc_gcm_decap()
797 append_seq_fifo_load(desc, ivsize, FIFOLD_CLASS_CLASS1 | in cnstr_shdsc_gcm_decap()
802 append_math_add(desc, VARSEQINLEN, ZERO, REG3, CAAM_CMD_SZ); in cnstr_shdsc_gcm_decap()
803 zero_assoc_jump_cmd1 = append_jump(desc, JUMP_TEST_ALL | in cnstr_shdsc_gcm_decap()
806 append_math_add(desc, VARSEQOUTLEN, ZERO, REG3, CAAM_CMD_SZ); in cnstr_shdsc_gcm_decap()
809 append_seq_fifo_store(desc, 0, FIFOST_TYPE_SKIP | FIFOLDST_VLF); in cnstr_shdsc_gcm_decap()
812 append_seq_fifo_load(desc, 0, FIFOLD_CLASS_CLASS1 | FIFOLDST_VLF | in cnstr_shdsc_gcm_decap()
815 set_jump_tgt_here(desc, zero_assoc_jump_cmd1); in cnstr_shdsc_gcm_decap()
818 append_math_sub(desc, VARSEQINLEN, SEQOUTLEN, REG0, CAAM_CMD_SZ); in cnstr_shdsc_gcm_decap()
821 zero_payload_jump_cmd = append_jump(desc, JUMP_TEST_ALL | in cnstr_shdsc_gcm_decap()
824 append_math_sub(desc, VARSEQOUTLEN, SEQOUTLEN, REG0, CAAM_CMD_SZ); in cnstr_shdsc_gcm_decap()
827 append_seq_fifo_store(desc, 0, FIFOST_TYPE_MESSAGE_DATA | FIFOLDST_VLF); in cnstr_shdsc_gcm_decap()
830 append_seq_fifo_load(desc, 0, FIFOLD_CLASS_CLASS1 | FIFOLDST_VLF | in cnstr_shdsc_gcm_decap()
834 set_jump_tgt_here(desc, zero_payload_jump_cmd); in cnstr_shdsc_gcm_decap()
837 append_seq_fifo_load(desc, icvsize, FIFOLD_CLASS_CLASS1 | in cnstr_shdsc_gcm_decap()
841 DUMP_PREFIX_ADDRESS, 16, 4, desc, desc_bytes(desc), in cnstr_shdsc_gcm_decap()
860 void cnstr_shdsc_rfc4106_encap(u32 * const desc, struct alginfo *cdata, in cnstr_shdsc_rfc4106_encap() argument
865 init_sh_desc(desc, HDR_SHARE_SERIAL); in cnstr_shdsc_rfc4106_encap()
868 key_jump_cmd = append_jump(desc, JUMP_JSL | JUMP_TEST_ALL | in cnstr_shdsc_rfc4106_encap()
871 append_key_as_imm(desc, cdata->key_virt, cdata->keylen, in cnstr_shdsc_rfc4106_encap()
874 append_key(desc, cdata->key_dma, cdata->keylen, CLASS_1 | in cnstr_shdsc_rfc4106_encap()
876 set_jump_tgt_here(desc, key_jump_cmd); in cnstr_shdsc_rfc4106_encap()
879 append_operation(desc, cdata->algtype | OP_ALG_AS_INITFINAL | in cnstr_shdsc_rfc4106_encap()
886 append_seq_load(desc, 4, LDST_CLASS_DECO | in cnstr_shdsc_rfc4106_encap()
890 wait_load_cmd = append_jump(desc, JUMP_JSL | JUMP_TEST_ALL | in cnstr_shdsc_rfc4106_encap()
894 set_jump_tgt_here(desc, wait_load_cmd); in cnstr_shdsc_rfc4106_encap()
897 append_fifo_load_as_imm(desc, (void *)(cdata->key_virt + in cnstr_shdsc_rfc4106_encap()
900 append_seq_fifo_load(desc, ivsize, FIFOLD_CLASS_CLASS1 | in cnstr_shdsc_rfc4106_encap()
904 append_math_sub_imm_u32(desc, VARSEQINLEN, REG3, IMM, ivsize); in cnstr_shdsc_rfc4106_encap()
905 append_math_add(desc, VARSEQOUTLEN, ZERO, REG3, CAAM_CMD_SZ); in cnstr_shdsc_rfc4106_encap()
908 append_seq_fifo_store(desc, 0, FIFOST_TYPE_SKIP | FIFOLDST_VLF); in cnstr_shdsc_rfc4106_encap()
911 append_math_sub(desc, VARSEQOUTLEN, SEQINLEN, REG3, CAAM_CMD_SZ); in cnstr_shdsc_rfc4106_encap()
914 zero_cryptlen_jump_cmd = append_jump(desc, JUMP_TEST_ALL | in cnstr_shdsc_rfc4106_encap()
918 append_seq_fifo_load(desc, 0, FIFOLD_CLASS_CLASS1 | FIFOLDST_VLF | in cnstr_shdsc_rfc4106_encap()
922 append_seq_fifo_store(desc, 0, FIFOST_TYPE_MESSAGE_DATA); in cnstr_shdsc_rfc4106_encap()
925 append_seq_fifo_load(desc, ivsize, FIFOLD_CLASS_SKIP); in cnstr_shdsc_rfc4106_encap()
926 append_math_add(desc, VARSEQINLEN, VARSEQOUTLEN, REG0, CAAM_CMD_SZ); in cnstr_shdsc_rfc4106_encap()
929 append_seq_fifo_store(desc, 0, FIFOST_TYPE_MESSAGE_DATA | FIFOLDST_VLF); in cnstr_shdsc_rfc4106_encap()
932 append_seq_fifo_load(desc, 0, FIFOLD_CLASS_CLASS1 | FIFOLDST_VLF | in cnstr_shdsc_rfc4106_encap()
936 skip_instructions = append_jump(desc, JUMP_TEST_ALL); in cnstr_shdsc_rfc4106_encap()
939 set_jump_tgt_here(desc, zero_cryptlen_jump_cmd); in cnstr_shdsc_rfc4106_encap()
942 append_seq_fifo_load(desc, 0, FIFOLD_CLASS_CLASS1 | FIFOLDST_VLF | in cnstr_shdsc_rfc4106_encap()
945 set_jump_tgt_here(desc, skip_instructions); in cnstr_shdsc_rfc4106_encap()
948 append_seq_store(desc, icvsize, LDST_CLASS_1_CCB | in cnstr_shdsc_rfc4106_encap()
952 DUMP_PREFIX_ADDRESS, 16, 4, desc, desc_bytes(desc), in cnstr_shdsc_rfc4106_encap()
967 void cnstr_shdsc_rfc4106_decap(u32 * const desc, struct alginfo *cdata, in cnstr_shdsc_rfc4106_decap() argument
973 init_sh_desc(desc, HDR_SHARE_SERIAL); in cnstr_shdsc_rfc4106_decap()
976 key_jump_cmd = append_jump(desc, JUMP_JSL | JUMP_TEST_ALL | in cnstr_shdsc_rfc4106_decap()
979 append_key_as_imm(desc, cdata->key_virt, cdata->keylen, in cnstr_shdsc_rfc4106_decap()
983 append_key(desc, cdata->key_dma, cdata->keylen, CLASS_1 | in cnstr_shdsc_rfc4106_decap()
985 set_jump_tgt_here(desc, key_jump_cmd); in cnstr_shdsc_rfc4106_decap()
988 append_operation(desc, cdata->algtype | OP_ALG_AS_INITFINAL | in cnstr_shdsc_rfc4106_decap()
995 append_seq_load(desc, 4, LDST_CLASS_DECO | in cnstr_shdsc_rfc4106_decap()
999 wait_load_cmd = append_jump(desc, JUMP_JSL | JUMP_TEST_ALL | in cnstr_shdsc_rfc4106_decap()
1003 set_jump_tgt_here(desc, wait_load_cmd); in cnstr_shdsc_rfc4106_decap()
1006 append_fifo_load_as_imm(desc, (void *)(cdata->key_virt + in cnstr_shdsc_rfc4106_decap()
1009 append_seq_fifo_load(desc, ivsize, FIFOLD_CLASS_CLASS1 | in cnstr_shdsc_rfc4106_decap()
1013 append_math_sub_imm_u32(desc, VARSEQINLEN, REG3, IMM, ivsize); in cnstr_shdsc_rfc4106_decap()
1014 append_math_add(desc, VARSEQOUTLEN, ZERO, REG3, CAAM_CMD_SZ); in cnstr_shdsc_rfc4106_decap()
1017 append_seq_fifo_load(desc, 0, FIFOLD_CLASS_CLASS1 | FIFOLDST_VLF | in cnstr_shdsc_rfc4106_decap()
1021 append_seq_fifo_load(desc, ivsize, FIFOLD_CLASS_SKIP); in cnstr_shdsc_rfc4106_decap()
1024 append_math_sub(desc, VARSEQINLEN, SEQOUTLEN, REG3, CAAM_CMD_SZ); in cnstr_shdsc_rfc4106_decap()
1027 append_seq_fifo_load(desc, 0, FIFOLD_CLASS_CLASS1 | FIFOLD_TYPE_MSG); in cnstr_shdsc_rfc4106_decap()
1030 append_seq_fifo_store(desc, 0, FIFOST_TYPE_SKIP | FIFOLDST_VLF); in cnstr_shdsc_rfc4106_decap()
1033 append_math_sub(desc, VARSEQOUTLEN, SEQOUTLEN, REG0, CAAM_CMD_SZ); in cnstr_shdsc_rfc4106_decap()
1036 append_seq_fifo_store(desc, 0, FIFOST_TYPE_MESSAGE_DATA | FIFOLDST_VLF); in cnstr_shdsc_rfc4106_decap()
1039 append_seq_fifo_load(desc, 0, FIFOLD_CLASS_CLASS1 | FIFOLDST_VLF | in cnstr_shdsc_rfc4106_decap()
1043 append_seq_fifo_load(desc, icvsize, FIFOLD_CLASS_CLASS1 | in cnstr_shdsc_rfc4106_decap()
1047 DUMP_PREFIX_ADDRESS, 16, 4, desc, desc_bytes(desc), in cnstr_shdsc_rfc4106_decap()
1062 void cnstr_shdsc_rfc4543_encap(u32 * const desc, struct alginfo *cdata, in cnstr_shdsc_rfc4543_encap() argument
1068 init_sh_desc(desc, HDR_SHARE_SERIAL); in cnstr_shdsc_rfc4543_encap()
1071 key_jump_cmd = append_jump(desc, JUMP_JSL | JUMP_TEST_ALL | in cnstr_shdsc_rfc4543_encap()
1074 append_key_as_imm(desc, cdata->key_virt, cdata->keylen, in cnstr_shdsc_rfc4543_encap()
1077 append_key(desc, cdata->key_dma, cdata->keylen, CLASS_1 | in cnstr_shdsc_rfc4543_encap()
1079 set_jump_tgt_here(desc, key_jump_cmd); in cnstr_shdsc_rfc4543_encap()
1082 append_operation(desc, cdata->algtype | OP_ALG_AS_INITFINAL | in cnstr_shdsc_rfc4543_encap()
1087 append_seq_fifo_load(desc, 4, FIFOLD_CLASS_SKIP); in cnstr_shdsc_rfc4543_encap()
1090 append_fifo_load_as_imm(desc, (void *)(cdata->key_virt + in cnstr_shdsc_rfc4543_encap()
1093 append_seq_fifo_load(desc, ivsize, FIFOLD_CLASS_CLASS1 | in cnstr_shdsc_rfc4543_encap()
1098 append_math_sub(desc, REG3, SEQINLEN, REG0, CAAM_CMD_SZ); in cnstr_shdsc_rfc4543_encap()
1105 read_move_cmd = append_move(desc, MOVE_SRC_DESCBUF | MOVE_DEST_MATH3 | in cnstr_shdsc_rfc4543_encap()
1107 write_move_cmd = append_move(desc, MOVE_SRC_MATH3 | MOVE_DEST_DESCBUF | in cnstr_shdsc_rfc4543_encap()
1111 append_math_sub(desc, VARSEQINLEN, SEQINLEN, REG0, CAAM_CMD_SZ); in cnstr_shdsc_rfc4543_encap()
1114 append_math_sub(desc, VARSEQOUTLEN, SEQINLEN, REG0, CAAM_CMD_SZ); in cnstr_shdsc_rfc4543_encap()
1117 aead_append_src_dst(desc, FIFOLD_TYPE_AAD); in cnstr_shdsc_rfc4543_encap()
1119 set_move_tgt_here(desc, read_move_cmd); in cnstr_shdsc_rfc4543_encap()
1120 set_move_tgt_here(desc, write_move_cmd); in cnstr_shdsc_rfc4543_encap()
1121 append_cmd(desc, CMD_LOAD | DISABLE_AUTO_INFO_FIFO); in cnstr_shdsc_rfc4543_encap()
1123 append_move(desc, MOVE_SRC_INFIFO_CL | MOVE_DEST_OUTFIFO); in cnstr_shdsc_rfc4543_encap()
1126 append_seq_store(desc, icvsize, LDST_CLASS_1_CCB | in cnstr_shdsc_rfc4543_encap()
1130 DUMP_PREFIX_ADDRESS, 16, 4, desc, desc_bytes(desc), in cnstr_shdsc_rfc4543_encap()
1145 void cnstr_shdsc_rfc4543_decap(u32 * const desc, struct alginfo *cdata, in cnstr_shdsc_rfc4543_decap() argument
1151 init_sh_desc(desc, HDR_SHARE_SERIAL); in cnstr_shdsc_rfc4543_decap()
1154 key_jump_cmd = append_jump(desc, JUMP_JSL | JUMP_TEST_ALL | in cnstr_shdsc_rfc4543_decap()
1157 append_key_as_imm(desc, cdata->key_virt, cdata->keylen, in cnstr_shdsc_rfc4543_decap()
1160 append_key(desc, cdata->key_dma, cdata->keylen, CLASS_1 | in cnstr_shdsc_rfc4543_decap()
1162 set_jump_tgt_here(desc, key_jump_cmd); in cnstr_shdsc_rfc4543_decap()
1165 append_operation(desc, cdata->algtype | OP_ALG_AS_INITFINAL | in cnstr_shdsc_rfc4543_decap()
1170 append_seq_fifo_load(desc, 4, FIFOLD_CLASS_SKIP); in cnstr_shdsc_rfc4543_decap()
1173 append_fifo_load_as_imm(desc, (void *)(cdata->key_virt + in cnstr_shdsc_rfc4543_decap()
1176 append_seq_fifo_load(desc, ivsize, FIFOLD_CLASS_CLASS1 | in cnstr_shdsc_rfc4543_decap()
1181 append_math_sub(desc, REG3, SEQOUTLEN, REG0, CAAM_CMD_SZ); in cnstr_shdsc_rfc4543_decap()
1188 read_move_cmd = append_move(desc, MOVE_SRC_DESCBUF | MOVE_DEST_MATH3 | in cnstr_shdsc_rfc4543_decap()
1190 write_move_cmd = append_move(desc, MOVE_SRC_MATH3 | MOVE_DEST_DESCBUF | in cnstr_shdsc_rfc4543_decap()
1194 append_math_sub(desc, VARSEQINLEN, SEQOUTLEN, REG0, CAAM_CMD_SZ); in cnstr_shdsc_rfc4543_decap()
1197 append_math_sub(desc, VARSEQOUTLEN, SEQOUTLEN, REG0, CAAM_CMD_SZ); in cnstr_shdsc_rfc4543_decap()
1200 append_seq_fifo_store(desc, 0, FIFOST_TYPE_MESSAGE_DATA | FIFOLDST_VLF); in cnstr_shdsc_rfc4543_decap()
1203 append_seq_fifo_load(desc, 0, FIFOLD_CLASS_BOTH | FIFOLDST_VLF | in cnstr_shdsc_rfc4543_decap()
1206 set_move_tgt_here(desc, read_move_cmd); in cnstr_shdsc_rfc4543_decap()
1207 set_move_tgt_here(desc, write_move_cmd); in cnstr_shdsc_rfc4543_decap()
1208 append_cmd(desc, CMD_LOAD | DISABLE_AUTO_INFO_FIFO); in cnstr_shdsc_rfc4543_decap()
1210 append_move(desc, MOVE_SRC_INFIFO_CL | MOVE_DEST_OUTFIFO); in cnstr_shdsc_rfc4543_decap()
1211 append_cmd(desc, CMD_LOAD | ENABLE_AUTO_INFO_FIFO); in cnstr_shdsc_rfc4543_decap()
1214 append_seq_fifo_load(desc, icvsize, FIFOLD_CLASS_CLASS1 | in cnstr_shdsc_rfc4543_decap()
1218 DUMP_PREFIX_ADDRESS, 16, 4, desc, desc_bytes(desc), in cnstr_shdsc_rfc4543_decap()
1239 void cnstr_shdsc_chachapoly(u32 * const desc, struct alginfo *cdata, in cnstr_shdsc_chachapoly() argument
1249 init_sh_desc(desc, HDR_SHARE_SERIAL | HDR_SAVECTX); in cnstr_shdsc_chachapoly()
1252 key_jump_cmd = append_jump(desc, JUMP_JSL | JUMP_TEST_ALL | in cnstr_shdsc_chachapoly()
1255 append_key_as_imm(desc, cdata->key_virt, cdata->keylen, cdata->keylen, in cnstr_shdsc_chachapoly()
1260 append_load_as_imm(desc, cdata->key_virt + cdata->keylen, 4, in cnstr_shdsc_chachapoly()
1264 set_jump_tgt_here(desc, key_jump_cmd); in cnstr_shdsc_chachapoly()
1268 append_operation(desc, adata->algtype | OP_ALG_AS_INITFINAL | in cnstr_shdsc_chachapoly()
1270 append_operation(desc, cdata->algtype | OP_ALG_AS_INITFINAL | in cnstr_shdsc_chachapoly()
1273 append_operation(desc, adata->algtype | OP_ALG_AS_INITFINAL | in cnstr_shdsc_chachapoly()
1275 append_operation(desc, cdata->algtype | OP_ALG_AS_INITFINAL | in cnstr_shdsc_chachapoly()
1284 append_seq_load(desc, 4, LDST_CLASS_DECO | in cnstr_shdsc_chachapoly()
1288 wait_load_cmd = append_jump(desc, JUMP_JSL | JUMP_TEST_ALL | in cnstr_shdsc_chachapoly()
1292 set_jump_tgt_here(desc, wait_load_cmd); in cnstr_shdsc_chachapoly()
1294 append_seq_load(desc, ivsize, LDST_CLASS_1_CCB | in cnstr_shdsc_chachapoly()
1307 append_load_imm_u32(desc, nfifo, LDST_CLASS_IND_CCB | in cnstr_shdsc_chachapoly()
1310 append_math_add(desc, VARSEQINLEN, ZERO, REG3, CAAM_CMD_SZ); in cnstr_shdsc_chachapoly()
1311 append_math_add(desc, VARSEQOUTLEN, ZERO, REG3, CAAM_CMD_SZ); in cnstr_shdsc_chachapoly()
1312 append_seq_fifo_load(desc, 0, FIFOLD_TYPE_NOINFOFIFO | in cnstr_shdsc_chachapoly()
1314 append_move_len(desc, MOVE_AUX_LS | MOVE_SRC_AUX_ABLK | in cnstr_shdsc_chachapoly()
1316 append_seq_fifo_store(desc, 0, FIFOST_TYPE_MESSAGE_DATA | LDST_VLF); in cnstr_shdsc_chachapoly()
1320 append_seq_fifo_store(desc, ivsize, FIFOST_TYPE_METADATA | in cnstr_shdsc_chachapoly()
1323 wait_cmd = append_jump(desc, JUMP_JSL | JUMP_TYPE_LOCAL | in cnstr_shdsc_chachapoly()
1325 set_jump_tgt_here(desc, wait_cmd); in cnstr_shdsc_chachapoly()
1329 append_math_add(desc, VARSEQINLEN, SEQINLEN, REG0, CAAM_CMD_SZ); in cnstr_shdsc_chachapoly()
1330 append_math_add(desc, VARSEQOUTLEN, SEQINLEN, REG0, in cnstr_shdsc_chachapoly()
1332 aead_append_src_dst(desc, FIFOLD_TYPE_MSG1OUT2); in cnstr_shdsc_chachapoly()
1335 append_seq_store(desc, icvsize, LDST_CLASS_2_CCB | in cnstr_shdsc_chachapoly()
1339 append_math_add(desc, VARSEQINLEN, SEQOUTLEN, REG0, in cnstr_shdsc_chachapoly()
1341 append_math_add(desc, VARSEQOUTLEN, SEQOUTLEN, REG0, in cnstr_shdsc_chachapoly()
1343 aead_append_src_dst(desc, FIFOLD_TYPE_MSG); in cnstr_shdsc_chachapoly()
1346 append_seq_fifo_load(desc, icvsize, FIFOLD_CLASS_CLASS2 | in cnstr_shdsc_chachapoly()
1351 DUMP_PREFIX_ADDRESS, 16, 4, desc, desc_bytes(desc), in cnstr_shdsc_chachapoly()
1357 static inline void skcipher_append_src_dst(u32 *desc) in skcipher_append_src_dst() argument
1359 append_math_add(desc, VARSEQOUTLEN, SEQINLEN, REG0, CAAM_CMD_SZ); in skcipher_append_src_dst()
1360 append_math_add(desc, VARSEQINLEN, SEQINLEN, REG0, CAAM_CMD_SZ); in skcipher_append_src_dst()
1361 append_seq_fifo_load(desc, 0, FIFOLD_CLASS_CLASS1 | in skcipher_append_src_dst()
1363 append_seq_fifo_store(desc, 0, FIFOST_TYPE_MESSAGE_DATA | KEY_VLF); in skcipher_append_src_dst()
1377 void cnstr_shdsc_skcipher_encap(u32 * const desc, struct alginfo *cdata, in cnstr_shdsc_skcipher_encap() argument
1383 init_sh_desc(desc, HDR_SHARE_SERIAL | HDR_SAVECTX); in cnstr_shdsc_skcipher_encap()
1385 key_jump_cmd = append_jump(desc, JUMP_JSL | JUMP_TEST_ALL | in cnstr_shdsc_skcipher_encap()
1389 append_key_as_imm(desc, cdata->key_virt, cdata->keylen, in cnstr_shdsc_skcipher_encap()
1396 append_load_as_imm(desc, nonce, CTR_RFC3686_NONCE_SIZE, in cnstr_shdsc_skcipher_encap()
1399 append_move(desc, MOVE_WAITCOMP | MOVE_SRC_OUTFIFO | in cnstr_shdsc_skcipher_encap()
1404 set_jump_tgt_here(desc, key_jump_cmd); in cnstr_shdsc_skcipher_encap()
1408 append_seq_load(desc, ivsize, LDST_SRCDST_BYTE_CONTEXT | in cnstr_shdsc_skcipher_encap()
1414 append_load_imm_be32(desc, 1, LDST_IMM | LDST_CLASS_1_CCB | in cnstr_shdsc_skcipher_encap()
1420 append_operation(desc, cdata->algtype | OP_ALG_AS_INIT | in cnstr_shdsc_skcipher_encap()
1424 skcipher_append_src_dst(desc); in cnstr_shdsc_skcipher_encap()
1428 append_seq_store(desc, ivsize, LDST_SRCDST_BYTE_CONTEXT | in cnstr_shdsc_skcipher_encap()
1433 DUMP_PREFIX_ADDRESS, 16, 4, desc, desc_bytes(desc), in cnstr_shdsc_skcipher_encap()
1449 void cnstr_shdsc_skcipher_decap(u32 * const desc, struct alginfo *cdata, in cnstr_shdsc_skcipher_decap() argument
1455 init_sh_desc(desc, HDR_SHARE_SERIAL | HDR_SAVECTX); in cnstr_shdsc_skcipher_decap()
1457 key_jump_cmd = append_jump(desc, JUMP_JSL | JUMP_TEST_ALL | in cnstr_shdsc_skcipher_decap()
1461 append_key_as_imm(desc, cdata->key_virt, cdata->keylen, in cnstr_shdsc_skcipher_decap()
1468 append_load_as_imm(desc, nonce, CTR_RFC3686_NONCE_SIZE, in cnstr_shdsc_skcipher_decap()
1471 append_move(desc, MOVE_WAITCOMP | MOVE_SRC_OUTFIFO | in cnstr_shdsc_skcipher_decap()
1476 set_jump_tgt_here(desc, key_jump_cmd); in cnstr_shdsc_skcipher_decap()
1480 append_seq_load(desc, ivsize, LDST_SRCDST_BYTE_CONTEXT | in cnstr_shdsc_skcipher_decap()
1486 append_load_imm_be32(desc, 1, LDST_IMM | LDST_CLASS_1_CCB | in cnstr_shdsc_skcipher_decap()
1493 append_operation(desc, cdata->algtype | OP_ALG_AS_INIT | in cnstr_shdsc_skcipher_decap()
1496 append_dec_op1(desc, cdata->algtype); in cnstr_shdsc_skcipher_decap()
1499 skcipher_append_src_dst(desc); in cnstr_shdsc_skcipher_decap()
1503 append_seq_store(desc, ivsize, LDST_SRCDST_BYTE_CONTEXT | in cnstr_shdsc_skcipher_decap()
1508 DUMP_PREFIX_ADDRESS, 16, 4, desc, desc_bytes(desc), in cnstr_shdsc_skcipher_decap()
1519 void cnstr_shdsc_xts_skcipher_encap(u32 * const desc, struct alginfo *cdata) in cnstr_shdsc_xts_skcipher_encap() argument
1524 init_sh_desc(desc, HDR_SHARE_SERIAL | HDR_SAVECTX); in cnstr_shdsc_xts_skcipher_encap()
1526 key_jump_cmd = append_jump(desc, JUMP_JSL | JUMP_TEST_ALL | in cnstr_shdsc_xts_skcipher_encap()
1530 append_key_as_imm(desc, cdata->key_virt, cdata->keylen, in cnstr_shdsc_xts_skcipher_encap()
1534 append_load_as_imm(desc, (void *)&sector_size, 8, LDST_CLASS_1_CCB | in cnstr_shdsc_xts_skcipher_encap()
1538 set_jump_tgt_here(desc, key_jump_cmd); in cnstr_shdsc_xts_skcipher_encap()
1545 append_seq_load(desc, 8, LDST_SRCDST_BYTE_CONTEXT | LDST_CLASS_1_CCB | in cnstr_shdsc_xts_skcipher_encap()
1547 append_seq_fifo_load(desc, 8, FIFOLD_CLASS_SKIP); in cnstr_shdsc_xts_skcipher_encap()
1550 append_operation(desc, cdata->algtype | OP_ALG_AS_INITFINAL | in cnstr_shdsc_xts_skcipher_encap()
1554 skcipher_append_src_dst(desc); in cnstr_shdsc_xts_skcipher_encap()
1557 append_seq_store(desc, 8, LDST_SRCDST_BYTE_CONTEXT | LDST_CLASS_1_CCB | in cnstr_shdsc_xts_skcipher_encap()
1562 desc, desc_bytes(desc), 1); in cnstr_shdsc_xts_skcipher_encap()
1572 void cnstr_shdsc_xts_skcipher_decap(u32 * const desc, struct alginfo *cdata) in cnstr_shdsc_xts_skcipher_decap() argument
1577 init_sh_desc(desc, HDR_SHARE_SERIAL | HDR_SAVECTX); in cnstr_shdsc_xts_skcipher_decap()
1579 key_jump_cmd = append_jump(desc, JUMP_JSL | JUMP_TEST_ALL | in cnstr_shdsc_xts_skcipher_decap()
1583 append_key_as_imm(desc, cdata->key_virt, cdata->keylen, in cnstr_shdsc_xts_skcipher_decap()
1587 append_load_as_imm(desc, (void *)&sector_size, 8, LDST_CLASS_1_CCB | in cnstr_shdsc_xts_skcipher_decap()
1591 set_jump_tgt_here(desc, key_jump_cmd); in cnstr_shdsc_xts_skcipher_decap()
1598 append_seq_load(desc, 8, LDST_SRCDST_BYTE_CONTEXT | LDST_CLASS_1_CCB | in cnstr_shdsc_xts_skcipher_decap()
1600 append_seq_fifo_load(desc, 8, FIFOLD_CLASS_SKIP); in cnstr_shdsc_xts_skcipher_decap()
1603 append_dec_op1(desc, cdata->algtype); in cnstr_shdsc_xts_skcipher_decap()
1606 skcipher_append_src_dst(desc); in cnstr_shdsc_xts_skcipher_decap()
1609 append_seq_store(desc, 8, LDST_SRCDST_BYTE_CONTEXT | LDST_CLASS_1_CCB | in cnstr_shdsc_xts_skcipher_decap()
1613 ": ", DUMP_PREFIX_ADDRESS, 16, 4, desc, in cnstr_shdsc_xts_skcipher_decap()
1614 desc_bytes(desc), 1); in cnstr_shdsc_xts_skcipher_decap()