linux/drivers/crypto/caam
Iuliana Prodan ee38767f15 crypto: caam - support crypto_engine framework for SKCIPHER algorithms
Integrate crypto_engine into CAAM, to make use of the engine queue.
Add support for SKCIPHER algorithms.

This is intended to be used for CAAM backlogging support.
The requests, with backlog flag (e.g. from dm-crypt) will be listed
into crypto-engine queue and processed by CAAM when free.
This changes the return codes for enqueuing a request:
-EINPROGRESS if OK, -EBUSY if request is backlogged (via
crypto-engine), -ENOSPC if the queue is full, -EIO if it
cannot map the caller's descriptor.

The requests, with backlog flag, will be listed into crypto-engine
queue and processed by CAAM when free. Only the backlog request are
sent to crypto-engine since the others can be handled by CAAM, if free,
especially since JR has up to 1024 entries (more than the 10 entries
from crypto-engine).

Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
Signed-off-by: Franck LENORMAND <franck.lenormand@nxp.com>
Reviewed-by: Horia Geantă <horia.geanta@nxp.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2020-02-22 09:25:47 +08:00
..
caamalg_desc.c crypto: caam - update rfc4106 sh desc to support zero length input 2019-08-09 15:11:48 +10:00
caamalg_desc.h crypto: caam - update rfc4106 sh desc to support zero length input 2019-08-09 15:11:48 +10:00
caamalg_qi2.c crypto: caam/qi2 - fix typo in algorithm's driver name 2020-01-22 16:21:07 +08:00
caamalg_qi2.h crypto: caam - share definition for MAX_SDLEN 2019-08-30 18:05:29 +10:00
caamalg_qi.c crypto: remove CRYPTO_TFM_RES_BAD_KEY_LEN 2020-01-09 11:30:53 +08:00
caamalg.c crypto: caam - support crypto_engine framework for SKCIPHER algorithms 2020-02-22 09:25:47 +08:00
caamhash_desc.c crypto: caam - keep both virtual and dma key addresses 2019-08-09 15:11:49 +10:00
caamhash_desc.h crypto: caam - keep both virtual and dma key addresses 2019-08-09 15:11:49 +10:00
caamhash.c crypto: caam - change return code in caam_jr_enqueue function 2020-02-22 09:25:47 +08:00
caampkc.c crypto: caam - change return code in caam_jr_enqueue function 2020-02-22 09:25:47 +08:00
caampkc.h crypto: caam - use mapped_{src,dst}_nents for descriptor 2019-10-05 01:06:21 +10:00
caamrng.c crypto: caam - change return code in caam_jr_enqueue function 2020-02-22 09:25:47 +08:00
compat.h crypto: caam/des - switch to new verification routines 2019-08-22 14:39:39 +10:00
ctrl.c crypto: caam - add support for i.MX8M Plus 2020-01-22 16:21:11 +08:00
ctrl.h crypto: caam - staticize caam_get_era() 2018-04-21 00:58:36 +08:00
desc_constr.h crypto: caam - select DMA address size at runtime 2019-08-30 18:05:30 +10:00
desc.h crypto: caam - fix SHA support detection 2019-01-10 21:37:31 +08:00
dpseci_cmd.h crypto: caam - add DPAA2-CAAM (DPSECI) backend API 2018-09-21 13:24:51 +08:00
dpseci-debugfs.c crypto: caam/qi2 - Add printing dpseci fq stats using debugfs 2019-08-02 14:44:01 +10:00
dpseci-debugfs.h crypto: caam/qi2 - Add printing dpseci fq stats using debugfs 2019-08-02 14:44:01 +10:00
dpseci.c crypto: caam - add DPAA2-CAAM (DPSECI) backend API 2018-09-21 13:24:51 +08:00
dpseci.h crypto: caam - add DPAA2-CAAM (DPSECI) backend API 2018-09-21 13:24:51 +08:00
error.c crypto: caam - make CAAM_PTR_SZ dynamic 2019-08-30 18:05:30 +10:00
error.h crypto: caam - fix return code in completion callbacks 2019-08-09 15:11:45 +10:00
intern.h crypto: caam - support crypto_engine framework for SKCIPHER algorithms 2020-02-22 09:25:47 +08:00
jr.c crypto: caam - support crypto_engine framework for SKCIPHER algorithms 2020-02-22 09:25:47 +08:00
jr.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Kconfig crypto: caam - support crypto_engine framework for SKCIPHER algorithms 2020-02-22 09:25:47 +08:00
key_gen.c crypto: caam - change return code in caam_jr_enqueue function 2020-02-22 09:25:47 +08:00
key_gen.h crypto: caam - add Derived Key Protocol (DKP) support 2017-12-28 17:56:48 +11:00
Makefile crypto: caam/qi2 - Add printing dpseci fq stats using debugfs 2019-08-02 14:44:01 +10:00
pdb.h crypto: caam - select DMA address size at runtime 2019-08-30 18:05:30 +10:00
pkc_desc.c crypto: caam - select DMA address size at runtime 2019-08-30 18:05:30 +10:00
qi.c crypto: caam/qi - optimize frame queue cleanup 2020-02-13 17:05:25 +08:00
qi.h crypto: caam/qi - optimize frame queue cleanup 2020-02-13 17:05:25 +08:00
regs.h crypto: caam - select DMA address size at runtime 2019-08-30 18:05:30 +10:00
sg_sw_qm2.h crypto: caam - use len instead of nents for bulding HW S/G table 2019-06-20 14:18:33 +08:00
sg_sw_qm.h crypto: caam - use len instead of nents for bulding HW S/G table 2019-06-20 14:18:33 +08:00
sg_sw_sec4.h crypto: caam - use len instead of nents for bulding HW S/G table 2019-06-20 14:18:33 +08:00