linux-xiaomi-chiron/drivers/crypto/caam
Michael Walle f20311cc9c crypto: caam - disable pkc for non-E SoCs
On newer CAAM versions, not all accelerators are disabled if the SoC is
a non-E variant. While the driver checks most of the modules for
availability, there is one - PKHA - which sticks out. On non-E variants
it is still reported as available, that is the number of instances is
non-zero, but it has limited functionality. In particular it doesn't
support encryption and decryption, but just signing and verifying. This
is indicated by a bit in the PKHA_MISC field. Take this bit into account
if we are checking for availability.

This will the following error:
[    8.167817] caam_jr 8020000.jr: 20000b0f: CCB: desc idx 11: : Invalid CHA selected.

Tested on an NXP LS1028A (non-E) SoC.

Fixes: d239b10d4c ("crypto: caam - add register map changes cf. Era 10")
Signed-off-by: Michael Walle <michael@walle.cc>
Reviewed-by: Horia Geantă <horia.geanta@nxp.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2021-09-24 16:03:04 +08:00
..
caamalg.c
caamalg_desc.c
caamalg_desc.h
caamalg_qi.c
caamalg_qi2.c
caamalg_qi2.h
caamhash.c
caamhash_desc.c
caamhash_desc.h
caampkc.c
caampkc.h
caamrng.c
compat.h
ctrl.c
ctrl.h
debugfs.c
debugfs.h
desc.h
desc_constr.h
dpseci-debugfs.c
dpseci-debugfs.h
dpseci.c
dpseci.h
dpseci_cmd.h
error.c
error.h
intern.h
jr.c
jr.h
Kconfig
key_gen.c
key_gen.h
Makefile
pdb.h
pkc_desc.c
qi.c
qi.h
regs.h
sg_sw_qm.h
sg_sw_qm2.h
sg_sw_sec4.h