Lines Matching refs:idx

311 	unsigned int idx = 0;  in hmac_setkey()  local
317 hw_desc_init(&desc[idx]); in hmac_setkey()
318 set_cipher_mode(&desc[idx], hash_mode); in hmac_setkey()
319 set_din_sram(&desc[idx], in hmac_setkey()
323 set_flow_mode(&desc[idx], S_DIN_to_HASH); in hmac_setkey()
324 set_setup_mode(&desc[idx], SETUP_LOAD_STATE0); in hmac_setkey()
325 idx++; in hmac_setkey()
328 hw_desc_init(&desc[idx]); in hmac_setkey()
329 set_cipher_mode(&desc[idx], hash_mode); in hmac_setkey()
330 set_din_const(&desc[idx], 0, ctx->drvdata->hash_len_sz); in hmac_setkey()
331 set_flow_mode(&desc[idx], S_DIN_to_HASH); in hmac_setkey()
332 set_setup_mode(&desc[idx], SETUP_LOAD_KEY0); in hmac_setkey()
333 idx++; in hmac_setkey()
336 hw_desc_init(&desc[idx]); in hmac_setkey()
337 set_xor_val(&desc[idx], hmac_pad_const[i]); in hmac_setkey()
338 set_cipher_mode(&desc[idx], hash_mode); in hmac_setkey()
339 set_flow_mode(&desc[idx], S_DIN_to_HASH); in hmac_setkey()
340 set_setup_mode(&desc[idx], SETUP_LOAD_STATE1); in hmac_setkey()
341 idx++; in hmac_setkey()
344 hw_desc_init(&desc[idx]); in hmac_setkey()
345 set_din_type(&desc[idx], DMA_DLLI, in hmac_setkey()
348 set_cipher_mode(&desc[idx], hash_mode); in hmac_setkey()
349 set_xor_active(&desc[idx]); in hmac_setkey()
350 set_flow_mode(&desc[idx], DIN_HASH); in hmac_setkey()
351 idx++; in hmac_setkey()
354 hw_desc_init(&desc[idx]); in hmac_setkey()
355 set_cipher_mode(&desc[idx], hash_mode); in hmac_setkey()
356 set_dout_dlli(&desc[idx], in hmac_setkey()
359 set_flow_mode(&desc[idx], S_HASH_to_DOUT); in hmac_setkey()
360 set_setup_mode(&desc[idx], SETUP_WRITE_STATE0); in hmac_setkey()
361 set_cipher_config1(&desc[idx], HASH_PADDING_DISABLED); in hmac_setkey()
362 idx++; in hmac_setkey()
367 return idx; in hmac_setkey()
429 unsigned int idx = 0; in cc_get_plain_hmac_key() local
458 hw_desc_init(&desc[idx]); in cc_get_plain_hmac_key()
459 set_cipher_mode(&desc[idx], hashmode); in cc_get_plain_hmac_key()
460 set_din_sram(&desc[idx], larval_addr, digestsize); in cc_get_plain_hmac_key()
461 set_flow_mode(&desc[idx], S_DIN_to_HASH); in cc_get_plain_hmac_key()
462 set_setup_mode(&desc[idx], SETUP_LOAD_STATE0); in cc_get_plain_hmac_key()
463 idx++; in cc_get_plain_hmac_key()
466 hw_desc_init(&desc[idx]); in cc_get_plain_hmac_key()
467 set_cipher_mode(&desc[idx], hashmode); in cc_get_plain_hmac_key()
468 set_din_const(&desc[idx], 0, ctx->drvdata->hash_len_sz); in cc_get_plain_hmac_key()
469 set_cipher_config1(&desc[idx], HASH_PADDING_ENABLED); in cc_get_plain_hmac_key()
470 set_flow_mode(&desc[idx], S_DIN_to_HASH); in cc_get_plain_hmac_key()
471 set_setup_mode(&desc[idx], SETUP_LOAD_KEY0); in cc_get_plain_hmac_key()
472 idx++; in cc_get_plain_hmac_key()
474 hw_desc_init(&desc[idx]); in cc_get_plain_hmac_key()
475 set_din_type(&desc[idx], DMA_DLLI, in cc_get_plain_hmac_key()
477 set_flow_mode(&desc[idx], DIN_HASH); in cc_get_plain_hmac_key()
478 idx++; in cc_get_plain_hmac_key()
481 hw_desc_init(&desc[idx]); in cc_get_plain_hmac_key()
482 set_cipher_mode(&desc[idx], hashmode); in cc_get_plain_hmac_key()
483 set_dout_dlli(&desc[idx], padded_authkey_dma_addr, in cc_get_plain_hmac_key()
485 set_flow_mode(&desc[idx], S_HASH_to_DOUT); in cc_get_plain_hmac_key()
486 set_setup_mode(&desc[idx], SETUP_WRITE_STATE0); in cc_get_plain_hmac_key()
487 set_cipher_config1(&desc[idx], HASH_PADDING_DISABLED); in cc_get_plain_hmac_key()
488 set_cipher_config0(&desc[idx], in cc_get_plain_hmac_key()
490 idx++; in cc_get_plain_hmac_key()
492 hw_desc_init(&desc[idx]); in cc_get_plain_hmac_key()
493 set_din_const(&desc[idx], 0, (blocksize - digestsize)); in cc_get_plain_hmac_key()
494 set_flow_mode(&desc[idx], BYPASS); in cc_get_plain_hmac_key()
495 set_dout_dlli(&desc[idx], (padded_authkey_dma_addr + in cc_get_plain_hmac_key()
498 idx++; in cc_get_plain_hmac_key()
500 hw_desc_init(&desc[idx]); in cc_get_plain_hmac_key()
501 set_din_type(&desc[idx], DMA_DLLI, key_dma_addr, in cc_get_plain_hmac_key()
503 set_flow_mode(&desc[idx], BYPASS); in cc_get_plain_hmac_key()
504 set_dout_dlli(&desc[idx], padded_authkey_dma_addr, in cc_get_plain_hmac_key()
506 idx++; in cc_get_plain_hmac_key()
509 hw_desc_init(&desc[idx]); in cc_get_plain_hmac_key()
510 set_din_const(&desc[idx], 0, in cc_get_plain_hmac_key()
512 set_flow_mode(&desc[idx], BYPASS); in cc_get_plain_hmac_key()
513 set_dout_dlli(&desc[idx], in cc_get_plain_hmac_key()
517 idx++; in cc_get_plain_hmac_key()
521 hw_desc_init(&desc[idx]); in cc_get_plain_hmac_key()
522 set_din_const(&desc[idx], 0, (blocksize - keylen)); in cc_get_plain_hmac_key()
523 set_flow_mode(&desc[idx], BYPASS); in cc_get_plain_hmac_key()
524 set_dout_dlli(&desc[idx], padded_authkey_dma_addr, in cc_get_plain_hmac_key()
526 idx++; in cc_get_plain_hmac_key()
529 rc = cc_send_sync_request(ctx->drvdata, &cc_req, desc, idx); in cc_get_plain_hmac_key()
719 unsigned int idx = *seq_size; in cc_set_assoc_desc() local
725 hw_desc_init(&desc[idx]); in cc_set_assoc_desc()
726 set_din_type(&desc[idx], DMA_DLLI, sg_dma_address(areq->src), in cc_set_assoc_desc()
728 set_flow_mode(&desc[idx], flow_mode); in cc_set_assoc_desc()
731 set_din_not_last_indication(&desc[idx]); in cc_set_assoc_desc()
735 hw_desc_init(&desc[idx]); in cc_set_assoc_desc()
736 set_din_type(&desc[idx], DMA_MLLI, areq_ctx->assoc.sram_addr, in cc_set_assoc_desc()
738 set_flow_mode(&desc[idx], flow_mode); in cc_set_assoc_desc()
741 set_din_not_last_indication(&desc[idx]); in cc_set_assoc_desc()
748 *seq_size = (++idx); in cc_set_assoc_desc()
758 unsigned int idx = *seq_size; in cc_proc_authen_desc() local
774 hw_desc_init(&desc[idx]); in cc_proc_authen_desc()
775 set_din_type(&desc[idx], DMA_DLLI, in cc_proc_authen_desc()
778 set_flow_mode(&desc[idx], flow_mode); in cc_proc_authen_desc()
801 hw_desc_init(&desc[idx]); in cc_proc_authen_desc()
802 set_din_type(&desc[idx], DMA_MLLI, mlli_addr, mlli_nents, in cc_proc_authen_desc()
804 set_flow_mode(&desc[idx], flow_mode); in cc_proc_authen_desc()
812 *seq_size = (++idx); in cc_proc_authen_desc()
820 unsigned int idx = *seq_size; in cc_proc_cipher_desc() local
833 hw_desc_init(&desc[idx]); in cc_proc_cipher_desc()
834 set_din_type(&desc[idx], DMA_DLLI, in cc_proc_cipher_desc()
838 set_dout_dlli(&desc[idx], in cc_proc_cipher_desc()
842 set_flow_mode(&desc[idx], flow_mode); in cc_proc_cipher_desc()
846 hw_desc_init(&desc[idx]); in cc_proc_cipher_desc()
847 set_din_type(&desc[idx], DMA_MLLI, areq_ctx->src.sram_addr, in cc_proc_cipher_desc()
849 set_dout_mlli(&desc[idx], areq_ctx->dst.sram_addr, in cc_proc_cipher_desc()
851 set_flow_mode(&desc[idx], flow_mode); in cc_proc_cipher_desc()
858 *seq_size = (++idx); in cc_proc_cipher_desc()
868 unsigned int idx = *seq_size; in cc_proc_digest_desc() local
875 hw_desc_init(&desc[idx]); in cc_proc_digest_desc()
876 set_flow_mode(&desc[idx], S_HASH_to_DOUT); in cc_proc_digest_desc()
877 set_setup_mode(&desc[idx], SETUP_WRITE_STATE0); in cc_proc_digest_desc()
878 set_dout_dlli(&desc[idx], req_ctx->icv_dma_addr, ctx->authsize, in cc_proc_digest_desc()
880 set_queue_last_ind(ctx->drvdata, &desc[idx]); in cc_proc_digest_desc()
882 set_aes_not_hash_mode(&desc[idx]); in cc_proc_digest_desc()
883 set_cipher_mode(&desc[idx], DRV_CIPHER_XCBC_MAC); in cc_proc_digest_desc()
885 set_cipher_config0(&desc[idx], in cc_proc_digest_desc()
887 set_cipher_mode(&desc[idx], hash_mode); in cc_proc_digest_desc()
891 hw_desc_init(&desc[idx]); in cc_proc_digest_desc()
892 set_setup_mode(&desc[idx], SETUP_WRITE_STATE0); in cc_proc_digest_desc()
893 set_flow_mode(&desc[idx], S_HASH_to_DOUT); in cc_proc_digest_desc()
894 set_dout_dlli(&desc[idx], req_ctx->mac_buf_dma_addr, in cc_proc_digest_desc()
896 set_queue_last_ind(ctx->drvdata, &desc[idx]); in cc_proc_digest_desc()
897 set_cipher_config0(&desc[idx], in cc_proc_digest_desc()
899 set_cipher_config1(&desc[idx], HASH_PADDING_DISABLED); in cc_proc_digest_desc()
901 set_cipher_mode(&desc[idx], DRV_CIPHER_XCBC_MAC); in cc_proc_digest_desc()
902 set_aes_not_hash_mode(&desc[idx]); in cc_proc_digest_desc()
904 set_cipher_mode(&desc[idx], hash_mode); in cc_proc_digest_desc()
908 *seq_size = (++idx); in cc_proc_digest_desc()
919 unsigned int idx = *seq_size; in cc_set_cipher_desc() local
923 hw_desc_init(&desc[idx]); in cc_set_cipher_desc()
924 set_cipher_config0(&desc[idx], direct); in cc_set_cipher_desc()
925 set_flow_mode(&desc[idx], ctx->flow_mode); in cc_set_cipher_desc()
926 set_din_type(&desc[idx], DMA_DLLI, req_ctx->gen_ctx.iv_dma_addr, in cc_set_cipher_desc()
929 set_setup_mode(&desc[idx], SETUP_LOAD_STATE1); in cc_set_cipher_desc()
931 set_setup_mode(&desc[idx], SETUP_LOAD_STATE0); in cc_set_cipher_desc()
932 set_cipher_mode(&desc[idx], ctx->cipher_mode); in cc_set_cipher_desc()
933 idx++; in cc_set_cipher_desc()
936 hw_desc_init(&desc[idx]); in cc_set_cipher_desc()
937 set_cipher_config0(&desc[idx], direct); in cc_set_cipher_desc()
938 set_setup_mode(&desc[idx], SETUP_LOAD_KEY0); in cc_set_cipher_desc()
939 set_flow_mode(&desc[idx], ctx->flow_mode); in cc_set_cipher_desc()
941 set_din_type(&desc[idx], DMA_DLLI, ctx->enckey_dma_addr, in cc_set_cipher_desc()
944 set_key_size_aes(&desc[idx], ctx->enc_keylen); in cc_set_cipher_desc()
946 set_din_type(&desc[idx], DMA_DLLI, ctx->enckey_dma_addr, in cc_set_cipher_desc()
948 set_key_size_des(&desc[idx], ctx->enc_keylen); in cc_set_cipher_desc()
950 set_cipher_mode(&desc[idx], ctx->cipher_mode); in cc_set_cipher_desc()
951 idx++; in cc_set_cipher_desc()
953 *seq_size = idx; in cc_set_cipher_desc()
961 unsigned int idx = *seq_size; in cc_proc_cipher() local
966 cc_set_cipher_desc(req, desc, &idx); in cc_proc_cipher()
967 cc_proc_cipher_desc(req, data_flow_mode, desc, &idx); in cc_proc_cipher()
970 hw_desc_init(&desc[idx]); in cc_proc_cipher()
971 set_din_no_dma(&desc[idx], 0, 0xfffff0); in cc_proc_cipher()
972 set_dout_no_dma(&desc[idx], 0, 0, 1); in cc_proc_cipher()
973 idx++; in cc_proc_cipher()
976 *seq_size = idx; in cc_proc_cipher()
988 unsigned int idx = *seq_size; in cc_set_hmac_desc() local
991 hw_desc_init(&desc[idx]); in cc_set_hmac_desc()
992 set_cipher_mode(&desc[idx], hash_mode); in cc_set_hmac_desc()
993 set_din_type(&desc[idx], DMA_DLLI, in cc_set_hmac_desc()
996 set_flow_mode(&desc[idx], S_DIN_to_HASH); in cc_set_hmac_desc()
997 set_setup_mode(&desc[idx], SETUP_LOAD_STATE0); in cc_set_hmac_desc()
998 idx++; in cc_set_hmac_desc()
1001 hw_desc_init(&desc[idx]); in cc_set_hmac_desc()
1002 set_cipher_mode(&desc[idx], hash_mode); in cc_set_hmac_desc()
1003 set_din_sram(&desc[idx], cc_digest_len_addr(ctx->drvdata, hash_mode), in cc_set_hmac_desc()
1005 set_flow_mode(&desc[idx], S_DIN_to_HASH); in cc_set_hmac_desc()
1006 set_setup_mode(&desc[idx], SETUP_LOAD_KEY0); in cc_set_hmac_desc()
1007 idx++; in cc_set_hmac_desc()
1009 *seq_size = idx; in cc_set_hmac_desc()
1017 unsigned int idx = *seq_size; in cc_set_xcbc_desc() local
1020 hw_desc_init(&desc[idx]); in cc_set_xcbc_desc()
1021 set_din_const(&desc[idx], 0, CC_AES_BLOCK_SIZE); in cc_set_xcbc_desc()
1022 set_setup_mode(&desc[idx], SETUP_LOAD_STATE0); in cc_set_xcbc_desc()
1023 set_cipher_mode(&desc[idx], DRV_CIPHER_XCBC_MAC); in cc_set_xcbc_desc()
1024 set_cipher_config0(&desc[idx], DESC_DIRECTION_ENCRYPT_ENCRYPT); in cc_set_xcbc_desc()
1025 set_key_size_aes(&desc[idx], CC_AES_128_BIT_KEY_SIZE); in cc_set_xcbc_desc()
1026 set_flow_mode(&desc[idx], S_DIN_to_HASH); in cc_set_xcbc_desc()
1027 set_aes_not_hash_mode(&desc[idx]); in cc_set_xcbc_desc()
1028 idx++; in cc_set_xcbc_desc()
1031 hw_desc_init(&desc[idx]); in cc_set_xcbc_desc()
1032 set_din_type(&desc[idx], DMA_DLLI, in cc_set_xcbc_desc()
1035 set_setup_mode(&desc[idx], SETUP_LOAD_KEY0); in cc_set_xcbc_desc()
1036 set_cipher_mode(&desc[idx], DRV_CIPHER_XCBC_MAC); in cc_set_xcbc_desc()
1037 set_cipher_config0(&desc[idx], DESC_DIRECTION_ENCRYPT_ENCRYPT); in cc_set_xcbc_desc()
1038 set_key_size_aes(&desc[idx], CC_AES_128_BIT_KEY_SIZE); in cc_set_xcbc_desc()
1039 set_flow_mode(&desc[idx], S_DIN_to_HASH); in cc_set_xcbc_desc()
1040 set_aes_not_hash_mode(&desc[idx]); in cc_set_xcbc_desc()
1041 idx++; in cc_set_xcbc_desc()
1044 hw_desc_init(&desc[idx]); in cc_set_xcbc_desc()
1045 set_din_type(&desc[idx], DMA_DLLI, in cc_set_xcbc_desc()
1048 set_setup_mode(&desc[idx], SETUP_LOAD_STATE1); in cc_set_xcbc_desc()
1049 set_cipher_mode(&desc[idx], DRV_CIPHER_XCBC_MAC); in cc_set_xcbc_desc()
1050 set_cipher_config0(&desc[idx], DESC_DIRECTION_ENCRYPT_ENCRYPT); in cc_set_xcbc_desc()
1051 set_key_size_aes(&desc[idx], CC_AES_128_BIT_KEY_SIZE); in cc_set_xcbc_desc()
1052 set_flow_mode(&desc[idx], S_DIN_to_HASH); in cc_set_xcbc_desc()
1053 set_aes_not_hash_mode(&desc[idx]); in cc_set_xcbc_desc()
1054 idx++; in cc_set_xcbc_desc()
1057 hw_desc_init(&desc[idx]); in cc_set_xcbc_desc()
1058 set_din_type(&desc[idx], DMA_DLLI, in cc_set_xcbc_desc()
1061 set_setup_mode(&desc[idx], SETUP_LOAD_STATE2); in cc_set_xcbc_desc()
1062 set_cipher_mode(&desc[idx], DRV_CIPHER_XCBC_MAC); in cc_set_xcbc_desc()
1063 set_cipher_config0(&desc[idx], DESC_DIRECTION_ENCRYPT_ENCRYPT); in cc_set_xcbc_desc()
1064 set_key_size_aes(&desc[idx], CC_AES_128_BIT_KEY_SIZE); in cc_set_xcbc_desc()
1065 set_flow_mode(&desc[idx], S_DIN_to_HASH); in cc_set_xcbc_desc()
1066 set_aes_not_hash_mode(&desc[idx]); in cc_set_xcbc_desc()
1067 idx++; in cc_set_xcbc_desc()
1069 *seq_size = idx; in cc_set_xcbc_desc()
1076 unsigned int idx = *seq_size; in cc_proc_header_desc() local
1079 cc_set_assoc_desc(req, DIN_HASH, desc, &idx); in cc_proc_header_desc()
1082 *seq_size = idx; in cc_proc_header_desc()
1096 unsigned int idx = *seq_size; in cc_proc_scheme_desc() local
1098 hw_desc_init(&desc[idx]); in cc_proc_scheme_desc()
1099 set_cipher_mode(&desc[idx], hash_mode); in cc_proc_scheme_desc()
1100 set_dout_sram(&desc[idx], aead_handle->sram_workspace_addr, in cc_proc_scheme_desc()
1102 set_flow_mode(&desc[idx], S_HASH_to_DOUT); in cc_proc_scheme_desc()
1103 set_setup_mode(&desc[idx], SETUP_WRITE_STATE1); in cc_proc_scheme_desc()
1104 set_cipher_do(&desc[idx], DO_PAD); in cc_proc_scheme_desc()
1105 idx++; in cc_proc_scheme_desc()
1108 hw_desc_init(&desc[idx]); in cc_proc_scheme_desc()
1109 set_dout_sram(&desc[idx], aead_handle->sram_workspace_addr, in cc_proc_scheme_desc()
1111 set_flow_mode(&desc[idx], S_HASH_to_DOUT); in cc_proc_scheme_desc()
1112 set_setup_mode(&desc[idx], SETUP_WRITE_STATE0); in cc_proc_scheme_desc()
1113 set_cipher_config0(&desc[idx], HASH_DIGEST_RESULT_LITTLE_ENDIAN); in cc_proc_scheme_desc()
1114 set_cipher_mode(&desc[idx], hash_mode); in cc_proc_scheme_desc()
1115 idx++; in cc_proc_scheme_desc()
1118 hw_desc_init(&desc[idx]); in cc_proc_scheme_desc()
1119 set_cipher_mode(&desc[idx], hash_mode); in cc_proc_scheme_desc()
1120 set_din_type(&desc[idx], DMA_DLLI, in cc_proc_scheme_desc()
1123 set_flow_mode(&desc[idx], S_DIN_to_HASH); in cc_proc_scheme_desc()
1124 set_setup_mode(&desc[idx], SETUP_LOAD_STATE0); in cc_proc_scheme_desc()
1125 idx++; in cc_proc_scheme_desc()
1128 hw_desc_init(&desc[idx]); in cc_proc_scheme_desc()
1129 set_cipher_mode(&desc[idx], hash_mode); in cc_proc_scheme_desc()
1130 set_din_sram(&desc[idx], cc_digest_len_addr(ctx->drvdata, hash_mode), in cc_proc_scheme_desc()
1132 set_cipher_config1(&desc[idx], HASH_PADDING_ENABLED); in cc_proc_scheme_desc()
1133 set_flow_mode(&desc[idx], S_DIN_to_HASH); in cc_proc_scheme_desc()
1134 set_setup_mode(&desc[idx], SETUP_LOAD_KEY0); in cc_proc_scheme_desc()
1135 idx++; in cc_proc_scheme_desc()
1138 hw_desc_init(&desc[idx]); in cc_proc_scheme_desc()
1139 set_din_sram(&desc[idx], aead_handle->sram_workspace_addr, in cc_proc_scheme_desc()
1141 set_flow_mode(&desc[idx], DIN_HASH); in cc_proc_scheme_desc()
1142 idx++; in cc_proc_scheme_desc()
1144 *seq_size = idx; in cc_proc_scheme_desc()
1404 unsigned int idx = *seq_size; in cc_ccm() local
1417 hw_desc_init(&desc[idx]); in cc_ccm()
1418 set_cipher_mode(&desc[idx], DRV_CIPHER_CTR); in cc_ccm()
1419 set_din_type(&desc[idx], DMA_DLLI, ctx->enckey_dma_addr, in cc_ccm()
1422 set_key_size_aes(&desc[idx], ctx->enc_keylen); in cc_ccm()
1423 set_setup_mode(&desc[idx], SETUP_LOAD_KEY0); in cc_ccm()
1424 set_cipher_config0(&desc[idx], DESC_DIRECTION_ENCRYPT_ENCRYPT); in cc_ccm()
1425 set_flow_mode(&desc[idx], S_DIN_to_AES); in cc_ccm()
1426 idx++; in cc_ccm()
1429 hw_desc_init(&desc[idx]); in cc_ccm()
1430 set_cipher_mode(&desc[idx], DRV_CIPHER_CTR); in cc_ccm()
1431 set_key_size_aes(&desc[idx], ctx->enc_keylen); in cc_ccm()
1432 set_din_type(&desc[idx], DMA_DLLI, in cc_ccm()
1434 set_cipher_config0(&desc[idx], DESC_DIRECTION_ENCRYPT_ENCRYPT); in cc_ccm()
1435 set_setup_mode(&desc[idx], SETUP_LOAD_STATE1); in cc_ccm()
1436 set_flow_mode(&desc[idx], S_DIN_to_AES); in cc_ccm()
1437 idx++; in cc_ccm()
1440 hw_desc_init(&desc[idx]); in cc_ccm()
1441 set_cipher_mode(&desc[idx], DRV_CIPHER_CBC_MAC); in cc_ccm()
1442 set_din_type(&desc[idx], DMA_DLLI, ctx->enckey_dma_addr, in cc_ccm()
1445 set_key_size_aes(&desc[idx], ctx->enc_keylen); in cc_ccm()
1446 set_setup_mode(&desc[idx], SETUP_LOAD_KEY0); in cc_ccm()
1447 set_cipher_config0(&desc[idx], DESC_DIRECTION_ENCRYPT_ENCRYPT); in cc_ccm()
1448 set_flow_mode(&desc[idx], S_DIN_to_HASH); in cc_ccm()
1449 set_aes_not_hash_mode(&desc[idx]); in cc_ccm()
1450 idx++; in cc_ccm()
1453 hw_desc_init(&desc[idx]); in cc_ccm()
1454 set_cipher_mode(&desc[idx], DRV_CIPHER_CBC_MAC); in cc_ccm()
1455 set_key_size_aes(&desc[idx], ctx->enc_keylen); in cc_ccm()
1456 set_din_type(&desc[idx], DMA_DLLI, req_ctx->mac_buf_dma_addr, in cc_ccm()
1458 set_cipher_config0(&desc[idx], DESC_DIRECTION_ENCRYPT_ENCRYPT); in cc_ccm()
1459 set_setup_mode(&desc[idx], SETUP_LOAD_STATE0); in cc_ccm()
1460 set_flow_mode(&desc[idx], S_DIN_to_HASH); in cc_ccm()
1461 set_aes_not_hash_mode(&desc[idx]); in cc_ccm()
1462 idx++; in cc_ccm()
1466 cc_set_assoc_desc(req, DIN_HASH, desc, &idx); in cc_ccm()
1468 hw_desc_init(&desc[idx]); in cc_ccm()
1469 set_din_type(&desc[idx], DMA_DLLI, in cc_ccm()
1472 set_flow_mode(&desc[idx], DIN_HASH); in cc_ccm()
1473 idx++; in cc_ccm()
1478 cc_proc_cipher_desc(req, cipher_flow_mode, desc, &idx); in cc_ccm()
1481 hw_desc_init(&desc[idx]); in cc_ccm()
1482 set_cipher_mode(&desc[idx], DRV_CIPHER_CBC_MAC); in cc_ccm()
1483 set_dout_dlli(&desc[idx], req_ctx->mac_buf_dma_addr, ctx->authsize, in cc_ccm()
1485 set_setup_mode(&desc[idx], SETUP_WRITE_STATE0); in cc_ccm()
1486 set_cipher_config0(&desc[idx], HASH_DIGEST_RESULT_LITTLE_ENDIAN); in cc_ccm()
1487 set_flow_mode(&desc[idx], S_HASH_to_DOUT); in cc_ccm()
1488 set_aes_not_hash_mode(&desc[idx]); in cc_ccm()
1489 idx++; in cc_ccm()
1492 hw_desc_init(&desc[idx]); in cc_ccm()
1493 set_cipher_mode(&desc[idx], DRV_CIPHER_CTR); in cc_ccm()
1494 set_cipher_config0(&desc[idx], DRV_CRYPTO_DIRECTION_ENCRYPT); in cc_ccm()
1495 set_din_type(&desc[idx], DMA_DLLI, req_ctx->ccm_iv0_dma_addr, in cc_ccm()
1497 set_key_size_aes(&desc[idx], ctx->enc_keylen); in cc_ccm()
1498 set_setup_mode(&desc[idx], SETUP_LOAD_STATE1); in cc_ccm()
1499 set_flow_mode(&desc[idx], S_DIN_to_AES); in cc_ccm()
1500 idx++; in cc_ccm()
1502 hw_desc_init(&desc[idx]); in cc_ccm()
1503 set_din_no_dma(&desc[idx], 0, 0xfffff0); in cc_ccm()
1504 set_dout_no_dma(&desc[idx], 0, 0, 1); in cc_ccm()
1505 idx++; in cc_ccm()
1508 hw_desc_init(&desc[idx]); in cc_ccm()
1509 set_din_type(&desc[idx], DMA_DLLI, req_ctx->mac_buf_dma_addr, in cc_ccm()
1511 set_dout_dlli(&desc[idx], mac_result, ctx->authsize, NS_BIT, 1); in cc_ccm()
1512 set_queue_last_ind(ctx->drvdata, &desc[idx]); in cc_ccm()
1513 set_flow_mode(&desc[idx], DIN_AES_DOUT); in cc_ccm()
1514 idx++; in cc_ccm()
1516 *seq_size = idx; in cc_ccm()
1609 unsigned int idx = *seq_size; in cc_set_ghash_desc() local
1612 hw_desc_init(&desc[idx]); in cc_set_ghash_desc()
1613 set_cipher_mode(&desc[idx], DRV_CIPHER_ECB); in cc_set_ghash_desc()
1614 set_cipher_config0(&desc[idx], DRV_CRYPTO_DIRECTION_ENCRYPT); in cc_set_ghash_desc()
1615 set_din_type(&desc[idx], DMA_DLLI, ctx->enckey_dma_addr, in cc_set_ghash_desc()
1617 set_key_size_aes(&desc[idx], ctx->enc_keylen); in cc_set_ghash_desc()
1618 set_setup_mode(&desc[idx], SETUP_LOAD_KEY0); in cc_set_ghash_desc()
1619 set_flow_mode(&desc[idx], S_DIN_to_AES); in cc_set_ghash_desc()
1620 idx++; in cc_set_ghash_desc()
1623 hw_desc_init(&desc[idx]); in cc_set_ghash_desc()
1624 set_din_const(&desc[idx], 0x0, AES_BLOCK_SIZE); in cc_set_ghash_desc()
1625 set_dout_dlli(&desc[idx], req_ctx->hkey_dma_addr, AES_BLOCK_SIZE, in cc_set_ghash_desc()
1627 set_flow_mode(&desc[idx], DIN_AES_DOUT); in cc_set_ghash_desc()
1628 idx++; in cc_set_ghash_desc()
1631 hw_desc_init(&desc[idx]); in cc_set_ghash_desc()
1632 set_din_no_dma(&desc[idx], 0, 0xfffff0); in cc_set_ghash_desc()
1633 set_dout_no_dma(&desc[idx], 0, 0, 1); in cc_set_ghash_desc()
1634 idx++; in cc_set_ghash_desc()
1637 hw_desc_init(&desc[idx]); in cc_set_ghash_desc()
1638 set_din_type(&desc[idx], DMA_DLLI, req_ctx->hkey_dma_addr, in cc_set_ghash_desc()
1640 set_dout_no_dma(&desc[idx], 0, 0, 1); in cc_set_ghash_desc()
1641 set_flow_mode(&desc[idx], S_DIN_to_HASH); in cc_set_ghash_desc()
1642 set_aes_not_hash_mode(&desc[idx]); in cc_set_ghash_desc()
1643 set_cipher_mode(&desc[idx], DRV_HASH_HW_GHASH); in cc_set_ghash_desc()
1644 set_cipher_config1(&desc[idx], HASH_PADDING_ENABLED); in cc_set_ghash_desc()
1645 set_setup_mode(&desc[idx], SETUP_LOAD_KEY0); in cc_set_ghash_desc()
1646 idx++; in cc_set_ghash_desc()
1653 hw_desc_init(&desc[idx]); in cc_set_ghash_desc()
1654 set_din_no_dma(&desc[idx], 0, 0xfffff0); in cc_set_ghash_desc()
1655 set_dout_no_dma(&desc[idx], 0, 0, 1); in cc_set_ghash_desc()
1656 set_flow_mode(&desc[idx], S_DIN_to_HASH); in cc_set_ghash_desc()
1657 set_aes_not_hash_mode(&desc[idx]); in cc_set_ghash_desc()
1658 set_cipher_mode(&desc[idx], DRV_HASH_HW_GHASH); in cc_set_ghash_desc()
1659 set_cipher_do(&desc[idx], 1); //1=AES_SK RKEK in cc_set_ghash_desc()
1660 set_cipher_config0(&desc[idx], DRV_CRYPTO_DIRECTION_ENCRYPT); in cc_set_ghash_desc()
1661 set_cipher_config1(&desc[idx], HASH_PADDING_ENABLED); in cc_set_ghash_desc()
1662 set_setup_mode(&desc[idx], SETUP_LOAD_KEY0); in cc_set_ghash_desc()
1663 idx++; in cc_set_ghash_desc()
1668 hw_desc_init(&desc[idx]); in cc_set_ghash_desc()
1669 set_din_const(&desc[idx], 0x0, AES_BLOCK_SIZE); in cc_set_ghash_desc()
1670 set_dout_no_dma(&desc[idx], 0, 0, 1); in cc_set_ghash_desc()
1671 set_flow_mode(&desc[idx], S_DIN_to_HASH); in cc_set_ghash_desc()
1672 set_aes_not_hash_mode(&desc[idx]); in cc_set_ghash_desc()
1673 set_cipher_mode(&desc[idx], DRV_HASH_HW_GHASH); in cc_set_ghash_desc()
1674 set_cipher_config1(&desc[idx], HASH_PADDING_ENABLED); in cc_set_ghash_desc()
1675 set_setup_mode(&desc[idx], SETUP_LOAD_STATE0); in cc_set_ghash_desc()
1676 idx++; in cc_set_ghash_desc()
1678 *seq_size = idx; in cc_set_ghash_desc()
1687 unsigned int idx = *seq_size; in cc_set_gctr_desc() local
1690 hw_desc_init(&desc[idx]); in cc_set_gctr_desc()
1691 set_cipher_mode(&desc[idx], DRV_CIPHER_GCTR); in cc_set_gctr_desc()
1692 set_cipher_config0(&desc[idx], DRV_CRYPTO_DIRECTION_ENCRYPT); in cc_set_gctr_desc()
1693 set_din_type(&desc[idx], DMA_DLLI, ctx->enckey_dma_addr, in cc_set_gctr_desc()
1695 set_key_size_aes(&desc[idx], ctx->enc_keylen); in cc_set_gctr_desc()
1696 set_setup_mode(&desc[idx], SETUP_LOAD_KEY0); in cc_set_gctr_desc()
1697 set_flow_mode(&desc[idx], S_DIN_to_AES); in cc_set_gctr_desc()
1698 idx++; in cc_set_gctr_desc()
1702 hw_desc_init(&desc[idx]); in cc_set_gctr_desc()
1703 set_cipher_mode(&desc[idx], DRV_CIPHER_GCTR); in cc_set_gctr_desc()
1704 set_key_size_aes(&desc[idx], ctx->enc_keylen); in cc_set_gctr_desc()
1705 set_din_type(&desc[idx], DMA_DLLI, in cc_set_gctr_desc()
1708 set_cipher_config0(&desc[idx], DRV_CRYPTO_DIRECTION_ENCRYPT); in cc_set_gctr_desc()
1709 set_setup_mode(&desc[idx], SETUP_LOAD_STATE1); in cc_set_gctr_desc()
1710 set_flow_mode(&desc[idx], S_DIN_to_AES); in cc_set_gctr_desc()
1711 idx++; in cc_set_gctr_desc()
1714 *seq_size = idx; in cc_set_gctr_desc()
1725 unsigned int idx = *seq_size; in cc_proc_gcm_result() local
1734 hw_desc_init(&desc[idx]); in cc_proc_gcm_result()
1735 set_din_type(&desc[idx], DMA_DLLI, req_ctx->gcm_block_len_dma_addr, in cc_proc_gcm_result()
1737 set_flow_mode(&desc[idx], DIN_HASH); in cc_proc_gcm_result()
1738 idx++; in cc_proc_gcm_result()
1741 hw_desc_init(&desc[idx]); in cc_proc_gcm_result()
1742 set_cipher_mode(&desc[idx], DRV_HASH_HW_GHASH); in cc_proc_gcm_result()
1743 set_din_no_dma(&desc[idx], 0, 0xfffff0); in cc_proc_gcm_result()
1744 set_dout_dlli(&desc[idx], req_ctx->mac_buf_dma_addr, AES_BLOCK_SIZE, in cc_proc_gcm_result()
1746 set_setup_mode(&desc[idx], SETUP_WRITE_STATE0); in cc_proc_gcm_result()
1747 set_flow_mode(&desc[idx], S_HASH_to_DOUT); in cc_proc_gcm_result()
1748 set_aes_not_hash_mode(&desc[idx]); in cc_proc_gcm_result()
1750 idx++; in cc_proc_gcm_result()
1753 hw_desc_init(&desc[idx]); in cc_proc_gcm_result()
1754 set_cipher_mode(&desc[idx], DRV_CIPHER_GCTR); in cc_proc_gcm_result()
1755 set_key_size_aes(&desc[idx], ctx->enc_keylen); in cc_proc_gcm_result()
1756 set_din_type(&desc[idx], DMA_DLLI, req_ctx->gcm_iv_inc1_dma_addr, in cc_proc_gcm_result()
1758 set_cipher_config0(&desc[idx], DRV_CRYPTO_DIRECTION_ENCRYPT); in cc_proc_gcm_result()
1759 set_setup_mode(&desc[idx], SETUP_LOAD_STATE1); in cc_proc_gcm_result()
1760 set_flow_mode(&desc[idx], S_DIN_to_AES); in cc_proc_gcm_result()
1761 idx++; in cc_proc_gcm_result()
1764 hw_desc_init(&desc[idx]); in cc_proc_gcm_result()
1765 set_din_no_dma(&desc[idx], 0, 0xfffff0); in cc_proc_gcm_result()
1766 set_dout_no_dma(&desc[idx], 0, 0, 1); in cc_proc_gcm_result()
1767 idx++; in cc_proc_gcm_result()
1770 hw_desc_init(&desc[idx]); in cc_proc_gcm_result()
1771 set_cipher_mode(&desc[idx], DRV_CIPHER_GCTR); in cc_proc_gcm_result()
1772 set_din_type(&desc[idx], DMA_DLLI, req_ctx->mac_buf_dma_addr, in cc_proc_gcm_result()
1774 set_dout_dlli(&desc[idx], mac_result, ctx->authsize, NS_BIT, 1); in cc_proc_gcm_result()
1775 set_queue_last_ind(ctx->drvdata, &desc[idx]); in cc_proc_gcm_result()
1776 set_flow_mode(&desc[idx], DIN_AES_DOUT); in cc_proc_gcm_result()
1777 idx++; in cc_proc_gcm_result()
1779 *seq_size = idx; in cc_proc_gcm_result()