linux-stable/drivers/crypto
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
..
allwinner crypto: sun8i-ce - use kfree_sensitive to clear and free sensitive data 2021-08-12 19:16:57 +08:00
amcc crypto: amcc - fix incorrect kernel-doc comment syntax in files 2021-03-26 20:15:58 +11:00
amlogic crypto: amlogic - Fix the parameter of dma_unmap_sg() 2021-03-26 20:02:34 +11:00
axis crypto: sha - split sha.h into sha1.h and sha2.h 2020-11-20 14:45:33 +11:00
bcm crypto: bcm - Fix a whole host of kernel-doc misdemeanours 2021-03-26 20:02:35 +11:00
caam crypto: caam - disable pkc for non-E SoCs 2021-09-24 16:03:04 +08:00
cavium PCI: Change the type of probe argument in reset functions 2021-08-18 17:32:42 -05:00
ccp crypto: ccp - Add support for new CCP/PSP device ID 2021-08-27 16:30:18 +08:00
ccree crypto: ccree - Remove redundant dev_err call in init_cc_resources() 2021-04-16 21:16:32 +10:00
chelsio crypto: chelsio/chcr - Remove useless MODULE_VERSION 2021-04-22 17:31:31 +10:00
gemini crypto: sl3516 - Typo s/Stormlink/Storlink/ 2021-06-28 11:28:08 +08:00
hisilicon crypto: hisilicon/qm - support the userspace task resetting 2021-09-17 11:05:12 +08:00
inside-secure crypto: inside-secure - Minor typo fix in the file safexcel.c 2021-03-26 20:02:35 +11:00
keembay crypto: keembay - Remove redundant dev_err calls 2021-04-16 21:16:32 +10:00
marvell crypto: marvell/cesa - change FPGA indirect article to an 2021-06-17 15:07:30 +08:00
nx powerpc updates for 5.14 2021-07-02 12:54:34 -07:00
qat crypto: qat - remove unneeded packed attribute 2021-09-17 11:06:13 +08:00
qce crypto: qce - fix error return code in qce_skcipher_async_req_handle() 2021-06-11 15:03:29 +08:00
rockchip crypto: rockchip - delete unneeded variable initialization 2021-04-09 17:45:13 +10:00
stm32 crypto: stm32/cryp - Fix PM reference leak on stm32-cryp.c 2021-04-16 21:16:33 +10:00
ux500 crypto: ux500 - Fix error return code in hash_hw_final() 2021-05-14 19:07:58 +08:00
virtio crypto: virtio - Replace deprecated CPU-hotplug functions. 2021-08-12 19:16:58 +08:00
vmx crypto: vmx - fix incorrect kernel-doc comment syntax in files 2021-03-26 20:15:58 +11:00
xilinx crypto: algapi - Remove skbuff.h inclusion 2020-08-20 14:04:28 +10:00
atmel-aes-regs.h
atmel-aes.c crypto: atmel-aes - use swap() 2021-07-30 10:58:37 +08:00
atmel-authenc.h crypto: sha - split sha.h into sha1.h and sha2.h 2020-11-20 14:45:33 +11:00
atmel-ecc.c crypto: atmel-ecc - Struct headers need to start with keyword 'struct' 2021-03-26 20:02:36 +11:00
atmel-i2c.c crypto: atmel - use the correct print format 2021-04-16 21:16:33 +10:00
atmel-i2c.h
atmel-sha-regs.h
atmel-sha.c crypto: atmel - use the correct print format 2021-04-16 21:16:33 +10:00
atmel-sha204a.c
atmel-tdes-regs.h
atmel-tdes.c crypto: atmel - Set OFB's blocksize to 1 2021-07-30 10:58:34 +08:00
exynos-rng.c
geode-aes.c crypto: geode - use DEFINE_SPINLOCK() for spinlock 2021-04-16 21:16:31 +10:00
geode-aes.h
hifn_795x.c crypto: drivers - use semicolons rather than commas to separate statements 2020-10-02 18:02:15 +10:00
img-hash.c crypto: img-hash - remove need for error return variable ret 2021-09-17 11:06:14 +08:00
ixp4xx_crypto.c ARM: SoC changes for 5.14 2021-07-10 09:22:44 -07:00
Kconfig crypto: sl3516 - Add dependency on ARCH_GEMINI 2021-06-28 11:28:08 +08:00
Makefile crypto: sl3516 - Add sl3516 crypto engine 2021-06-11 15:03:29 +08:00
mxs-dcp.c crypto: mxs-dcp - Use sg_mapping_iter to copy data 2021-07-16 15:49:34 +08:00
n2_asm.S
n2_core.c crypto: sha - split sha.h into sha1.h and sha2.h 2020-11-20 14:45:33 +11:00
n2_core.h
omap-aes-gcm.c
omap-aes.c crypto: omap - Fix inconsistent locking of device lists 2021-08-21 15:44:53 +08:00
omap-aes.h crypto: omap-aes - permit asynchronous skcipher as fallback 2020-07-16 21:49:02 +10:00
omap-crypto.c crypto: omap - Avoid redundant copy when using truncated sg list 2021-08-21 15:44:53 +08:00
omap-crypto.h
omap-des.c crypto: omap - Fix inconsistent locking of device lists 2021-08-21 15:44:53 +08:00
omap-sham.c crypto: omap - Fix inconsistent locking of device lists 2021-08-21 15:44:53 +08:00
padlock-aes.c crypto: algapi - Remove skbuff.h inclusion 2020-08-20 14:04:28 +10:00
padlock-sha.c crypto: sha - split sha.h into sha1.h and sha2.h 2020-11-20 14:45:33 +11:00
qcom-rng.c crypto: algapi - Remove skbuff.h inclusion 2020-08-20 14:04:28 +10:00
s5p-sss.c crypto: s5p-sss - consistently use local 'dev' variable in probe() 2021-04-22 17:31:31 +10:00
sa2ul.c crypto: sa2ul - Remove unused auth_len variable 2021-06-24 14:51:34 +08:00
sa2ul.h crypto: sa2ul - Add support for AM64 2021-04-22 17:31:30 +10:00
sahara.c crypto: sahara - Remove unused .id_table support 2021-01-03 08:41:34 +11:00
talitos.c crypto: talitos - Fix ctr(aes) on SEC1 2021-01-29 15:57:59 +11:00
talitos.h crypto: talitos - Work around SEC6 ERRATA (AES-CTR mode data size error) 2021-01-29 15:57:58 +11:00