linux-brain/drivers/crypto/caam
Horia Geantă 3032e10da7 MLK-25151 crypto: caam/jr - fix shared IRQ line handling
There are cases when the interrupt status register (JRINTR) is non-zero,
even though there was no interrupt generated for the corresponding
job ring.

For example JRINTR=0x0000_0008 - i.e. JRINTR[HALT]=b'10 - indicates that
the input job ring underwent a flush of all on-going jobs and processing
of still-existing jobs (sitting in the ring) has been halted.
This doesn't mean there's currently anything to do for this job ring.

Make sure the shared IRQ line is correctly handled by updating
the condition for returning IRQ_NONE, otherwise we could reach situations
like:
1. interrupt handler clearing JRINTR (and thus also the JRINTR[HALT]
field) while corresponding job ring is suspended and then
2. that job ring failing on resume path, due to expecting
JRINTR[HALT]=b'10 and reading instead JRINTR[HALT]=b'00.

Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
Reviewed-by: Franck LENORMAND <franck.lenormand@nxp.com>
(cherry picked from commit 905aeeabe9517b1c672472052b65c28176b341d3)
Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
2021-04-27 10:41:50 +00:00
..
Kconfig This is the 5.4.73 stable release 2021-01-11 10:09:27 +00:00
Makefile MLK-24420-3 crypto: caam - add ioctl calls for black keys and blobs generation 2020-08-13 18:16:20 +03:00
caamalg.c Merge tag 'v5.4.70' into imx_5.4.y 2020-10-08 17:46:51 +08:00
caamalg_desc.c MLK-24420-1 crypto: caam - update tagged keys functionality and tk transformations for skcipher 2020-08-13 18:15:43 +03:00
caamalg_desc.h crypto: caam/qi - add support for TLS 1.0 record 2019-12-02 18:02:19 +08:00
caamalg_qi.c This is the 5.4.73 stable release 2021-01-11 10:09:27 +00:00
caamalg_qi2.c crypto: caam/qi2 - fix typo in algorithm's driver name 2020-02-14 16:34:18 -05:00
caamalg_qi2.h crypto: caam/qi2 - add support for TLS 1.0 record 2019-12-02 18:02:20 +08:00
caamhash.c MLK-23801-3 crypto: caam - fix use-after-free KASAN issue for HASH algorithms 2020-04-16 17:53:33 +03: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
caamkeyblob.c MLK-24517-2 crypto: caam - removed unnecessary validation of black key for blob encapsulation 2020-09-01 13:32:13 +03:00
caamkeyblob.h MLK-24496 crypto: caam - fix blob encapsulation/decapsulation 2020-08-21 15:14:57 +03:00
caamkeyblob_desc.c MLK-24497 crypto: caam - update job descriptor with inline commands 2020-08-21 15:15:10 +03:00
caamkeyblob_desc.h MLK-24497 crypto: caam - update job descriptor with inline commands 2020-08-21 15:15:10 +03:00
caamkeyblob_test.c MLK-24420-2 crypto: caam - add support for black keys and blobs 2020-08-13 18:16:06 +03:00
caamkeygen.c MLK-24517-4 crypto: caam - validate arguments received from user-space 2020-09-01 13:32:13 +03:00
caampkc.c MLK-23801-4 crypto: caam - fix use-after-free KASAN issue for RSA algorithms 2020-04-16 17:53:59 +03:00
caampkc.h crypto: caam - add crypto_engine support for RSA algorithms 2020-03-09 16:41:12 +02:00
caamrng.c MLK-23664-11 crypto: caam - improve RNG self-test logging 2020-09-30 12:03:03 +03:00
compat.h crypto: caam - Remove broken arc4 support 2020-08-21 13:05:32 +02:00
ctrl.c LF-2943 crypto: caam - optimize RNG sample size 2020-12-02 18:48:27 +02:00
ctrl.h crypto: caam - staticize caam_get_era() 2018-04-21 00:58:36 +08:00
desc.h MLK-23664-9 crypto: caam - enable prediction resistance in HRWNG 2020-09-30 12:02:39 +03:00
desc_constr.h crypto: caam - add support for MOVEB command 2019-12-02 18:02:19 +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/qi2 - add OPR (Order Preservation) support 2019-12-02 18:02:19 +08:00
dpseci.h crypto: caam/qi2 - add OPR (Order Preservation) support 2019-12-02 18:02:19 +08:00
dpseci_cmd.h crypto: caam/qi2 - add OPR (Order Preservation) support 2019-12-02 18:02:19 +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
fsl_jr_uio.c LF-933 crypto: caam - fix iosource busy issue 2020-02-21 10:23:42 +02:00
fsl_jr_uio.h crypto: caam - add CAAM job ring UIO support 2019-12-02 18:02:21 +08:00
intern.h MLK-23664-9 crypto: caam - enable prediction resistance in HRWNG 2020-09-30 12:02:39 +03:00
jr.c MLK-25151 crypto: caam/jr - fix shared IRQ line handling 2021-04-27 10:41:50 +00:00
jr.h MLK-24420-2 crypto: caam - add support for black keys and blobs 2020-08-13 18:16:06 +03:00
key_gen.c crypto: caam - change return code in caam_jr_enqueue function 2020-03-09 16:40:52 +02:00
key_gen.h crypto: caam - add Derived Key Protocol (DKP) support 2017-12-28 17:56:48 +11: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 - use QBMan (NXP) SDK driver 2019-12-18 14:48:15 +02:00
qi.h crypto: caam/qi - use QBMan (NXP) SDK driver 2019-12-18 14:48:15 +02:00
regs.h LF-2943 crypto: caam - optimize RNG sample size 2020-12-02 18:48:27 +02:00
secvio.c MLK-21689 crypto: caam - make snvs clock optional 2020-08-13 19:36:31 +03:00
secvio.h MLKU-38-3 crypto: caam - add SNVS / SECVIO support 2019-12-02 18:02:16 +08:00
sg_sw_qm.h crypto: caam/qi - use QBMan (NXP) SDK driver 2019-12-18 14:48:15 +02: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_sec4.h crypto: caam - use len instead of nents for bulding HW S/G table 2019-06-20 14:18:33 +08:00
sm.h LFV-26 crypto: caam - fix Secure Memory driver init 2019-12-02 18:02:22 +08:00
sm_store.c MLK-23620-3 crypto: caam - update the check for the return code of caam_jr_enqueue function 2020-03-19 11:07:46 +02:00
sm_test.c LF-63-1 crypto: caam - fix SM test init 2019-12-02 18:02:23 +08:00
snvsregs.h MLKU-38-3 crypto: caam - add SNVS / SECVIO support 2019-12-02 18:02:16 +08:00
tag_object.c MLK-24497 crypto: caam - update tagged object functionality by adding red key length 2020-08-21 15:14:51 +03:00
tag_object.h MLK-24497 crypto: caam - update tagged object functionality by adding red key length 2020-08-21 15:14:51 +03:00