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()
174 struct nx_crypto_ctx *nx_ctx, in generate_pat() argument
179 struct nx_sg *nx_insg = nx_ctx->in_sg; in generate_pat()
180 struct nx_sg *nx_outsg = nx_ctx->out_sg; in generate_pat()
204 b0 = nx_ctx->csbcpb->cpb.aes_ccm.in_pat_or_b0; in generate_pat()
209 b0 = nx_ctx->csbcpb->cpb.aes_ccm.in_pat_or_b0; in generate_pat()
210 b1 = nx_ctx->priv.ccm.iauth_tag; in generate_pat()
216 b0 = nx_ctx->csbcpb_aead->cpb.aes_cca.b0; in generate_pat()
217 b1 = nx_ctx->csbcpb_aead->cpb.aes_cca.b1; in generate_pat()
220 b0 = nx_ctx->csbcpb_aead->cpb.aes_cca.b0; in generate_pat()
221 b1 = nx_ctx->csbcpb_aead->cpb.aes_cca.b1; in generate_pat()
254 nx_insg = nx_build_sg_list(nx_insg, b1, &len, nx_ctx->ap->sglen); in generate_pat()
260 nx_ctx->ap->sglen); in generate_pat()
267 nx_ctx->op.inlen = (nx_ctx->in_sg - nx_insg) * in generate_pat()
269 nx_ctx->op.outlen = (nx_ctx->out_sg - nx_outsg) * in generate_pat()
272 NX_CPB_FDM(nx_ctx->csbcpb) |= NX_FDM_ENDE_ENCRYPT; in generate_pat()
273 NX_CPB_FDM(nx_ctx->csbcpb) |= NX_FDM_INTERMEDIATE; in generate_pat()
275 result = nx_ctx->csbcpb->cpb.aes_ccm.out_pat_or_mac; in generate_pat()
277 rc = nx_hcall_sync(nx_ctx, &nx_ctx->op, in generate_pat()
282 atomic_inc(&(nx_ctx->stats->aes_ops)); in generate_pat()
283 atomic64_add(req->assoclen, &(nx_ctx->stats->aes_bytes)); in generate_pat()
291 max_sg_len = min_t(u64, nx_ctx->ap->sglen, in generate_pat()
294 nx_ctx->ap->databytelen/NX_PAGE_SIZE); in generate_pat()
298 nx_ctx->ap->databytelen); in generate_pat()
300 nx_insg = nx_walk_and_build(nx_ctx->in_sg, in generate_pat()
301 nx_ctx->ap->sglen, in generate_pat()
306 NX_CPB_FDM(nx_ctx->csbcpb_aead) |= in generate_pat()
309 NX_CPB_FDM(nx_ctx->csbcpb_aead) &= in generate_pat()
314 nx_ctx->op_aead.inlen = (nx_ctx->in_sg - nx_insg) * in generate_pat()
317 result = nx_ctx->csbcpb_aead->cpb.aes_cca.out_pat_or_b0; in generate_pat()
319 rc = nx_hcall_sync(nx_ctx, &nx_ctx->op_aead, in generate_pat()
324 memcpy(nx_ctx->csbcpb_aead->cpb.aes_cca.b0, in generate_pat()
325 nx_ctx->csbcpb_aead->cpb.aes_cca.out_pat_or_b0, in generate_pat()
328 NX_CPB_FDM(nx_ctx->csbcpb_aead) |= NX_FDM_CONTINUATION; in generate_pat()
330 atomic_inc(&(nx_ctx->stats->aes_ops)); in generate_pat()
332 &(nx_ctx->stats->aes_bytes)); in generate_pat()
337 result = nx_ctx->csbcpb_aead->cpb.aes_cca.out_pat_or_b0; in generate_pat()
348 struct nx_crypto_ctx *nx_ctx = crypto_tfm_ctx(req->base.tfm); in ccm_nx_decrypt() local
349 struct nx_csbcpb *csbcpb = nx_ctx->csbcpb; in ccm_nx_decrypt()
352 struct nx_ccm_priv *priv = &nx_ctx->priv.ccm; in ccm_nx_decrypt()
357 spin_lock_irqsave(&nx_ctx->lock, irq_flags); in ccm_nx_decrypt()
366 rc = generate_pat(desc->info, req, nx_ctx, authsize, nbytes, in ccm_nx_decrypt()
383 NX_CPB_FDM(nx_ctx->csbcpb) &= ~NX_FDM_ENDE_ENCRYPT; in ccm_nx_decrypt()
385 rc = nx_build_sg_lists(nx_ctx, desc, req->dst, req->src, in ccm_nx_decrypt()
391 rc = nx_hcall_sync(nx_ctx, &nx_ctx->op, in ccm_nx_decrypt()
408 atomic_inc(&(nx_ctx->stats->aes_ops)); in ccm_nx_decrypt()
410 &(nx_ctx->stats->aes_bytes)); in ccm_nx_decrypt()
418 spin_unlock_irqrestore(&nx_ctx->lock, irq_flags); in ccm_nx_decrypt()
425 struct nx_crypto_ctx *nx_ctx = crypto_tfm_ctx(req->base.tfm); in ccm_nx_encrypt() local
426 struct nx_csbcpb *csbcpb = nx_ctx->csbcpb; in ccm_nx_encrypt()
433 spin_lock_irqsave(&nx_ctx->lock, irq_flags); in ccm_nx_encrypt()
435 rc = generate_pat(desc->info, req, nx_ctx, authsize, nbytes, in ccm_nx_encrypt()
453 rc = nx_build_sg_lists(nx_ctx, desc, req->dst, req->src, in ccm_nx_encrypt()
459 rc = nx_hcall_sync(nx_ctx, &nx_ctx->op, in ccm_nx_encrypt()
476 atomic_inc(&(nx_ctx->stats->aes_ops)); in ccm_nx_encrypt()
478 &(nx_ctx->stats->aes_bytes)); in ccm_nx_encrypt()
490 spin_unlock_irqrestore(&nx_ctx->lock, irq_flags); in ccm_nx_encrypt()
496 struct nx_crypto_ctx *nx_ctx = crypto_tfm_ctx(req->base.tfm); in ccm4309_aes_nx_encrypt() local
502 memcpy(iv + 1, nx_ctx->priv.ccm.nonce, 3); in ccm4309_aes_nx_encrypt()
528 struct nx_crypto_ctx *nx_ctx = crypto_tfm_ctx(req->base.tfm); in ccm4309_aes_nx_decrypt() local
534 memcpy(iv + 1, nx_ctx->priv.ccm.nonce, 3); in ccm4309_aes_nx_decrypt()