Lines Matching refs:aes

459 	struct ccp_aes_engine *aes = &cmd->u.aes;  in ccp_run_aes_cmac_cmd()  local
466 if (!((aes->key_len == AES_KEYSIZE_128) || in ccp_run_aes_cmac_cmd()
467 (aes->key_len == AES_KEYSIZE_192) || in ccp_run_aes_cmac_cmd()
468 (aes->key_len == AES_KEYSIZE_256))) in ccp_run_aes_cmac_cmd()
471 if (aes->src_len & (AES_BLOCK_SIZE - 1)) in ccp_run_aes_cmac_cmd()
474 if (aes->iv_len != AES_BLOCK_SIZE) in ccp_run_aes_cmac_cmd()
477 if (!aes->key || !aes->iv || !aes->src) in ccp_run_aes_cmac_cmd()
480 if (aes->cmac_final) { in ccp_run_aes_cmac_cmd()
481 if (aes->cmac_key_len != AES_BLOCK_SIZE) in ccp_run_aes_cmac_cmd()
484 if (!aes->cmac_key) in ccp_run_aes_cmac_cmd()
498 op.u.aes.type = aes->type; in ccp_run_aes_cmac_cmd()
499 op.u.aes.mode = aes->mode; in ccp_run_aes_cmac_cmd()
500 op.u.aes.action = aes->action; in ccp_run_aes_cmac_cmd()
513 dm_offset = CCP_SB_BYTES - aes->key_len; in ccp_run_aes_cmac_cmd()
514 ret = ccp_set_dm_area(&key, dm_offset, aes->key, 0, aes->key_len); in ccp_run_aes_cmac_cmd()
535 ret = ccp_set_dm_area(&ctx, dm_offset, aes->iv, 0, aes->iv_len); in ccp_run_aes_cmac_cmd()
546 ret = ccp_init_data(&src, cmd_q, aes->src, aes->src_len, in ccp_run_aes_cmac_cmd()
553 if (aes->cmac_final && !src.sg_wa.bytes_left) { in ccp_run_aes_cmac_cmd()
565 ret = ccp_set_dm_area(&ctx, 0, aes->cmac_key, 0, in ccp_run_aes_cmac_cmd()
566 aes->cmac_key_len); in ccp_run_aes_cmac_cmd()
577 ret = cmd_q->ccp->vdata->perform->aes(&op); in ccp_run_aes_cmac_cmd()
598 ccp_get_dm_area(&ctx, dm_offset, aes->iv, 0, aes->iv_len); in ccp_run_aes_cmac_cmd()
615 struct ccp_aes_engine *aes = &cmd->u.aes; in ccp_run_aes_gcm_cmd() local
634 if (!aes->iv) in ccp_run_aes_gcm_cmd()
637 if (!((aes->key_len == AES_KEYSIZE_128) || in ccp_run_aes_gcm_cmd()
638 (aes->key_len == AES_KEYSIZE_192) || in ccp_run_aes_gcm_cmd()
639 (aes->key_len == AES_KEYSIZE_256))) in ccp_run_aes_gcm_cmd()
642 if (!aes->key) /* Gotta have a key SGL */ in ccp_run_aes_gcm_cmd()
646 authsize = aes->authsize ? aes->authsize : AES_BLOCK_SIZE; in ccp_run_aes_gcm_cmd()
666 p_aad = aes->src; in ccp_run_aes_gcm_cmd()
667 p_inp = scatterwalk_ffwd(sg_inp, aes->src, aes->aad_len); in ccp_run_aes_gcm_cmd()
668 p_outp = scatterwalk_ffwd(sg_outp, aes->dst, aes->aad_len); in ccp_run_aes_gcm_cmd()
669 if (aes->action == CCP_AES_ACTION_ENCRYPT) { in ccp_run_aes_gcm_cmd()
670 ilen = aes->src_len; in ccp_run_aes_gcm_cmd()
674 ilen = aes->src_len - authsize; in ccp_run_aes_gcm_cmd()
686 op.u.aes.type = aes->type; in ccp_run_aes_gcm_cmd()
695 dm_offset = CCP_SB_BYTES - aes->key_len; in ccp_run_aes_gcm_cmd()
696 ret = ccp_set_dm_area(&key, dm_offset, aes->key, 0, aes->key_len); in ccp_run_aes_gcm_cmd()
716 dm_offset = CCP_AES_CTX_SB_COUNT * CCP_SB_BYTES - aes->iv_len; in ccp_run_aes_gcm_cmd()
717 ret = ccp_set_dm_area(&ctx, dm_offset, aes->iv, 0, aes->iv_len); in ccp_run_aes_gcm_cmd()
729 if (aes->aad_len > 0) { in ccp_run_aes_gcm_cmd()
731 ret = ccp_init_data(&aad, cmd_q, p_aad, aes->aad_len, in ccp_run_aes_gcm_cmd()
737 op.u.aes.mode = CCP_AES_MODE_GHASH; in ccp_run_aes_gcm_cmd()
738 op.u.aes.action = CCP_AES_GHASHAAD; in ccp_run_aes_gcm_cmd()
743 ret = cmd_q->ccp->vdata->perform->aes(&op); in ccp_run_aes_gcm_cmd()
754 op.u.aes.mode = CCP_AES_MODE_GCTR; in ccp_run_aes_gcm_cmd()
755 op.u.aes.action = aes->action; in ccp_run_aes_gcm_cmd()
787 op.u.aes.size = (nbytes * 8) - 1; in ccp_run_aes_gcm_cmd()
791 ret = cmd_q->ccp->vdata->perform->aes(&op); in ccp_run_aes_gcm_cmd()
810 ret = ccp_set_dm_area(&ctx, dm_offset, aes->iv, 0, aes->iv_len); in ccp_run_aes_gcm_cmd()
829 final[0] = cpu_to_be64(aes->aad_len * 8); in ccp_run_aes_gcm_cmd()
838 op.u.aes.type = aes->type; in ccp_run_aes_gcm_cmd()
839 op.u.aes.mode = CCP_AES_MODE_GHASH; in ccp_run_aes_gcm_cmd()
840 op.u.aes.action = CCP_AES_GHASHFINAL; in ccp_run_aes_gcm_cmd()
848 op.u.aes.size = 0; in ccp_run_aes_gcm_cmd()
849 ret = cmd_q->ccp->vdata->perform->aes(&op); in ccp_run_aes_gcm_cmd()
853 if (aes->action == CCP_AES_ACTION_ENCRYPT) { in ccp_run_aes_gcm_cmd()
883 if (aes->aad_len) in ccp_run_aes_gcm_cmd()
898 struct ccp_aes_engine *aes = &cmd->u.aes; in ccp_run_aes_cmd() local
906 if (!((aes->key_len == AES_KEYSIZE_128) || in ccp_run_aes_cmd()
907 (aes->key_len == AES_KEYSIZE_192) || in ccp_run_aes_cmd()
908 (aes->key_len == AES_KEYSIZE_256))) in ccp_run_aes_cmd()
911 if (((aes->mode == CCP_AES_MODE_ECB) || in ccp_run_aes_cmd()
912 (aes->mode == CCP_AES_MODE_CBC)) && in ccp_run_aes_cmd()
913 (aes->src_len & (AES_BLOCK_SIZE - 1))) in ccp_run_aes_cmd()
916 if (!aes->key || !aes->src || !aes->dst) in ccp_run_aes_cmd()
919 if (aes->mode != CCP_AES_MODE_ECB) { in ccp_run_aes_cmd()
920 if (aes->iv_len != AES_BLOCK_SIZE) in ccp_run_aes_cmd()
923 if (!aes->iv) in ccp_run_aes_cmd()
936 op.init = (aes->mode == CCP_AES_MODE_ECB) ? 0 : 1; in ccp_run_aes_cmd()
937 op.u.aes.type = aes->type; in ccp_run_aes_cmd()
938 op.u.aes.mode = aes->mode; in ccp_run_aes_cmd()
939 op.u.aes.action = aes->action; in ccp_run_aes_cmd()
952 dm_offset = CCP_SB_BYTES - aes->key_len; in ccp_run_aes_cmd()
953 ret = ccp_set_dm_area(&key, dm_offset, aes->key, 0, aes->key_len); in ccp_run_aes_cmd()
973 if (aes->mode != CCP_AES_MODE_ECB) { in ccp_run_aes_cmd()
976 ret = ccp_set_dm_area(&ctx, dm_offset, aes->iv, 0, aes->iv_len); in ccp_run_aes_cmd()
986 switch (aes->mode) { in ccp_run_aes_cmd()
989 op.u.aes.size = AES_BLOCK_SIZE * BITS_PER_BYTE - 1; in ccp_run_aes_cmd()
992 op.u.aes.size = 0; in ccp_run_aes_cmd()
999 if (sg_virt(aes->src) == sg_virt(aes->dst)) in ccp_run_aes_cmd()
1002 ret = ccp_init_data(&src, cmd_q, aes->src, aes->src_len, in ccp_run_aes_cmd()
1011 ret = ccp_init_data(&dst, cmd_q, aes->dst, aes->src_len, in ccp_run_aes_cmd()
1027 if (aes->mode == CCP_AES_MODE_ECB) in ccp_run_aes_cmd()
1031 ret = cmd_q->ccp->vdata->perform->aes(&op); in ccp_run_aes_cmd()
1040 if (aes->mode != CCP_AES_MODE_ECB) { in ccp_run_aes_cmd()
1053 ccp_get_dm_area(&ctx, dm_offset, aes->iv, 0, aes->iv_len); in ccp_run_aes_cmd()
2458 switch (cmd->u.aes.mode) { in ccp_run_cmd()