[PATCH v5 0/4] mmc: Avoid reprogram all keys to Inline Crypto Engine for MMC runtime suspend resume

From: Neeraj Soni

Date: Thu Jul 30 2026 - 10:24:16 EST


Crypto reprogram all keys is called for each MMC runtime suspend/resume in
current upstream design. If this is implemented as a non-interruptible
call to TEE for security, the cpu core is blocked for execution while this
call executes although the crypto engine already has the keys.
For example, glitches in audio/video streaming applications have been
observed due to this.

Fix this by allowing host driver to control when to re-program the
crypto keys along with some fix up around usage of CONFIG_MMC_CRYPTO.

---
- Split the v4 patch https://lore.kernel.org/linux-mmc/20260529092612.1749752-1-neeraj.soni@xxxxxxxxxxxxxxxx/
as suggested here https://lore.kernel.org/all/CAPx+jO8rUwYV6q1-RrA4aZ9XnomSf82fgf8Jh2fUC0fE03RFPw@xxxxxxxxxxxxxx/
into 2 logical patches [PATCH v5 1/4] and [PATCH v5 2/4].
- Introduced [PATCH v5 3/4] to specifically restore crypto keys during
hibernation exit.
- Introduced [PATCH v5 4/4] to fix crypto capability usage in mtk-sd as
suggested here https://lore.kernel.org/all/20260723230104.GA662946@xxxxxxxxxx/.
- Dropped "Acked-by:" tag from v4 due to the split and introduction of
new changes.

Neeraj Soni (3):
mmc: Allow host driver to control the re-programming of Crypto keys
mmc: sdhci-msm: Reprogram crypto keys during host hardware
initialization
mmc: mtk-sd: Protect crypto capability with crypto config

Ram Prakash Gupta (1):
mmc: sdhci-msm: Use pm ops instead of macro to restore crypto keys

drivers/mmc/core/crypto.c | 2 +-
drivers/mmc/host/mtk-sd.c | 4 ++++
drivers/mmc/host/sdhci-msm.c | 22 +++++++++++++++++++++-
include/linux/mmc/host.h | 5 +----
4 files changed, 27 insertions(+), 6 deletions(-)

--
2.34.1