linux/drivers/crypto
Romain Perier 85030c5168 crypto: marvell - Add support for chaining crypto requests in TDMA mode
The Cryptographic Engines and Security Accelerators (CESA) supports the
Multi-Packet Chain Mode. With this mode enabled, multiple tdma requests
can be chained and processed by the hardware without software
intervention. This mode was already activated, however the crypto
requests were not chained together. By doing so, we reduce significantly
the number of IRQs. Instead of being interrupted at the end of each
crypto request, we are interrupted at the end of the last cryptographic
request processed by the engine.

This commits re-factorizes the code, changes the code architecture and
adds the required data structures to chain cryptographic requests
together before sending them to an engine (stopped or possibly already
running).

Signed-off-by: Romain Perier <romain.perier@free-electrons.com>
Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2016-06-23 18:29:51 +08:00
..
amcc crypto4xx: integrate ppc4xx-rng into crypto4xx 2016-04-20 17:50:02 +08:00
caam crypto: caam - replace deprecated EXTRA_CFLAGS 2016-06-20 19:25:00 +08:00
ccp crypto: ccp - Fix AES XTS error for request sizes above 4096 2016-05-25 18:33:47 +08:00
marvell crypto: marvell - Add support for chaining crypto requests in TDMA mode 2016-06-23 18:29:51 +08:00
nx Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2016-03-17 21:38:27 -07:00
qat crypto: qat - Remove deprecated create_workqueue 2016-06-13 17:47:48 +08:00
qce crypto: qce - check return value of sg_nents_for_len 2015-11-17 22:00:36 +08:00
rockchip crypto: rockchip - add hash support for crypto engine in rk3288 2016-02-28 03:26:29 +08:00
sunxi-ss crypto: sun4i-ss - Replace spinlock_bh by spin_lock_irq{save|restore} 2016-04-05 20:35:53 +08:00
ux500 crypto: ux500 - fix checks of error code returned by devm_ioremap_resource() 2016-03-11 21:19:20 +08:00
vmx crypto: vmx - comply with ABIs that specify vrsave as reserved. 2016-05-10 17:49:21 +08:00
atmel-aes-regs.h crypto: atmel-aes - add support to GCM mode 2015-12-23 18:19:58 +08:00
atmel-aes.c Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2016-03-17 11:22:54 -07:00
atmel-sha-regs.h crypto: atmel-sha - fix context switches 2016-01-25 22:42:07 +08:00
atmel-sha.c Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2016-03-17 11:22:54 -07:00
atmel-tdes-regs.h crypto: atmel-tdes - add support for latest release of the IP (0x700) 2013-03-10 16:46:42 +08:00
atmel-tdes.c crypto: atmel - fix checks of error code returned by devm_ioremap_resource() 2016-03-11 21:19:19 +08:00
bfin_crc.c crypto: bfin_crc - replace sg_count by sg_nents 2015-09-21 23:05:53 +08:00
bfin_crc.h crypto: bfin_crc - access crc registers by readl and writel functions 2014-04-16 20:40:15 +08:00
geode-aes.c crypto: geode - Don't use tfm->__crt_alg->cra_name directly 2014-05-22 21:03:13 +08:00
geode-aes.h crypto: geode - Consistently use AES_KEYSIZE_128 2014-05-22 21:03:12 +08:00
hifn_795x.c crypto: hifn_795x, picoxcell - use ablkcipher_request_cast 2015-12-29 21:32:44 +08:00
img-hash.c crypto: img-hash - fix spelling mistake in dev_err error message 2015-08-04 17:41:31 +08:00
ixp4xx_crypto.c crypto: ixp4xx - Fix false lastlen uninitialised warning 2016-01-25 22:42:09 +08:00
Kconfig crypto: omap-des - Integrate with the crypto engine framework 2016-05-03 16:08:48 +08:00
Makefile crypto: mxc-scc - add basic driver for the MXC SCC 2016-04-15 22:36:35 +08:00
mv_cesa.c crypto: marvell/cesa - another fix up for of_get_named_gen_pool() rename 2015-07-03 11:37:02 -07:00
mv_cesa.h crypto: mv_cesa - Add missing #define 2014-08-29 21:46:36 +08:00
mxc-scc.c crypto: mxc-scc - fix unwinding in mxc_scc_crypto_register() 2016-04-25 19:14:53 +08:00
mxs-dcp.c crypto: mxs-dcp - fix type of ret for wait_for_completion_timeout 2015-02-28 23:31:36 +13:00
n2_asm.S
n2_core.c crypto: n2 - Remove return statement from void function 2016-04-05 20:35:44 +08:00
n2_core.h
omap-aes.c crypto: omap-aes - Fix registration of algorithms 2016-06-07 18:41:52 +08:00
omap-des.c crypto: omap-des - Use dma_request_chan() for requesting DMA channel 2016-05-03 16:09:14 +08:00
omap-sham.c crypto: omap-sham - potential Oops on error in probe 2016-05-19 18:03:00 +08:00
padlock-aes.c Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2016-01-12 18:51:14 -08:00
padlock-sha.c x86/cpufeature: Remove unused and seldomly used cpu_has_xx macros 2015-12-19 11:49:55 +01:00
picoxcell_crypto_regs.h crypto: picoxcell - add support for the picoxcell crypto engines 2011-02-21 22:42:40 +11:00
picoxcell_crypto.c crypto: hifn_795x, picoxcell - use ablkcipher_request_cast 2015-12-29 21:32:44 +08:00
s5p-sss.c crypto: s5p-sss - Use consistent indentation for variables and members 2016-05-31 17:52:30 +08:00
sahara.c crypto: sahara - fill the statesize field 2016-02-06 15:33:29 +08:00
talitos.c crypto: talitos - templates for AEAD using HMAC_SNOOP_NO_AFEU 2016-06-08 16:20:04 +08:00
talitos.h crypto: talitos - add new crypto modes 2015-12-04 22:29:56 +08:00