Lines Matching refs:sa
39 static void set_dynamic_sa_command_0(struct dynamic_sa_ctl *sa, u32 save_h, in set_dynamic_sa_command_0() argument
44 sa->sa_command_0.w = 0; in set_dynamic_sa_command_0()
45 sa->sa_command_0.bf.save_hash_state = save_h; in set_dynamic_sa_command_0()
46 sa->sa_command_0.bf.save_iv = save_iv; in set_dynamic_sa_command_0()
47 sa->sa_command_0.bf.load_hash_state = ld_h; in set_dynamic_sa_command_0()
48 sa->sa_command_0.bf.load_iv = ld_iv; in set_dynamic_sa_command_0()
49 sa->sa_command_0.bf.hdr_proc = hdr_proc; in set_dynamic_sa_command_0()
50 sa->sa_command_0.bf.hash_alg = h; in set_dynamic_sa_command_0()
51 sa->sa_command_0.bf.cipher_alg = c; in set_dynamic_sa_command_0()
52 sa->sa_command_0.bf.pad_type = pad_type & 3; in set_dynamic_sa_command_0()
53 sa->sa_command_0.bf.extend_pad = pad_type >> 2; in set_dynamic_sa_command_0()
54 sa->sa_command_0.bf.op_group = op_grp; in set_dynamic_sa_command_0()
55 sa->sa_command_0.bf.opcode = op; in set_dynamic_sa_command_0()
56 sa->sa_command_0.bf.dir = dir; in set_dynamic_sa_command_0()
59 static void set_dynamic_sa_command_1(struct dynamic_sa_ctl *sa, u32 cm, in set_dynamic_sa_command_1() argument
64 sa->sa_command_1.w = 0; in set_dynamic_sa_command_1()
65 sa->sa_command_1.bf.crypto_mode31 = (cm & 4) >> 2; in set_dynamic_sa_command_1()
66 sa->sa_command_1.bf.crypto_mode9_8 = cm & 3; in set_dynamic_sa_command_1()
67 sa->sa_command_1.bf.feedback_mode = cfb, in set_dynamic_sa_command_1()
68 sa->sa_command_1.bf.sa_rev = 1; in set_dynamic_sa_command_1()
69 sa->sa_command_1.bf.hmac_muting = hmac_mc; in set_dynamic_sa_command_1()
70 sa->sa_command_1.bf.extended_seq_num = esn; in set_dynamic_sa_command_1()
71 sa->sa_command_1.bf.seq_num_mask = sn_mask; in set_dynamic_sa_command_1()
72 sa->sa_command_1.bf.mutable_bit_proc = mute; in set_dynamic_sa_command_1()
73 sa->sa_command_1.bf.copy_pad = cp_pad; in set_dynamic_sa_command_1()
74 sa->sa_command_1.bf.copy_payload = cp_pay; in set_dynamic_sa_command_1()
75 sa->sa_command_1.bf.copy_hdr = cp_hdr; in set_dynamic_sa_command_1()
123 struct dynamic_sa_ctl *sa; in crypto4xx_setkey_aes() local
142 sa = ctx->sa_in; in crypto4xx_setkey_aes()
144 set_dynamic_sa_command_0(sa, SA_NOT_SAVE_HASH, (cm == CRYPTO_MODE_CBC ? in crypto4xx_setkey_aes()
152 set_dynamic_sa_command_1(sa, cm, SA_HASH_MODE_HASH, in crypto4xx_setkey_aes()
157 crypto4xx_memcpy_to_le32(get_dynamic_sa_key_field(sa), in crypto4xx_setkey_aes()
159 sa->sa_contents.w = SA_AES_CONTENTS | (keylen << 2); in crypto4xx_setkey_aes()
160 sa->sa_command_1.bf.key_len = keylen >> 3; in crypto4xx_setkey_aes()
163 sa = ctx->sa_out; in crypto4xx_setkey_aes()
164 sa->sa_command_0.bf.dir = DIR_OUTBOUND; in crypto4xx_setkey_aes()
394 struct dynamic_sa_ctl *sa; in crypto4xx_setkey_aes_ccm() local
409 sa = (struct dynamic_sa_ctl *) ctx->sa_in; in crypto4xx_setkey_aes_ccm()
410 sa->sa_contents.w = SA_AES_CCM_CONTENTS | (keylen << 2); in crypto4xx_setkey_aes_ccm()
412 set_dynamic_sa_command_0(sa, SA_SAVE_HASH, SA_NOT_SAVE_IV, in crypto4xx_setkey_aes_ccm()
419 set_dynamic_sa_command_1(sa, CRYPTO_MODE_CTR, SA_HASH_MODE_HASH, in crypto4xx_setkey_aes_ccm()
425 sa->sa_command_1.bf.key_len = keylen >> 3; in crypto4xx_setkey_aes_ccm()
427 crypto4xx_memcpy_to_le32(get_dynamic_sa_key_field(sa), key, keylen); in crypto4xx_setkey_aes_ccm()
430 sa = (struct dynamic_sa_ctl *) ctx->sa_out; in crypto4xx_setkey_aes_ccm()
432 set_dynamic_sa_command_0(sa, SA_SAVE_HASH, SA_NOT_SAVE_IV, in crypto4xx_setkey_aes_ccm()
439 set_dynamic_sa_command_1(sa, CRYPTO_MODE_CTR, SA_HASH_MODE_HASH, in crypto4xx_setkey_aes_ccm()
445 sa->sa_command_1.bf.key_len = keylen >> 3; in crypto4xx_setkey_aes_ccm()
456 struct dynamic_sa_ctl *sa = (struct dynamic_sa_ctl *)tmp_sa; in crypto4xx_crypt_aes_ccm() local
466 sa->sa_command_0.bf.digest_len = crypto_aead_authsize(aead) >> 2; in crypto4xx_crypt_aes_ccm()
470 sa->sa_command_1.bf.crypto_mode9_8 = 1; in crypto4xx_crypt_aes_ccm()
478 sa, ctx->sa_len, req->assoclen, rctx->dst); in crypto4xx_crypt_aes_ccm()
549 struct dynamic_sa_ctl *sa; in crypto4xx_setkey_aes_gcm() local
568 sa = (struct dynamic_sa_ctl *) ctx->sa_in; in crypto4xx_setkey_aes_gcm()
570 sa->sa_contents.w = SA_AES_GCM_CONTENTS | (keylen << 2); in crypto4xx_setkey_aes_gcm()
571 set_dynamic_sa_command_0(sa, SA_SAVE_HASH, SA_NOT_SAVE_IV, in crypto4xx_setkey_aes_gcm()
577 set_dynamic_sa_command_1(sa, CRYPTO_MODE_CTR, SA_HASH_MODE_HASH, in crypto4xx_setkey_aes_gcm()
583 sa->sa_command_1.bf.key_len = keylen >> 3; in crypto4xx_setkey_aes_gcm()
585 crypto4xx_memcpy_to_le32(get_dynamic_sa_key_field(sa), in crypto4xx_setkey_aes_gcm()
588 rc = crypto4xx_compute_gcm_hash_key_sw(get_dynamic_sa_inner_digest(sa), in crypto4xx_setkey_aes_gcm()
596 sa = (struct dynamic_sa_ctl *) ctx->sa_out; in crypto4xx_setkey_aes_gcm()
597 sa->sa_command_0.bf.dir = DIR_OUTBOUND; in crypto4xx_setkey_aes_gcm()
598 sa->sa_command_0.bf.opcode = SA_OPCODE_ENCRYPT_HASH; in crypto4xx_setkey_aes_gcm()
650 struct dynamic_sa_hash160 *sa; in crypto4xx_hash_alg_init() local
667 sa = (struct dynamic_sa_hash160 *)ctx->sa_in; in crypto4xx_hash_alg_init()
668 set_dynamic_sa_command_0(&sa->ctrl, SA_SAVE_HASH, SA_NOT_SAVE_IV, in crypto4xx_hash_alg_init()
673 set_dynamic_sa_command_1(&sa->ctrl, 0, SA_HASH_MODE_HASH, in crypto4xx_hash_alg_init()
679 memset(sa->inner_digest, 0, sizeof(sa->inner_digest)); in crypto4xx_hash_alg_init()
680 memset(sa->outer_digest, 0, sizeof(sa->outer_digest)); in crypto4xx_hash_alg_init()
689 struct dynamic_sa_ctl *sa; in crypto4xx_hash_init() local
691 sa = ctx->sa_in; in crypto4xx_hash_init()
694 sa->sa_command_0.bf.digest_len = ds >> 2; in crypto4xx_hash_init()
695 sa->sa_command_0.bf.load_hash_state = SA_LOAD_HASH_FROM_SA; in crypto4xx_hash_init()