mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-16 04:13:31 +00:00
181 lines
6.1 KiB
Diff
181 lines
6.1 KiB
Diff
From d294827ca9bf9c9a893ea0b70f5cec93a3248706 Mon Sep 17 00:00:00 2001
|
|
From: Corentin Labbe <clabbe@baylibre.com>
|
|
Date: Tue, 27 Sep 2022 07:54:59 +0000
|
|
Subject: [PATCH 37/49] crypto: rockchip: rework rk_handle_req function
|
|
|
|
This patch rework the rk_handle_req(), simply removing the
|
|
rk_crypto_info parameter.
|
|
|
|
Reviewed-by: John Keeping <john@metanate.com>
|
|
Signed-off-by: Corentin Labbe <clabbe@baylibre.com>
|
|
---
|
|
.../crypto/rockchip/rk3288_crypto_skcipher.c | 68 +++++--------------
|
|
1 file changed, 17 insertions(+), 51 deletions(-)
|
|
|
|
--- a/drivers/crypto/rockchip/rk3288_crypto_skcipher.c
|
|
+++ b/drivers/crypto/rockchip/rk3288_crypto_skcipher.c
|
|
@@ -82,10 +82,12 @@ static int rk_cipher_fallback(struct skc
|
|
return err;
|
|
}
|
|
|
|
-static int rk_handle_req(struct rk_crypto_info *dev,
|
|
- struct skcipher_request *req)
|
|
+static int rk_cipher_handle_req(struct skcipher_request *req)
|
|
{
|
|
- struct crypto_engine *engine = dev->engine;
|
|
+ struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req);
|
|
+ struct rk_cipher_ctx *tctx = crypto_skcipher_ctx(tfm);
|
|
+ struct rk_crypto_info *rkc = tctx->dev;
|
|
+ struct crypto_engine *engine = rkc->engine;
|
|
|
|
if (rk_cipher_need_fallback(req))
|
|
return rk_cipher_fallback(req);
|
|
@@ -142,135 +144,99 @@ static int rk_tdes_setkey(struct crypto_
|
|
|
|
static int rk_aes_ecb_encrypt(struct skcipher_request *req)
|
|
{
|
|
- struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req);
|
|
- struct rk_cipher_ctx *ctx = crypto_skcipher_ctx(tfm);
|
|
struct rk_cipher_rctx *rctx = skcipher_request_ctx(req);
|
|
- struct rk_crypto_info *dev = ctx->dev;
|
|
|
|
rctx->mode = RK_CRYPTO_AES_ECB_MODE;
|
|
- return rk_handle_req(dev, req);
|
|
+ return rk_cipher_handle_req(req);
|
|
}
|
|
|
|
static int rk_aes_ecb_decrypt(struct skcipher_request *req)
|
|
{
|
|
- struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req);
|
|
- struct rk_cipher_ctx *ctx = crypto_skcipher_ctx(tfm);
|
|
struct rk_cipher_rctx *rctx = skcipher_request_ctx(req);
|
|
- struct rk_crypto_info *dev = ctx->dev;
|
|
|
|
rctx->mode = RK_CRYPTO_AES_ECB_MODE | RK_CRYPTO_DEC;
|
|
- return rk_handle_req(dev, req);
|
|
+ return rk_cipher_handle_req(req);
|
|
}
|
|
|
|
static int rk_aes_cbc_encrypt(struct skcipher_request *req)
|
|
{
|
|
- struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req);
|
|
- struct rk_cipher_ctx *ctx = crypto_skcipher_ctx(tfm);
|
|
struct rk_cipher_rctx *rctx = skcipher_request_ctx(req);
|
|
- struct rk_crypto_info *dev = ctx->dev;
|
|
|
|
rctx->mode = RK_CRYPTO_AES_CBC_MODE;
|
|
- return rk_handle_req(dev, req);
|
|
+ return rk_cipher_handle_req(req);
|
|
}
|
|
|
|
static int rk_aes_cbc_decrypt(struct skcipher_request *req)
|
|
{
|
|
- struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req);
|
|
- struct rk_cipher_ctx *ctx = crypto_skcipher_ctx(tfm);
|
|
struct rk_cipher_rctx *rctx = skcipher_request_ctx(req);
|
|
- struct rk_crypto_info *dev = ctx->dev;
|
|
|
|
rctx->mode = RK_CRYPTO_AES_CBC_MODE | RK_CRYPTO_DEC;
|
|
- return rk_handle_req(dev, req);
|
|
+ return rk_cipher_handle_req(req);
|
|
}
|
|
|
|
static int rk_des_ecb_encrypt(struct skcipher_request *req)
|
|
{
|
|
- struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req);
|
|
- struct rk_cipher_ctx *ctx = crypto_skcipher_ctx(tfm);
|
|
struct rk_cipher_rctx *rctx = skcipher_request_ctx(req);
|
|
- struct rk_crypto_info *dev = ctx->dev;
|
|
|
|
rctx->mode = 0;
|
|
- return rk_handle_req(dev, req);
|
|
+ return rk_cipher_handle_req(req);
|
|
}
|
|
|
|
static int rk_des_ecb_decrypt(struct skcipher_request *req)
|
|
{
|
|
- struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req);
|
|
- struct rk_cipher_ctx *ctx = crypto_skcipher_ctx(tfm);
|
|
struct rk_cipher_rctx *rctx = skcipher_request_ctx(req);
|
|
- struct rk_crypto_info *dev = ctx->dev;
|
|
|
|
rctx->mode = RK_CRYPTO_DEC;
|
|
- return rk_handle_req(dev, req);
|
|
+ return rk_cipher_handle_req(req);
|
|
}
|
|
|
|
static int rk_des_cbc_encrypt(struct skcipher_request *req)
|
|
{
|
|
- struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req);
|
|
- struct rk_cipher_ctx *ctx = crypto_skcipher_ctx(tfm);
|
|
struct rk_cipher_rctx *rctx = skcipher_request_ctx(req);
|
|
- struct rk_crypto_info *dev = ctx->dev;
|
|
|
|
rctx->mode = RK_CRYPTO_TDES_CHAINMODE_CBC;
|
|
- return rk_handle_req(dev, req);
|
|
+ return rk_cipher_handle_req(req);
|
|
}
|
|
|
|
static int rk_des_cbc_decrypt(struct skcipher_request *req)
|
|
{
|
|
- struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req);
|
|
- struct rk_cipher_ctx *ctx = crypto_skcipher_ctx(tfm);
|
|
struct rk_cipher_rctx *rctx = skcipher_request_ctx(req);
|
|
- struct rk_crypto_info *dev = ctx->dev;
|
|
|
|
rctx->mode = RK_CRYPTO_TDES_CHAINMODE_CBC | RK_CRYPTO_DEC;
|
|
- return rk_handle_req(dev, req);
|
|
+ return rk_cipher_handle_req(req);
|
|
}
|
|
|
|
static int rk_des3_ede_ecb_encrypt(struct skcipher_request *req)
|
|
{
|
|
- struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req);
|
|
- struct rk_cipher_ctx *ctx = crypto_skcipher_ctx(tfm);
|
|
struct rk_cipher_rctx *rctx = skcipher_request_ctx(req);
|
|
- struct rk_crypto_info *dev = ctx->dev;
|
|
|
|
rctx->mode = RK_CRYPTO_TDES_SELECT;
|
|
- return rk_handle_req(dev, req);
|
|
+ return rk_cipher_handle_req(req);
|
|
}
|
|
|
|
static int rk_des3_ede_ecb_decrypt(struct skcipher_request *req)
|
|
{
|
|
- struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req);
|
|
- struct rk_cipher_ctx *ctx = crypto_skcipher_ctx(tfm);
|
|
struct rk_cipher_rctx *rctx = skcipher_request_ctx(req);
|
|
- struct rk_crypto_info *dev = ctx->dev;
|
|
|
|
rctx->mode = RK_CRYPTO_TDES_SELECT | RK_CRYPTO_DEC;
|
|
- return rk_handle_req(dev, req);
|
|
+ return rk_cipher_handle_req(req);
|
|
}
|
|
|
|
static int rk_des3_ede_cbc_encrypt(struct skcipher_request *req)
|
|
{
|
|
- struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req);
|
|
- struct rk_cipher_ctx *ctx = crypto_skcipher_ctx(tfm);
|
|
struct rk_cipher_rctx *rctx = skcipher_request_ctx(req);
|
|
- struct rk_crypto_info *dev = ctx->dev;
|
|
|
|
rctx->mode = RK_CRYPTO_TDES_SELECT | RK_CRYPTO_TDES_CHAINMODE_CBC;
|
|
- return rk_handle_req(dev, req);
|
|
+ return rk_cipher_handle_req(req);
|
|
}
|
|
|
|
static int rk_des3_ede_cbc_decrypt(struct skcipher_request *req)
|
|
{
|
|
- struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req);
|
|
- struct rk_cipher_ctx *ctx = crypto_skcipher_ctx(tfm);
|
|
struct rk_cipher_rctx *rctx = skcipher_request_ctx(req);
|
|
- struct rk_crypto_info *dev = ctx->dev;
|
|
|
|
rctx->mode = RK_CRYPTO_TDES_SELECT | RK_CRYPTO_TDES_CHAINMODE_CBC |
|
|
RK_CRYPTO_DEC;
|
|
- return rk_handle_req(dev, req);
|
|
+ return rk_cipher_handle_req(req);
|
|
}
|
|
|
|
static void rk_cipher_hw_init(struct rk_crypto_info *dev, struct skcipher_request *req)
|