Lines Matching refs:req

136 	struct hpre_sqe req;
289 struct hpre_sqe *msg = &hpre_req->req;
313 struct hpre_asym_request *req,
318 struct hpre_sqe *sqe = &req->req;
326 if (req->src)
327 dma_free_coherent(dev, ctx->key_sz, req->src, tmp);
336 if (req->dst) {
338 scatterwalk_map_and_copy(req->dst, dst, 0,
340 dma_free_coherent(dev, ctx->key_sz, req->dst, tmp);
349 struct hpre_asym_request *req;
359 req = ctx->req_list[id];
360 hpre_rm_req_from_ctx(req);
361 *kreq = req;
414 static bool hpre_is_bd_timeout(struct hpre_asym_request *req,
421 time_use_us = (reply_time.tv_sec - req->req_time.tv_sec) *
423 (reply_time.tv_nsec - req->req_time.tv_nsec) /
435 struct hpre_asym_request *req;
440 ret = hpre_alg_res_post_hf(ctx, resp, (void **)&req);
441 areq = req->areq.dh;
445 if (overtime_thrhld && hpre_is_bd_timeout(req, overtime_thrhld))
448 hpre_hw_data_clr_all(ctx, req, areq->dst, areq->src);
456 struct hpre_asym_request *req;
461 ret = hpre_alg_res_post_hf(ctx, resp, (void **)&req);
464 if (overtime_thrhld && hpre_is_bd_timeout(req, overtime_thrhld))
467 areq = req->areq.rsa;
469 hpre_hw_data_clr_all(ctx, req, areq->dst, areq->src);
479 struct hpre_asym_request *req = ctx->req_list[le16_to_cpu(sqe->tag)];
481 if (unlikely(!req)) {
486 req->cb(ctx, resp);
514 static int hpre_msg_request_set(struct hpre_ctx *ctx, void *req, bool is_rsa)
522 struct akcipher_request *akreq = req;
533 msg = &h_req->req;
536 struct kpp_request *kreq = req;
547 msg = &h_req->req;
590 static int hpre_dh_compute_value(struct kpp_request *req)
592 struct crypto_kpp *tfm = crypto_kpp_reqtfm(req);
594 void *tmp = kpp_request_ctx(req);
596 struct hpre_sqe *msg = &hpre_req->req;
599 ret = hpre_msg_request_set(ctx, req, false);
603 if (req->src) {
604 ret = hpre_hw_data_init(hpre_req, req->src, req->src_len, 1, 1);
611 ret = hpre_hw_data_init(hpre_req, req->dst, req->dst_len, 0, 1);
615 if (ctx->crt_g2_mode && !req->src)
627 hpre_hw_data_clr_all(ctx, hpre_req, req->dst, req->src);
793 static int hpre_rsa_enc(struct akcipher_request *req)
795 struct crypto_akcipher *tfm = crypto_akcipher_reqtfm(req);
797 void *tmp = akcipher_request_ctx(req);
799 struct hpre_sqe *msg = &hpre_req->req;
805 akcipher_request_set_tfm(req, ctx->rsa.soft_tfm);
806 ret = crypto_akcipher_encrypt(req);
807 akcipher_request_set_tfm(req, tfm);
814 ret = hpre_msg_request_set(ctx, req, true);
821 ret = hpre_hw_data_init(hpre_req, req->src, req->src_len, 1, 0);
825 ret = hpre_hw_data_init(hpre_req, req->dst, req->dst_len, 0, 0);
836 hpre_hw_data_clr_all(ctx, hpre_req, req->dst, req->src);
841 static int hpre_rsa_dec(struct akcipher_request *req)
843 struct crypto_akcipher *tfm = crypto_akcipher_reqtfm(req);
845 void *tmp = akcipher_request_ctx(req);
847 struct hpre_sqe *msg = &hpre_req->req;
853 akcipher_request_set_tfm(req, ctx->rsa.soft_tfm);
854 ret = crypto_akcipher_decrypt(req);
855 akcipher_request_set_tfm(req, tfm);
862 ret = hpre_msg_request_set(ctx, req, true);
876 ret = hpre_hw_data_init(hpre_req, req->src, req->src_len, 1, 0);
880 ret = hpre_hw_data_init(hpre_req, req->dst, req->dst_len, 0, 0);
891 hpre_hw_data_clr_all(ctx, hpre_req, req->dst, req->src);
1442 struct hpre_asym_request *req,
1447 struct hpre_sqe *sqe = &req->req;
1454 if (src && req->src)
1455 dma_free_coherent(dev, ctx->key_sz << 2, req->src, dma);
1461 if (req->dst)
1462 dma_free_coherent(dev, ctx->key_sz << 1, req->dst, dma);
1471 struct hpre_asym_request *req = NULL;
1477 ret = hpre_alg_res_post_hf(ctx, resp, (void **)&req);
1478 areq = req->areq.ecdh;
1482 if (overtime_thrhld && hpre_is_bd_timeout(req, overtime_thrhld))
1489 hpre_ecdh_hw_data_clr_all(ctx, req, areq->dst, areq->src);
1496 struct kpp_request *req)
1503 if (req->dst_len < ctx->key_sz << 1) {
1504 req->dst_len = ctx->key_sz << 1;
1508 tmp = kpp_request_ctx(req);
1511 h_req->areq.ecdh = req;
1512 msg = &h_req->req;
1533 struct hpre_sqe *msg = &hpre_req->req;
1563 struct hpre_sqe *msg = &hpre_req->req;
1584 static int hpre_ecdh_compute_value(struct kpp_request *req)
1586 struct crypto_kpp *tfm = crypto_kpp_reqtfm(req);
1589 void *tmp = kpp_request_ctx(req);
1591 struct hpre_sqe *msg = &hpre_req->req;
1594 ret = hpre_ecdh_msg_request_set(ctx, req);
1600 if (req->src) {
1601 ret = hpre_ecdh_src_data_init(hpre_req, req->src, req->src_len);
1610 ret = hpre_ecdh_dst_data_init(hpre_req, req->dst, req->dst_len);
1623 hpre_ecdh_hw_data_clr_all(ctx, hpre_req, req->dst, req->src);
1758 struct hpre_asym_request *req,
1763 struct hpre_sqe *sqe = &req->req;
1770 if (src && req->src)
1771 dma_free_coherent(dev, ctx->key_sz, req->src, dma);
1777 if (req->dst)
1778 dma_free_coherent(dev, ctx->key_sz, req->dst, dma);
1786 struct hpre_asym_request *req = NULL;
1791 ret = hpre_alg_res_post_hf(ctx, resp, (void **)&req);
1792 areq = req->areq.curve25519;
1796 if (overtime_thrhld && hpre_is_bd_timeout(req, overtime_thrhld))
1801 hpre_curve25519_hw_data_clr_all(ctx, req, areq->dst, areq->src);
1808 struct kpp_request *req)
1815 if (unlikely(req->dst_len < ctx->key_sz)) {
1816 req->dst_len = ctx->key_sz;
1820 tmp = kpp_request_ctx(req);
1823 h_req->areq.curve25519 = req;
1824 msg = &h_req->req;
1856 struct hpre_sqe *msg = &hpre_req->req;
1915 struct hpre_sqe *msg = &hpre_req->req;
1936 static int hpre_curve25519_compute_value(struct kpp_request *req)
1938 struct crypto_kpp *tfm = crypto_kpp_reqtfm(req);
1941 void *tmp = kpp_request_ctx(req);
1943 struct hpre_sqe *msg = &hpre_req->req;
1946 ret = hpre_curve25519_msg_request_set(ctx, req);
1952 if (req->src) {
1953 ret = hpre_curve25519_src_init(hpre_req, req->src, req->src_len);
1963 ret = hpre_curve25519_dst_init(hpre_req, req->dst, req->dst_len);
1976 hpre_curve25519_hw_data_clr_all(ctx, hpre_req, req->dst, req->src);