Lines Matching refs:ctx
113 struct qat_rsa_ctx *ctx; member
121 struct device *dev = &GET_DEV(req->ctx->inst->accel_dev); in qat_rsa_cb()
128 dma_free_coherent(dev, req->ctx->key_sz, req->src_align, in qat_rsa_cb()
131 dma_unmap_single(dev, req->in.enc.m, req->ctx->key_sz, in qat_rsa_cb()
134 areq->dst_len = req->ctx->key_sz; in qat_rsa_cb()
143 if (areq->dst_len != req->ctx->key_sz) in qat_rsa_cb()
149 dma_free_coherent(dev, req->ctx->key_sz, req->dst_align, in qat_rsa_cb()
162 dma_unmap_single(dev, req->out.enc.c, req->ctx->key_sz, in qat_rsa_cb()
243 struct qat_rsa_ctx *ctx = akcipher_tfm_ctx(tfm); in qat_rsa_enc() local
244 struct qat_crypto_instance *inst = ctx->inst; in qat_rsa_enc()
251 if (unlikely(!ctx->n || !ctx->e)) in qat_rsa_enc()
254 if (req->dst_len < ctx->key_sz) { in qat_rsa_enc()
255 req->dst_len = ctx->key_sz; in qat_rsa_enc()
261 msg->pke_hdr.cd_pars.func_id = qat_rsa_enc_fn_id(ctx->key_sz); in qat_rsa_enc()
265 qat_req->ctx = ctx; in qat_rsa_enc()
271 qat_req->in.enc.e = ctx->dma_e; in qat_rsa_enc()
272 qat_req->in.enc.n = ctx->dma_n; in qat_rsa_enc()
282 if (sg_is_last(req->src) && req->src_len == ctx->key_sz) { in qat_rsa_enc()
290 int shift = ctx->key_sz - req->src_len; in qat_rsa_enc()
292 qat_req->src_align = dma_zalloc_coherent(dev, ctx->key_sz, in qat_rsa_enc()
301 if (sg_is_last(req->dst) && req->dst_len == ctx->key_sz) { in qat_rsa_enc()
311 qat_req->dst_align = dma_zalloc_coherent(dev, ctx->key_sz, in qat_rsa_enc()
338 ret = adf_send_message(ctx->inst->pke_tx, (uint32_t *)msg); in qat_rsa_enc()
345 dma_free_coherent(dev, ctx->key_sz, qat_req->src_align, in qat_rsa_enc()
349 dma_unmap_single(dev, qat_req->in.enc.m, ctx->key_sz, in qat_rsa_enc()
353 dma_free_coherent(dev, ctx->key_sz, qat_req->dst_align, in qat_rsa_enc()
357 dma_unmap_single(dev, qat_req->out.enc.c, ctx->key_sz, in qat_rsa_enc()
374 struct qat_rsa_ctx *ctx = akcipher_tfm_ctx(tfm); in qat_rsa_dec() local
375 struct qat_crypto_instance *inst = ctx->inst; in qat_rsa_dec()
382 if (unlikely(!ctx->n || !ctx->d)) in qat_rsa_dec()
385 if (req->dst_len < ctx->key_sz) { in qat_rsa_dec()
386 req->dst_len = ctx->key_sz; in qat_rsa_dec()
392 msg->pke_hdr.cd_pars.func_id = qat_rsa_dec_fn_id(ctx->key_sz); in qat_rsa_dec()
396 qat_req->ctx = ctx; in qat_rsa_dec()
402 qat_req->in.dec.d = ctx->dma_d; in qat_rsa_dec()
403 qat_req->in.dec.n = ctx->dma_n; in qat_rsa_dec()
413 if (sg_is_last(req->src) && req->src_len == ctx->key_sz) { in qat_rsa_dec()
421 int shift = ctx->key_sz - req->src_len; in qat_rsa_dec()
423 qat_req->src_align = dma_zalloc_coherent(dev, ctx->key_sz, in qat_rsa_dec()
432 if (sg_is_last(req->dst) && req->dst_len == ctx->key_sz) { in qat_rsa_dec()
442 qat_req->dst_align = dma_zalloc_coherent(dev, ctx->key_sz, in qat_rsa_dec()
470 ret = adf_send_message(ctx->inst->pke_tx, (uint32_t *)msg); in qat_rsa_dec()
477 dma_free_coherent(dev, ctx->key_sz, qat_req->src_align, in qat_rsa_dec()
481 dma_unmap_single(dev, qat_req->in.dec.c, ctx->key_sz, in qat_rsa_dec()
485 dma_free_coherent(dev, ctx->key_sz, qat_req->dst_align, in qat_rsa_dec()
489 dma_unmap_single(dev, qat_req->out.dec.m, ctx->key_sz, in qat_rsa_dec()
506 struct qat_rsa_ctx *ctx = context; in qat_rsa_get_n() local
507 struct qat_crypto_instance *inst = ctx->inst; in qat_rsa_get_n()
517 ctx->key_sz = vlen; in qat_rsa_get_n()
520 if (fips_enabled && (ctx->key_sz != 256 && ctx->key_sz != 384)) { in qat_rsa_get_n()
525 if (!qat_rsa_enc_fn_id(ctx->key_sz)) in qat_rsa_get_n()
529 ctx->n = dma_zalloc_coherent(dev, ctx->key_sz, &ctx->dma_n, GFP_KERNEL); in qat_rsa_get_n()
530 if (!ctx->n) in qat_rsa_get_n()
533 memcpy(ctx->n, ptr, ctx->key_sz); in qat_rsa_get_n()
536 ctx->key_sz = 0; in qat_rsa_get_n()
537 ctx->n = NULL; in qat_rsa_get_n()
544 struct qat_rsa_ctx *ctx = context; in qat_rsa_get_e() local
545 struct qat_crypto_instance *inst = ctx->inst; in qat_rsa_get_e()
554 if (!ctx->key_sz || !vlen || vlen > ctx->key_sz) { in qat_rsa_get_e()
555 ctx->e = NULL; in qat_rsa_get_e()
559 ctx->e = dma_zalloc_coherent(dev, ctx->key_sz, &ctx->dma_e, GFP_KERNEL); in qat_rsa_get_e()
560 if (!ctx->e) { in qat_rsa_get_e()
561 ctx->e = NULL; in qat_rsa_get_e()
564 memcpy(ctx->e + (ctx->key_sz - vlen), ptr, vlen); in qat_rsa_get_e()
571 struct qat_rsa_ctx *ctx = context; in qat_rsa_get_d() local
572 struct qat_crypto_instance *inst = ctx->inst; in qat_rsa_get_d()
583 if (!ctx->key_sz || !vlen || vlen > ctx->key_sz) in qat_rsa_get_d()
593 ctx->d = dma_zalloc_coherent(dev, ctx->key_sz, &ctx->dma_d, GFP_KERNEL); in qat_rsa_get_d()
594 if (!ctx->n) in qat_rsa_get_d()
597 memcpy(ctx->d + (ctx->key_sz - vlen), ptr, vlen); in qat_rsa_get_d()
600 ctx->d = NULL; in qat_rsa_get_d()
607 struct qat_rsa_ctx *ctx = akcipher_tfm_ctx(tfm); in qat_rsa_setkey() local
608 struct device *dev = &GET_DEV(ctx->inst->accel_dev); in qat_rsa_setkey()
612 if (ctx->n) in qat_rsa_setkey()
613 dma_free_coherent(dev, ctx->key_sz, ctx->n, ctx->dma_n); in qat_rsa_setkey()
614 if (ctx->e) in qat_rsa_setkey()
615 dma_free_coherent(dev, ctx->key_sz, ctx->e, ctx->dma_e); in qat_rsa_setkey()
616 if (ctx->d) { in qat_rsa_setkey()
617 memset(ctx->d, '\0', ctx->key_sz); in qat_rsa_setkey()
618 dma_free_coherent(dev, ctx->key_sz, ctx->d, ctx->dma_d); in qat_rsa_setkey()
621 ctx->n = NULL; in qat_rsa_setkey()
622 ctx->e = NULL; in qat_rsa_setkey()
623 ctx->d = NULL; in qat_rsa_setkey()
626 ret = asn1_ber_decoder(&qat_rsaprivkey_decoder, ctx, key, in qat_rsa_setkey()
629 ret = asn1_ber_decoder(&qat_rsapubkey_decoder, ctx, key, in qat_rsa_setkey()
634 if (!ctx->n || !ctx->e) { in qat_rsa_setkey()
639 if (private && !ctx->d) { in qat_rsa_setkey()
647 if (ctx->d) { in qat_rsa_setkey()
648 memset(ctx->d, '\0', ctx->key_sz); in qat_rsa_setkey()
649 dma_free_coherent(dev, ctx->key_sz, ctx->d, ctx->dma_d); in qat_rsa_setkey()
650 ctx->d = NULL; in qat_rsa_setkey()
652 if (ctx->e) { in qat_rsa_setkey()
653 dma_free_coherent(dev, ctx->key_sz, ctx->e, ctx->dma_e); in qat_rsa_setkey()
654 ctx->e = NULL; in qat_rsa_setkey()
656 if (ctx->n) { in qat_rsa_setkey()
657 dma_free_coherent(dev, ctx->key_sz, ctx->n, ctx->dma_n); in qat_rsa_setkey()
658 ctx->n = NULL; in qat_rsa_setkey()
659 ctx->key_sz = 0; in qat_rsa_setkey()
678 struct qat_rsa_ctx *ctx = akcipher_tfm_ctx(tfm); in qat_rsa_max_size() local
680 return (ctx->n) ? ctx->key_sz : -EINVAL; in qat_rsa_max_size()
685 struct qat_rsa_ctx *ctx = akcipher_tfm_ctx(tfm); in qat_rsa_init_tfm() local
692 ctx->key_sz = 0; in qat_rsa_init_tfm()
693 ctx->inst = inst; in qat_rsa_init_tfm()
699 struct qat_rsa_ctx *ctx = akcipher_tfm_ctx(tfm); in qat_rsa_exit_tfm() local
700 struct device *dev = &GET_DEV(ctx->inst->accel_dev); in qat_rsa_exit_tfm()
702 if (ctx->n) in qat_rsa_exit_tfm()
703 dma_free_coherent(dev, ctx->key_sz, ctx->n, ctx->dma_n); in qat_rsa_exit_tfm()
704 if (ctx->e) in qat_rsa_exit_tfm()
705 dma_free_coherent(dev, ctx->key_sz, ctx->e, ctx->dma_e); in qat_rsa_exit_tfm()
706 if (ctx->d) { in qat_rsa_exit_tfm()
707 memset(ctx->d, '\0', ctx->key_sz); in qat_rsa_exit_tfm()
708 dma_free_coherent(dev, ctx->key_sz, ctx->d, ctx->dma_d); in qat_rsa_exit_tfm()
710 qat_crypto_put_instance(ctx->inst); in qat_rsa_exit_tfm()
711 ctx->n = NULL; in qat_rsa_exit_tfm()
712 ctx->d = NULL; in qat_rsa_exit_tfm()
713 ctx->d = NULL; in qat_rsa_exit_tfm()