linux/drivers/crypto
Vakul Garg 16c4dd83a1 crypto: caam/jr - optimize job ring enqueue and dequeue operations
Instead of reading job ring's occupancy registers for every req/rsp
enqueued/dequeued respectively, we read these registers once and store
them in memory. After completing a job enqueue/dequeue, we decrement
these values. When these values become zero, we refresh the snapshot of
job ring's occupancy registers. This eliminates need of expensive device
register read operations for every job enqueued and dequeued and hence
makes caam_jr_enqueue() and caam_jr_dequeue() faster. The performance of
kernel ipsec improved by about 6% on ls1028 (for frame size 408 bytes).

Signed-off-by: Vakul Garg <vakul.garg@nxp.com>
Reviewed-by: Horia Geantă <horia.geanta@nxp.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2019-03-22 20:57:26 +08:00
..
amcc Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2019-03-05 09:09:55 -08:00
axis crypto: axis - move request unmap outside of the queue lock 2019-02-01 14:42:04 +08:00
bcm crypto: export arc4 defines 2019-02-15 13:21:55 +08:00
caam crypto: caam/jr - optimize job ring enqueue and dequeue operations 2019-03-22 20:57:26 +08:00
cavium Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2019-03-05 09:09:55 -08:00
ccp Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2019-03-05 09:09:55 -08:00
ccree Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2019-03-05 09:09:55 -08:00
chelsio Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2019-03-05 09:09:55 -08:00
hisilicon cross-tree: phase out dma_zalloc_coherent() 2019-01-08 07:58:37 -05:00
inside-secure crypto: clarify name of WEAK_KEY request flag 2019-01-25 18:41:52 +08:00
marvell crypto: marvell - Remove set but not used variable 'ivsize' 2019-02-28 14:17:58 +08:00
mediatek cross-tree: phase out dma_zalloc_coherent() 2019-01-08 07:58:37 -05:00
nx crypto: skcipher - remove remnants of internal IV generators 2018-12-23 11:52:45 +08:00
qat Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2019-03-05 09:09:55 -08:00
qce crypto: clarify name of WEAK_KEY request flag 2019-01-25 18:41:52 +08:00
rockchip crypto: rockchip - update new iv to device in multiple operations 2019-02-22 12:47:26 +08:00
stm32 crypto: stm32 - drop pointless static qualifier in stm32_hash_remove() 2019-02-28 14:17:58 +08:00
sunxi-ss crypto: clarify name of WEAK_KEY request flag 2019-01-25 18:41:52 +08:00
ux500 crypto: clarify name of WEAK_KEY request flag 2019-01-25 18:41:52 +08:00
virtio crypto: virtio - clean up indentation, replace spaces with tab 2019-01-11 14:16:56 +08:00
vmx crypto: vmx - Remove VLA usage of skcipher 2018-09-28 12:46:08 +08:00
atmel-aes-regs.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
atmel-aes.c crypto: atmel - switch to SPDX license identifiers 2018-09-04 11:37:04 +08:00
atmel-authenc.h crypto: atmel - switch to SPDX license identifiers 2018-09-04 11:37:04 +08:00
atmel-ecc.c crypto: atmel - switch to SPDX license identifiers 2018-09-04 11:37:04 +08:00
atmel-ecc.h crypto: atmel - switch to SPDX license identifiers 2018-09-04 11:37:04 +08:00
atmel-sha-regs.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
atmel-sha.c crypto: atmel - switch to SPDX license identifiers 2018-09-04 11:37:04 +08:00
atmel-tdes-regs.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
atmel-tdes.c crypto: clarify name of WEAK_KEY request flag 2019-01-25 18:41:52 +08:00
exynos-rng.c crypto: drivers - simplify getting .drvdata 2018-04-28 16:09:35 +08:00
geode-aes.c crypto: drop mask=CRYPTO_ALG_ASYNC from 'cipher' tfm allocations 2018-11-20 14:26:55 +08:00
geode-aes.h
hifn_795x.c crypto: clarify name of WEAK_KEY request flag 2019-01-25 18:41:52 +08:00
img-hash.c crypto: img-hash - remove unnecessary static in img_hash_remove() 2017-08-03 13:47:18 +08:00
ixp4xx_crypto.c Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2019-03-05 09:09:55 -08:00
Kconfig crypto: bcm - convert to use crypto_authenc_extractkeys() 2019-01-10 21:37:31 +08:00
Makefile crypto: caam/qi2 - add DPAA2-CAAM driver 2018-09-21 13:24:51 +08:00
mxc-scc.c crypto: mxc-scc - fix build warnings on ARM64 2018-12-23 11:52:44 +08:00
mxs-dcp.c crypto: mxs-dcp - Add support for dcp clk 2018-11-16 14:11:03 +08:00
n2_asm.S License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
n2_core.c crypto: clarify name of WEAK_KEY request flag 2019-01-25 18:41:52 +08:00
n2_core.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
omap-aes-gcm.c crypto: omap-aes - pr_err() strings should end with newlines 2017-10-12 22:54:51 +08:00
omap-aes.c crypto: skcipher - remove remnants of internal IV generators 2018-12-23 11:52:45 +08:00
omap-aes.h crypto: omap-aes - Remove VLA usage of skcipher 2018-09-28 12:46:09 +08:00
omap-crypto.c crypto: omap-crypto - Verify page zone scatterlists before starting DMA 2018-03-09 22:45:36 +08:00
omap-crypto.h crypto: omap - add base support library for common routines 2017-06-10 12:04:15 +08:00
omap-des.c crypto: clarify name of WEAK_KEY request flag 2019-01-25 18:41:52 +08:00
omap-sham.c crypto: ahash - remove useless setting of type flags 2018-07-09 00:30:25 +08:00
padlock-aes.c crypto: padlock-aes - Fix Nano workaround data corruption 2018-07-20 13:47:42 +08:00
padlock-sha.c crypto: shash - remove useless setting of type flags 2018-07-09 00:30:24 +08:00
picoxcell_crypto_regs.h
picoxcell_crypto.c crypto: clarify name of WEAK_KEY request flag 2019-01-25 18:41:52 +08:00
qcom-rng.c crypto: qcom-rng - Add ACPI support 2018-07-27 19:04:32 +08:00
s5p-sss.c crypto: s5p-sss - fix AES support for Exynos5433 2019-03-07 16:24:52 +08:00
sahara.c crypto: remove useless initializations of cra_list 2018-11-20 14:26:55 +08:00
talitos.c crypto: clarify name of WEAK_KEY request flag 2019-01-25 18:41:52 +08:00
talitos.h crypto: talitos - chain in buffered data for ahash on SEC1 2017-10-12 22:55:38 +08:00