diff options
author | Christian Lamparter <chunkeey@gmail.com> | 2018-04-28 22:08:09 +0200 |
---|---|---|
committer | John Crispin <john@phrozen.org> | 2018-05-18 09:14:09 +0200 |
commit | 16e39624b728264bd4759580f6292bffefcae466 (patch) | |
tree | 1023cbd038a9f71d8b9be71b3ac6411e714313d2 /target/linux/apm821xx/patches-4.14/120-0001-crypto-crypto4xx-shuffle-iomap-in-front-of-request_i.patch | |
parent | e6e51ce87fac2d6b9d082336f8d767f12154d79b (diff) | |
download | upstream-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.patch | 71 |
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); |