From patchwork Fri Jan 26 19:15:29 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Corentin Labbe X-Patchwork-Id: 126018 Delivered-To: patch@linaro.org Received: by 10.46.84.92 with SMTP id y28csp555523ljd; Fri, 26 Jan 2018 11:19:31 -0800 (PST) X-Google-Smtp-Source: AH8x226nSyQOdDjzcqWfLbN+aKSYhMXqAU88eovfH2Aga1PxM/p0tFMorOb6VBgeucMa63uuE7yL X-Received: by 10.99.152.84 with SMTP id l20mr16330442pgo.382.1516994371033; Fri, 26 Jan 2018 11:19:31 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516994371; cv=none; d=google.com; s=arc-20160816; b=SLMgxv0n1cfUe3qetekL1jUMVaqmwzzorpHDPk5UL65jnkc7dPnmzckjPnRGo8fOJL If5FpiFs/0ThcN3BZc3DH2ENfZX16sM1je03kN0/xyHjqcnLy3ogMDZvyhjQ8KZ9zUbM lr852zAhiJ9vYM+QqhV41p9BEujYPhpEPJjKsaouuTX1X4vVSBowsz86KOMJnsT43Kts o7V0DaP5LBkI1eLuSTYJLD2z/qM9T+Zm45DYXnEWW9zbnbchrRUUjeQJIiK5gWFmqhHo u1Jm4jOU5WTyP2W/tiKOHVPn7xnZgzWanH0Kqmhs5tF9wd7rgd/zs3Kr4M0sHIArUS7f hZ+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=ZnAgI50T1OQp461MDiTH2WDx81c5Uz3+RL5E47VXitk=; b=rtyzgBm6eUtE59VItmLxzI8VtwKQAPsvcfqyb8ZWgyqP1eWvK5hx2+lkKaNBY4+skG 40JKLEb9zcgZ830Uo9BxEPbmjZUFkdrTn9KoyQyhLkUi1BBgeiRim0JX37A7SD+otybr LWuh7v5jcSbZjoxaCp+IxpLaE9vwToJn1gMKeIIx1SSgn67SDDo5O85IBRgF8FbczSS4 MYEwGkYG3RJj7KUfhCFT6rTz4odyFa4ZOtvRHPF9Eh1YDEcSAQzeZclME8jRbhYRgmyw Yy3nnUOe9g/f2NdE3Rn6E90m1oN6qjIKxfqc1qnjariu5k0JRaYY5dE1B6cc2YzWO1Ox TsVg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=fnMdNNMU; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id l24si3351745pgo.128.2018.01.26.11.19.30; Fri, 26 Jan 2018 11:19:31 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=fnMdNNMU; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753139AbeAZTT3 (ORCPT + 26 others); Fri, 26 Jan 2018 14:19:29 -0500 Received: from mail-wm0-f67.google.com ([74.125.82.67]:51708 "EHLO mail-wm0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752498AbeAZTSE (ORCPT ); Fri, 26 Jan 2018 14:18:04 -0500 Received: by mail-wm0-f67.google.com with SMTP id r71so3296107wmd.1; Fri, 26 Jan 2018 11:18:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=ZnAgI50T1OQp461MDiTH2WDx81c5Uz3+RL5E47VXitk=; b=fnMdNNMULQ34daCkEddo9a6WrZ9sSlH7QT2sGCFRE13bhM/3dYE6D0wWMEnGG1xkwj f5m+icjwRlFUrQ1Z7sCiR5i88On2jY9lDbLUI9Jo9f/tmZzEb5ITHr1m0B/nUoTSgMQN MpGVJT692Tw24Ow2OuZEm/WgvMAmQgOGadA+ESRKoWClxQBWXVqk1TcCitxVGU/AcWRG 8tOz/bpTdJje5FSlDShvNoKWXkegXpua6YIx824wtd2lyNO8DJqNw+M7zrJlVzHS9ezA H3/uW9NLV547Rlk92TOdkBjN0aSONxsxfEf35akCgkX1hvFlIWmZuXPsuo1MPLve2G2x iQkA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=ZnAgI50T1OQp461MDiTH2WDx81c5Uz3+RL5E47VXitk=; b=jLveGnpWkkKx2+eIzsLTf9MZJsW1nhNNbc6rF+XO+k7Vp/vCmxv46umJ3P0ybbDSnN I4FyAkQJoVFAb09E/34E/2WCHNEABcX6CdPej9CnBwA8O68AnrUr+TIuxHeiKHprUgMT MlziV3LQZGQjsG07YVFKmggPsW1Udoi3ne9EG+wqpl0d3aiJzgMkfD9eRzfUky/B2BN6 4WETcGiyDScj9nxarb3viV2TZmAkUsnkjGm93CLaaNVuIhOenBG8E8ewxMDtCGQWvM6O qvPnTV5pwAUPDIv2ufCAR2pBMRpNgqG7fr7nparQYl7gS+j+7Llq9oXBjIVW/vNFZrTs YNXw== X-Gm-Message-State: AKwxytd6yoMt7xGg+5+1nFH9lDoenZBIcZwl58GmaHpWsWArPHgzcG4V ftaS3gBMrCrbF/469iRkkdEhgwOP X-Received: by 10.28.86.132 with SMTP id k126mr10609545wmb.98.1516994282888; Fri, 26 Jan 2018 11:18:02 -0800 (PST) Received: from Red.local (LFbn-MAR-1-494-174.w2-15.abo.wanadoo.fr. [2.15.82.174]) by smtp.googlemail.com with ESMTPSA id k125sm7587510wmd.48.2018.01.26.11.18.00 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 26 Jan 2018 11:18:02 -0800 (PST) From: Corentin Labbe To: alexandre.torgue@st.com, arei.gonglei@huawei.com, corbet@lwn.net, davem@davemloft.net, herbert@gondor.apana.org.au, jasowang@redhat.com, mcoquelin.stm32@gmail.com, mst@redhat.com, fabien.dessenne@st.com Cc: linux-arm-kernel@lists.infradead.org, linux-crypto@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org, linux-sunxi@googlegroups.com, Corentin Labbe Subject: [PATCH v2 1/6] Documentation: crypto: document crypto engine API Date: Fri, 26 Jan 2018 20:15:29 +0100 Message-Id: <20180126191534.17569-2-clabbe.montjoie@gmail.com> X-Mailer: git-send-email 2.13.6 In-Reply-To: <20180126191534.17569-1-clabbe.montjoie@gmail.com> References: <20180126191534.17569-1-clabbe.montjoie@gmail.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Signed-off-by: Corentin Labbe --- Documentation/crypto/crypto_engine.rst | 48 ++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 Documentation/crypto/crypto_engine.rst -- 2.13.6 diff --git a/Documentation/crypto/crypto_engine.rst b/Documentation/crypto/crypto_engine.rst new file mode 100644 index 000000000000..8272ac92a14f --- /dev/null +++ b/Documentation/crypto/crypto_engine.rst @@ -0,0 +1,48 @@ +============= +CRYPTO ENGINE +============= + +Overview +-------- +The crypto engine API (CE), is a crypto queue manager. + +Requirement +----------- +You have to put at start of your tfm_ctx the struct crypto_engine_ctx +struct your_tfm_ctx { + struct crypto_engine_ctx enginectx; + ... +}; +Why: Since CE manage only crypto_async_request, it cannot know the underlying +request_type and so have access only on the TFM. +So using container_of for accessing __ctx is impossible. +Furthermore, the crypto engine cannot know the "struct your_tfm_ctx", +so it must assume that crypto_engine_ctx is at start of it. + +Order of operations +------------------- +You have to obtain a struct crypto_engine via crypto_engine_alloc_init(). +And start it via crypto_engine_start(). + +Before transferring any request, you have to fill the enginectx. +- prepare_request: (taking a function pointer) If you need to do some processing before doing the request +- unprepare_request: (taking a function pointer) Undoing what's done in prepare_request +- do_one_request: (taking a function pointer) Do encryption for current request + +Note: that those three functions get the crypto_async_request associated with the received request. +So your need to get the original request via container_of(areq, struct yourrequesttype_request, base); + +When your driver receive a crypto_request, you have to transfer it to +the cryptoengine via one of: +- crypto_transfer_ablkcipher_request_to_engine() +- crypto_transfer_aead_request_to_engine() +- crypto_transfer_akcipher_request_to_engine() +- crypto_transfer_hash_request_to_engine() +- crypto_transfer_skcipher_request_to_engine() + +At the end of the request process, a call to one of the following function is needed: +- crypto_finalize_ablkcipher_request +- crypto_finalize_aead_request +- crypto_finalize_akcipher_request +- crypto_finalize_hash_request +- crypto_finalize_skcipher_request From patchwork Fri Jan 26 19:15:32 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Corentin Labbe X-Patchwork-Id: 126014 Delivered-To: patch@linaro.org Received: by 10.46.84.92 with SMTP id y28csp554895ljd; Fri, 26 Jan 2018 11:18:19 -0800 (PST) X-Google-Smtp-Source: AH8x224E760IRABiTE3mfhK3gT6df0LykihhACZD3lMPe7gStpreEawFmJplpH6XxLjVAqQqB24E X-Received: by 10.98.163.131 with SMTP id q3mr19533302pfl.87.1516994299179; Fri, 26 Jan 2018 11:18:19 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516994299; cv=none; d=google.com; s=arc-20160816; b=ijZRKaP2Jd4WiMS/EvxkTuHc9tb+7PDLV+AYi/Bwg2QRPMi5JY4fXcz57a5DY84nxS /AHMlZXjRYMb0uWA9ekHmXyect8JJ5Cb0Y5JZTGYsE50hTukKRTjU7m7qBF6pAdCeEqj EM+wgM7p7/2jyYOXey8JS7x2hpxY4VgFPJP/IRzEJKq5vGA7ad/ob8mtwj6Z2n4UM1j9 5in5HfPKBS3p072vJ8iZefq8nrnfJ6KzVJDpCh1ki2u7qJMIqqCBwFr1jq2bWaqZespK PhTfjv+37a6ng5nAMsMJzRQE0rcCpxUcRvRtNgPyZt2eEdvSydxC07YNeQCF3jfACvZ6 kX/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=52lE6G9FOb5vAshbK08DnSQT44vi95s6IvjigHuUZKs=; b=wSDA5/Nj5hsXqJ/j1/cTE5rI0rvtTikUXnUEbCImWmKu0lvKMvI0d3Oc6/TlI8kvso Kqu4AhdfSofwOwiBSwKQs3O3VwCYcicrEvkRn/e/3/cdQUU+zDwRtzKL8WYRqr7tw8oX rumjmvxfTyBU5ujbU5fchFZwYw6YynoaWgyKo+TTMVIByry0HErAylp0bt0tciYE+90j 4lOrqzzE7IHqVhaAGPo+BtPIQgp/1KyRDOXBrfo5gwkHI14KxPyGHYq7waWmQK+8EXt6 wgpjekCjBiRsECE1UKWKb4EbzSN5SWvydhOrwaHbb2z4y5mDll6HLahFopUMfnOmcU10 xXng== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=HOYYtD1S; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id i4-v6si4226586plk.771.2018.01.26.11.18.18; Fri, 26 Jan 2018 11:18:19 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=HOYYtD1S; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752894AbeAZTSQ (ORCPT + 26 others); Fri, 26 Jan 2018 14:18:16 -0500 Received: from mail-wr0-f194.google.com ([209.85.128.194]:39947 "EHLO mail-wr0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752822AbeAZTSM (ORCPT ); Fri, 26 Jan 2018 14:18:12 -0500 Received: by mail-wr0-f194.google.com with SMTP id i56so1397646wra.7; Fri, 26 Jan 2018 11:18:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=52lE6G9FOb5vAshbK08DnSQT44vi95s6IvjigHuUZKs=; b=HOYYtD1SNw0t7sgORubTdXBfosyw4c35aPMrDmC9cyuNsmEkVLBNEuMD/KpEuNT3E8 +Cexk4nQRnxL7agtbIRDtA1TkRe3XMVzZzMJYxu//E8otJlL2MC6Voa60f673JSaSswv MuVlMA/It0gKg51od01N/oFcG1KdLvNswSf3VpJ25nK0Ey1QS533AxrAQKnOwF89UsrF ZuYtdldNAFgdduS44PFvg2BbXmgiWaTLT35lMAtw7ykAn8snJnD6Wt11vHne4YZ4yI7c FI7WaI6kyPsakL/gmAqordl53L+fQVTjcc9CbcyXYmUFdZfMt++iMWTR0hdJtmpcrjZX RkBw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=52lE6G9FOb5vAshbK08DnSQT44vi95s6IvjigHuUZKs=; b=t/N/GHcEf/GsT8Tio1HL8tRrt/fkRHePALXVbVNIemTv13GmeRdEM9sPCXg6D87BTZ rjyDFkOIotWaz7QxlyeUa+UJ52nOPqCIRTaV+V2HwoGV9bAH8XqcQl6l1XqioN5Lj+L/ p4ztr7sPR81iLJ1couXg4y/FUR0XygHxO+dKM5Un0ZMUViOx/Ww7hi4eISZKnbwTeeQG jidxw4i+na4Ro2R5lJmX11aBE3q5nBGso29yLsOOgx/krkXsFIsXayQaCEJ8gBXHFe8Y e7N9S82n//LsZmDIzpLt+tAbUQZVfwCj0Jr+qlkEd7bbdhcbE4xSAAAB3Kp7JHf/uXzA UzmA== X-Gm-Message-State: AKwxytf2Um+J+NyQ2xAsAb9r24nbdEv1cxfWE9Chn4xAoxcr5dAkHfKB N8xSn0K53Pk9UxJe6MNOy94= X-Received: by 10.223.174.236 with SMTP id y99mr11548192wrc.117.1516994290608; Fri, 26 Jan 2018 11:18:10 -0800 (PST) Received: from Red.local (LFbn-MAR-1-494-174.w2-15.abo.wanadoo.fr. [2.15.82.174]) by smtp.googlemail.com with ESMTPSA id k125sm7587510wmd.48.2018.01.26.11.18.08 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 26 Jan 2018 11:18:10 -0800 (PST) From: Corentin Labbe To: alexandre.torgue@st.com, arei.gonglei@huawei.com, corbet@lwn.net, davem@davemloft.net, herbert@gondor.apana.org.au, jasowang@redhat.com, mcoquelin.stm32@gmail.com, mst@redhat.com, fabien.dessenne@st.com Cc: linux-arm-kernel@lists.infradead.org, linux-crypto@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org, linux-sunxi@googlegroups.com, Corentin Labbe Subject: [PATCH v2 4/6] crypto: virtio: convert to new crypto engine API Date: Fri, 26 Jan 2018 20:15:32 +0100 Message-Id: <20180126191534.17569-5-clabbe.montjoie@gmail.com> X-Mailer: git-send-email 2.13.6 In-Reply-To: <20180126191534.17569-1-clabbe.montjoie@gmail.com> References: <20180126191534.17569-1-clabbe.montjoie@gmail.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch convert the driver to the new crypto engine API. Signed-off-by: Corentin Labbe --- drivers/crypto/virtio/virtio_crypto_algs.c | 16 ++++++++++------ drivers/crypto/virtio/virtio_crypto_common.h | 3 +-- drivers/crypto/virtio/virtio_crypto_core.c | 3 --- 3 files changed, 11 insertions(+), 11 deletions(-) -- 2.13.6 Acked-by: Michael S. Tsirkin diff --git a/drivers/crypto/virtio/virtio_crypto_algs.c b/drivers/crypto/virtio/virtio_crypto_algs.c index abe8c15450df..ba190cfa7aa1 100644 --- a/drivers/crypto/virtio/virtio_crypto_algs.c +++ b/drivers/crypto/virtio/virtio_crypto_algs.c @@ -29,6 +29,7 @@ struct virtio_crypto_ablkcipher_ctx { + struct crypto_engine_ctx enginectx; struct virtio_crypto *vcrypto; struct crypto_tfm *tfm; @@ -491,7 +492,7 @@ static int virtio_crypto_ablkcipher_encrypt(struct ablkcipher_request *req) vc_sym_req->ablkcipher_req = req; vc_sym_req->encrypt = true; - return crypto_transfer_cipher_request_to_engine(data_vq->engine, req); + return crypto_transfer_ablkcipher_request_to_engine(data_vq->engine, req); } static int virtio_crypto_ablkcipher_decrypt(struct ablkcipher_request *req) @@ -511,7 +512,7 @@ static int virtio_crypto_ablkcipher_decrypt(struct ablkcipher_request *req) vc_sym_req->ablkcipher_req = req; vc_sym_req->encrypt = false; - return crypto_transfer_cipher_request_to_engine(data_vq->engine, req); + return crypto_transfer_ablkcipher_request_to_engine(data_vq->engine, req); } static int virtio_crypto_ablkcipher_init(struct crypto_tfm *tfm) @@ -521,6 +522,9 @@ static int virtio_crypto_ablkcipher_init(struct crypto_tfm *tfm) tfm->crt_ablkcipher.reqsize = sizeof(struct virtio_crypto_sym_request); ctx->tfm = tfm; + ctx->enginectx.op.do_one_request = virtio_crypto_ablkcipher_crypt_req; + ctx->enginectx.op.prepare_request = NULL; + ctx->enginectx.op.unprepare_request = NULL; return 0; } @@ -538,9 +542,9 @@ static void virtio_crypto_ablkcipher_exit(struct crypto_tfm *tfm) } int virtio_crypto_ablkcipher_crypt_req( - struct crypto_engine *engine, - struct ablkcipher_request *req) + struct crypto_engine *engine, void *vreq) { + struct ablkcipher_request *req = container_of(vreq, struct ablkcipher_request, base); struct virtio_crypto_sym_request *vc_sym_req = ablkcipher_request_ctx(req); struct virtio_crypto_request *vc_req = &vc_sym_req->base; @@ -561,8 +565,8 @@ static void virtio_crypto_ablkcipher_finalize_req( struct ablkcipher_request *req, int err) { - crypto_finalize_cipher_request(vc_sym_req->base.dataq->engine, - req, err); + crypto_finalize_ablkcipher_request(vc_sym_req->base.dataq->engine, + req, err); kzfree(vc_sym_req->iv); virtcrypto_clear_request(&vc_sym_req->base); } diff --git a/drivers/crypto/virtio/virtio_crypto_common.h b/drivers/crypto/virtio/virtio_crypto_common.h index e976539a05d9..72621bd67211 100644 --- a/drivers/crypto/virtio/virtio_crypto_common.h +++ b/drivers/crypto/virtio/virtio_crypto_common.h @@ -107,8 +107,7 @@ struct virtio_crypto *virtcrypto_get_dev_node(int node); int virtcrypto_dev_start(struct virtio_crypto *vcrypto); void virtcrypto_dev_stop(struct virtio_crypto *vcrypto); int virtio_crypto_ablkcipher_crypt_req( - struct crypto_engine *engine, - struct ablkcipher_request *req); + struct crypto_engine *engine, void *vreq); void virtcrypto_clear_request(struct virtio_crypto_request *vc_req); diff --git a/drivers/crypto/virtio/virtio_crypto_core.c b/drivers/crypto/virtio/virtio_crypto_core.c index ff1410a32c2b..83326986c113 100644 --- a/drivers/crypto/virtio/virtio_crypto_core.c +++ b/drivers/crypto/virtio/virtio_crypto_core.c @@ -111,9 +111,6 @@ static int virtcrypto_find_vqs(struct virtio_crypto *vi) ret = -ENOMEM; goto err_engine; } - - vi->data_vq[i].engine->cipher_one_request = - virtio_crypto_ablkcipher_crypt_req; } kfree(names); From patchwork Fri Jan 26 19:15:33 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Corentin Labbe X-Patchwork-Id: 126016 Delivered-To: patch@linaro.org Received: by 10.46.84.92 with SMTP id y28csp555164ljd; Fri, 26 Jan 2018 11:18:47 -0800 (PST) X-Google-Smtp-Source: AH8x225yp63ueSlZT+eRPtAvA2cK2KaTj2hVLWNsA33QkR0KsIO60BY50kIYSh52q3d9S3pw+0pZ X-Received: by 2002:a17:902:2943:: with SMTP id g61-v6mr13266751plb.435.1516994327072; Fri, 26 Jan 2018 11:18:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516994327; cv=none; d=google.com; s=arc-20160816; b=aZPzNsqdv9F9Yz+5phUxlWR1DP5qIq1M5tF9rfAMxy8vJ+FhA6+n3xr9x3NTCbxvq+ W0XU8x4yS7LQIJb4NezgHQh/uySfeZ9kKIm6y4n6MiEZ3s+8+fxL7eZJbxguAgw2x633 7WuR0MIcGfrzGnD4zN3l2ZJlOcpWKci3Ergku9/coso6g4EHveKgjxxkDu6oCMX9X6LX nwTbHOZ8zujogpASgae5BhqxSuUM3B14YADjZXjGkv4099Q0gMpWwpRgHanxaRv9BxpW xCKy8WyEa7wwPyjTJ7AAzKzOiGioO89jkDznTSB3ACfhmTGwStoV1quGbcYNuj2k9lsO x0DA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=g8IfwhVYNUEUgKu85ioBXaFL9OKO9rWTugBCJeqpULU=; b=pUk2fgZrP9truyThzTQUdUT0S5WQlfr+4X8SB1XCBtcnxPnwyZKG2QyzYf0JE7hZub DwhvmdRfZtp0CVxzXMS+2p6odn9pKKRL6QA8OqmWnuTPhinin1mCnFGX3lyJosvInSrg 0iCd3alsEDS1239NRQc4yxpQTe9GgQAwgMlRo7wrIJKD18UWMFOSMZ3E3gi5NQ3BUFen cpH/JeI0ocsmrxLsFolNk0sE1vDLU5+ACb1Kfp/dJkBj+zZ5tnsfOE7QF34+lookkHUD vt9S4vK2TPXJH7737WZcdygVkj/wwrEUrOVRPlfXW6qANDjTQd6LebCuqJimawiw5HRd GYFQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=nswL9Mro; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id l24si3351745pgo.128.2018.01.26.11.18.46; Fri, 26 Jan 2018 11:18:47 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=nswL9Mro; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753019AbeAZTSp (ORCPT + 26 others); Fri, 26 Jan 2018 14:18:45 -0500 Received: from mail-wr0-f196.google.com ([209.85.128.196]:45205 "EHLO mail-wr0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751971AbeAZTSP (ORCPT ); Fri, 26 Jan 2018 14:18:15 -0500 Received: by mail-wr0-f196.google.com with SMTP id 16so1387692wry.12; Fri, 26 Jan 2018 11:18:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=g8IfwhVYNUEUgKu85ioBXaFL9OKO9rWTugBCJeqpULU=; b=nswL9MroZZP0DFWZFFITp0rrNf9+Uwi01z4Tdi4OxstzjBrWFBfvQp/lZkqlYe1rNG /MJGhUoxFSYkLK7H5/2Cn0D37KCVhwW3JkZhipRJ0yFJ5GwupUy0TfLqZII3lrkot3bO 9vwCbI6uQLmWX0dU0qiAmKBqVnO/HFivil0pM5dr3mnF44rcYy7U8W6XCBWw5btIbgdV +c1Wb1+eqgB395hG8tvQAkIjtMiVYYnha3z6VuvlaR71u0V8Lrrx+c1IHNwG2buF5/cR XlpX4gfSRtb5ZVJwTBjNj6nPRLC3prAQlW7DVzSZSaZsRLJW73v0ArLxbBAfWhpcXd39 xUtg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=g8IfwhVYNUEUgKu85ioBXaFL9OKO9rWTugBCJeqpULU=; b=YPkZ7iREgXIRJQzs5taUKmR0ZjfoqdcRe6ex2GD70+jG6QZJefDbk0NV+dUZlyNNeH DjTlzx7DAEtJGaPQPgn0pkpRa02gKQn8i+S0BqWkyymwpXPwn0cyWzkVQpR1q7vtfvPM LRsaD2I8ku7D5iV/7NuyckWvJZLmkSPh2U2+0U6NBSc3Y9H+HZ5j4+dAOyHrJ8KdhAOV foyQk21VgC34xjoWbLNg7zu3+5Q7+PdkU7as1rS5NeqgCsKB6WF6X155368F3/1ir62m PHAx+/oCe/WJ6wGS7BmrxvTgeMTzHAr57L4bBDw/B8ErlxT+gPx672R5JR7bS9aPV/C4 CCvA== X-Gm-Message-State: AKwxytfCH2EtoRnl1wxmsnqX1cHrVYSRPGCK/uBW727WIQ/gyEvTi9XL BWuPYeglveoow9FlOqVlUKA= X-Received: by 10.223.165.25 with SMTP id i25mr13548589wrb.127.1516994293550; Fri, 26 Jan 2018 11:18:13 -0800 (PST) Received: from Red.local (LFbn-MAR-1-494-174.w2-15.abo.wanadoo.fr. [2.15.82.174]) by smtp.googlemail.com with ESMTPSA id k125sm7587510wmd.48.2018.01.26.11.18.10 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 26 Jan 2018 11:18:12 -0800 (PST) From: Corentin Labbe To: alexandre.torgue@st.com, arei.gonglei@huawei.com, corbet@lwn.net, davem@davemloft.net, herbert@gondor.apana.org.au, jasowang@redhat.com, mcoquelin.stm32@gmail.com, mst@redhat.com, fabien.dessenne@st.com Cc: linux-arm-kernel@lists.infradead.org, linux-crypto@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org, linux-sunxi@googlegroups.com, Corentin Labbe Subject: [PATCH v2 5/6] crypto: stm32-hash: convert to the new crypto engine API Date: Fri, 26 Jan 2018 20:15:33 +0100 Message-Id: <20180126191534.17569-6-clabbe.montjoie@gmail.com> X-Mailer: git-send-email 2.13.6 In-Reply-To: <20180126191534.17569-1-clabbe.montjoie@gmail.com> References: <20180126191534.17569-1-clabbe.montjoie@gmail.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch convert the stm32-hash driver to the new crypto engine API. Signed-off-by: Corentin Labbe Tested-by: Fabien Dessenne --- drivers/crypto/stm32/stm32-hash.c | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) -- 2.13.6 diff --git a/drivers/crypto/stm32/stm32-hash.c b/drivers/crypto/stm32/stm32-hash.c index 4ca4a264a833..89b0c2490d80 100644 --- a/drivers/crypto/stm32/stm32-hash.c +++ b/drivers/crypto/stm32/stm32-hash.c @@ -122,6 +122,7 @@ enum stm32_hash_data_format { #define HASH_DMA_THRESHOLD 50 struct stm32_hash_ctx { + struct crypto_engine_ctx enginectx; struct stm32_hash_dev *hdev; unsigned long flags; @@ -828,15 +829,19 @@ static int stm32_hash_hw_init(struct stm32_hash_dev *hdev, return 0; } +static int stm32_hash_one_request(struct crypto_engine *engine, void *areq); +static int stm32_hash_prepare_req(struct crypto_engine *engine, void *areq); + static int stm32_hash_handle_queue(struct stm32_hash_dev *hdev, struct ahash_request *req) { return crypto_transfer_hash_request_to_engine(hdev->engine, req); } -static int stm32_hash_prepare_req(struct crypto_engine *engine, - struct ahash_request *req) +static int stm32_hash_prepare_req(struct crypto_engine *engine, void *areq) { + struct ahash_request *req = container_of(areq, struct ahash_request, + base); struct stm32_hash_ctx *ctx = crypto_ahash_ctx(crypto_ahash_reqtfm(req)); struct stm32_hash_dev *hdev = stm32_hash_find_dev(ctx); struct stm32_hash_request_ctx *rctx; @@ -854,9 +859,10 @@ static int stm32_hash_prepare_req(struct crypto_engine *engine, return stm32_hash_hw_init(hdev, rctx); } -static int stm32_hash_one_request(struct crypto_engine *engine, - struct ahash_request *req) +static int stm32_hash_one_request(struct crypto_engine *engine, void *areq) { + struct ahash_request *req = container_of(areq, struct ahash_request, + base); struct stm32_hash_ctx *ctx = crypto_ahash_ctx(crypto_ahash_reqtfm(req)); struct stm32_hash_dev *hdev = stm32_hash_find_dev(ctx); struct stm32_hash_request_ctx *rctx; @@ -1033,6 +1039,9 @@ static int stm32_hash_cra_init_algs(struct crypto_tfm *tfm, if (algs_hmac_name) ctx->flags |= HASH_FLAGS_HMAC; + ctx->enginectx.op.do_one_request = stm32_hash_one_request; + ctx->enginectx.op.prepare_request = stm32_hash_prepare_req; + ctx->enginectx.op.unprepare_request = NULL; return 0; } @@ -1493,9 +1502,6 @@ static int stm32_hash_probe(struct platform_device *pdev) goto err_engine; } - hdev->engine->prepare_hash_request = stm32_hash_prepare_req; - hdev->engine->hash_one_request = stm32_hash_one_request; - ret = crypto_engine_start(hdev->engine); if (ret) goto err_engine_start; From patchwork Fri Jan 26 19:15:34 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Corentin Labbe X-Patchwork-Id: 126015 Delivered-To: patch@linaro.org Received: by 10.46.84.92 with SMTP id y28csp554966ljd; Fri, 26 Jan 2018 11:18:26 -0800 (PST) X-Google-Smtp-Source: AH8x2240TGWg5NWSfYa2+Sz1h6ddr8cXoayuCm/3KjG9HcvUXCM2OTiYr1r/sl8nAiMsXCVQyHN4 X-Received: by 2002:a17:902:4:: with SMTP id 4-v6mr14927954pla.187.1516994306255; Fri, 26 Jan 2018 11:18:26 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516994306; cv=none; d=google.com; s=arc-20160816; b=QW6pQgMMbnc3Q9de81Nc/cd+fyPWtRED5EGcNRve7YtsAGQK507R/RwRtbjFGNpeEx mhU/wYlswRLH21FEqZd+R9QsfN32vTA7H1LoAKPGT0uFF9pYrnkdcyCbF1pGlCK+nukt jEG4Ic/f71d7VuDC72aLSHpi5ctQG5WLAb3R+ury+jOzu+uFNKUyqo9bBpozqS1OPYWR sfsk0BNoLvE1PiqjlKxFo1cPVp9K1zB66zzBr7mmYElFo3hbgA4D0rA9q5NmN00pBM1b K33+gLT1TzT9wg5aUfreeghuTifcjyQQg44nsrU1qq2W6+ISuToDkaMnkHeA8T9G3c0C /Gmg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=r5FWrkyrJlKIEkOcQZLwsxQRDTtDYOADnKX3ux5o8rE=; b=dH/s4WJdT7jX/y3YP2FPBFoP9CaWov2QXtgMWzx1c07iWn+sN3YvoYgGD8Xz66tMWE aPlwTiFHNZTUxid4TPKLdIJZQma7l01qW4CiyXEfEg+K5xvkn67uSs1fhKn5uA3JrXBG lMG0NV7PliYmLlqOZKRmTZwQn40SDVfGNfYN5Y351wXFDZu2DsyOpAZUSG+lmZjVfBxd WBud9QlZPuKyUVLXCbIaNOMCbSxevoMwV7A82c+j1bCDIqXS5q94wumt6Bra9mCeYTd5 g40x1ZtMiG7N84kMJFxCSFAfjxxkaytAg6kzMieU5CqtjkwNCtAsU1YGkVWzq3QGgGEg umew== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=LwjpSsiQ; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id i4-v6si4226586plk.771.2018.01.26.11.18.26; Fri, 26 Jan 2018 11:18:26 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=LwjpSsiQ; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752951AbeAZTSY (ORCPT + 26 others); Fri, 26 Jan 2018 14:18:24 -0500 Received: from mail-wm0-f68.google.com ([74.125.82.68]:34729 "EHLO mail-wm0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752822AbeAZTSS (ORCPT ); Fri, 26 Jan 2018 14:18:18 -0500 Received: by mail-wm0-f68.google.com with SMTP id j21so27873840wmh.1; Fri, 26 Jan 2018 11:18:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=r5FWrkyrJlKIEkOcQZLwsxQRDTtDYOADnKX3ux5o8rE=; b=LwjpSsiQb8oLwLRrSTFtej5tzRYADs76ct5sFgmmpW5qoZ1PU6kQko2E4RQnIIKPrH OCqdoTB7XxoaAKFb1VsifovdG7OdLCrqLz8fVSuG7I1iTA2ltw9i/2Ed58VYkUWr/4Uf iTBb/xs4wR4A0Z2BwzC8EhJkAlPQ9V5rLy2ecsuDLXg2Tk9VyGTQGEOUIWjUk4Mk16lu Q4CkwLQN/M4HL2kj6COwJOHw6lfSbr/rYHQVGfYjA1NitjteHvbOE/cUkULDCkbcad/a uyJf5ZaMbUfklSxE1MpAmP1YhekxLT3ZNvbe+7mpEq5hMXoY51TmIUtWdNlUWqoSTJhb KhQw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=r5FWrkyrJlKIEkOcQZLwsxQRDTtDYOADnKX3ux5o8rE=; b=fYR+wpNaAdVGm/j5syfuN0QIE6o7F4+uG//xQmaj7ToTTJypZIB4BVqvZKOvl/3CUu 2S7tX9nV7K6V2+K7VbWSJBiiZmlO3c8lXsDLJ5rvxjG4ixaGO8UeVQxm8xe0l2mzr9fF eATENVMvrFs1pYV/wvInnYrEbagq4sRvwg0A9mVe5+/Tj4+440nD92YxC01y5halEMmW ZPBP0/yXiEluoIRoAja13SFQBQ2WsOEeqVWt2z/C8K5efD+EizGYeOTytmMfJflsNDOE CbZr2HeLC00M0Y7hcI8cjVCessGTSbuF/nJTXtgYHkT8RNq1s2x6azjSLxmgSES0FCMY GsjA== X-Gm-Message-State: AKwxytcUGx9uWotM0sSWRxr8uDJgc9IzgqFjJqtRtjC3X7Ki9Injwl7u K8Sz5T184BmGpLRLoDu4tSr1uGxY X-Received: by 10.28.0.212 with SMTP id 203mr10638841wma.128.1516994296963; Fri, 26 Jan 2018 11:18:16 -0800 (PST) Received: from Red.local (LFbn-MAR-1-494-174.w2-15.abo.wanadoo.fr. [2.15.82.174]) by smtp.googlemail.com with ESMTPSA id k125sm7587510wmd.48.2018.01.26.11.18.13 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 26 Jan 2018 11:18:16 -0800 (PST) From: Corentin Labbe To: alexandre.torgue@st.com, arei.gonglei@huawei.com, corbet@lwn.net, davem@davemloft.net, herbert@gondor.apana.org.au, jasowang@redhat.com, mcoquelin.stm32@gmail.com, mst@redhat.com, fabien.dessenne@st.com Cc: linux-arm-kernel@lists.infradead.org, linux-crypto@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org, linux-sunxi@googlegroups.com, Corentin Labbe Subject: [PATCH v2 6/6] crypto: stm32-cryp: convert to the new crypto engine API Date: Fri, 26 Jan 2018 20:15:34 +0100 Message-Id: <20180126191534.17569-7-clabbe.montjoie@gmail.com> X-Mailer: git-send-email 2.13.6 In-Reply-To: <20180126191534.17569-1-clabbe.montjoie@gmail.com> References: <20180126191534.17569-1-clabbe.montjoie@gmail.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch convert the stm32-cryp driver to the new crypto engine API. Signed-off-by: Corentin Labbe Tested-by: Fabien Dessenne --- drivers/crypto/stm32/stm32-cryp.c | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) -- 2.13.6 diff --git a/drivers/crypto/stm32/stm32-cryp.c b/drivers/crypto/stm32/stm32-cryp.c index cf1dddbeaa2c..a816b2ffcaad 100644 --- a/drivers/crypto/stm32/stm32-cryp.c +++ b/drivers/crypto/stm32/stm32-cryp.c @@ -91,6 +91,7 @@ #define _walked_out (cryp->out_walk.offset - cryp->out_sg->offset) struct stm32_cryp_ctx { + struct crypto_engine_ctx enginectx; struct stm32_cryp *cryp; int keylen; u32 key[AES_KEYSIZE_256 / sizeof(u32)]; @@ -478,7 +479,7 @@ static void stm32_cryp_finish_req(struct stm32_cryp *cryp) free_pages((unsigned long)buf_out, pages); } - crypto_finalize_cipher_request(cryp->engine, cryp->req, err); + crypto_finalize_ablkcipher_request(cryp->engine, cryp->req, err); cryp->req = NULL; memset(cryp->ctx->key, 0, cryp->ctx->keylen); @@ -494,10 +495,19 @@ static int stm32_cryp_cpu_start(struct stm32_cryp *cryp) return 0; } +static int stm32_cryp_cipher_one_req(struct crypto_engine *engine, void *areq); +static int stm32_cryp_prepare_cipher_req(struct crypto_engine *engine, + void *areq); + static int stm32_cryp_cra_init(struct crypto_tfm *tfm) { + struct stm32_cryp_ctx *ctx = crypto_tfm_ctx(tfm); + tfm->crt_ablkcipher.reqsize = sizeof(struct stm32_cryp_reqctx); + ctx->enginectx.op.do_one_request = stm32_cryp_cipher_one_req; + ctx->enginectx.op.prepare_request = stm32_cryp_prepare_cipher_req; + ctx->enginectx.op.unprepare_request = NULL; return 0; } @@ -513,7 +523,7 @@ static int stm32_cryp_crypt(struct ablkcipher_request *req, unsigned long mode) rctx->mode = mode; - return crypto_transfer_cipher_request_to_engine(cryp->engine, req); + return crypto_transfer_ablkcipher_request_to_engine(cryp->engine, req); } static int stm32_cryp_setkey(struct crypto_ablkcipher *tfm, const u8 *key, @@ -695,14 +705,20 @@ static int stm32_cryp_prepare_req(struct crypto_engine *engine, } static int stm32_cryp_prepare_cipher_req(struct crypto_engine *engine, - struct ablkcipher_request *req) + void *areq) { + struct ablkcipher_request *req = container_of(areq, + struct ablkcipher_request, + base); + return stm32_cryp_prepare_req(engine, req); } -static int stm32_cryp_cipher_one_req(struct crypto_engine *engine, - struct ablkcipher_request *req) +static int stm32_cryp_cipher_one_req(struct crypto_engine *engine, void *areq) { + struct ablkcipher_request *req = container_of(areq, + struct ablkcipher_request, + base); struct stm32_cryp_ctx *ctx = crypto_ablkcipher_ctx( crypto_ablkcipher_reqtfm(req)); struct stm32_cryp *cryp = ctx->cryp; @@ -1104,9 +1120,6 @@ static int stm32_cryp_probe(struct platform_device *pdev) goto err_engine1; } - cryp->engine->prepare_cipher_request = stm32_cryp_prepare_cipher_req; - cryp->engine->cipher_one_request = stm32_cryp_cipher_one_req; - ret = crypto_engine_start(cryp->engine); if (ret) { dev_err(dev, "Could not start crypto engine\n");