Re: [PATCH v7 2/2] mmc: sdhci-msm: Use pm ops instead of macro to restore crypto keys
From: Neeraj Soni
Date: Wed Aug 19 2026 - 06:55:13 EST
On 8/18/2026 10:42 PM, Eric Biggers wrote:
> On Tue, Aug 18, 2026 at 01:00:21PM +0530, Ram Prakash Gupta wrote:
>>
>>
>> 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.
>>
>
> Okay this patch should be okay then. Seems that the commit message
> needs some work though to properly explain this.
>
Ack. Will update and post v8.
> - Eric
>
Regards,
Neeraj