From nobody Fri Oct 2 08:26:23 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C399737F8C9 for ; Mon, 3 Aug 2026 16:31:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785774700; cv=none; b=S2nyhcF4A2hpEHc62EQAJzXtC92Od8Un9NeJ7G/I+sHpnZqACXt1iBhHq/aIx1VqAVOR+E/no+qXANMZJlLrE0wZbySznn6hnaFrlbG1gOPqdXx4kyVj9idZy57IJ2Lm8kUujOy6v51H2Eenzxoq36hZ2oZGwEhF8zOfk5SVgV4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785774700; c=relaxed/simple; bh=Yiquwdn/MRqyem7FnSUiqjhctXmadtypfOSdk70hM8M=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=VTItxGuXge1i9whRaZ35dpnTZnSdzuw7jEe9L8hhXLnhn02+kTwrjUuqJvORIgkGklRo3JvUydRhaEJwsfr+pmgQgMBmnMr4dRIoagertyAIkL8xGiOUN7e0hOJ/Zo5rjmAwZabpw8mZD+RH/yuW3yx2Ui72Qn6tPhSiodoisI0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=hiqSXdis; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=R+w1LnTN; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="hiqSXdis"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="R+w1LnTN" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 673G6iNL503991 for ; Mon, 3 Aug 2026 16:31:38 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=QoIRMALlpYP SjmYNZNJKuT7d4iuWsmv7iepCB2HxtQE=; b=hiqSXdisgehm8mFS9CUXnsMf6Cm uMY5nCD928hYlfPCgHaLz4XcAGbMibjKwKcqvRurYXM2WDPNGTD227/yyy40JXcP Ftc1JSGEZYYtXV5OJuYYGotky0moGD0KJcQZblzrxiuVp0SJ+Ipe2Ipxf4SLJokT AUd3cQz4qptZ4XAlg88q7gTvpg9+9yUp84Uv4AtHAYVUzZ8KBJ7zuikRWJhrl6gA VdBoa58ji/jJi9TTUw6ZTjgm58vx8afvg1BWaZD7+JbRi9Yow7MHZ/fnv6xM8gTs 1xiqUf0WIL2qSzmXPeUV5Ne8Y+sTmf0uIabjJ+AJQkAZz4VT4+CFwtsLKVQ== Received: from mail-pj1-f71.google.com (mail-pj1-f71.google.com [209.85.216.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ftx7m044b-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 03 Aug 2026 16:31:37 +0000 (GMT) Received: by mail-pj1-f71.google.com with SMTP id 98e67ed59e1d1-38e6d253330so75193a91.1 for ; Mon, 03 Aug 2026 09:31:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1785774697; x=1786379497; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=QoIRMALlpYPSjmYNZNJKuT7d4iuWsmv7iepCB2HxtQE=; b=R+w1LnTN1nAUkXjRIi8JHSZ1Z1hibadK7n7XtZzOcZ9/ElYdLZLN5SXSfKTDOvoKQI /BoXjooEwQy2g1AbcVvuILJpBcMjbv4+UH1P+eoMDf+6IETPnkYGGJyaGzQFOjsYbIto Pc4Aitx2eCyWAN9XwsaBcHDrTFiAc3msguYEI4CWjhd9kfnx7NAGgsSRjC6yh07NtPwg H2AzQPUqMUAWD/QhWRMzLxKTqJ3QIcchgsod/vdKGaYIpgmIg0/zidm9uYPkQCTFxwID jTxNUzN1WNoGJMoY0CUfE/L43HwBDTjPkbom9MICL2pmO5L6lBpYTC/CxAGwk9ZnxY1s Cu7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785774697; x=1786379497; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=QoIRMALlpYPSjmYNZNJKuT7d4iuWsmv7iepCB2HxtQE=; b=DDHXRoR15YWVrm32eHw4Gf4ayBi4YHvlHDChJTwXuCVwdUCAB9tHliVg3O7dggSw2/ QjIGXuThYPL2KwhqeAF0KmR6cQZUZa6MlPHRUIGYJijfFNsLcXWPD/5kUIccei9b+w6j qs+RyIEXFmerehDOJUw15o05uYLh11fR30aVLEi4P4WgVGOQghsMYmSE1uTLvOHZNnTb GViRw4JQYTgpaRwxwl8xItvqdfUBm7W7csX9BfKqrCLBbiT4tjCTrvX3biPRJZaYvCBr gzVF+Q4IcxEAUS4Rv9oQPd8wkjMqxrZEl7qkPxQNjMK7f/Q4BD1uAzh7g6qxLTDXRhC6 7Tsg== X-Forwarded-Encrypted: i=1; AHgh+RpEgPiev3qc3+v/2JCeugNKfKoy/2ziRofSdwJToP4kTTHTtfKzvxa0+U1Ls0B7WYe7/d8HtnfdftjVlUQ=@vger.kernel.org X-Gm-Message-State: AOJu0YzLI2EK5WGimJA04LsM2TgNA6OE2ROmcna/S1wWkRY8iaRlPSPT Zq4JenloWJosk/CqZz5SxQHcA8o8+R3IoB775jcMH1wb5oZZ/dfFwhRKG+24TXgmqcbcXgNFVi2 jmTR3mYDYxctIyBBBtvQH3cnyh5rFge6mL6PKhX400ISEFfKp5VE/43IYm/xZgtDNFdM= X-Gm-Gg: AR+sD12ancnsh4l99+Pr7GGofmZSXthB589UVMm0RcOZcUdIN9EFV8MNvu2BEGLiINn SPDvn0UbuYvJKeWadESCvXoLAhR6QqHzodYb1SZ2aGYpzdPrEw7JmqvxJJleuaV3Xzu9Z1Tf9HP NFaD9oJangPbcBPMV6yW+UAmxed0SdXA1C5f3z3vi48/Fa7/T3LIj/A3vFbNKeS/Uw/SMxzS1Hp ws+nsfa63EptLZRquBb0gd0djWTiAhLZIT+bl0KNFLj3K6rjPYmBWQa9DMeCbwSVsJTPMxJqbmC 3OA3Lya8R3CP1WCA2hca/5leoJK/hPFMsu/zF2MDGr8vv8VaW11XQ7aok7xIz7tSV8XqeqUqETP 6/+uC8RKBEfmentU8msUy/efDz3hYVi0= X-Received: by 2002:a17:90b:590c:b0:380:8bb9:aba9 with SMTP id 98e67ed59e1d1-38febf70cffmr217679a91.3.1785774697030; Mon, 03 Aug 2026 09:31:37 -0700 (PDT) X-Received: by 2002:a17:90b:590c:b0:380:8bb9:aba9 with SMTP id 98e67ed59e1d1-38febf70cffmr217638a91.3.1785774696387; Mon, 03 Aug 2026 09:31:36 -0700 (PDT) Received: from hu-neersoni-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-13fab4cb50dsm54592761c88.10.2026.08.03.09.31.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Aug 2026 09:31:35 -0700 (PDT) From: Neeraj Soni To: ebiggers@kernel.org, ulf.hansson@linaro.org, adrian.hunter@intel.com Cc: quic_dmukhopa@quicinc.com, quic_rampraka@quicinc.com, quic_nitirawa@quicinc.com, quic_sachgupt@quicinc.com, quic_bhaskarv@quicinc.com, quic_gaurkash@quicinc.com, quic_sartgarg@quicinc.com, ram.gupta@oss.qualcomm.com, linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, neeraj.soni@oss.qualcomm.com Subject: [PATCH v6 1/2] mmc: Allow host driver to control the re-programming of crypto keys Date: Mon, 3 Aug 2026 22:01:22 +0530 Message-Id: <20260803163123.1802005-2-neeraj.soni@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260803163123.1802005-1-neeraj.soni@oss.qualcomm.com> References: <20260803163123.1802005-1-neeraj.soni@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODAzMDE0OCBTYWx0ZWRfX9YsM5cQz4vXU pGjansm4B35ASl+FO0pb1fQfM3l2ouUyz+luF+7p8vEU00EzvwnLrVWKuUo4BZ5N/FkebidBf5m kGpsTiOu8zcxTfA64XsTXeAA7ndNPGoKLSu/6fBEvwSZJVmNduo4Z5lX1uvEavWhjheRK3fOj1b iNN7vcImAaCyiAgTPB356u6PKCZOu8hYhXOhVxctPV73/CvcL86ESuDdUdcxGIXqSTfKSpbYgmZ JKbdt4rfBE4F8kzJoRitoCnQ75kQBglM6GFbN95+4ad1U+9a7GG65P+8zGRcoeoi0tRBUFru6ip /xqWx6xF0RYtKoRi2FQ+QxkShS0Uf3OTxoXW5iUyA1Pqjm8VeDVK/2Y4cUdciOIZ9cZsm2NALlA D2ZSzbdU3IIooYNV6pt3/jsjsjHSMmjkgvoEapQbmnnwuqunvuX5GgqYG9VdMldzgIrwax6vLIM NHSl0y8gCDx+Kq77RGA== X-Authority-Analysis: v=2.4 cv=TIt1jVla c=1 sm=1 tr=0 ts=6a70c269 cx=c_pps a=UNFcQwm+pnOIJct1K4W+Mw==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=DJpcGTmdVt4CTyJn9g5Z:22 a=COk6AnOGAAAA:8 a=EUspDBNiAAAA:8 a=JtzH_wN-VhvO7tw2ChoA:9 a=uKXjsCUrEbL0IQVhDsJ9:22 a=TjNXssC_j7lpFel5tvFf:22 X-Proofpoint-ORIG-GUID: u84B43fsWaKtV9Ifkw5lD5il132CLiNz X-Proofpoint-Spam-Info: AW1haW4tMjYwODAzMDE0OCBTYWx0ZWRfX2bTY4/HXbQcL 7OLKbCbgRpu+hZ4VdJAWt79XfvMYrqIK/VX94CTVcAh1GOd/h6HSMeZkJEG1d7my8UPHUMHszx+ O3UrSXAmWZfSduGhRXWh2D4PrGgftgY= X-Proofpoint-GUID: u84B43fsWaKtV9Ifkw5lD5il132CLiNz X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-03_03,2026-08-03_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 adultscore=0 phishscore=0 bulkscore=0 malwarescore=0 priorityscore=1501 spamscore=0 suspectscore=0 impostorscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608030148 Content-Type: text/plain; charset="utf-8" The register context for the crypto profile belongs to the sdhci/cqhci host and not the mmc card, hence re-programming should be managed by the host driver itself. Add the flag MMC_CAP2_CRYPTO_NO_REPROG as part of host->caps2 to control reprogramming keys to crypto engine for SoCs which do not require this feature. Signed-off-by: Seshu Madhavi Puppala Co-developed-by: Ram Prakash Gupta Signed-off-by: Ram Prakash Gupta Co-developed-by: Sarthak Garg Signed-off-by: Sarthak Garg Signed-off-by: Debraj Mukhopadhyay Signed-off-by: Neeraj Soni Reviewed-by: Eric Biggers --- drivers/mmc/core/crypto.c | 2 +- include/linux/mmc/host.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/mmc/core/crypto.c b/drivers/mmc/core/crypto.c index fec4fbf16a5b..a5a90bfc634e 100644 --- a/drivers/mmc/core/crypto.c +++ b/drivers/mmc/core/crypto.c @@ -15,7 +15,7 @@ void mmc_crypto_set_initial_state(struct mmc_host *host) { /* Reset might clear all keys, so reprogram all the keys. */ - if (host->caps2 & MMC_CAP2_CRYPTO) + if ((host->caps2 & MMC_CAP2_CRYPTO) && !(host->caps2 & MMC_CAP2_CRYPTO_NO= _REPROG)) blk_crypto_reprogram_all_keys(&host->crypto_profile); } =20 diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h index ba84f02c2a10..3c3c45fdf39b 100644 --- a/include/linux/mmc/host.h +++ b/include/linux/mmc/host.h @@ -463,6 +463,7 @@ struct mmc_host { #define MMC_CAP2_CRYPTO 0 #endif #define MMC_CAP2_ALT_GPT_TEGRA (1 << 28) /* Host with eMMC that has GPT en= try at a non-standard location */ +#define MMC_CAP2_CRYPTO_NO_REPROG (1 << 29) /* Host handles inline crypto = key reprogramming */ =20 bool uhs2_sd_tran; /* UHS-II flag for SD_TRAN state */ bool uhs2_app_cmd; /* UHS-II flag for APP command */ --=20 2.34.1 From nobody Fri Oct 2 08:26:23 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 295B033FE33 for ; Mon, 3 Aug 2026 16:31:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785774705; cv=none; b=EZZswCb+CkLGE3om1LjNXhRnqwu7Sur7cZZufjwqRQgStHnF30vsQKCwuHIlrCSDODBt3qZs0q6P4BQu0lIdtjU5R9M+YRR7F+ppxSyh2ZzU8ZsXW5ah8FvEaGq6TZkzwfVjIM9zA+ZYp7tpekZtuacECOyMIf0X+WPL034MFKo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785774705; c=relaxed/simple; bh=6OkB+L5CL67X6zEXz72wqd0v32Qzk0bcX704BWeU9r8=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=lcKRJ2BlXDKD1ibh21mm5pY53YExhXzveQngBSbw4fnfERsHVh+G8F5t8QN2LHLx5WmfgjIdytePZstPdfLXYrhRDDJWm4uuNf6goz93jfhXZi6e2lbrGNM6vhKFbHhZ6Yc6Rjim6IHecePUG4/hMByxs6z0UwbuA9Rr2OCOzQk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=aqx0p7Zc; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=j/GuI2Oe; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="aqx0p7Zc"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="j/GuI2Oe" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 673EBp77920254 for ; Mon, 3 Aug 2026 16:31:43 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=hMlaJt9K9sF E9o+mk6CgXYslRF/MCGoEZtD3O9kxsHs=; b=aqx0p7ZcLIKs/ew+2dCBffHyh0w B3I0oq4OuFxQv6/r07vd/Fl4l5C72BtFgK2OZpm+zFUVJ2R/oM1wQf0FS+M1ckYy Vw7akByU+YrGQork8ost8UWdgXAD50K5F6u2aHe96lmMHD7n4YkbpW+Uv7/olyME AxV38Y+4rfWynYMpeWigAn2Zt+pJOhZkGs5jwtGqeOnDCpLg6d3A1W50ydplFa8P elBL4qMJEum3tvLqCqiB/Qn+OiAejq870zGCK2aRsqPi/EzHvcrtYlP0yCp45TDy R2rZqeVYMN/uoKXUQZGgfaVZPAy/1F40M0Q8pcMcq7XE5Qjbh2lY8kMfZGQ== Received: from mail-pg1-f200.google.com (mail-pg1-f200.google.com [209.85.215.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ftnrtak9w-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 03 Aug 2026 16:31:43 +0000 (GMT) Received: by mail-pg1-f200.google.com with SMTP id 41be03b00d2f7-c85798977dcso6086558a12.0 for ; Mon, 03 Aug 2026 09:31:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1785774702; x=1786379502; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=hMlaJt9K9sFE9o+mk6CgXYslRF/MCGoEZtD3O9kxsHs=; b=j/GuI2OeEtkei4zZNCGJoFEF014mNDTinEynNCQpzrIpHyug4KJ0pzp5bCiVcjr6Oo Kd3RJ25lvM3dAp3fe716cONRoDPcKX7fibgsSTFOsjEz9zPEvO5jIET8VG+9RRGasmnz GbHp5+qOTSO0sdjabeQfJ4e60ZpPyr66ta1R8htzqsTeG+NC8Uv2IxR+667rnA9yPWBe 57PSg6TMt+iU+gZh9ia4tQnElHpYqsb5eT5gTi4Qd+UVzZeSK6SlUR+jTCVYVNjYOo+L Ad/+NJ2HGcI4xOGNwwEerLXrt9oKnkTXPav1JyQ4sUBMYSiQ//5II9avd+X3N8koAXg8 c2PA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785774702; x=1786379502; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=hMlaJt9K9sFE9o+mk6CgXYslRF/MCGoEZtD3O9kxsHs=; b=IojuioznDqRIkZ7XaUWmhfs8+FIWO6Hc2nuYzUw75lKVplg3JI9wZrJGiwffgIjvnf K8DESJUoGI/rcJtf74AhiRx2a4Z0D/a3/5jdfHJmiQ88zQfqBxQRRDqkjveVtZN8F8Qj oLmu+sC71E0GTOsGg7ApWR2x16irC8Ue8UGIama0V+gExsQKY8rkWkuF5JrKdRsGJiUN Pw22zmk+8rMqsxwVO19TyHfRlSjFRKD7ax77XB60vZlEKwqQkzmEWxm0JAt3Ycx73FuR jSX1H9B3iZktnoECIaKf1DySzv65u1HJdzGZOowpnSbEY40RAh1e+feHOT+hyGGqmqKq LqNQ== X-Forwarded-Encrypted: i=1; AHgh+RriV6uscd+PpOFMFIdue/LaxpvAQgrpK7U+bFYOg27RCBSddVq8qxbPk6jedGTv14ptOFakcD/TZjptQLk=@vger.kernel.org X-Gm-Message-State: AOJu0YzjhMcGw08zN+q6Q683MVKv2kqencuKV3Fs3p9Quc7/PiaoRFks tC+sSyeKI92OH3dsiPv9QktrZGzTMmdfwTB5cm4m8inLOoCiakqbv/aF6zyQitfr37LPyYMprrk iRoApPUsjQv8ic02r9/mulP+7K/i944AEdKYbMvGrFpzPJZWkLlMITcw/NO5BlhUBJeU= X-Gm-Gg: AR+sD10raItKodLn7hKndGW9Vr2U2rLna369Dd6ps0rWGuQJf+473S6ZqscoVOOxTQg iPANbK9LRwhXC5y9q+ufTODjzJCW8fBrx7pKdTwXBIQwmKEcGVvzzAuF2iWksvOHVoNqyZlhiT7 XWfC1gMk0QmGj8/ugSOcKxd8piV8z21o/lJ6YvX4Jf062EvB9Mi32Ox9dQBSrF/MFn4VIjaPCcA 9Vd4a1wWS2mc5lz4VEzYjKyh8nZb9SPQqPTBnDNW1xuYQDIR13c/l7aF1tKt4u0WwPErMgP0J/2 lGESb6pqw3LlYVeH2jJqfKUguFNp2QI3OxTlQrftDvdUlVn6oihoKFyemzXlSwU1ZJvDyv3SCdW VXKLBCfaIV4yldrNZZdWpytEPqYEydtk= X-Received: by 2002:a05:6a21:3947:b0:3bf:a681:a262 with SMTP id adf61e73a8af0-3c92a83843bmr11963977637.38.1785774702153; Mon, 03 Aug 2026 09:31:42 -0700 (PDT) X-Received: by 2002:a05:6a21:3947:b0:3bf:a681:a262 with SMTP id adf61e73a8af0-3c92a83843bmr11963936637.38.1785774701710; Mon, 03 Aug 2026 09:31:41 -0700 (PDT) Received: from hu-neersoni-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-13fab4cb50dsm54592761c88.10.2026.08.03.09.31.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Aug 2026 09:31:41 -0700 (PDT) From: Neeraj Soni To: ebiggers@kernel.org, ulf.hansson@linaro.org, adrian.hunter@intel.com Cc: quic_dmukhopa@quicinc.com, quic_rampraka@quicinc.com, quic_nitirawa@quicinc.com, quic_sachgupt@quicinc.com, quic_bhaskarv@quicinc.com, quic_gaurkash@quicinc.com, quic_sartgarg@quicinc.com, ram.gupta@oss.qualcomm.com, linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, neeraj.soni@oss.qualcomm.com Subject: [PATCH v6 2/2] mmc: sdhci-msm: Use pm ops instead of macro to restore crypto keys Date: Mon, 3 Aug 2026 22:01:23 +0530 Message-Id: <20260803163123.1802005-3-neeraj.soni@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260803163123.1802005-1-neeraj.soni@oss.qualcomm.com> References: <20260803163123.1802005-1-neeraj.soni@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODAzMDE0OCBTYWx0ZWRfXxe55cTpADubA 8jMjyjJBfQgXo+qtBDKvM8p6GPKIpUTR9MY+9K4Jy7YqxWSX2nI7REqGRZkTULHGXAeqVCqqQ6k DvNNPcvXyCcopH7DPWGY0Fuw9WG/Hzg8IyavAFc+XiHrZB6IQ5OeqGyQWbZwrY9WE0ETXgPu0Qn vYiTMWRSwlVVWx+9BVNT0kkKudmDYJiMPLSTfeAM1XFgjwOpdCut5PHD7iEml/XxR243yQEC7BE 5B/QLCzJ5u0jKdNhqL4JvA0ywocfxetgv3cQE7EO1Gj+nuo9Gi5i+n/+y9qYyNeESK2J/kkFkdF lB2EWdst3dj1cMQhuhCk0ZrWyZjFDSFVl42FtmPstH2JfbVnYCAlShmCSl2Niua662l5SCnaiMI xaSIYMwPkY3lIS8iEYbuKhbJQ5Yw8zw19HwKeqhUR1upszfwGVn/X69gPbhol4tZ3xogxFlQI60 XByGqx2UCc62iO+zCrg== X-Proofpoint-GUID: VooI5hqOhvshnNfSUvdZH6h86-g6ax-r X-Proofpoint-ORIG-GUID: VooI5hqOhvshnNfSUvdZH6h86-g6ax-r X-Proofpoint-Spam-Info: AW1haW4tMjYwODAzMDE0OCBTYWx0ZWRfX6L5asEDfYvBB QHGL0b9OMsvKVrd0RpMGM3nenPo6e8xqPQ1eiYTAOZv6tDNr6pGuq4awy22DmuaRYJGAbYcxQZn FV73VoLdDpqa4SJarvXtwLLql1uqRbI= X-Authority-Analysis: v=2.4 cv=Ft81OWrq c=1 sm=1 tr=0 ts=6a70c26f cx=c_pps a=oF/VQ+ItUULfLr/lQ2/icg==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=EUspDBNiAAAA:8 a=COk6AnOGAAAA:8 a=gS7Xm_n-xbDbWU8O4UEA:9 a=3WC7DwWrALyhR5TkjVHa:22 a=TjNXssC_j7lpFel5tvFf:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-03_03,2026-08-03_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 impostorscore=0 lowpriorityscore=0 clxscore=1015 adultscore=0 phishscore=0 bulkscore=0 suspectscore=0 priorityscore=1501 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608030148 Content-Type: text/plain; charset="utf-8" From: Ram Prakash Gupta 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 Signed-off-by: Seshu Madhavi Puppala Co-developed-by: Ram Prakash Gupta Signed-off-by: Ram Prakash Gupta Co-developed-by: Sarthak Garg Signed-off-by: Sarthak Garg Signed-off-by: Debraj Mukhopadhyay Signed-off-by: Neeraj Soni --- drivers/mmc/host/sdhci-msm.c | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/drivers/mmc/host/sdhci-msm.c b/drivers/mmc/host/sdhci-msm.c index 4aff965f0e2e..f64788a70309 100644 --- a/drivers/mmc/host/sdhci-msm.c +++ b/drivers/mmc/host/sdhci-msm.c @@ -1959,6 +1959,7 @@ static int sdhci_msm_ice_init(struct sdhci_msm_host *= msm_host, } =20 mmc->caps2 |=3D MMC_CAP2_CRYPTO; + mmc->caps2 |=3D MMC_CAP2_CRYPTO_NO_REPROG; return 0; } =20 @@ -2983,9 +2984,29 @@ static int sdhci_msm_runtime_resume(struct device *d= ev) return ret; } =20 +static int sdhci_msm_restore(struct device *dev) +{ + struct sdhci_host *host =3D dev_get_drvdata(dev); + int ret; + + ret =3D pm_runtime_force_resume(dev); + if (ret) + return ret; + + if (host->mmc->caps2 & MMC_CAP2_CRYPTO) + blk_crypto_reprogram_all_keys(&host->mmc->crypto_profile); + + return ret; +} + static const struct dev_pm_ops sdhci_msm_pm_ops =3D { - SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend, pm_runtime_force_resume) RUNTIME_PM_OPS(sdhci_msm_runtime_suspend, sdhci_msm_runtime_resume, NULL) + .suspend =3D pm_runtime_force_suspend, + .resume =3D pm_runtime_force_resume, + .freeze =3D pm_runtime_force_suspend, + .restore =3D sdhci_msm_restore, + .thaw =3D pm_runtime_force_resume, + .poweroff =3D pm_runtime_force_suspend, }; =20 static struct platform_driver sdhci_msm_driver =3D { --=20 2.34.1