aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/apm821xx/patches-4.14/120-0001-crypto-crypto4xx-shuffle-iomap-in-front-of-request_i.patch
diff options
context:
space:
mode:
authorChristian Lamparter <chunkeey@gmail.com>2018-04-28 22:08:09 +0200
committerJohn Crispin <john@phrozen.org>2018-05-18 09:14:09 +0200
commit16e39624b728264bd4759580f6292bffefcae466 (patch)
tree1023cbd038a9f71d8b9be71b3ac6411e714313d2 /target/linux/apm821xx/patches-4.14/120-0001-crypto-crypto4xx-shuffle-iomap-in-front-of-request_i.patch
parente6e51ce87fac2d6b9d082336f8d767f12154d79b (diff)
downloadupstream-16e39624b728264bd4759580f6292bffefcae466.tar.gz
upstream-16e39624b728264bd4759580f6292bffefcae466.tar.bz2
upstream-16e39624b728264bd4759580f6292bffefcae466.zip
apm821xx: backport and reassign crypto4xx patches
This patch backports several patches that went upstream into Herbert Xu's cryptodev-2.6 tree: crypto: Use zeroing memory allocator instead of allocator/memset crypto: crypto4xx - performance optimizations crypto: crypto4xx - convert to skcipher crypto: crypto4xx - avoid VLA use crypto: crypto4xx - add aes-ctr support crypto: crypto4xx - properly set IV after de- and encrypt crypto: crypto4xx - extend aead fallback checks crypto: crypto4xx - put temporary dst sg into request ctx The older, outstanding patches from 120-wxyz series have been upstreamed as well and therefore they have been reassigned to fit into the series. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Diffstat (limited to 'target/linux/apm821xx/patches-4.14/120-0001-crypto-crypto4xx-shuffle-iomap-in-front-of-request_i.patch')
-rw-r--r--target/linux/apm821xx/patches-4.14/120-0001-crypto-crypto4xx-shuffle-iomap-in-front-of-request_i.patch71
1 files changed, 0 insertions, 71 deletions
diff --git a/target/linux/apm821xx/patches-4.14/120-0001-crypto-crypto4xx-shuffle-iomap-in-front-of-request_i.patch b/target/linux/apm821xx/patches-4.14/120-0001-crypto-crypto4xx-shuffle-iomap-in-front-of-request_i.patch
deleted file mode 100644
index fc8df38867..0000000000
--- a/target/linux/apm821xx/patches-4.14/120-0001-crypto-crypto4xx-shuffle-iomap-in-front-of-request_i.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From 4baa099377d73ea99c7802a9685815b32e8bf119 Mon Sep 17 00:00:00 2001
-From: Christian Lamparter <chunkeey@gmail.com>
-Date: Thu, 21 Dec 2017 15:08:18 +0100
-Subject: [PATCH 1/6] crypto: crypto4xx - shuffle iomap in front of request_irq
-
-It is possible to avoid the ce_base null pointer check in the
-drivers' interrupt handler routine "crypto4xx_ce_interrupt_handler()"
-by simply doing the iomap in front of the IRQ registration.
-
-This way, the ce_base will always be valid in the handler and
-a branch in an critical path can be avoided.
-
-Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
----
- drivers/crypto/amcc/crypto4xx_core.c | 21 +++++++++------------
- 1 file changed, 9 insertions(+), 12 deletions(-)
-
---- a/drivers/crypto/amcc/crypto4xx_core.c
-+++ b/drivers/crypto/amcc/crypto4xx_core.c
-@@ -1075,9 +1075,6 @@ static irqreturn_t crypto4xx_ce_interrup
- struct device *dev = (struct device *)data;
- struct crypto4xx_core_device *core_dev = dev_get_drvdata(dev);
-
-- if (!core_dev->dev->ce_base)
-- return 0;
--
- writel(PPC4XX_INTERRUPT_CLR,
- core_dev->dev->ce_base + CRYPTO4XX_INT_CLR);
- tasklet_schedule(&core_dev->tasklet);
-@@ -1325,13 +1322,6 @@ static int crypto4xx_probe(struct platfo
- tasklet_init(&core_dev->tasklet, crypto4xx_bh_tasklet_cb,
- (unsigned long) dev);
-
-- /* Register for Crypto isr, Crypto Engine IRQ */
-- core_dev->irq = irq_of_parse_and_map(ofdev->dev.of_node, 0);
-- rc = request_irq(core_dev->irq, crypto4xx_ce_interrupt_handler, 0,
-- core_dev->dev->name, dev);
-- if (rc)
-- goto err_request_irq;
--
- core_dev->dev->ce_base = of_iomap(ofdev->dev.of_node, 0);
- if (!core_dev->dev->ce_base) {
- dev_err(dev, "failed to of_iomap\n");
-@@ -1339,6 +1329,13 @@ static int crypto4xx_probe(struct platfo
- goto err_iomap;
- }
-
-+ /* Register for Crypto isr, Crypto Engine IRQ */
-+ core_dev->irq = irq_of_parse_and_map(ofdev->dev.of_node, 0);
-+ rc = request_irq(core_dev->irq, crypto4xx_ce_interrupt_handler, 0,
-+ core_dev->dev->name, dev);
-+ if (rc)
-+ goto err_request_irq;
-+
- /* need to setup pdr, rdr, gdr and sdr before this */
- crypto4xx_hw_init(core_dev->dev);
-
-@@ -1352,11 +1349,11 @@ static int crypto4xx_probe(struct platfo
- return 0;
-
- err_start_dev:
-- iounmap(core_dev->dev->ce_base);
--err_iomap:
- free_irq(core_dev->irq, dev);
- err_request_irq:
- irq_dispose_mapping(core_dev->irq);
-+ iounmap(core_dev->dev->ce_base);
-+err_iomap:
- tasklet_kill(&core_dev->tasklet);
- err_build_sdr:
- crypto4xx_destroy_sdr(core_dev->dev);