From nobody Mon Jun 8 05:26:57 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 DF6843BB134 for ; Tue, 2 Jun 2026 22:24:34 +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=1780439076; cv=none; b=NRUF6gKqy+up3Kr0fTn9s2AYXrUwFnH5KE7q0oupf02XIjr4jV65KUZumxZ9pfog2y/6AFRZDJnsrC/6MN7/aC/QO163w9NUk1DNa7siKjs+4tGE1Dnr5azFbZOX2iPwP1w7u0K7s7qksDN9mvZEl3+Xov6IFuYYRnhH6ZguHlI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780439076; c=relaxed/simple; bh=3ucCFxqVSmxwv3tYV7K9HtEXpSVQKpaawldrvOaRdUE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Oqzvz/irTqv2MFrpITFWDNMefGm8j6gCatZR+RNakZDoxxA1mOWZpNpKjb1am5vSV40BDH5OgWmtw2dJ0RBFJ5kLW1YVzQAy5tMR9JFCSMo2oxCjMUrABo45ur1NZ7+WP8OU1ltIowcTC3JzTe8QF6LTYXgxSwM+stioSvLasHw= 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=CvbwE15D; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=P/AjUwFd; 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="CvbwE15D"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="P/AjUwFd" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 652HfTZF1938111 for ; Tue, 2 Jun 2026 22:24:34 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= N77a8rPBNXCEfDhtEGoBDQai/waqHZnCNGqwv0a6lQ8=; b=CvbwE15DcR4FVPNY ZTlRJ/94ycOQFhIpmvmufYfd6l5BOntLQQ6kZm3W73/a8Ngnab90TMvfT0Vd90hB WJfxX6lJFShIaSecHNZxVYldzuYypbo5tYnClU8T38WZ5kWyw5ZFcy40gpdmiYbc 5bPabw8sIrei4+0+dO8Zo8ETuGqcD9XeVWQAYpX9CylU7HtHIBMJdIgFLm6ScO2u G5Rm4bM18F4vhVRcAGf2HrnVWRBz/fmoxhqEQsmXoqKYcyRAO989ZV/wtrK757kH 7X3oYw6cj/rgS+k6IYbljBL49TIvJsL0bLa1JRXjwXkubSmUEK1Ve5B8GYKA93XP whYIqA== Received: from mail-pl1-f199.google.com (mail-pl1-f199.google.com [209.85.214.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ehqubmbfa-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 02 Jun 2026 22:24:33 +0000 (GMT) Received: by mail-pl1-f199.google.com with SMTP id d9443c01a7336-2c0c32faa62so54268285ad.2 for ; Tue, 02 Jun 2026 15:24:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1780439073; x=1781043873; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=N77a8rPBNXCEfDhtEGoBDQai/waqHZnCNGqwv0a6lQ8=; b=P/AjUwFduwh2DcFlnfmwssU7UBrXx6y6zY9M/CcIRbP25mhrtaARjoGTl8+RWSqG56 FT/uVlqs1IbGmdccUuf6BKcIdAgrBBvWrInYkqBkpOWz3Y3AyGVacYTVdbfA+TdVmX/w 1MBJduq0pSoDGXhTKaAzQIphHjlS6wyrVSeNlsoaYT+g9+WRTSUcoJMvb+tXvwefLSo0 TRSlAYvYG5B8soTOkJmrra/m8POmDMVGzUfvE7kM4SLhc2g09ApGO9lSKYLohtVmZaLN bJUQbrsOfWxsJ6K1dXCycbohqVA8KLGCUUeycweZRZ/5bdJ6IkrQ3aLU4Is45BWGrn+/ 42oQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780439073; x=1781043873; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=N77a8rPBNXCEfDhtEGoBDQai/waqHZnCNGqwv0a6lQ8=; b=Kb9nQmaMNhrsEwYKGtuH4/ut46lwDogkuVk5KvF7LNPJJAgZqRgG13rHvcaA1GqcOg ywfCKnG1sghtuVoREs/5IJb9eRMeZZgIG6XmzsNaHIyUHcl5Vrzd7jhsPN1kQVl5IhNb 6Q+eCEqjp72hS4wT8HAZJVtQZx205zcc1+8LzDde5IzIau/fAImW69ipCyST+7FYpp+S RGfOU45lA/OQKxdIVtklokdKLjnOA+LjzJNBcZLuG07/KdhcNUPaaWwrBm5/4KSCs+rv 5Pd8DAuzEgWHvPNffqMtQRftYPumxj+AwmvmbfuQNaWulSUloStDdJ4fpVsEjYyGId7Q D8cw== X-Forwarded-Encrypted: i=1; AFNElJ/KK33TlI3wylEfNSOEkjWBmxn6VdhMVjl1eEkjlJvX1wdN3SyVEqrnz+NXMacTe2eM4xbWPtzWq4tYtaU=@vger.kernel.org X-Gm-Message-State: AOJu0YywZjerxn+V6ooI5WCSQ7bKWoj8h7L5NTuPb6RX3aIu8OXC01mj Ogz84I5CbJ1AHLYO1RBsST3cyth4sf6LTvFnFkdChMmKKifP+qRmCZyba0/yyt/WP46ZzuKSghc MgupT/3YD/25X4AsnjSlF+NqbV7LsNzz4d/UzRdgTcgyKiN3pai+NtvefHB5AM4Z9NKY= X-Gm-Gg: Acq92OHv9emodzq6Qm52Bdr9pl6bOOXkN2jdclxuhwKsdAByV55O5M9RaGmv3KmIwrR kzlCFeUdvhnA8uw3SBwx1bYlGotBhK4aHVWT59EyB3uvAHzTT8miEy50OaHsDAnudq49Nbqs1uo XSfe/e2qTvC/9JjvRXFd4n2f8bkG9p+14b9XkL9Udhs9NZMzERGhLYCHs2GXYaK2dmpsRNuAxEj nC+s49nQOCaywfrC0DMMAOanwxN3v3m0elEI+yR2tLehikx+mJ35PoHOM2OdCefPSjH1sKWZjpX nFPEAOKzp0oFMCcxTh61Y1kkiLXnU0xF3Z3SNggw4x4zQKlTYX/3aszak5wSDtKOBje8CV9qECn c2vfmrZcI9+z1kyzUCEWjkJ5eCZyLeu6B45XJ7ZkHORZZ1llBVy089+ZGWnMReYZqkdhFjA== X-Received: by 2002:a17:903:1a4e:b0:2bd:8dbb:293e with SMTP id d9443c01a7336-2c163a58d7fmr5515855ad.14.1780439072686; Tue, 02 Jun 2026 15:24:32 -0700 (PDT) X-Received: by 2002:a17:903:1a4e:b0:2bd:8dbb:293e with SMTP id d9443c01a7336-2c163a58d7fmr5515675ad.14.1780439072166; Tue, 02 Jun 2026 15:24:32 -0700 (PDT) Received: from hu-arakshit-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2c16609e0ecsm2698035ad.45.2026.06.02.15.24.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 02 Jun 2026 15:24:31 -0700 (PDT) From: Abhinaba Rakshit Date: Wed, 03 Jun 2026 03:53:53 +0530 Subject: [PATCH v10 1/5] soc: qcom: ice: Add OPP-based clock scaling support for ICE Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260603-enable-ice-clock-scaling-v10-1-b0b728435356@oss.qualcomm.com> References: <20260603-enable-ice-clock-scaling-v10-0-b0b728435356@oss.qualcomm.com> In-Reply-To: <20260603-enable-ice-clock-scaling-v10-0-b0b728435356@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Manivannan Sadhasivam , "James E.J. Bottomley" , "Martin K. Petersen" , Adrian Hunter , Ulf Hansson , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Neeraj Soni , Harshal Dev , Kuldeep Singh Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org, linux-mmc@vger.kernel.org, devicetree@vger.kernel.org, Abhinaba Rakshit X-Mailer: b4 0.14.2 X-Proofpoint-ORIG-GUID: Cp1uzDqFpZR0xdO3oyDpPjLZklK0qQJF X-Proofpoint-GUID: Cp1uzDqFpZR0xdO3oyDpPjLZklK0qQJF X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjAyMDIxNyBTYWx0ZWRfX6xPizij+1Q58 JwVBH3Bkwc8h3X9h0UR7N5agGcspUwnAmMFDZzgOkY4wYE15tiP6U8Y7FUUvnZJd61KRJpMVfLy AwqDwkWWukzDDj6NiTUu3ZtaJMWXRjySpZz1arMiuyjq+STKoycAH1CvpnoSdqr7qmd4mk5bVfC 2NM8Yw7DQM21tvzrBwgILpUUEMFPY+7ZtJa+s4wobyGSh+wjuW2pRO6sUiVBKZ6J/4/N/zBw6lO ZBSJYJNBHgsG0iAleHL/FkZZNh1Ae8Sx4z8uHRh2nt2Qy891j6E7f4hk5CCGk3nUCDDmlqudHfy vKFfZTT1KnF8A2CKJ7htHRUl6AA4b5zAHmTPauP/Cyj9FPL7af+uGY3v1VluNh0aJz9ARIIPhp0 OtlftajWZAz4/rq3I7r/Cit9S1j/Y0Hus0H9byIxAL6Ev386NW16UysFqnD7H32pH6Dx6kKk8M9 BYySEp9MYofPwxJt4Rg== X-Authority-Analysis: v=2.4 cv=FcoHAp+6 c=1 sm=1 tr=0 ts=6a1f5821 cx=c_pps a=JL+w9abYAAE89/QcEU+0QA==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=EUspDBNiAAAA:8 a=zlodBCVASgOsPZHI1q0A:9 a=QEXdDO2ut3YA:10 a=324X-CrmTo6CU4MGRt3R:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-02_04,2026-05-28_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 phishscore=0 bulkscore=0 impostorscore=0 malwarescore=0 suspectscore=0 lowpriorityscore=0 clxscore=1015 spamscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606020217 Register optional operation-points-v2 table for ICE device during device probe. Attach the OPP-table with only the ICE core clock. Since, dtbinding is on a transition phase to include iface clock and clock-names, attaching the opp-table to core clock remains optional such that it does not cause probe failures. Introduce clock scaling API qcom_ice_scale_clk which scale ICE core clock based on the target frequency provided and if a valid OPP-table is registered. Use round_ceil passed to decide on the rounding of the clock freq against OPP-table. Clock scaling is disabled when a valid OPP-table is not registered. This ensures when an ICE-device specific OPP table is available, use the PM OPP framework to manage frequency scaling and maintain proper power-domain constraints. Also, ensure to drop the votes in suspend to prevent power/thermal retention. Subsequently restore the frequency in resume from core_clk_freq which stores the last ICE core clock operating frequency. Reviewed-by: Harshal Dev Signed-off-by: Abhinaba Rakshit --- drivers/soc/qcom/ice.c | 93 ++++++++++++++++++++++++++++++++++++++++++++++= ++++ include/soc/qcom/ice.h | 2 ++ 2 files changed, 95 insertions(+) diff --git a/drivers/soc/qcom/ice.c b/drivers/soc/qcom/ice.c index 5f20108aa03ebe9a47a10fba9afde420add0f34a..519d08c4727a6cb2dc5991216a2= c042ed6218857 100644 --- a/drivers/soc/qcom/ice.c +++ b/drivers/soc/qcom/ice.c @@ -17,6 +17,7 @@ #include #include #include +#include =20 #include =20 @@ -113,6 +114,8 @@ struct qcom_ice { bool use_hwkm; bool hwkm_init_complete; u8 hwkm_version; + unsigned long core_clk_freq; + bool has_opp; }; =20 static DEFINE_XARRAY(ice_handles); @@ -315,6 +318,10 @@ int qcom_ice_resume(struct qcom_ice *ice) struct device *dev =3D ice->dev; int err; =20 + /* Restore the ICE core clk freq */ + if (ice->has_opp && ice->core_clk_freq) + dev_pm_opp_set_rate(ice->dev, ice->core_clk_freq); + err =3D clk_prepare_enable(ice->core_clk); if (err) { dev_err(dev, "Failed to enable core clock: %d\n", err); @@ -335,6 +342,11 @@ int qcom_ice_suspend(struct qcom_ice *ice) { clk_disable_unprepare(ice->iface_clk); clk_disable_unprepare(ice->core_clk); + + /* Drop the clock votes while suspend */ + if (ice->has_opp) + dev_pm_opp_set_rate(ice->dev, 0); + ice->hwkm_init_complete =3D false; =20 return 0; @@ -560,6 +572,51 @@ int qcom_ice_import_key(struct qcom_ice *ice, } EXPORT_SYMBOL_GPL(qcom_ice_import_key); =20 +/** + * qcom_ice_scale_clk() - Scale ICE clock for DVFS-aware operations + * @ice: ICE driver data + * @target_freq: requested frequency in Hz + * @round_ceil: when true, selects nearest freq >=3D @target_freq; + * otherwise, selects nearest freq <=3D @target_freq + * + * Selects an OPP frequency based on @target_freq and the rounding directi= on + * specified by @round_ceil, then programs it using dev_pm_opp_set_rate(), + * including any voltage or power-domain transitions handled by the OPP + * framework. Updates ice->core_clk_freq on success. + * + * Return: 0 on success; -EOPNOTSUPP if no OPP table; or error from + * dev_pm_opp_set_rate()/OPP lookup. + */ +int qcom_ice_scale_clk(struct qcom_ice *ice, unsigned long target_freq, + bool round_ceil) +{ + unsigned long ice_freq =3D target_freq; + struct dev_pm_opp *opp; + int ret; + + if (!ice->has_opp) + return -EOPNOTSUPP; + + if (round_ceil) + opp =3D dev_pm_opp_find_freq_ceil(ice->dev, &ice_freq); + else + opp =3D dev_pm_opp_find_freq_floor(ice->dev, &ice_freq); + + if (IS_ERR(opp)) + return PTR_ERR(opp); + dev_pm_opp_put(opp); + + ret =3D dev_pm_opp_set_rate(ice->dev, ice_freq); + if (ret) { + dev_err(ice->dev, "Unable to scale ICE clock rate\n"); + return ret; + } + ice->core_clk_freq =3D ice_freq; + + return ret; +} +EXPORT_SYMBOL_GPL(qcom_ice_scale_clk); + static struct qcom_ice *qcom_ice_create(struct device *dev, void __iomem *base) { @@ -738,6 +795,7 @@ static int qcom_ice_probe(struct platform_device *pdev) unsigned long phandle =3D pdev->dev.of_node->phandle; struct qcom_ice *engine; void __iomem *base; + int err; =20 guard(mutex)(&ice_mutex); =20 @@ -756,6 +814,41 @@ static int qcom_ice_probe(struct platform_device *pdev) return PTR_ERR(engine); } =20 + err =3D devm_pm_opp_set_clkname(&pdev->dev, "core"); + if (err && err !=3D -ENOENT) { + dev_err(&pdev->dev, "Unable to set core clkname to OPP-table\n"); + /* Store the error pointer for devm_of_qcom_ice_get() */ + xa_store(&ice_handles, phandle, ERR_PTR(err), GFP_KERNEL); + return err; + } + + /* OPP table is optional */ + err =3D devm_pm_opp_of_add_table(&pdev->dev); + if (err && err !=3D -ENODEV) { + dev_err(&pdev->dev, "Invalid OPP table in Device tree\n"); + /* Store the error pointer for devm_of_qcom_ice_get() */ + xa_store(&ice_handles, phandle, ERR_PTR(err), GFP_KERNEL); + return err; + } + + /* + * The OPP table is optional. devm_pm_opp_of_add_table() returns + * -ENODEV when no OPP table is present in DT, which is not treated + * as an error. Therefore, track successful OPP registration only + * when err is not -ENODEV. + */ + if (err =3D=3D -ENODEV) + dev_info(&pdev->dev, "ICE OPP table is not registered, please update you= r DT\n"); + else + engine->has_opp =3D true; + + /* + * Store the core clock rate for suspend resume cycles, + * against OPP aware DVFS operations. core_clk_freq will + * have a valid value only for non-legacy bindings. + */ + engine->core_clk_freq =3D clk_get_rate(engine->core_clk); + xa_store(&ice_handles, phandle, engine, GFP_KERNEL); =20 return 0; diff --git a/include/soc/qcom/ice.h b/include/soc/qcom/ice.h index 4bee553f0a59d86ec6ce20f7c7b4bce28a706415..4eb58a264d416e71228ed4b13e7= f53c549261fdc 100644 --- a/include/soc/qcom/ice.h +++ b/include/soc/qcom/ice.h @@ -30,5 +30,7 @@ int qcom_ice_import_key(struct qcom_ice *ice, const u8 *raw_key, size_t raw_key_size, u8 lt_key[BLK_CRYPTO_MAX_HW_WRAPPED_KEY_SIZE]); struct qcom_ice *devm_of_qcom_ice_get(struct device *dev); +int qcom_ice_scale_clk(struct qcom_ice *ice, unsigned long target_freq, + bool round_ceil); =20 #endif /* __QCOM_ICE_H__ */ --=20 2.34.1 From nobody Mon Jun 8 05:26:57 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 BF18C3C5850 for ; Tue, 2 Jun 2026 22:24:39 +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=1780439081; cv=none; b=Y8GBwQtx9ZdmafeSx4jks0bRG1NN9fDtyAQdDLR9JBZweBAPeeL6seCgX1e/QU7FaMeyOYUyglq8785nkL6KOV+wcWqqL+6VNscuMRJXHMqj0KspUYMpL3g1D3511a0JKfq+YqzEkSrr+1fNfHEXGn1eQtQfYSYXSdLQfLV6/8o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780439081; c=relaxed/simple; bh=V18lkZ+mYtRW45RZQcZ5zGi4H7dZflBvwdwCuHqEMXs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=b9fKnTJi6gux5Uk4kCn5gWHyYtX9jSDWCcFNO9PBP4nHJoLSRRKh7B+swA53jrAKcakC8Ka8vwq1VxyWG3zRpjY1WtoPon+qnJ9uEMBE9sHNnyQocgnTmp4Zm6FmOrJFvUpNZg9n7icpRIYyPfGPI06tCNoW4AT68tXgVanS8D4= 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=Z/s9qazc; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=dONhf3Ti; 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="Z/s9qazc"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="dONhf3Ti" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 652ExpVM3429831 for ; Tue, 2 Jun 2026 22:24:39 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= A2btTWcfqlMf79K2ygn2F3WwB6X9SQ/bHFDltKt8bfE=; b=Z/s9qazc75eVm00Z hp9V2BaPvIjogFVlijZPwpE07pppmDpAQN9Dwugtykoz52kPiikfn2CrvkO+HSXE ktgFLHHrfgEkCajNC/YjEDI+uhDnDnwYzreKAEksO1i1NnYO7Hnrx3OJqKsWMqcb nLTPS06E/DgjDPn38l5tIENZexL9/o8Iiz/jkw68Mt/aEtvM1bLIVwNWeeQN5cPc x4fkIVBjVBwOKndXyjhsM8yKyT5zhGL4wMXBYSVi4VLelohgF0hfViRvvZSEXSKN ocFlENQhRtPqI3mpThO/S0quN2yrAQiqXhibU/njTd5nKvyyyp2eL4aJsRFuOhvb Kd6frQ== Received: from mail-pl1-f197.google.com (mail-pl1-f197.google.com [209.85.214.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ehn8mmxsc-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 02 Jun 2026 22:24:39 +0000 (GMT) Received: by mail-pl1-f197.google.com with SMTP id d9443c01a7336-2bf335549b8so55138845ad.1 for ; Tue, 02 Jun 2026 15:24:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1780439078; x=1781043878; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=A2btTWcfqlMf79K2ygn2F3WwB6X9SQ/bHFDltKt8bfE=; b=dONhf3TiY3CBkyDTjpZnSnAmgBpRBgV366J8nYMP+w+dlnDKkUA/eoWdPRF7JwPv2D s0uo9m22QoElSdgJEEUUgRqVDVVjJOyYm/yKJD+lY3pA7v8iqO8xa1KvHon00EzmPl9g IAv60tjqgfaiJHUTGBmqMTytun3Jyh2aPsw2crTgkhNMS5jFB3AH61PFXNiYc4v5FCu8 6DorED/Uy/qajoNWEkvX6G7Jwf7BYy3+1qw161/ugk19LKAZttbjH8JV2/IRUu8trBXy Y3Hyq/lj10caF25H2UCcaS/lslk01jkXWzOHm6VitBTiRh76STBOX4MX7ZRga/QLeXWr d8oQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780439078; x=1781043878; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=A2btTWcfqlMf79K2ygn2F3WwB6X9SQ/bHFDltKt8bfE=; b=bVXyoSkVLvHfrltiVXj+CVowtuD+3b6m9vEd2Cog0wd5ScWGzlyBk+1ZgLhTEMf36m yhUbqNACHvML+Nr0Pxk8sSF0LC1L0bTnp+tSqqsMrHb1yOP9XgzFeFEwFAR6gaNF3aX/ rua7jfyVyGh7S/r2oY9OVoS5KR3FFUDpmF6rqIoBwykXWWZqpHbucS1eL59ULbY5p2+k Eo1aZsb56OYiBgw1y/YmJleX3l4VQDyC/admaLKeNz+anoEaCvL5Gn1rVaxJgIwS59yn uGksGE4kgptCZ8TtLe5L9KeGtd+VoIQA7nVWAnXdaZavoI2dAUPWGZalZwqf20/RmNJs VdUA== X-Forwarded-Encrypted: i=1; AFNElJ9xMGXwzekySc6sBxOBRxHs5bUb1CJc8iWKHKfl1wYkuy2k9HdZ9I8FCmUaiRY8hioGC4ROiSv/L3u5kak=@vger.kernel.org X-Gm-Message-State: AOJu0Yz87CS/FXShnsr2yPUvdV/Kn9qX3di5mygbIPAATNU0+twcY3Z6 z0i2Fq3tur86KtmbLzr2GIxN4okXt9j792R2R+SweyhWtj9DN7oWqVXARu74ev8ADPv8fU8RJXL 0HNraPghot3pbVjyr7tQ3HyHfBEMEMN1E+s+epUawlfqms8RVM8LLEf9NY0ZO0YmA1Uc= X-Gm-Gg: Acq92OHv4X8FZLY89DJhaNyGE3nzaOeAfV7avn5firTH5LT0EFwm50OCIjWG6oe4wVA n4Z1xQ8Md8d1vBaaDf8zhQwwoBcWi94jXO7CSlIRbnxCdu08fl68vK60ZDHsPhCT2Is7EiBEs9G OUChnMzfCwio5HwQaYE7Ntxls/zs69n6PnYdch5U3vi5lwPAPyhXZbHfjS99xbvRlS8muMWirf/ +YB3kqR4gyKPwN2NWJv2IdvcAvfofpSZF4bVsBW+kIhg7DQ8LioX0yGj7X9wWrHgwe7On5tZuBi gvy9ibJWd5J0GtiaMsZhycgvGOjhiCOST2O/cn6vfk51yqPkH1g6QCGjN59SYxv1s6FjlLH7Rbl Pi6p2sVdokEAvkmLDncISbxXmjL12emHfL4grtjxnQJpnJkfoVJ1UTAlqsfDDpL5PEhtiWg== X-Received: by 2002:a17:903:1252:b0:2bf:2114:ecbe with SMTP id d9443c01a7336-2c163fa8545mr6071695ad.23.1780439078439; Tue, 02 Jun 2026 15:24:38 -0700 (PDT) X-Received: by 2002:a17:903:1252:b0:2bf:2114:ecbe with SMTP id d9443c01a7336-2c163fa8545mr6071455ad.23.1780439077952; Tue, 02 Jun 2026 15:24:37 -0700 (PDT) Received: from hu-arakshit-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2c16609e0ecsm2698035ad.45.2026.06.02.15.24.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 02 Jun 2026 15:24:37 -0700 (PDT) From: Abhinaba Rakshit Date: Wed, 03 Jun 2026 03:53:54 +0530 Subject: [PATCH v10 2/5] ufs: host: Add ICE clock scaling during UFS clock changes Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260603-enable-ice-clock-scaling-v10-2-b0b728435356@oss.qualcomm.com> References: <20260603-enable-ice-clock-scaling-v10-0-b0b728435356@oss.qualcomm.com> In-Reply-To: <20260603-enable-ice-clock-scaling-v10-0-b0b728435356@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Manivannan Sadhasivam , "James E.J. Bottomley" , "Martin K. Petersen" , Adrian Hunter , Ulf Hansson , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Neeraj Soni , Harshal Dev , Kuldeep Singh Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org, linux-mmc@vger.kernel.org, devicetree@vger.kernel.org, Abhinaba Rakshit X-Mailer: b4 0.14.2 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjAyMDIxNyBTYWx0ZWRfX9XdSILhOWGTg wj7i18F9qXvgn9IMxT+hJdnnJj4puWmgYPJP7TTOVUFM7Rmbs4yWUWtshb8F26/hbcXKpTmTbRw hJCyUOKlK7lJs1Ubh65/p8/Bc066F9PDQFEZpQ7ZzGGGKzozRiEErAqUO2De037d2ZnGr6YPmX+ JMDKu7gwIc0uU2DotN6D/pXr33vwXFyMKAL3bLNP73sBIaC7LnmQZE5k2hOBvlqtRQdTCi8Gyuh tLflhTj9koOAalmOT97kASgklrHmOOx5skCMgCa5/QXOy2rWw8oaqUQhXL4ssI2jVBqS5PFazOk wQYSZ0F5vXmaAcal0HBwq3TOFlMRGfxVKwc5IFclfeLF1oHjhswIVCn+DN0hIRMEkP26cbrpro+ 5gRpEdCKiLHu3aTelvIwscTlFiGwZqm9E4NF/ZXWrugOaITSAyTzKYIgOkkKCO+lBqkQVhQI6A7 xMySNgXS9rSkaIVydKg== X-Authority-Analysis: v=2.4 cv=d5nFDxjE c=1 sm=1 tr=0 ts=6a1f5827 cx=c_pps a=cmESyDAEBpBGqyK7t0alAg==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=4vEl8bdWBwuQafGpEzkA:9 a=QEXdDO2ut3YA:10 a=1OuFwYUASf3TG4hYMiVC:22 X-Proofpoint-ORIG-GUID: FLZsFTsgoc4vZ6X5FEjRpTAW0YdN7uUJ X-Proofpoint-GUID: FLZsFTsgoc4vZ6X5FEjRpTAW0YdN7uUJ X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-02_04,2026-05-28_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 impostorscore=0 malwarescore=0 clxscore=1015 adultscore=0 spamscore=0 lowpriorityscore=0 bulkscore=0 phishscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606020217 Implement ICE (Inline Crypto Engine) clock scaling in sync with UFS controller clock scaling. This ensures that the ICE operates at an appropriate frequency when the UFS clocks are scaled up or down, improving performance and maintaining stability for crypto operations. For scale_up operation ensure to pass ~round_ceil (round_floor) and vice-versa for scale_down operations. In case of OPP scaling is not supported by ICE, ensure to not prevent devfreq for UFS, as ICE OPP-table is optional. Acked-by: Manivannan Sadhasivam Reviewed-by: Harshal Dev Signed-off-by: Abhinaba Rakshit --- drivers/ufs/host/ufs-qcom.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/drivers/ufs/host/ufs-qcom.c b/drivers/ufs/host/ufs-qcom.c index 291c4344876481461ab958f3048db5405bbead62..dc15d7806c7b677d6890cd4b077= cae4f4d5c9a41 100644 --- a/drivers/ufs/host/ufs-qcom.c +++ b/drivers/ufs/host/ufs-qcom.c @@ -306,6 +306,15 @@ static int ufs_qcom_ice_prepare_key(struct blk_crypto_= profile *profile, return qcom_ice_prepare_key(host->ice, lt_key, lt_key_size, eph_key); } =20 +static int ufs_qcom_ice_scale_clk(struct ufs_qcom_host *host, unsigned lon= g target_freq, + bool round_ceil) +{ + if (host->hba->caps & UFSHCD_CAP_CRYPTO) + return qcom_ice_scale_clk(host->ice, target_freq, round_ceil); + + return 0; +} + static const struct blk_crypto_ll_ops ufs_qcom_crypto_ops =3D { .keyslot_program =3D ufs_qcom_ice_keyslot_program, .keyslot_evict =3D ufs_qcom_ice_keyslot_evict, @@ -340,6 +349,12 @@ static void ufs_qcom_config_ice_allocator(struct ufs_q= com_host *host) { } =20 +static int ufs_qcom_ice_scale_clk(struct ufs_qcom_host *host, unsigned lon= g target_freq, + bool round_ceil) +{ + return 0; +} + #endif =20 static void ufs_qcom_disable_lane_clks(struct ufs_qcom_host *host) @@ -1946,6 +1961,12 @@ static int ufs_qcom_clk_scale_notify(struct ufs_hba = *hba, bool scale_up, return err; } =20 + err =3D ufs_qcom_ice_scale_clk(host, target_freq, !scale_up); + if (err && err !=3D -EOPNOTSUPP) { + ufshcd_uic_hibern8_exit(hba); + return err; + } + ufs_qcom_icc_update_bw(host); ufshcd_uic_hibern8_exit(hba); } --=20 2.34.1 From nobody Mon Jun 8 05:26:57 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 744FB37F72E for ; Tue, 2 Jun 2026 22:24:46 +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=1780439087; cv=none; b=ImqtmoEpi2PXFt2dAlND4IieS6Dcl5Izn67rjTCbLBGJaBV6J5yRUigtruVbcnlFY2dRuPc4aNc8qd941Ga0JHe65PIIjx+8SIyVsE4bEuiDlEAneGYK51BK1nM7qRg46NWhYPl6xagUSIaHMWKG9RxwXVlYsebB4rQKU2oIsVI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780439087; c=relaxed/simple; bh=3w4W63xsG2++dPCs7ogqk5Rw8JmFxMFLrWxtVoquP6U=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=iPNpQDCpN5t7QgRkH5kVRXXwYTma4YQEyXnSrFp82XVRVpkAJec9pgTHaE44KQhwkrv9y645fjTz/utirLhi9Qh/lrUOoIlF3dLWPENVVPDeDe9EnYmWrVauo4dXPoqFAJTG6kAheJuFu7TklbRCPMMX+Uly0RmLrhtowJdSQgQ= 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=dv05aFtM; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=PxSgwJQP; 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="dv05aFtM"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="PxSgwJQP" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 652GD1hI3355454 for ; Tue, 2 Jun 2026 22:24:45 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= b/5zy6XbjJJB6n/FuzDKwDIAc3x2b9RV3asGSb1UkAE=; b=dv05aFtMr6OD4M9K 2a6dCDS2WcA7jB0tAgLvUx+KArCmKAJYnY6SfOg3IQ/v0o+k5dAwl0dguGNc84+0 UpOhiWMRd3T8COjXKwMIkQUl6TDPHe0PLfmdRaFFtx6cDx9XwtcAHfxdpennUOvK zzqOPHQgBg/SQk8HyKSNh6ddXlbREY4VgsrVlPZO9Y0LALCdEowwrv7SOyNCE1uv izd2xiidS0kPWS5yUp14TA/UYEa4+sffmWUDmkHXsuYGKJy+hPXYBjeLkp/76vYw 4vKraWOO+iAxusquW+5KvVrTnQc5E9p8xBJ2bezWcGBBU2PrnVRpd3umjFVlmsl7 cQHZig== Received: from mail-pl1-f200.google.com (mail-pl1-f200.google.com [209.85.214.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ehvkxb2e8-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 02 Jun 2026 22:24:45 +0000 (GMT) Received: by mail-pl1-f200.google.com with SMTP id d9443c01a7336-2c0532a6588so35300545ad.0 for ; Tue, 02 Jun 2026 15:24:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1780439084; x=1781043884; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=b/5zy6XbjJJB6n/FuzDKwDIAc3x2b9RV3asGSb1UkAE=; b=PxSgwJQPxvKRXinssiTjwD/FREVCw5BRpInxDu7P+bptzTdZnY8eE4Op7RUDHVM1f6 qWYK9lrkWTfPP0IJiQ0/mtfCavbU6a47pNS8Z4GHQh7J/Q6UGjPf9Gdg3RSOJRZdfKsD 6kr6buh3q7dlOm32sH9bkacewiUIC24wh9BeXtZwr61cWXhAkvUB9OAGnT2781xVfce9 QISIgdtHu7Wt1ykqAN8CJ1/Ycdz+w6sM3UtBoXJyUsVL1F7zEW2kZHi5FAr5aIufbnfP H1xQMktU/FIA6oN//1HF0JrZPjtsjp2AWdXNIzmWEz5zg6+fHkNT6aLoL3OuW0djARfb hwtA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780439084; x=1781043884; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=b/5zy6XbjJJB6n/FuzDKwDIAc3x2b9RV3asGSb1UkAE=; b=DhDRik7z2tjLNF/xoDgG0lP92R+wyzyzHwPMXn2nD4/GQS3rpiwMcF/qDvXpmCO8Bm 1k3ze0AIyCqtgn+qY3b6WEYoR11yAn7nQFMkKFT5cq/vVvkq9G0YUQ+5QWoZcv226NFg XCxGX3o1BKRbkFMFcGHKhMEIRdbA2X1h7wPEXv3aRcxXxxWZE0Q0aV4gAxdchPS4y+7M WTSIhtpnImpyFVO76VrvA/jK5XpyJvvdgrIn7Eb5uWa5atGKHfuBe3IIo1PS4DKJm75T B+7XWw4nVm8fpcOsnFgVau2fSRuGiioVey959bXnXWYDFLdBGue4NU7CGPB7A/iyy8An lIfQ== X-Forwarded-Encrypted: i=1; AFNElJ++hNNxl/pOJCe5CVa/xrkTrub7BbEv9fZvCUJM0BJJVxUvXtn1Y7OK9rOO/N4hwkUZAge5XcbDo1BzKfU=@vger.kernel.org X-Gm-Message-State: AOJu0YweAaR+6/vyHWTa9NJnXLWYNLS/Nwl5nqm2Y5ZLAXfwk3OtTxzb aqZB7ZIitnonK3kpbVkVmaIOzRc0SrLhW5braSSZO0Q7AQycov/mPXgsQ4KrNN3F6j9D7NOb0zm y6eZ/Fn+bM/bOspTpu66C1/dDLoPYbHfLg3p9/XoAlbN4DpK+A6x/qyv1in3Oe59++Jo= X-Gm-Gg: Acq92OFlkHFk0oxUW6aonROzzkwHYrfFPjQKbV5X8TkmrZJiLj7RpPveEuizNvFwCXS rCe+ldQtSjl+Uwbk778M3nahD/0cc3WMVIPtvL8TwS3oLfR8DKzZnRcnzYjxdDzntbQFt47qr98 TZCJG97G4NUySmLG43yfGiz1A5STE0qbFVli0ec9ZSpH55U3F9tR//xyjvWXmSs0vk/lq3YGaTu aSwctI79EWuNUPScER3rEzR5Xs0zJo7LU3ufTMTrJD7tVAkugZluZ80PVNgCdckd0pLqKHhgxWP No6jf3Wxiz0TaRwawM1u/RlnVbPbcDwbUUATXOVlp3iQl6ukU4oUVFrN3TyktqWzQxwCwMyEweP iWtyIfN/c0JQO5K11H4TzMo/9FBwLWl5eBlenxrAMdZ1cgPyXHTAcLK2+ACmM4ZBiqqdpgw== X-Received: by 2002:a17:903:3bcf:b0:2c0:c625:400d with SMTP id d9443c01a7336-2c1644e4d16mr5741915ad.37.1780439084316; Tue, 02 Jun 2026 15:24:44 -0700 (PDT) X-Received: by 2002:a17:903:3bcf:b0:2c0:c625:400d with SMTP id d9443c01a7336-2c1644e4d16mr5741585ad.37.1780439083807; Tue, 02 Jun 2026 15:24:43 -0700 (PDT) Received: from hu-arakshit-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2c16609e0ecsm2698035ad.45.2026.06.02.15.24.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 02 Jun 2026 15:24:43 -0700 (PDT) From: Abhinaba Rakshit Date: Wed, 03 Jun 2026 03:53:55 +0530 Subject: [PATCH v10 3/5] mmc: sdhci-msm: Set ICE clk to TURBO at sdhci ICE init Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260603-enable-ice-clock-scaling-v10-3-b0b728435356@oss.qualcomm.com> References: <20260603-enable-ice-clock-scaling-v10-0-b0b728435356@oss.qualcomm.com> In-Reply-To: <20260603-enable-ice-clock-scaling-v10-0-b0b728435356@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Manivannan Sadhasivam , "James E.J. Bottomley" , "Martin K. Petersen" , Adrian Hunter , Ulf Hansson , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Neeraj Soni , Harshal Dev , Kuldeep Singh Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org, linux-mmc@vger.kernel.org, devicetree@vger.kernel.org, Abhinaba Rakshit , Konrad Dybcio X-Mailer: b4 0.14.2 X-Proofpoint-ORIG-GUID: prl8i35ZOA4ADt03h4Bk_zmzCSXJ9t2G X-Authority-Analysis: v=2.4 cv=GYknWwXL c=1 sm=1 tr=0 ts=6a1f582d cx=c_pps a=IZJwPbhc+fLeJZngyXXI0A==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=EUspDBNiAAAA:8 a=QyXUC8HyAAAA:8 a=PzEurhthzZq-M9kHIYIA:9 a=QEXdDO2ut3YA:10 a=uG9DUKGECoFWVXl0Dc02:22 X-Proofpoint-GUID: prl8i35ZOA4ADt03h4Bk_zmzCSXJ9t2G X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjAyMDIxNyBTYWx0ZWRfX2P95y9gecRRH wssun/uwb5e51yuKlkrSxLPQPVKDgUN9b0DX2Tn6qlTvXXgL0+RM1NbPiODX+GQ28IGzj/DTLvZ WyLEFBngpAsEOIt+dmPauEON2Za6u+iVbNrSh7a81zBZjbBXvytio31P08f63O3HasnPD2DcMnG 3LsAz2fqQAndGezndDVdHIIg2xUDQSEMan3tK1se/02SP/swlH2VJmP46P61huxfW9x1HbuveBC uIzfz9wjBT5sRzKEvrLZHTfr8Aem7e9OHhyWyDP3rOUiDBAmrW4QZH16Bm8mf93n2IxmCUWxA+W M9EF0rFC/IoljARUFtoEqrlAhGn9VULDEYh+fFHq4sBfJGUSnXcIxGKwlMfumA6vg3Okmy+6tVY jBdZJNcxe5hKQ+OmbAfOhRx3unQ7FmZ1mWI0t8DxeXdIXxdwU2lF9SsLyNGbH3ZgDUYWMXpPGoM uSZirPhxHrkg+OYrgtA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-02_04,2026-05-28_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 impostorscore=0 spamscore=0 bulkscore=0 phishscore=0 lowpriorityscore=0 clxscore=1015 suspectscore=0 priorityscore=1501 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606020217 MMC controller lacks a clock scaling mechanism, unlike the UFS controller. By default, the MMC controller is set to TURBO mode during probe, but the ICE clock remains at XO frequency, leading to read/write performance degradation on eMMC. To address this, set the ICE clock to TURBO during sdhci_msm_ice_init to align it with the controller clock. This ensures consistent performance and avoids mismatches between the controller and ICE clock frequencies. For platforms where ICE is represented as a separate device, use the OPP framework to vote for TURBO mode, maintaining proper voltage and power domain constraints. Reviewed-by: Konrad Dybcio Acked-by: Adrian Hunter Reviewed-by: Adrian Hunter Signed-off-by: Abhinaba Rakshit --- drivers/mmc/host/sdhci-msm.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/drivers/mmc/host/sdhci-msm.c b/drivers/mmc/host/sdhci-msm.c index 0882ce74e0c9bdddd98341a67b97bcef74078e0c..b655bcb5b90c0677bbe3dc6140d= e488038fe5ee8 100644 --- a/drivers/mmc/host/sdhci-msm.c +++ b/drivers/mmc/host/sdhci-msm.c @@ -1901,6 +1901,8 @@ static void sdhci_msm_set_clock(struct sdhci_host *ho= st, unsigned int clock) #ifdef CONFIG_MMC_CRYPTO =20 static const struct blk_crypto_ll_ops sdhci_msm_crypto_ops; /* forward dec= l */ +static int sdhci_msm_ice_scale_clk(struct sdhci_msm_host *msm_host, unsign= ed long target_freq, + bool round_ceil); /* forward decl */ =20 static int sdhci_msm_ice_init(struct sdhci_msm_host *msm_host, struct cqhci_host *cq_host) @@ -1959,6 +1961,11 @@ static int sdhci_msm_ice_init(struct sdhci_msm_host = *msm_host, } =20 mmc->caps2 |=3D MMC_CAP2_CRYPTO; + + err =3D sdhci_msm_ice_scale_clk(msm_host, ULONG_MAX, false); + if (err && err !=3D -EOPNOTSUPP) + dev_warn(dev, "Unable to boost ICE clock to TURBO\n"); + return 0; } =20 @@ -1984,6 +1991,16 @@ static int sdhci_msm_ice_suspend(struct sdhci_msm_ho= st *msm_host) return 0; } =20 +static int sdhci_msm_ice_scale_clk(struct sdhci_msm_host *msm_host, + unsigned long target_freq, + bool round_ceil) +{ + if (msm_host->mmc->caps2 & MMC_CAP2_CRYPTO) + return qcom_ice_scale_clk(msm_host->ice, target_freq, round_ceil); + + return 0; +} + static inline struct sdhci_msm_host * sdhci_msm_host_from_crypto_profile(struct blk_crypto_profile *profile) { @@ -2149,6 +2166,13 @@ sdhci_msm_ice_suspend(struct sdhci_msm_host *msm_hos= t) { return 0; } + +static inline int +sdhci_msm_ice_scale_clk(struct sdhci_msm_host *msm_host, unsigned long tar= get_freq, + bool round_ceil) +{ + return 0; +} #endif /* !CONFIG_MMC_CRYPTO */ =20 /*************************************************************************= ****\ --=20 2.34.1 From nobody Mon Jun 8 05:26:57 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 3DEDF3C3792 for ; Tue, 2 Jun 2026 22:24:51 +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=1780439093; cv=none; b=lQgt/Go275LjPTeNd7Fx+Vzt/l7H6unDauCQ+enm2sLSoeFAP1n4a/000W+AsyDRgs9h2sLIwXndBFA4pKCwLc5xByThMlN/H6m5ahm4YWo+de544eAhy3hCVpZRCwIYj4YBS3IqZQrYLH1BEtX6KhZMFiHCk69UuLzTOgdQjzk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780439093; c=relaxed/simple; bh=X0xXkFgpEGLjkiFblpwO+BnhWlu/bE8cwlCDJSPOaDE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=a+xjkxW3lZpJpH+IOis0DKjW5YEuCVY2RX3ou4OMDit5mi9RFJm3JZGqqRRIQx4ZB+ZYk8MZA9OPs4wt2FcfDn87hQEw605T8isOLeP5qpO6EQapW5IbhUJUt4X1JGA8YIhW3pzstyPHyYH7DjMH9t6K1ArvKL4mmA/hGYbd9yI= 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=Y/M4QeiD; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=kPdXe1sv; 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="Y/M4QeiD"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="kPdXe1sv" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 652IsWux1316241 for ; Tue, 2 Jun 2026 22:24:50 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= ETNz+wmmpsdRAuqSqBnBouCW4jgWHavGgQFIoIN6PGw=; b=Y/M4QeiD3c4bC0ff kVey7lRX3r7GUHXdS+2EGnLye6NdMt8vHy6O80X2h5zbdHYMzNXRYpnJy8iUogNp fmBGgVXO1ltEyk31mdGnVhKl4hbleKsHVySVsn58sKiGaUcnoUylhuOA3xNSs3ub UpiZX2VqTzOGW5fCjbMcIrNOZ4mqV1ThgBt7tJlUH/Oa78uRyMWcPsLcSmMXydSV xAz4Uo0ONVzDKfb50M/wrNBch0HgUDPGH9Ujao2Vb5/WwhgXPCd7aOiOUOLmJChH mTRGVbmrPi9O/WeWeNHPIcHtp/E9CbGsWYDFZLc+mnyMoFWHzfPioeeqvgvQX08A mhwOOg== Received: from mail-pl1-f199.google.com (mail-pl1-f199.google.com [209.85.214.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ehs9vv2g0-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 02 Jun 2026 22:24:50 +0000 (GMT) Received: by mail-pl1-f199.google.com with SMTP id d9443c01a7336-2c0c36f4b76so30576325ad.3 for ; Tue, 02 Jun 2026 15:24:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1780439090; x=1781043890; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=ETNz+wmmpsdRAuqSqBnBouCW4jgWHavGgQFIoIN6PGw=; b=kPdXe1svqYYwc37MLnn08sgAb1uLOiOA9wPLJXkNDWmclUgW31629lVda+Vhfht0ud ulOIfeEEKTJTT7Zy+yJWkUxBeptbDoUhBxz+AjhlR6QSU3TWGD/2XidjvsLrk0/n1dxZ 7EXjKDJ1/DLjBnJZPGR+3sGlMI6yZsYHmeFhucOqCUuKNcPZXA5G6eAb0X2muzcJP9WC xVxfOehf1xE2iVJHsCQg6YrQFQLpym0FoO+ivm6ZonfRLrVsJ5ygfuv19tyxcuPAwsaF nKqh+DEEONB0hB9/2zwqNjD4AO4AtiDjB6CHgKPtXGtBYfnyp8qVhQGN86wUmYXvYzCQ mrKQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780439090; x=1781043890; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=ETNz+wmmpsdRAuqSqBnBouCW4jgWHavGgQFIoIN6PGw=; b=ifculXJ039BbbSmJthUSYp/dlge59bcbWW07lEcd/Lp19WFSNeoFdHYHlmoFghMcYr iUFU47NyKvK8wNCru1uP8rRS+8RDim3LXsNvY2X/6raQjhe9nVkKMlcFa9e1fiae2M1r baJhqlYXab5ynNHfNBIpunqJgXzu+Om47b7pATYzhSD9YgNSPc9KTXWxqF/ehSvyWE5B wGmQfArJN9BUrpQSi+0yvZuOdhGt0YcLwvsbzXGgDldhXEjENYY0GWCYrbmGak9I2261 fbW9uVtJxIdQEM7UTGQPF5EpwnZNdrQPGQ7jV1q5gPwc23sp6rN7AobTFXMjn8tf7QHx MPWw== X-Forwarded-Encrypted: i=1; AFNElJ/2WuBQ0kQAjBiayfUiN0d4G9EW/ybSF+2rCdt/0cPdsJtZsnsc3+HQwSKoU4wkAqacTpOE4A9kSGtvEuk=@vger.kernel.org X-Gm-Message-State: AOJu0YzZbyGOqd9OVYe8D2Ja9rdmPd7Bd2yUlv4cLQxNg43BD69sn4ef P4dgOiE1pr8SjuZM5HmGCj+DoVEcBb3pNDlrQSZMYyrgRFy6I+JqGML7WMtPosog9Ib6fsrcKzZ 1o5JZKoZ6USTPRjF0U42hBgOfQHwyXjVBiCad57RRBMs4A8n0yTazzN5GkU47ykcbeuw= X-Gm-Gg: Acq92OGE0LuAWJqm0CPYvD7VCzb2o082kJa8OHoFBCBDX/Mf8EuHk2z6UEECP811HWt 90gtMmS+OQe4aYT14/hxoufXdezhE3aMLKhiXzyU0jRzlSzTpV9oatVq+jBsLbcbBCKmyOOe/Vo qsJn+l4w/uokZVH03748e4/VVmJfq70Rxp0j97uugmz1ss9VP6OO/5Tjn6Ucl+mssffSWRU3jFU +u79zflQdVcW8uZl1JPHiah+JZoEtE0TM6gq3XlTries9uyqvUbrOKs7iR43nz6760Vu6cYshYT AkDIqz8Pt+2PND0zo3tOXtsMB/eb8uSFKJNjRh6sSnrP0sOJsB6Y4PcYjQyFmAS8MjUW4TcYk0L 8CyMF/xvLDGHU/XAncK+2l7XWpoLs/8Z8YcdVfq5xee5WlMbY0uxOIRG2d46Jwd1bxySh+w== X-Received: by 2002:a17:902:f547:b0:2bd:2de3:5181 with SMTP id d9443c01a7336-2c163a2ac1emr5553215ad.9.1780439089922; Tue, 02 Jun 2026 15:24:49 -0700 (PDT) X-Received: by 2002:a17:902:f547:b0:2bd:2de3:5181 with SMTP id d9443c01a7336-2c163a2ac1emr5552975ad.9.1780439089464; Tue, 02 Jun 2026 15:24:49 -0700 (PDT) Received: from hu-arakshit-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2c16609e0ecsm2698035ad.45.2026.06.02.15.24.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 02 Jun 2026 15:24:49 -0700 (PDT) From: Abhinaba Rakshit Date: Wed, 03 Jun 2026 03:53:56 +0530 Subject: [PATCH v10 4/5] arm64: dts: qcom: kodiak: Add OPP-table for ICE UFS and ICE eMMC nodes Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260603-enable-ice-clock-scaling-v10-4-b0b728435356@oss.qualcomm.com> References: <20260603-enable-ice-clock-scaling-v10-0-b0b728435356@oss.qualcomm.com> In-Reply-To: <20260603-enable-ice-clock-scaling-v10-0-b0b728435356@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Manivannan Sadhasivam , "James E.J. Bottomley" , "Martin K. Petersen" , Adrian Hunter , Ulf Hansson , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Neeraj Soni , Harshal Dev , Kuldeep Singh Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org, linux-mmc@vger.kernel.org, devicetree@vger.kernel.org, Abhinaba Rakshit X-Mailer: b4 0.14.2 X-Proofpoint-GUID: a4NM99G1lL-Z3sS3d78fQ2lhfEfs9nQZ X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjAyMDIxNyBTYWx0ZWRfX+0pg6zaiBARY FNT9SisBRX0VTrJiMAGxfKS+Cgwyg+tvAYK6ezgkMKm5Z6kjL4sVtl7maUHjmAcK8PkxPmzZl6j DRBMg4yEYYnO+GJ+w+zTCMCU6mXu3ZtYwJCPPwPCV8bZTFAWqJVAsSUYcmdKblXeb0hgZzd4eyK EhaXFa7O4NXZnIoUFjEr52Tnip7T8n0ZpkNNYgE1gB+2JiYTXWUAhLQnzznOSLM/ySbHv1E20Mj epJeHDbmlAFbRYXNPweNcQP92Q1Bh5Lk53uQLbkrGbTmbeBvzZJREicii8rgH9kQZMXMrMoJmso MZhaMVrFS9aepye4A9mn5Qvyu6KFvM1oJnzw87duftm8c9AxQxj1+pWr3C8mRPJmpoD0bQOwp5C rtgrS3oAoD52nHxsM5jhQtt3nXze32G1+lropwDbeMy8mUPXPXgCA37dA69hWQGYciMfQ5VCB1J w9PJe09rxQ8ISwY4GHQ== X-Authority-Analysis: v=2.4 cv=NYfWEWD4 c=1 sm=1 tr=0 ts=6a1f5832 cx=c_pps a=JL+w9abYAAE89/QcEU+0QA==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=EUspDBNiAAAA:8 a=IFdraIdqUsMg42QbtkkA:9 a=QEXdDO2ut3YA:10 a=324X-CrmTo6CU4MGRt3R:22 X-Proofpoint-ORIG-GUID: a4NM99G1lL-Z3sS3d78fQ2lhfEfs9nQZ X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-02_04,2026-05-28_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 adultscore=0 clxscore=1015 suspectscore=0 priorityscore=1501 phishscore=0 impostorscore=0 bulkscore=0 lowpriorityscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606020217 Qualcomm Inline Crypto Engine (ICE) platform driver now, supports an optional OPP-table. Add OPP-table for ICE UFS and ICE eMMC device nodes for Kodiak platform. Signed-off-by: Abhinaba Rakshit --- arch/arm64/boot/dts/qcom/kodiak.dtsi | 42 ++++++++++++++++++++++++++++++++= ++++ 1 file changed, 42 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/kodiak.dtsi b/arch/arm64/boot/dts/qco= m/kodiak.dtsi index ecf4790f3415c46781c8e790d7892a41300ee7a0..cd76da7e49d8c664df6a60b5c18= 418c4e97a3ba4 100644 --- a/arch/arm64/boot/dts/qcom/kodiak.dtsi +++ b/arch/arm64/boot/dts/qcom/kodiak.dtsi @@ -1087,6 +1087,27 @@ sdhc_ice: crypto@7c8000 { clock-names =3D "core", "iface"; power-domains =3D <&rpmhpd SC7280_CX>; + + operating-points-v2 =3D <&ice_mmc_opp_table>; + + ice_mmc_opp_table: opp-table { + compatible =3D "operating-points-v2"; + + opp-100000000 { + opp-hz =3D /bits/ 64 <100000000>; + required-opps =3D <&rpmhpd_opp_low_svs>; + }; + + opp-150000000 { + opp-hz =3D /bits/ 64 <150000000>; + required-opps =3D <&rpmhpd_opp_svs>; + }; + + opp-300000000 { + opp-hz =3D /bits/ 64 <300000000>; + required-opps =3D <&rpmhpd_opp_svs_l1>; + }; + }; }; =20 gpi_dma0: dma-controller@900000 { @@ -2597,6 +2618,27 @@ ice: crypto@1d88000 { clock-names =3D "core", "iface"; power-domains =3D <&gcc GCC_UFS_PHY_GDSC>; + + operating-points-v2 =3D <&ice_opp_table>; + + ice_opp_table: opp-table { + compatible =3D "operating-points-v2"; + + opp-75000000 { + opp-hz =3D /bits/ 64 <75000000>; + required-opps =3D <&rpmhpd_opp_low_svs>; + }; + + opp-150000000 { + opp-hz =3D /bits/ 64 <150000000>; + required-opps =3D <&rpmhpd_opp_svs>; + }; + + opp-300000000 { + opp-hz =3D /bits/ 64 <300000000>; + required-opps =3D <&rpmhpd_opp_nom>; + }; + }; }; =20 cryptobam: dma-controller@1dc4000 { --=20 2.34.1 From nobody Mon Jun 8 05:26:57 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 E34903C37B3 for ; Tue, 2 Jun 2026 22:24:56 +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=1780439098; cv=none; b=dCsfY2HP1zuuUAC95pIffwOXFWs5AsKks7c+LZ0Z/BvUo4PzUF9B8xe10mJeUZY8OE3qF9ohGH1Cp0vhAtQNIEuEp5AyY4VbhJjGgXh2kDrJIs9FGBdVMBOhAhfBeid8wVBTo4piemF07vSW+goExrY1O5RcGuTFd5jZ2WgfGFI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780439098; c=relaxed/simple; bh=DXh2TI45vU1iLpWsE+RYENmxgSc16LkuYVsOKJ6zBAg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ThIYa5Bv3rDqxXCRiSGiUvSpIsa5EE6CZDL5OCQ0SAfYzxHKWKNxA9bkfk5P24xfhYgb9KkQ2BJB1m6FsDBkLFzzgYOFaKKdzXXpC0I2LhRykh6ZJ/kFoQ1JqRfDVvT7FQMMBalx9b7Yu9AR5sPKQgVx2p0P5p0R/68272zU4y8= 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=CgIvIyfS; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=G8UKOYi9; 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="CgIvIyfS"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="G8UKOYi9" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 652J1WoC1316237 for ; Tue, 2 Jun 2026 22:24:56 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= iYYqWEc3U8tcC19eQELIhV1rxr7yBmE/dYW94QG/AcA=; b=CgIvIyfSHTb5+Lt4 G/vpGmyy9FnnoEJ4K8wXe2sGjDvtPJ1oKo49PRf0evNOrHHOFMk0B27yuwAMon9G nnMiO7quixhHagozVYNCZ8/xApFry5bChPrHRXq3FsWVrOkPnL58GdMMmDBx3kX0 7ciQpBxBUpCR6ZObbUj2cwo+ZVHfNBd9TfDP1M4is84uSoijx2mY9e6zIw7omzAG MN1D4beevj9til2vPwg0on8m7I4bRHbwOLuOJqxSGblOuJ6KegofKSNeFT0Bffgk qItdLRRJwL7vm7Xio1ThXO3X0huJhLXGpCqLr2VV+bzmnVjZ/eIxyXdCltV67MVs +SJKgA== Received: from mail-pl1-f200.google.com (mail-pl1-f200.google.com [209.85.214.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ehs9vv2gq-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 02 Jun 2026 22:24:56 +0000 (GMT) Received: by mail-pl1-f200.google.com with SMTP id d9443c01a7336-2bf243973c2so34146265ad.1 for ; Tue, 02 Jun 2026 15:24:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1780439096; x=1781043896; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=iYYqWEc3U8tcC19eQELIhV1rxr7yBmE/dYW94QG/AcA=; b=G8UKOYi9twN+tOagaIqtrtYLq98h1wX8HM7FoC64BIKzl6AE1sS8aGjaBOaYnEyoHk yBoMt98sg4OXsiinFW7K6EKiCaMTPqwNxQRTAl7XcHCsGWdxN05dmnZ2rgjvlZb/gLSB yEQi353e2aIELthLvUP4Y0u4kPlZDfSMIPvHrOogEYdeccBd+qxyRBKzmc6GFG5XJ8gz ssOUz73eJxWPRUj3HH9Rki2Le0f6/G5Ddcw2j1jlEg0PFJ4DWiJ/pjhvLu1Z4918YZUj 6KO5uIR4kuCvEOU5j0YBxVnEz2NGDUmbVpawrN82B7d7o7CdUjrBpF2Dj30QQzkLMlVT MW0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780439096; x=1781043896; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=iYYqWEc3U8tcC19eQELIhV1rxr7yBmE/dYW94QG/AcA=; b=LCivBjAaVVYW2oakFsOXN6sDXUHEzBLA6bSI89xyR3G3lK5NRRYjtdF9Qgl3aCxbYr HqV15tZh/14riOefSP29Z0ecoQnesMAr45gERPi4YnZsl3fBym6DUkqQShnG8zSZNXbu bFXl/RPxa8XrWjPhqhrwy1jBrvKlU4kywPmytwq/GrJpzOXY+QNqKPjw/5SbC+jeMstI ub+QLuHE/G9Mo0CupZxqe9Cq7Ai+tnL2nbTxxeIE1tOKrGusDdMPjFkpb108DARGkh6k OmQkUpLSR6avqltLkT5s1EyBhAX1ZO2RdhnfIWETJ/Xm9uVNlUvaE92L3ILNvmK29iTF Z1FQ== X-Forwarded-Encrypted: i=1; AFNElJ/FLGs7PpFAd3YJzWmKy6kPQAOz8yxiWpjJ2Wj02VEVPsv6plNW3cXZYhgatlr3L3iIv5o2YksYo7GM/5s=@vger.kernel.org X-Gm-Message-State: AOJu0YxrioM84plEyb74FuIcirmdwK4TBv5ZoYwWSu8IYe6EwqF3SvOT fb1WuAMG/rDi3DTcTNcwp4B4BBPeH+7KAjg3aJvf78Ge7qSlu9RITn5q/BibbL+vcwBY5TeMeLX aI4ha/3vDmPD6OaIzKh5nG/DLQcf+p64LmO9ebSoEFQDkHDu+605NKAJRUMvDVuakDu4= X-Gm-Gg: Acq92OFUmCoNPYfI3epZPHjkWmPspp64awQAN67ZQcI85yVezcGkVn5vIrOTExJZ37A kf9uyiXcqyE7PX5MWxBlY9gSR3/GqVDXMj9B2mUdiAs+PD3vwgGGb1xhyrFEovh11sIvu2PDJO3 66mGXoN8PpaQXA1726WhSkik6qIXkFLLuitMyf1DS8RrasXIncomsr4J9UnJhYTbEeAg+56VVDk 24U0zXVNtOv0ik03R6qXlsDt/cpZ5z2Stqzr0lLM9IpvIgi/0STUOoyUIXsqh6Y1SRcds70UTSP obqIFdY7JHGCRFsh+WnuRPwR5ypknhYmhj4lWjEbud9ogLjW3eE24it+/E0yGE7B2XCodFPHaNH VoOn71qOhmNom8U9rM8dEZWcrNfhwok/YNdJCWcdGyw5whLKaxs1bDMtDeoBYjLkFlGewrA== X-Received: by 2002:a17:903:2a8d:b0:2c1:660a:2941 with SMTP id d9443c01a7336-2c1660a2bb7mr5879715ad.19.1780439095634; Tue, 02 Jun 2026 15:24:55 -0700 (PDT) X-Received: by 2002:a17:903:2a8d:b0:2c1:660a:2941 with SMTP id d9443c01a7336-2c1660a2bb7mr5879365ad.19.1780439095116; Tue, 02 Jun 2026 15:24:55 -0700 (PDT) Received: from hu-arakshit-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2c16609e0ecsm2698035ad.45.2026.06.02.15.24.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 02 Jun 2026 15:24:54 -0700 (PDT) From: Abhinaba Rakshit Date: Wed, 03 Jun 2026 03:53:57 +0530 Subject: [PATCH v10 5/5] arm64: dts: qcom: monaco: Add OPP-table for ICE UFS and ICE eMMC nodes Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260603-enable-ice-clock-scaling-v10-5-b0b728435356@oss.qualcomm.com> References: <20260603-enable-ice-clock-scaling-v10-0-b0b728435356@oss.qualcomm.com> In-Reply-To: <20260603-enable-ice-clock-scaling-v10-0-b0b728435356@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Manivannan Sadhasivam , "James E.J. Bottomley" , "Martin K. Petersen" , Adrian Hunter , Ulf Hansson , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Neeraj Soni , Harshal Dev , Kuldeep Singh Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org, linux-mmc@vger.kernel.org, devicetree@vger.kernel.org, Abhinaba Rakshit X-Mailer: b4 0.14.2 X-Proofpoint-GUID: 1ef2IP9ejMB0hIqibM0evV2IQe0JFUUi X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjAyMDIxNyBTYWx0ZWRfXzNuDamdzlcJ3 /1pLpoZ+LXS1nk7E/Spr020hpgE5ThPXu4ybuP5TpOd5dOREPs82iobU88PWNluzW2EypnOfApt 5lW0Hn4cU5Tc6mi1gyGGAAbpa/odioNNTN4VloTeizEnCOZn68MJoqA9i2Y6Dkuwz18cDTJrYRn mBicl/E3dgSMIHWbaaOtwSAYkqbdl2RQuw7IHjGA/lnmaoZnXe4l17KcQZpEK5lxlmwgIjszIE+ tk2EY2De/dSsUBJvNDLpRkZprs32/d3cghqkUCSgpG+wirQD3gsUWc1yzCYL1xr/D4xtT4bDEGy FbKFb4h2fh+U99QR9+dpSY/0ZREztaeUqsUphzICDomHdSN2VmX7Y5rds4G1ekwdoGinGzDm4T4 PtUg4mBAHBj7eIygzmvH6swiMeisUx6Gej8TOrnSsJSVxBwxfHNOK0WVidk7gZVLtSdclip1aQ8 RS+YymUEXIX3IUbPorg== X-Authority-Analysis: v=2.4 cv=NYfWEWD4 c=1 sm=1 tr=0 ts=6a1f5838 cx=c_pps a=IZJwPbhc+fLeJZngyXXI0A==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=EUspDBNiAAAA:8 a=IFdraIdqUsMg42QbtkkA:9 a=QEXdDO2ut3YA:10 a=uG9DUKGECoFWVXl0Dc02:22 X-Proofpoint-ORIG-GUID: 1ef2IP9ejMB0hIqibM0evV2IQe0JFUUi X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-02_04,2026-05-28_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 adultscore=0 clxscore=1015 suspectscore=0 priorityscore=1501 phishscore=0 impostorscore=0 bulkscore=0 lowpriorityscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606020217 Qualcomm Inline Crypto Engine (ICE) platform driver now, supports an optional OPP-table. Add OPP-table for ICE UFS and ICE eMMC device nodes for Monaco platform. Signed-off-by: Abhinaba Rakshit --- arch/arm64/boot/dts/qcom/monaco.dtsi | 37 ++++++++++++++++++++++++++++++++= ++++ 1 file changed, 37 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/monaco.dtsi b/arch/arm64/boot/dts/qco= m/monaco.dtsi index a1b6e6211b84d0d5008231c55613a0ccd61b9450..d9298d8b7874b8669b2cded2a28= a99dce6eadbda 100644 --- a/arch/arm64/boot/dts/qcom/monaco.dtsi +++ b/arch/arm64/boot/dts/qcom/monaco.dtsi @@ -2742,6 +2742,27 @@ ice: crypto@1d88000 { clock-names =3D "core", "iface"; power-domains =3D <&gcc GCC_UFS_PHY_GDSC>; + + operating-points-v2 =3D <&ice_opp_table>; + + ice_opp_table: opp-table { + compatible =3D "operating-points-v2"; + + opp-75000000 { + opp-hz =3D /bits/ 64 <75000000>; + required-opps =3D <&rpmhpd_opp_svs_l1>; + }; + + opp-201600000 { + opp-hz =3D /bits/ 64 <201600000>; + required-opps =3D <&rpmhpd_opp_svs_l1>; + }; + + opp-403200000 { + opp-hz =3D /bits/ 64 <403200000>; + required-opps =3D <&rpmhpd_opp_nom>; + }; + }; }; =20 crypto: crypto@1dfa000 { @@ -4878,6 +4899,22 @@ sdhc_ice: crypto@87c8000 { clock-names =3D "core", "iface"; power-domains =3D <&rpmhpd RPMHPD_CX>; + + operating-points-v2 =3D <&ice_mmc_opp_table>; + + ice_mmc_opp_table: opp-table { + compatible =3D "operating-points-v2"; + + opp-150000000 { + opp-hz =3D /bits/ 64 <150000000>; + required-opps =3D <&rpmhpd_opp_svs_l1>; + }; + + opp-300000000 { + opp-hz =3D /bits/ 64 <300000000>; + required-opps =3D <&rpmhpd_opp_nom>; + }; + }; }; =20 usb_1_hsphy: phy@8904000 { --=20 2.34.1