aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/apm821xx/patches-4.19/023-0012-crypto-crypto4xx-get-rid-of-redundant-using_sd-varia.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/apm821xx/patches-4.19/023-0012-crypto-crypto4xx-get-rid-of-redundant-using_sd-varia.patch')
-rw-r--r--target/linux/apm821xx/patches-4.19/023-0012-crypto-crypto4xx-get-rid-of-redundant-using_sd-varia.patch63
1 files changed, 63 insertions, 0 deletions
diff --git a/target/linux/apm821xx/patches-4.19/023-0012-crypto-crypto4xx-get-rid-of-redundant-using_sd-varia.patch b/target/linux/apm821xx/patches-4.19/023-0012-crypto-crypto4xx-get-rid-of-redundant-using_sd-varia.patch
new file mode 100644
index 0000000000..4b246a793d
--- /dev/null
+++ b/target/linux/apm821xx/patches-4.19/023-0012-crypto-crypto4xx-get-rid-of-redundant-using_sd-varia.patch
@@ -0,0 +1,63 @@
+From 38cf5533d7a876f75088bacc1277046f30005f28 Mon Sep 17 00:00:00 2001
+From: Christian Lamparter <chunkeey@gmail.com>
+Date: Mon, 22 Apr 2019 13:26:01 +0200
+Subject: [PATCH 12/15] crypto: crypto4xx - get rid of redundant using_sd
+ variable
+
+using_sd is used as a stand-in for sa_command_0.bf.scatter
+that we need to set anyway, so we might as well just prevent
+double-accounting.
+
+Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
+Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
+---
+ drivers/crypto/amcc/crypto4xx_core.c | 6 ++----
+ drivers/crypto/amcc/crypto4xx_core.h | 1 -
+ 2 files changed, 2 insertions(+), 5 deletions(-)
+
+--- a/drivers/crypto/amcc/crypto4xx_core.c
++++ b/drivers/crypto/amcc/crypto4xx_core.c
+@@ -539,7 +539,7 @@ static void crypto4xx_cipher_done(struct
+
+ req = skcipher_request_cast(pd_uinfo->async_req);
+
+- if (pd_uinfo->using_sd) {
++ if (pd_uinfo->sa_va->sa_command_0.bf.scatter) {
+ crypto4xx_copy_pkt_to_dst(dev, pd, pd_uinfo,
+ req->cryptlen, req->dst);
+ } else {
+@@ -593,7 +593,7 @@ static void crypto4xx_aead_done(struct c
+ u32 icv[AES_BLOCK_SIZE];
+ int err = 0;
+
+- if (pd_uinfo->using_sd) {
++ if (pd_uinfo->sa_va->sa_command_0.bf.scatter) {
+ crypto4xx_copy_pkt_to_dst(dev, pd, pd_uinfo,
+ pd->pd_ctl_len.bf.pkt_len,
+ dst);
+@@ -887,7 +887,6 @@ int crypto4xx_build_pd(struct crypto_asy
+ * we know application give us dst a whole piece of memory
+ * no need to use scatter ring.
+ */
+- pd_uinfo->using_sd = 0;
+ pd_uinfo->first_sd = 0xffffffff;
+ sa->sa_command_0.bf.scatter = 0;
+ pd->dest = (u32)dma_map_page(dev->core_dev->device,
+@@ -901,7 +900,6 @@ int crypto4xx_build_pd(struct crypto_asy
+ u32 sd_idx = fst_sd;
+ nbytes = datalen;
+ sa->sa_command_0.bf.scatter = 1;
+- pd_uinfo->using_sd = 1;
+ pd_uinfo->first_sd = fst_sd;
+ sd = crypto4xx_get_sdp(dev, &sd_dma, sd_idx);
+ pd->dest = sd_dma;
+--- a/drivers/crypto/amcc/crypto4xx_core.h
++++ b/drivers/crypto/amcc/crypto4xx_core.h
+@@ -64,7 +64,6 @@ union shadow_sa_buf {
+ struct pd_uinfo {
+ struct crypto4xx_device *dev;
+ u32 state;
+- u32 using_sd;
+ u32 first_gd; /* first gather discriptor
+ used by this packet */
+ u32 num_gd; /* number of gather discriptor