Lines Matching refs:nx_ctx
39 struct nx_crypto_ctx *nx_ctx = crypto_tfm_ctx(&tfm->base); in ccm_aes_nx_set_key() local
40 struct nx_csbcpb *csbcpb = nx_ctx->csbcpb; in ccm_aes_nx_set_key()
41 struct nx_csbcpb *csbcpb_aead = nx_ctx->csbcpb_aead; in ccm_aes_nx_set_key()
43 nx_ctx_init(nx_ctx, HCOP_FC_AES); in ccm_aes_nx_set_key()
49 nx_ctx->ap = &nx_ctx->props[NX_PROPS_AES_128]; in ccm_aes_nx_set_key()
69 struct nx_crypto_ctx *nx_ctx = crypto_tfm_ctx(&tfm->base); in ccm4309_aes_nx_set_key() local
76 memcpy(nx_ctx->priv.ccm.nonce, in_key + key_len, 3); in ccm4309_aes_nx_set_key()
170 struct nx_crypto_ctx *nx_ctx, in generate_pat() argument
176 struct nx_sg *nx_insg = nx_ctx->in_sg; in generate_pat()
177 struct nx_sg *nx_outsg = nx_ctx->out_sg; in generate_pat()
201 b0 = nx_ctx->csbcpb->cpb.aes_ccm.in_pat_or_b0; in generate_pat()
206 b0 = nx_ctx->csbcpb->cpb.aes_ccm.in_pat_or_b0; in generate_pat()
207 b1 = nx_ctx->priv.ccm.iauth_tag; in generate_pat()
213 b0 = nx_ctx->csbcpb_aead->cpb.aes_cca.b0; in generate_pat()
214 b1 = nx_ctx->csbcpb_aead->cpb.aes_cca.b1; in generate_pat()
217 b0 = nx_ctx->csbcpb_aead->cpb.aes_cca.b0; in generate_pat()
218 b1 = nx_ctx->csbcpb_aead->cpb.aes_cca.b1; in generate_pat()
251 nx_insg = nx_build_sg_list(nx_insg, b1, &len, nx_ctx->ap->sglen); in generate_pat()
257 nx_ctx->ap->sglen); in generate_pat()
264 nx_ctx->op.inlen = (nx_ctx->in_sg - nx_insg) * in generate_pat()
266 nx_ctx->op.outlen = (nx_ctx->out_sg - nx_outsg) * in generate_pat()
269 NX_CPB_FDM(nx_ctx->csbcpb) |= NX_FDM_ENDE_ENCRYPT; in generate_pat()
270 NX_CPB_FDM(nx_ctx->csbcpb) |= NX_FDM_INTERMEDIATE; in generate_pat()
272 result = nx_ctx->csbcpb->cpb.aes_ccm.out_pat_or_mac; in generate_pat()
274 rc = nx_hcall_sync(nx_ctx, &nx_ctx->op, in generate_pat()
279 atomic_inc(&(nx_ctx->stats->aes_ops)); in generate_pat()
280 atomic64_add(assoclen, &nx_ctx->stats->aes_bytes); in generate_pat()
288 max_sg_len = min_t(u64, nx_ctx->ap->sglen, in generate_pat()
291 nx_ctx->ap->databytelen/NX_PAGE_SIZE); in generate_pat()
295 nx_ctx->ap->databytelen); in generate_pat()
297 nx_insg = nx_walk_and_build(nx_ctx->in_sg, in generate_pat()
298 nx_ctx->ap->sglen, in generate_pat()
303 NX_CPB_FDM(nx_ctx->csbcpb_aead) |= in generate_pat()
306 NX_CPB_FDM(nx_ctx->csbcpb_aead) &= in generate_pat()
311 nx_ctx->op_aead.inlen = (nx_ctx->in_sg - nx_insg) * in generate_pat()
314 result = nx_ctx->csbcpb_aead->cpb.aes_cca.out_pat_or_b0; in generate_pat()
316 rc = nx_hcall_sync(nx_ctx, &nx_ctx->op_aead, in generate_pat()
321 memcpy(nx_ctx->csbcpb_aead->cpb.aes_cca.b0, in generate_pat()
322 nx_ctx->csbcpb_aead->cpb.aes_cca.out_pat_or_b0, in generate_pat()
325 NX_CPB_FDM(nx_ctx->csbcpb_aead) |= NX_FDM_CONTINUATION; in generate_pat()
327 atomic_inc(&(nx_ctx->stats->aes_ops)); in generate_pat()
328 atomic64_add(assoclen, &nx_ctx->stats->aes_bytes); in generate_pat()
333 result = nx_ctx->csbcpb_aead->cpb.aes_cca.out_pat_or_b0; in generate_pat()
345 struct nx_crypto_ctx *nx_ctx = crypto_tfm_ctx(req->base.tfm); in ccm_nx_decrypt() local
346 struct nx_csbcpb *csbcpb = nx_ctx->csbcpb; in ccm_nx_decrypt()
349 struct nx_ccm_priv *priv = &nx_ctx->priv.ccm; in ccm_nx_decrypt()
354 spin_lock_irqsave(&nx_ctx->lock, irq_flags); in ccm_nx_decrypt()
363 rc = generate_pat(desc->info, req, nx_ctx, authsize, nbytes, assoclen, in ccm_nx_decrypt()
380 NX_CPB_FDM(nx_ctx->csbcpb) &= ~NX_FDM_ENDE_ENCRYPT; in ccm_nx_decrypt()
382 rc = nx_build_sg_lists(nx_ctx, desc, req->dst, req->src, in ccm_nx_decrypt()
388 rc = nx_hcall_sync(nx_ctx, &nx_ctx->op, in ccm_nx_decrypt()
405 atomic_inc(&(nx_ctx->stats->aes_ops)); in ccm_nx_decrypt()
407 &(nx_ctx->stats->aes_bytes)); in ccm_nx_decrypt()
415 spin_unlock_irqrestore(&nx_ctx->lock, irq_flags); in ccm_nx_decrypt()
423 struct nx_crypto_ctx *nx_ctx = crypto_tfm_ctx(req->base.tfm); in ccm_nx_encrypt() local
424 struct nx_csbcpb *csbcpb = nx_ctx->csbcpb; in ccm_nx_encrypt()
431 spin_lock_irqsave(&nx_ctx->lock, irq_flags); in ccm_nx_encrypt()
433 rc = generate_pat(desc->info, req, nx_ctx, authsize, nbytes, assoclen, in ccm_nx_encrypt()
451 rc = nx_build_sg_lists(nx_ctx, desc, req->dst, req->src, in ccm_nx_encrypt()
457 rc = nx_hcall_sync(nx_ctx, &nx_ctx->op, in ccm_nx_encrypt()
474 atomic_inc(&(nx_ctx->stats->aes_ops)); in ccm_nx_encrypt()
476 &(nx_ctx->stats->aes_bytes)); in ccm_nx_encrypt()
488 spin_unlock_irqrestore(&nx_ctx->lock, irq_flags); in ccm_nx_encrypt()
494 struct nx_crypto_ctx *nx_ctx = crypto_tfm_ctx(req->base.tfm); in ccm4309_aes_nx_encrypt() local
500 memcpy(iv + 1, nx_ctx->priv.ccm.nonce, 3); in ccm4309_aes_nx_encrypt()
524 struct nx_crypto_ctx *nx_ctx = crypto_tfm_ctx(req->base.tfm); in ccm4309_aes_nx_decrypt() local
530 memcpy(iv + 1, nx_ctx->priv.ccm.nonce, 3); in ccm4309_aes_nx_decrypt()