linux/drivers/soc
Gaurav Kashyap 7cc6e0c34b scsi: soc: qcom: ice: Add HWKM support to the ICE driver
Qualcomm's Inline Crypto Engine (ICE) version 3.2 and later includes a
key management hardware block called the Hardware Key Manager (HWKM).
Add support for HWKM to the ICE driver.  HWKM provides hardware-wrapped
key support where the ICE (storage) keys are not exposed to software and
instead are protected in hardware.  Later patches will wire up this
feature to ufs-qcom and sdhci-msm using the support added in this patch.

HWKM and legacy mode are currently mutually exclusive.  The selection of
which mode to use has to be made before the storage driver(s) registers
any inline encryption capable disk(s) with the block layer (i.e.,
generally at boot time) so that the appropriate crypto capabilities can
be advertised to upper layers.  Therefore, make the ICE driver select
HWKM mode when the all of the following are true:

 - The new module parameter qcom_ice.use_wrapped_keys=1 is specified.

 - HWKM is present and is at least v2, i.e. ICE is v3.2.1 or later.

 - The SCM calls needed to fully use HWKM are supported by TrustZone.

[EB: merged related patches; fixed the module parameter to work
     correctly; dropped unnecessary support for HWKM v1; fixed error
     handling; improved log messages, comments, and commit message;
     fixed naming; merged enable and init functions; and other cleanups]

Signed-off-by: Gaurav Kashyap <quic_gaurkash@quicinc.com>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Co-developed-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Eric Biggers <ebiggers@google.com>
Link: https://lore.kernel.org/r/20250404231533.174419-3-ebiggers@kernel.org
Acked-by: Ulf Hansson <ulf.hansson@linaro.org> # For MMC
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2025-04-11 21:10:30 -04:00
..
amlogic soc: amlogic: meson-gx-socinfo: add new SoCs id 2024-08-20 17:27:27 +02:00
apple soc: apple: rtkit: Cut syslog messages after the first '\0' 2025-02-28 21:36:45 +00:00
aspeed soc: Switch back to struct platform_driver::remove() 2024-11-01 17:08:57 +01:00
atmel ARM: at91: Add Support in SoC driver for SAMA7D65 2025-02-24 12:16:28 +02:00
bcm SoC driver updates for 6.7 2023-11-01 14:46:51 -10:00
canaan soc: canaan: Deprecate SOC_CANAAN and use SOC_CANAAN_K210 for K210 2024-04-05 16:42:50 +01:00
cirrus soc: ep93xx: drop reference to removed EP93XX_SOC_COMMON config 2024-09-26 12:58:18 +00:00
dove soc: dove: add missing of_node_put 2023-09-20 11:28:02 +02:00
fsl irqdomain: soc: Switch to irq_find_mapping() 2025-03-20 17:09:11 +01:00
fujitsu soc: Switch back to struct platform_driver::remove() 2024-11-01 17:08:57 +01:00
gemini
hisilicon soc: hisilicon: kunpeng_hccs: Fix incorrect string assembly 2025-03-14 18:03:55 +01:00
imx soc: imx8m: Unregister cpufreq and soc dev in cleanup path 2025-02-23 15:56:10 +08:00
ixp4xx soc: Switch back to struct platform_driver::remove() 2024-11-01 17:08:57 +01:00
lantiq
litex drivers/soc/litex: Use devm_register_restart_handler() 2025-01-19 14:05:35 -05:00
loongson soc: loongson: loongson2_guts: Add check for devm_kstrdup() 2025-02-20 22:29:05 +01:00
mediatek soc: mediatek: mtk-socinfo: Add extra entry for MT8395AV/ZA Genio 1200 2025-03-06 11:54:21 +01:00
microchip soc: Switch back to struct platform_driver::remove() 2024-11-01 17:08:57 +01:00
nuvoton
pxa soc: Switch back to struct platform_driver::remove() 2024-11-01 17:08:57 +01:00
qcom scsi: soc: qcom: ice: Add HWKM support to the ICE driver 2025-04-11 21:10:30 -04:00
renesas soc: renesas: r9a09g057-sys: Add a callback to print SoC-specific extra features 2025-02-20 17:38:33 +01:00
rockchip soc: Switch back to struct platform_driver::remove() 2024-11-01 17:08:57 +01:00
samsung Samsung mach/soc changes for v6.15 2025-03-19 22:39:12 +01:00
sunxi soc: sunxi: sram: Constify struct regmap_config 2024-07-11 00:47:13 +08:00
tegra soc/tegra: pmc: Use str_enable_disable-like helpers 2025-03-06 19:12:37 +01:00
ti Revert "Merge tag 'irq-msi-2025-03-23' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip" 2025-03-28 11:22:54 -07:00
ux500
versatile soc: versatile: enable compile testing 2024-08-30 15:40:11 +02:00
xilinx arm64: ZynqMP SoC changes for 6.13 2024-11-04 14:31:16 +01:00
Kconfig soc: Add SoC driver for Cirrus ep93xx 2024-09-12 14:33:10 +00:00
Makefile soc: convert ep93xx to devicetree 2024-09-26 12:00:25 -07:00