780477d17c
This patch backports changes to crypto4xx in order to get the crypto4xx operational. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
120 lines
3.7 KiB
Diff
120 lines
3.7 KiB
Diff
From 81065f66dd99b3af58626a914b8c0fcff6b8b0ba Mon Sep 17 00:00:00 2001
|
|
From: Christian Lamparter <chunkeey@googlemail.com>
|
|
Date: Fri, 25 Aug 2017 15:47:15 +0200
|
|
Subject: [PATCH 02/25] crypto: crypto4xx - remove unused definitions and
|
|
write-only variables
|
|
|
|
This patch removes several unused code and definitons
|
|
(structs, variables, ...).
|
|
|
|
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
|
|
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
|
---
|
|
drivers/crypto/amcc/crypto4xx_alg.c | 6 ------
|
|
drivers/crypto/amcc/crypto4xx_core.c | 2 +-
|
|
drivers/crypto/amcc/crypto4xx_core.h | 16 ----------------
|
|
3 files changed, 1 insertion(+), 23 deletions(-)
|
|
|
|
--- a/drivers/crypto/amcc/crypto4xx_alg.c
|
|
+++ b/drivers/crypto/amcc/crypto4xx_alg.c
|
|
@@ -75,7 +75,6 @@ int crypto4xx_encrypt(struct ablkcipher_
|
|
struct crypto4xx_ctx *ctx = crypto_tfm_ctx(req->base.tfm);
|
|
|
|
ctx->direction = DIR_OUTBOUND;
|
|
- ctx->hash_final = 0;
|
|
ctx->is_hash = 0;
|
|
ctx->pd_ctl = 0x1;
|
|
|
|
@@ -89,7 +88,6 @@ int crypto4xx_decrypt(struct ablkcipher_
|
|
struct crypto4xx_ctx *ctx = crypto_tfm_ctx(req->base.tfm);
|
|
|
|
ctx->direction = DIR_INBOUND;
|
|
- ctx->hash_final = 0;
|
|
ctx->is_hash = 0;
|
|
ctx->pd_ctl = 1;
|
|
|
|
@@ -136,7 +134,6 @@ static int crypto4xx_setkey_aes(struct c
|
|
}
|
|
/* Setup SA */
|
|
sa = (struct dynamic_sa_ctl *) ctx->sa_in;
|
|
- ctx->hash_final = 0;
|
|
|
|
set_dynamic_sa_command_0(sa, SA_NOT_SAVE_HASH, SA_NOT_SAVE_IV,
|
|
SA_LOAD_HASH_FROM_SA, SA_LOAD_IV_FROM_STATE,
|
|
@@ -191,7 +188,6 @@ static int crypto4xx_hash_alg_init(struc
|
|
|
|
ctx->dev = my_alg->dev;
|
|
ctx->is_hash = 1;
|
|
- ctx->hash_final = 0;
|
|
|
|
/* Create SA */
|
|
if (ctx->sa_in_dma_addr || ctx->sa_out_dma_addr)
|
|
@@ -256,7 +252,6 @@ int crypto4xx_hash_update(struct ahash_r
|
|
struct crypto4xx_ctx *ctx = crypto_tfm_ctx(req->base.tfm);
|
|
|
|
ctx->is_hash = 1;
|
|
- ctx->hash_final = 0;
|
|
ctx->pd_ctl = 0x11;
|
|
ctx->direction = DIR_INBOUND;
|
|
|
|
@@ -274,7 +269,6 @@ int crypto4xx_hash_digest(struct ahash_r
|
|
{
|
|
struct crypto4xx_ctx *ctx = crypto_tfm_ctx(req->base.tfm);
|
|
|
|
- ctx->hash_final = 1;
|
|
ctx->pd_ctl = 0x11;
|
|
ctx->direction = DIR_INBOUND;
|
|
|
|
--- a/drivers/crypto/amcc/crypto4xx_core.c
|
|
+++ b/drivers/crypto/amcc/crypto4xx_core.c
|
|
@@ -962,7 +962,7 @@ u32 crypto4xx_build_pd(struct crypto_asy
|
|
|
|
sa->sa_command_1.bf.hash_crypto_offset = 0;
|
|
pd->pd_ctl.w = ctx->pd_ctl;
|
|
- pd->pd_ctl_len.w = 0x00400000 | (ctx->bypass << 24) | datalen;
|
|
+ pd->pd_ctl_len.w = 0x00400000 | datalen;
|
|
pd_uinfo->state = PD_ENTRY_INUSE;
|
|
wmb();
|
|
/* write any value to push engine to read a pd */
|
|
--- a/drivers/crypto/amcc/crypto4xx_core.h
|
|
+++ b/drivers/crypto/amcc/crypto4xx_core.h
|
|
@@ -72,7 +72,6 @@ struct pd_uinfo {
|
|
struct crypto4xx_device {
|
|
struct crypto4xx_core_device *core_dev;
|
|
char *name;
|
|
- u64 ce_phy_address;
|
|
void __iomem *ce_base;
|
|
void __iomem *trng_base;
|
|
|
|
@@ -127,21 +126,9 @@ struct crypto4xx_ctx {
|
|
u32 sa_len;
|
|
u32 offset_to_sr_ptr; /* offset to state ptr, in dynamic sa */
|
|
u32 direction;
|
|
- u32 next_hdr;
|
|
u32 save_iv;
|
|
- u32 pd_ctl_len;
|
|
u32 pd_ctl;
|
|
- u32 bypass;
|
|
u32 is_hash;
|
|
- u32 hash_final;
|
|
-};
|
|
-
|
|
-struct crypto4xx_req_ctx {
|
|
- struct crypto4xx_device *dev; /* Device in which
|
|
- operation to send to */
|
|
- void *sa;
|
|
- u32 sa_dma_addr;
|
|
- u16 sa_len;
|
|
};
|
|
|
|
struct crypto4xx_alg_common {
|
|
@@ -172,9 +159,6 @@ static inline struct crypto4xx_alg *cryp
|
|
|
|
extern int crypto4xx_alloc_sa(struct crypto4xx_ctx *ctx, u32 size);
|
|
extern void crypto4xx_free_sa(struct crypto4xx_ctx *ctx);
|
|
-extern u32 crypto4xx_alloc_sa_rctx(struct crypto4xx_ctx *ctx,
|
|
- struct crypto4xx_ctx *rctx);
|
|
-extern void crypto4xx_free_sa_rctx(struct crypto4xx_ctx *rctx);
|
|
extern void crypto4xx_free_ctx(struct crypto4xx_ctx *ctx);
|
|
extern u32 crypto4xx_alloc_state_record(struct crypto4xx_ctx *ctx);
|
|
extern u32 get_dynamic_sa_offset_state_ptr_field(struct crypto4xx_ctx *ctx);
|