linux/drivers/crypto
Giovanni Cabiddu 075d3edd72 crypto: qat - fix ring to service map for QAT GEN4
commit a238487f79 upstream.

The 4xxx drivers hardcode the ring to service mapping. However, when
additional configurations where added to the driver, the mappings were
not updated. This implies that an incorrect mapping might be reported
through pfvf for certain configurations.

Add an algorithm that computes the correct ring to service mapping based
on the firmware loaded on the device.

Fixes: 0cec19c761 ("crypto: qat - add support for compression for 4xxx")
Signed-off-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com>
Reviewed-by: Damian Muszynski <damian.muszynski@intel.com>
Reviewed-by: Tero Kristo <tero.kristo@linux.intel.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
[Giovanni: backport to 6.1.y, conflict resolved simplifying the logic
in the function get_ring_to_svc_map() as the QAT driver in v6.1 supports
only limited configurations (crypto only and compression).  Differs from
upstream as the ring to service mapping is hardcoded rather than being
dynamically computed.]
Reviewed-by: Ahsan Atta <ahsan.atta@intel.com>
Tested-by: Ahsan Atta <ahsan.atta@intel.com>
Signed-off-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2025-08-28 16:26:12 +02:00
..
allwinner crypto: sun8i-ce - fix nents passed to dma_unmap_sg() 2025-08-15 12:05:01 +02:00
amcc crypto: crypto4xx - Call dma_unmap_page when done 2023-03-10 09:33:04 +01:00
amlogic crypto: amlogic - Remove kcalloc without check 2022-12-31 13:32:36 +01:00
aspeed crypto: aspeed - Remove redundant dev_err call 2022-09-30 13:59:13 +08:00
axis crypto: artpec6 - Fix printk warning on size_t/%d 2022-09-24 16:14:43 +08:00
bcm crypto: bcm - add error check in the ahash_hmac_init function 2024-12-14 19:53:18 +01:00
caam crypto: caam/qi - Fix drv_ctx refcount bug 2025-04-25 10:43:53 +02:00
cavium crypto: cavium - Fix an error handling path in cpt_ucode_load_fw() 2024-12-14 19:53:18 +01:00
ccp crypto: ccp - Fix crash when rebind ccp device for ccp.ko 2025-08-15 12:05:02 +02:00
ccree crypto: ccree - Make cc_debugfs_global_fini() available for module init function 2022-12-31 13:32:33 +01:00
chelsio treewide: Replace open-coded flex arrays in unions 2021-10-18 12:28:53 -07:00
gemini Revert "crypto: gemini - Fix error check for dma_map_sg" 2022-09-02 18:15:53 +08:00
hisilicon crypto: hisilicon/hpre - fix dma unmap sequence 2025-08-28 16:25:59 +02:00
inside-secure crypto: inside-secure - Fix dma_unmap_sg() nents value 2025-08-15 12:05:02 +02:00
keembay crypto: keembay - Fix dma_unmap_sg() nents value 2025-08-15 12:05:04 +02:00
marvell crypto: octeontx2 - add timeout for load_fvc completion poll 2025-08-28 16:26:01 +02:00
nx crypto: nx - Fix uninitialised hv_nxc on error 2025-04-10 14:33:35 +02:00
qat crypto: qat - fix ring to service map for QAT GEN4 2025-08-28 16:26:12 +02:00
qce crypto: qce - unregister previously registered algos in error path 2025-02-21 13:49:49 +01:00
rockchip crypto: rockchip - rework by using crypto_engine 2022-12-31 13:32:31 +01:00
stm32 crypto: stm32/crc32 - fix parsing list of devices 2024-02-05 20:12:48 +00:00
ux500 crypto: ux500/hash - drop unexpected word "the" 2022-06-30 15:56:57 +08:00
virtio crypto: virtio/akcipher - Fix stack overflow on memcpy 2024-03-01 13:26:32 +01:00
vmx powerpc/64: Add big-endian ELFv2 flavour to crypto VMX asm generation 2024-10-22 15:56:51 +02:00
xilinx crypto: xilinx - call finalize with bh disabled 2024-03-26 18:20:47 -04: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-aes - Drop if with an always false condition 2022-07-15 16:43:20 +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 i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
atmel-i2c.c crypto: atmel - Avoid flush_scheduled_work() usage 2022-05-06 18:16:55 +08:00
atmel-i2c.h crypto: atmel - Avoid flush_scheduled_work() usage 2022-05-06 18:16:55 +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-sha - initialize sha_dd while declaring 2022-07-15 16:43:22 +08:00
atmel-sha204a.c crypto: atmel-sha204a - Set hwrng quality to lowest possible 2025-05-02 07:47:08 +02: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: atmel-tdes - initialize tdes_dd while declaring 2022-07-15 16:43:22 +08:00
exynos-rng.c crypto: exynos - use devm_platform_ioremap_resource() to simplify code 2019-08-09 15:11:59 +10:00
geode-aes.c crypto: geode - use DEFINE_SPINLOCK() for spinlock 2021-04-16 21:16:31 +10:00
geode-aes.h crypto: geode-aes - convert to skcipher API and make thread-safe 2019-10-23 19:46:56 +11:00
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 - Fix dma_unmap_sg() nents value 2025-08-15 12:05:04 +02:00
ixp4xx_crypto.c crypto: ixp4xx - fix OF node reference leaks in init_ixp_crypto() 2025-02-21 13:49:08 +01:00
Kconfig crypto: sa2ul - Select CRYPTO_DES 2023-05-11 23:03:20 +09:00
Makefile crypto: aspeed - Add HACE hash driver 2022-08-26 18:50:37 +08:00
mxs-dcp.c crypto: mxs-dcp - Fix scatterlist processing 2022-01-31 11:21:46 +11: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: n2 - add missing hash statesize 2023-01-07 11:11:54 +01: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 - avoid spamming console with self tests 2020-06-04 22:03:39 +10:00
omap-aes.c crypto: omap-aes - Drop if with an always false condition 2022-07-15 16:43:21 +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 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
omap-des.c crypto: omap-des - Drop if with an always false condition 2022-07-15 16:43:21 +08:00
omap-sham.c crypto: omap-sham - Use pm_runtime_resume_and_get() in omap_sham_probe() 2022-12-31 13:32:36 +01: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: qcom-rng - Fix qcom_rng_of_match unused warning 2022-08-19 18:39:35 +08:00
s5p-sss.c crypto: s5p-sss - Drop if with an always false condition 2022-07-15 16:43:21 +08:00
sa2ul.c crypto: sa2ul - Return crypto_aead_setkey to transfer the error 2024-01-25 15:27:21 -08:00
sa2ul.h crypto: sa2ul - Check engine status before enabling 2022-07-15 16:43:22 +08:00
sahara.c crypto: sahara - do not resize req->src when doing hash operations 2024-01-25 15:27:23 -08:00
talitos.c crypto: talitos - Uniform coding style with defined variable 2022-05-13 17:24:49 +08:00
talitos.h crypto: talitos - Work around SEC6 ERRATA (AES-CTR mode data size error) 2021-01-29 15:57:58 +11:00