Re: [PATCH v7 2/2] mmc: sdhci-msm: Use pm ops instead of macro to restore crypto keys
From: Ram Prakash Gupta
Date: Tue Aug 18 2026 - 03:30:39 EST
On 8/12/2026 12:38 AM, Eric Biggers wrote:
> On Tue, Aug 11, 2026 at 08:47:59PM +0530, Neeraj Soni wrote:
>> From: Ram Prakash Gupta <ram.gupta@xxxxxxxxxxxxxxxx>
>>
>> Inline Crypto Engine (ICE) keys are lost after hibernation entry and this
>> needs to be restored when hibernation exits. ICE keys are re-programmed
>> during sdhci_msm_ice_init() but it may not cover cases where the
>> hibernation image is already restored.
>>
>> Unwrap the pm ops and use directly in driver to add the call to restore
>> Inline Crypto Engine (ICE) keys. This ensures that ICE is brought into
>> same state as before hibernation.
>>
>> Also set MMC_CAP2_CRYPTO_NO_REPROG to indicate that re-programming of ICE
>> keys is not needed during MMC runtime suspend/resume.
>>
>> Signed-off-by: Ram Prakash Gupta <ram.gupta@xxxxxxxxxxxxxxxx>
>> Signed-off-by: Seshu Madhavi Puppala <quic_spuppala@xxxxxxxxxxx>
>> Co-developed-by: Ram Prakash Gupta <quic_rampraka@xxxxxxxxxxx>
>> Signed-off-by: Ram Prakash Gupta <quic_rampraka@xxxxxxxxxxx>
>> Co-developed-by: Sarthak Garg <quic_sartgarg@xxxxxxxxxxx>
>> Signed-off-by: Sarthak Garg <quic_sartgarg@xxxxxxxxxxx>
>> Signed-off-by: Debraj Mukhopadhyay <quic_dmukhopa@xxxxxxxxxxx>
>> Signed-off-by: Neeraj Soni <neeraj.soni@xxxxxxxxxxxxxxxx>
>> ---
>> drivers/mmc/host/sdhci-msm.c | 32 +++++++++++++++++++++++++++++++-
>> 1 file changed, 31 insertions(+), 1 deletion(-)
>
> So with this patch, resume from hibernation will be the *only* time that
> ICE keys are reprogrammed. Are you absolutely sure that is enough on
> every SoC this driver supports? What about resume from suspend-to-RAM?
> CQE error recovery? What if the hibernation image fails to be created?
>
> - Eric
Hi Eric,
There are two scenarios where key would be required to reprogram, first is when
rail powering the ICE goes off or SDCC does BCR reset.
now during suspend-to-RAM, rail powering the ice wont go off, so key would not
be required to reprogram. During CQE recovery, key would be only lost when BCR
reset is performed but that is not happening right now, to be taken up once its
fixed as part of recovery flow. And in case hibernation image fails to create
then device boots from normal flow where there is no need to reprogram the keys.
Thanks,
Ram