From nobody Tue Jun 9 01:00:49 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 4FF9A318B9D for ; Sun, 24 May 2026 19:26:06 +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=1779650767; cv=none; b=Dsqoj3C63F4EH+pmeqFVkFi6kmU3khJQxO1CD9/RPJ+7LB3VRlVO3DlAmcZiiYBDPwkbsDFLXVuIfupatIoXlSTAsBdYc6PuolvVwFRSRouoazXMeT50DPnFmBntk5GorGpIJYRYjul2b59Qbt965+YA2mg3xm7t0rtPF/xPnXI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779650767; c=relaxed/simple; bh=2XVqbbZnXrWdL6DvN4+UCZ8/oM3cT6QvMe4IpRa4F+c=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=lCND6H2gbvBUyBwjbyu2Zp2KUDk9cztRpb2BbHtlmnt0fjlr/zHIGRL82mDVqOjd4KhehRqFgKZPGmSSzGhNQ8wJOmpUQHgVNXt2FqMXqXsNRo5j1SlX0qdW7k3vZg4zR4R0ysRlF9z0u7JBgdIRWUUs1RExB9cMw+jOWT8rCcY= 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=pPTAroaM; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=N7lzQW7a; 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="pPTAroaM"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="N7lzQW7a" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64O6GWfb930452 for ; Sun, 24 May 2026 19:26:05 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= BBy8Sga9ZNMwWSkdE9qADLLm3eq206uB394Jr3D5cVM=; b=pPTAroaMy2+6mEik HCA7vFtunh8DcJKzclu4nCSmAMCR18qtK3La2L6muWiclQHyeBYz6A2PpIaQ8BSX o7G/WFLePe/w6pPC1DMzPQ/6xMiflLdgBTO6zZg4mCyeXoJjGhuLp7tqVRGVcDsC DSqbKcVIhOg6bGwvZS4iE64+OPvKMuigaFDYcVk2S7m/xuF+5SlUFaMW7nW1Vn90 2ty6+L2L/+CRcGefKfE0NbKRu9qOa4PWSgNLk45+FDLQjmAtcXUSXEwW/HlF6lR9 UllHYg64kBtvQs686iQEGpnxwNB0EoqfP7zNTgqJn2/+DOS8srU9c+4ZME7CYCoP /EvnAQ== 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 4eb50furrn-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sun, 24 May 2026 19:26:05 +0000 (GMT) Received: by mail-pl1-f197.google.com with SMTP id d9443c01a7336-2b9a3c3c4eeso87075365ad.3 for ; Sun, 24 May 2026 12:26:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779650765; x=1780255565; 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=BBy8Sga9ZNMwWSkdE9qADLLm3eq206uB394Jr3D5cVM=; b=N7lzQW7alIXmPrtXbZYxYlVmyHJ1qWfHmXLDm+hesTuYuTj3IfDtbXpM60hbL5UKGS b7P62iSaT5UNzg2OcAIiCuqE+KmWmawkcqIdFsOWnri6VWsu3i+uaBZpcUeRjN9LlwYn CHTa6o/BGXhTJ2X+eW+J4v42jA/xfqQNAr6x/UDYL1p4d6iZaNzbsgdRtutULy3aey2o PxFfr8n6c9ZspkizVJH0ghIabFYcfNiujaJ1ydiGYC68MEx8g9sj8AFrhuyRiz6H8Gtr +opVAoHqCsTCsSjRmabYxLYzjLJRKHe0VIIuUryjXt4yFA8fDfH5P5YqDnI5Wh8T47VV paYQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779650765; x=1780255565; 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=BBy8Sga9ZNMwWSkdE9qADLLm3eq206uB394Jr3D5cVM=; b=M0r8zHr9vB2nFXGjIr2Bq/ac0w1Xz4CNfdltnuupDsbvF/zGpTwuVeTrPJFxay8hkF 9F0oT3saxDtn1kiu++hskvQu+4rGskfF7DVvLfIwzgSBILZnAHmMh/0OYoTrOQK5Munr Bq/RAZhqCtXWLaqM3Uj8HcKA7SyFrekhWPtRTvKto9ebLRfF1YzPaKu3G3KcBV8VqdjV +7A+jNcaUI7LaeVn77ek/vfj12KV0saNbHD3/q2biwWlTAzKMnm3ncSvYckdT9oN/AiK xOgh/XgmMA9Yav9zLKzOZ/onWn4jn4KiUljhOjhUeJ2mwTQNyrhLQgEzGL3pLaWGDo2x 5jiQ== X-Forwarded-Encrypted: i=1; AFNElJ9b8ldNwGFyouqSRcqo1L32TL6Kuol+n42My4hct5YWpAP11Wm84Mvbee1LBA9sg0DtFHc5DMUJsLy+SXY=@vger.kernel.org X-Gm-Message-State: AOJu0YwAJM6Drxl/ILBnXzP5LWgbVsMgEuP6LvTZcXMbv8Rco4qB7oaX Asejb2jHtzj7V9YTi/qv3Y1zO+SY8OewOzHn68+0c/WJNcw4B5Ol+pr2Q+MmU7gfRkSoQAaR2vZ I+A7q0o8DuKmRvwZQNfX2tprpl2gC3q77Dp/vAVTXoX7M3tfmAc8ECXIFTB2XN4e/G0Q= X-Gm-Gg: Acq92OHG3s9V3EybVeWFPqA6RqRHH6KynVlvF/YokP0iQE6JOE2V9YuKLwMKeCHUSx5 L6cbIb85xi1Cn7ESOuDFr9GCUeWOxqhBvI0jrtkUKqyjJwJR1LRhs9cDJAuhtYThQdPbJjy7m+U cSdXc5U0Y4i3Z1ZATISlQeq7Epcl8w6gS+5+CGdoKNIecOOoAr8d09DJXRDLbzxMXzsjTkpw6It yQXTjRoWQpTYC6aPuxrTOopaqce19gVP+Ds1KmTFLo9HDMiwJkBP+bVYRznfySwW2OtVadApLUE zYJMANC3C34cbjs7QEeQbe+N9Tq3L5B3PHceZSZGO2R3vp/xxwDKlWvMw1ciQ8qiGWPufzUR7mh iwkd3ZmaMEBUcue/7rqKM2l/6rCiYUtIUumSBGWpvXQ9AYG3wmPcuXIbHqx0= X-Received: by 2002:a17:903:3b8b:b0:2b2:ebed:7af8 with SMTP id d9443c01a7336-2beb05a5776mr124836775ad.1.1779650764895; Sun, 24 May 2026 12:26:04 -0700 (PDT) X-Received: by 2002:a17:903:3b8b:b0:2b2:ebed:7af8 with SMTP id d9443c01a7336-2beb05a5776mr124836465ad.1.1779650764342; Sun, 24 May 2026 12:26:04 -0700 (PDT) Received: from hu-arakshit-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb56ce2cdsm75329945ad.29.2026.05.24.12.25.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 24 May 2026 12:26:03 -0700 (PDT) From: Abhinaba Rakshit Date: Mon, 25 May 2026 00:55:48 +0530 Subject: [PATCH v9 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: <20260525-enable-ice-clock-scaling-v9-1-c84613e9ce47@oss.qualcomm.com> References: <20260525-enable-ice-clock-scaling-v9-0-c84613e9ce47@oss.qualcomm.com> In-Reply-To: <20260525-enable-ice-clock-scaling-v9-0-c84613e9ce47@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: AW1haW4tMjYwNTI0MDE5NCBTYWx0ZWRfX00QUkDoLlPI0 yEty8mJrkNrV1aN0WO7470tbY9G2e+q8aruZLKmWAfskE5wPd3ES23ztpgAICqikWU9B7IJV8tk vhIIaviAzUPUysm6HWcerz2j+xWD4ueG++OrTuZJL09fvnFpA6cUuW5EdoIMnRveiz4rz73o//m PD2UE2AFsyUY9gGAEe6TGQ2IHFUhlj0RfmyBqa+3LBEKo/H+TrPxxtoXG+80cY4O+eahd5Cwek6 NwJcwzMzFzf0Q+FxRf75j5bnttBPTTHHOGy3u6iYP7VbNeqtC3lypif4c5z5rDvX/ya9ab3BaHF Xkvc/Xoaxb+izMixDa1BDGEWW/8w9zV7KJpWw0doNwNB0ydWrVgbfQoepSXxjPgD0oflqky+aSO ntxRGFQqWAi8PB/A4Q+M+F6tbwV9bBAtKWUveXmeHDsr1V+L/JiHuS9dNtwY9vojSPdTT2mBSyk Vbc17/cZV/Dd3lomn4w== X-Proofpoint-ORIG-GUID: Er10X7LtWQRh00bKLUn5fR_92rtsZeRj X-Authority-Analysis: v=2.4 cv=UdBhjqSN c=1 sm=1 tr=0 ts=6a1350cd cx=c_pps a=cmESyDAEBpBGqyK7t0alAg==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=EUspDBNiAAAA:8 a=zlodBCVASgOsPZHI1q0A:9 a=QEXdDO2ut3YA:10 a=1OuFwYUASf3TG4hYMiVC:22 X-Proofpoint-GUID: Er10X7LtWQRh00bKLUn5fR_92rtsZeRj X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-24_06,2026-05-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 adultscore=0 suspectscore=0 clxscore=1015 impostorscore=0 priorityscore=1501 malwarescore=0 lowpriorityscore=0 phishscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605240194 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 trasition 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 bf4ab2d9e5c0360d8fe6135cc35f93b6b09e7a0e..7b98afec71f6135f580f8249712= 7b0db7e70a6da 100644 --- a/drivers/soc/qcom/ice.c +++ b/drivers/soc/qcom/ice.c @@ -16,6 +16,7 @@ #include #include #include +#include =20 #include =20 @@ -112,6 +113,8 @@ struct qcom_ice { bool use_hwkm; bool hwkm_init_complete; u8 hwkm_version; + unsigned long core_clk_freq; + bool has_opp; }; =20 static bool qcom_ice_check_supported(struct qcom_ice *ice) @@ -311,6 +314,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); @@ -331,6 +338,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; @@ -556,6 +568,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) { @@ -731,6 +788,7 @@ static int qcom_ice_probe(struct platform_device *pdev) { struct qcom_ice *engine; void __iomem *base; + int err; =20 base =3D devm_platform_ioremap_resource(pdev, 0); if (IS_ERR(base)) { @@ -742,6 +800,41 @@ static int qcom_ice_probe(struct platform_device *pdev) if (IS_ERR(engine)) return PTR_ERR(engine); =20 + /* qcom_ice_create() may return NULL if scm calls are not available */ + if (!engine) + return -EOPNOTSUPP; + + 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"); + 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"); + 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); + platform_set_drvdata(pdev, engine); =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 Tue Jun 9 01:00:49 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 84E5E322C67 for ; Sun, 24 May 2026 19:26:12 +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=1779650774; cv=none; b=MoJDLW1Gn6VNH/WYdPWgahVON7v8fULFyZ/JXojmzizh624jgQ+oPnNbbPEdu2xS+JB3SCTFeBQbnbyO5hI9TSEYsXVOZu/xZ+Q74kKEXHqrkv4BH44MODOz3cDqr62cqRcHOqGd69mIfbn0czEaxGwntLYY0sZ63AzKlBJCIzU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779650774; c=relaxed/simple; bh=capWsiQ5rJGhl9NvRhbnoZUTwqGnZWyJCfohq7HeORs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=djwO1xZyQOWVwunx8jDOw8ixVO6Gz6qh2YnkeJh10OBV6WgrIMNsw3xRw2uX+K6eg6EQhwXa/7UvZTmKS2HYUtULik01nTUaoVY3ExCOowNLq8qyAXiTAP2qSrRIyvGLWpQr+nYFdrXpqBhoPGlB55mNwgdhXk/c6+JamlsWvBE= 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=RmBC+XUF; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=AtER+VNN; 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="RmBC+XUF"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="AtER+VNN" 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 64OJ95562580308 for ; Sun, 24 May 2026 19:26:12 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= sFsYU4PoJlad7DzZn2ri3+ulmwgZAGOVL0cgWHGyGXI=; b=RmBC+XUFmq/Hr0+6 P4HQ+kLDbngB1TjfvtVvqaUUwnYkdplmzmDnMWkBNfRGTOt4i206m34n06DxkAqG QbJO0gxYrePw227NVpfEnlsOb4yID36AkHEsi+5Dv/kCrSH55aKLNOJ1fb4HMuJ+ q4zUUPydsCP81WJOg3CVZIWs7gjgFKpwl8wPn9A79pU7+53TjsGQR3nHGcrBuq7R Ylo4oYroJRwaRaP/j8MI3DAeWPS0LddstyrkyriIgXkwMPJWHkd84iiD2GM/c2lu 9YF3UydaLX5lJ/NYMbQjtzorYL5uy/ehJlJXa33PhQ6l85PFbROFgIFU+YUBJnbX GcEDGw== Received: from mail-pl1-f198.google.com (mail-pl1-f198.google.com [209.85.214.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4eb36t40jp-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sun, 24 May 2026 19:26:11 +0000 (GMT) Received: by mail-pl1-f198.google.com with SMTP id d9443c01a7336-2b7aba0af02so83391255ad.2 for ; Sun, 24 May 2026 12:26:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779650771; x=1780255571; 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=sFsYU4PoJlad7DzZn2ri3+ulmwgZAGOVL0cgWHGyGXI=; b=AtER+VNN+V5kwCgafd9qSEj4mXmvlQpOb6SjV+18jYbZzx+0WjtB2cnZxwswmFxD1f rZPKzi0/JDWZWGWtZfqdpwdYFBqvCN791Tko+DbKMxI7eJkrJSmKSh8hGEfh3mHuZM99 UAGQa9ZjfFoaEBy3Ap9Xq0hGtRUkmgCqgPrDp+IVjfwdfImid792bnqHEkwJd/evMoR/ 26km74exs53DlZTK5h4nYMHAzjnpjTyXyaQf1Rm2RpGkui634SfiurNeS8sPpGqnv1qh PNC0DXeVIMBxRRBQ8swGNDxHMcyzekMhq2Ei6AddBhSejpxcigLfB0U8TAUX61v6kJ69 Ei4w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779650771; x=1780255571; 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=sFsYU4PoJlad7DzZn2ri3+ulmwgZAGOVL0cgWHGyGXI=; b=iP5ulxwPrEKiRkxYyU4XffY3GWSE4THdlM3p/lrGg6mHFy1DP5wf/dVDimuMJwReBn nmT4sJ22ez26SzL+ZKMYhBQP9tWe4AV4nSofwF9eF9VgG4Mjnxj/jRILg6CLcAZpnHLy qw+ljvJsy2VLMkvndXs9ed7Qk/lWQveSrDK2l/BaVKni+IutJXyo6wz+SQx+FxF/j/EO R5+xZgs8GKqhz/GJdDOGXBkZt+E7mblDMksFwquDe2Ts+I2PuhG2AyBgbsdHz67/YQwO 1a4NQzZRA6/Pqieg7tloau7LJYG68XoPSTHnpZnZRDFji7HDzZIM+aKljfzx+ZWxyxKm kNPg== X-Forwarded-Encrypted: i=1; AFNElJ9Ucwa/0scraXN1ddshFyf+iahSB/izrkoTD6U0VmtmXOB+uLeb/GiyHEA4ZGFjCvpHLEjrhdKW2hZ85ZY=@vger.kernel.org X-Gm-Message-State: AOJu0YyuB6b1Ls/89YxfnEKNSFWVTjFt37ezHRn5pRaxmwV4GFtnrBvW vzoPoOuGmBwdFEO5QPCuygKCmmO0rQ7iDorX9eKOHtJcwM0q6UYqvOLgikCqh1AFWZ1KE84jj2N Ivz30s/Boj+vt2gPGH7p92pr7y9iaZCNX1ex34/Yq7bb4vkutcvqy0SxlMZaOH9zZflE= X-Gm-Gg: Acq92OHJj00tyD8YonYSpODTtvTIik9TAhZKxwLtlPWcH1hglGVgB36dYv3UzEcFxKL Fplb6Wzhl83CvW5yG3RWfLU6gqQRtYwuaMz45Lfnh5TWltAXS8MzmaUEag0uO7RjVECljsv/QFJ jrY6ON2lWkFB0KibMkub5c20zGr/LLil+SIry/Rkl/xOf2q180OH53qOT5Zr4ZIDe76uUczzzjX KmA8f49qwLrKL/tK6QEYBASs+lr4lSsO3jbcdtalBki1m60HtDA3F69OsgwtxDnksFOLjt/QVwg nX6zuNDsgNFiXyQXMwjVAIFizD0eGBDLyHuMbvTTQdT0rxQsXmmdJ8kcpAs3XXd4D0W42ytQFMH dmdyoQ292c5FnrkzDq70mvCBZgLy1usJY0583CRC61byQBqJn/mL4aW/mrlxncOWItRd3pw== X-Received: by 2002:a17:902:d589:b0:2bd:4d4b:9143 with SMTP id d9443c01a7336-2beb03663bcmr117283095ad.8.1779650770947; Sun, 24 May 2026 12:26:10 -0700 (PDT) X-Received: by 2002:a17:902:d589:b0:2bd:4d4b:9143 with SMTP id d9443c01a7336-2beb03663bcmr117282885ad.8.1779650770492; Sun, 24 May 2026 12:26:10 -0700 (PDT) Received: from hu-arakshit-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb56ce2cdsm75329945ad.29.2026.05.24.12.26.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 24 May 2026 12:26:09 -0700 (PDT) From: Abhinaba Rakshit Date: Mon, 25 May 2026 00:55:49 +0530 Subject: [PATCH v9 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: <20260525-enable-ice-clock-scaling-v9-2-c84613e9ce47@oss.qualcomm.com> References: <20260525-enable-ice-clock-scaling-v9-0-c84613e9ce47@oss.qualcomm.com> In-Reply-To: <20260525-enable-ice-clock-scaling-v9-0-c84613e9ce47@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: 39P8iSbtAw94KqcGoe4OJsnqx-XbKtFP X-Authority-Analysis: v=2.4 cv=Fto1OWrq c=1 sm=1 tr=0 ts=6a1350d3 cx=c_pps a=MTSHoo12Qbhz2p7MsH1ifg==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=-RVjIYUuWhs3u9hRN0oA:9 a=QEXdDO2ut3YA:10 a=GvdueXVYPmCkWapjIL-Q:22 X-Proofpoint-ORIG-GUID: 39P8iSbtAw94KqcGoe4OJsnqx-XbKtFP X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTI0MDE5NCBTYWx0ZWRfX7I9mvsQ0csEF 0BzEGExxQi8GnVliNp/eoQmwS2x0Z5WoviNyDynu4WHYPi12o/ADxwr0m3FEgzK3Er+5cwYkOpT 2KN3v5msyDptVqgM7IJ7FBw46rU8O+3yEBWJ6WX/zMIHbuOMFgpDEdNa0EjybX/lohGyu9r5wPF bC5yyjcRRN9cmZOfESNCRJOZSWk54MiDIImTslzJ44eq+92ROdSLKU4HpzIxUVntNln9xnO8yw4 UIxKoCP5jbMLY7E/2f3sObEbMfBoh7UseLKgLPb7l05nk9boMoVwFOFQP9tmI9THeTcKU/fXZ6M 21T3wvHoclJxtxoJfuNtS3YeqkEFSY1G126GymJFI1vmpwZ0E9LMrOKml8dPWGt5w0y249NiRpf ADA5GQIz8xYoQM+nTB38Lz5iAPuqDxH1yE4ohW3jb0i98B8uCiyhVrenz9JNAmZDye9EcY8KQMI YJqdyzm5MxLvB+0hqNQ== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-24_06,2026-05-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 bulkscore=0 malwarescore=0 priorityscore=1501 impostorscore=0 lowpriorityscore=0 spamscore=0 clxscore=1015 adultscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605240194 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. Incase 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 bc037db46624adaf494d08f6c2a2c55c9ed24606..b248d8db8997341117d014320d2= 2fdf1ae7b89a6 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) @@ -1933,6 +1948,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 Tue Jun 9 01:00:49 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 89B0F33122A for ; Sun, 24 May 2026 19:26:18 +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=1779650780; cv=none; b=KRB+m5kuGx5SrJW0rs9MpVBwPdiKYXdKuOqZ5DdQ9lSTIGYpfyblWMIEEuRWVAq+0lYNY0W+J326MOfC9Gw3zaVbWiSrZeXgnogm9pRpHxZyZBKEOwVX+89qULWVSH/JVnKNL10oi8aMMK4v3MfAE5S6DDH21bXPaijsMvfiupA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779650780; c=relaxed/simple; bh=WLJrEQF9Y7NigQZClz8IucXv+mmGIUfUo3zkdRhYPGI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=EIg8mtuTRGa0x1bRyrymvS43Bzu9OD40PMmZ+pulrppkYAYO5QLp6g2gPnC2QiVVs6H6kT9j/UYxVmxiSB9GgerDSDZgmTFHZoG/VY12/ptvCG9wUJIIkFo3wDrHULDeZB2eRo3/OKfjvl+nyCOg/Q2dohau+5wdDWXwTRuzE4I= 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=jZ+7v7ND; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=BQXfYmB7; 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="jZ+7v7ND"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="BQXfYmB7" 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 64NMvRFa160817 for ; Sun, 24 May 2026 19:26:18 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= R8XmU6cOQ/nUtzY4wcyLNE01H6LUhVcm8naRNpnvf7E=; b=jZ+7v7NDQIGCudWU xUjP2SFcxjJzcaCnekSSD1CkYG0EJ9h+0dve/XZpnPR4BWKXYRAJQMT1WaWsJWCp 2KbvemIr9zaMXS6e4NPc6R8mgpeGKLw34tMuHYnKJSrNNtPwifZ79uCXHDzlFam1 pr15z3wdPZNuMU9CCGl4gk6NFdg/PW2BwEoIZBOG7qquLAg8vCX7oDsOdqvidV5w hYefZqjDoEjhSio2wn/HekkZ8z3hx/DWMgRp3tu0ow09Cs4TGmU/RTAbi1VExVoP lVslYY1QApPU5w6h00800sTDPwNC60lxE9xFne1P835B9qdrPHnV/Jy0nVjSr9yS Tc26MA== Received: from mail-pl1-f198.google.com (mail-pl1-f198.google.com [209.85.214.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4eb36t40jx-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sun, 24 May 2026 19:26:17 +0000 (GMT) Received: by mail-pl1-f198.google.com with SMTP id d9443c01a7336-2bc6899bfb1so90833215ad.2 for ; Sun, 24 May 2026 12:26:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779650777; x=1780255577; 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=R8XmU6cOQ/nUtzY4wcyLNE01H6LUhVcm8naRNpnvf7E=; b=BQXfYmB7/BqLV3VjFY6cOaclIb9uk2Omfwfv5Faf6SgbSj3kA5MgXC4HiJM5gCsie5 AodPloeFeOr6gG8MGNTBSmLYJ6xeP/iB7mULV3FU4E2mQLzJoTOr0FaLGy0SClIujX6E W4fR08rPfTFY/TX/xBKZSPYM4djHDuL2LeZk5n9GVJTPF+sgAsB/hPn/5gTbgYXyAIq8 b8xUtTAK4NMz0srpul5OJIKxspCEkMgJ2IUbOzsFltqMdHRe/qAYlukkiZRVzZulVE0p USqoBaeFfayuWwNTKSLqyHjdJlGzKgQxj1o3xmxv03mz3t9aSF9F+vzce/IofmWT3Rmn cpfg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779650777; x=1780255577; 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=R8XmU6cOQ/nUtzY4wcyLNE01H6LUhVcm8naRNpnvf7E=; b=G03i3MQM88WdC6c6BaUbXdELCgbabbJ0TUu9k0jwiXztNkOOeEmbR6ScdNr5nL4gGC l9EFRveryV1677DRgh9MMPY5muFRCn2rZYT9bjXDOFGY1hJdx4q4te+9/HYAo2CLcCNP x6Cqi99ufBc7ra9lAmfd0Jggev4/aDng7w6aRoWYFxptks0Icmrik2CZnZMRntgKAg7H cqEb5Y5Fm1csTllgtByoecQo1uIZqIQO6ZPOZSm0nYOHS6QQ7MYz/gWxx4nCqIKIcBhR J0PV791TYScxhvXf0SYCUg0PGSoK4A4Qo+XnhmCOOG9mbcZuobj17f6I4dK914sde0EF 1miw== X-Forwarded-Encrypted: i=1; AFNElJ9HXVLTMfemg+iakFqzqK/rLwJ0uttYjxguJWTgq6JlGXqt+OZDecLS9mtcsjKsVi70HvMgdxlxDqQhGYQ=@vger.kernel.org X-Gm-Message-State: AOJu0YwDB/1A0Gn67WmWKmyYwtn/6/4GzJZfXdGTtwPH2tXamo300RXP XIPxjOPkg5JyQvxrWNniPduCQALTXHzHaE2RanrTXC3EMtOeTOd9cba/eJl/qFnLsyFdHdDvzt+ WZ70enwFkLwt8DxNhFCq9Nk0cNx8TIxYNwzPstnIYB2LAYSfPQS1w631la7NwjHVu9bo= X-Gm-Gg: Acq92OH3M3XkgLnI22wCirIzdNA7JweIeNsOgXi5JywROIPojXB+W31NoM7qEpOipYs RHw3LPvdpaCPymkQvET2b+mqYViS5wSlMxkN1xuUYoo4FqXPHLWoHES/w1T8yE0Rrx0GvhvSseW qKTnaTHAX8wm63jsRdNVUm9PUapoHKRp4t+LzhZTikeTc0HMWKcq3Pe6L7M4KsSbMtImNU75N8Y 56xkg9J3AQIOBv7txr/0CQryhEanIVCHX5cVYLM5pLVtXOmoWeu63B6rZQcgldlrNf/2ZMfzy+6 GBC4ypCICLCLeggxgRfs0CowXpKtEqIUy7eBzy40sVLiVXMh8LZFcAxDt9wG+Xn+gTxlQfRsrMg 3RHRHDA08HBD5mN/7hI6RIvp/IgoUoO0Om6iWXewtKWrjcZM1ssV6loHNSjk= X-Received: by 2002:a17:903:3b8c:b0:2be:1db0:f166 with SMTP id d9443c01a7336-2beb0346484mr129305805ad.10.1779650777091; Sun, 24 May 2026 12:26:17 -0700 (PDT) X-Received: by 2002:a17:903:3b8c:b0:2be:1db0:f166 with SMTP id d9443c01a7336-2beb0346484mr129305495ad.10.1779650776559; Sun, 24 May 2026 12:26:16 -0700 (PDT) Received: from hu-arakshit-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb56ce2cdsm75329945ad.29.2026.05.24.12.26.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 24 May 2026 12:26:16 -0700 (PDT) From: Abhinaba Rakshit Date: Mon, 25 May 2026 00:55:50 +0530 Subject: [PATCH v9 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: <20260525-enable-ice-clock-scaling-v9-3-c84613e9ce47@oss.qualcomm.com> References: <20260525-enable-ice-clock-scaling-v9-0-c84613e9ce47@oss.qualcomm.com> In-Reply-To: <20260525-enable-ice-clock-scaling-v9-0-c84613e9ce47@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-GUID: CSQz07vpAhMlw4IGBzJhyIq_TzeHmncJ X-Authority-Analysis: v=2.4 cv=Fto1OWrq c=1 sm=1 tr=0 ts=6a1350d9 cx=c_pps a=MTSHoo12Qbhz2p7MsH1ifg==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=EUspDBNiAAAA:8 a=QyXUC8HyAAAA:8 a=PzEurhthzZq-M9kHIYIA:9 a=QEXdDO2ut3YA:10 a=GvdueXVYPmCkWapjIL-Q:22 X-Proofpoint-ORIG-GUID: CSQz07vpAhMlw4IGBzJhyIq_TzeHmncJ X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTI0MDE5NCBTYWx0ZWRfXx3ImPqUQFizD 9VPuvOM3idtYXRS2HEv6gNa/+nCEqSRKDD+Fgmgz9Pl76O4tOPqd/r5Sqqso00lVlOKAX8ahZCQ T5rYWTZi9XVHcdhMULzl2KQ8y6YQjvhtJ4Jz3vqXAjrzbdDJdvNrXCCtRYSILJUgT648G3fPDT8 X8JGAlSmddQZM1lMvtItsqe4Q5Fynx+Q7IDFaY0Y92sX9vd9Qwp6MwRL553bPZMJ28LwZiaQGYJ Q6e/jbKPv1bH/hUhQeXV1xKvydKUvyrbz9dDviDcxYFNqXq0/fFsRHVjPl/KXVIbYF05wWponmv FKA0w9H+58IzrCFLH/GCjfYF28e27VE68UEnWACDJ23/Uu0egcfmdEmYpNOV/K7jnTdN4iuiMDd Rr2Jz/zzGdzqobgWt+2o1FPSLbsec4mEzhVp+PZTAd4uBs6j0dAZtpRPEssDAJpK6Wgpw8BKvJ3 TQ0ghcEXqHOx44Ym7zQ== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-24_06,2026-05-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 bulkscore=0 malwarescore=0 priorityscore=1501 impostorscore=0 lowpriorityscore=0 spamscore=0 clxscore=1015 adultscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605240194 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 633462c0be5f43c06c497520faf9f6fa03fa652a..cabcb75ebbac392eb6dce7ac8c7= 56724ef9e1b49 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 Tue Jun 9 01:00:49 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 427C533A6E2 for ; Sun, 24 May 2026 19:26:24 +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=1779650785; cv=none; b=bd8ahl20OPrM0r09wwtS8T16MrEts5zoKtqifJ+RxZSadOlQ54CK3IusNCgoqR1KAwKP9oJhWco//Os8weCWIf1qGkl8lTE3ZAXCVvdGUV+0FWcAXkBZyQ1oPxrGRyJ/vgbfzZu32h2cxs/zH4Rvgdjwgp/PNHnCU26Ws7kyznA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779650785; c=relaxed/simple; bh=/x7fhiqRUVFf6KsQ4pl3FTJpHo09DykPuFw1fEIj6wA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=N+Ab7Wl07QME3thGqOtu4xaHOdrlN93Pwtr/6burT+M3dNAHaom8eXQrWn+iy0vO/4lu6/iUatsUATuhDpOHXKTq2GOz/7je9sycJbRoUVtzBUfFkjhFIwxOB3jKYQqqvFBB9WPlUD43Cx7uKzK1FBbyhcA8Sh2CYOtZR8Pq2xg= 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=MGYNI2A1; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=TfxD+KY9; 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="MGYNI2A1"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="TfxD+KY9" 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 64ODFx6h803976 for ; Sun, 24 May 2026 19:26:23 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= DMOlm7hNmzx6629XwqNAUJiu1R6QF7UImrBpTqYLhBg=; b=MGYNI2A186PM3f/i SiuXuk9wLr00ADqXwwfM01E5ZuvFtZnjJwt0V4v4ezjfoAMEn7qADTwbAVnQjp+N K19wQBw26/q7217xCZZqhuD9/SyPq8lC9KKYxKDC3jOIFK59gfdZwIpcpsJOqroF AnugYWU1pGi0GWD5J3dYABndPKdqdeTgKaylppCIC3J64u/1umXuTByT86hBQLBW TkYaMpatmtjl5vkpfNGbH1wQCDWaoZo9QnPcf2xpnPrM0NJpaJmaBFdiBk8hc7vs GEHp5knbhHnA1VTbB2E88Jgepd1iB32WayYKqfyFQ1uFM+B6g/kiSAg/y1AP70hz 6kV41g== 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 4ebba0u31x-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sun, 24 May 2026 19:26:23 +0000 (GMT) Received: by mail-pl1-f200.google.com with SMTP id d9443c01a7336-2bc7f9b2213so64603795ad.0 for ; Sun, 24 May 2026 12:26:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779650783; x=1780255583; 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=DMOlm7hNmzx6629XwqNAUJiu1R6QF7UImrBpTqYLhBg=; b=TfxD+KY9p+VMlBCQ7eGdbTsI8o+Cmm7jYubK99DoHIZgFI8xDpdhu4Kn0wsqpsri5n JmHiu6FSLwCsJwaULML0jMsU/SBmVeJfdWibPugwExK+ed8NhRJL2tMxfLYPtTfDVMkx MvdWKVvgYhnWuqNBJ4ngSR5pKe5gZCy/LtVcnpKD4GV4Kx4gfB7XXYTWdLJ0h9PVXLi5 yCCCpfkH2Nsl/hbqQZYYy15HbZRzyRnipREIrFKhALNvADn5EoFHmOLiAEv9fkwPaHiO mPuRs3vCMOWPtnrHdlhmSbuEmguScRKXFGb8+A2jkYT5I9rCcTlu+ytZkO1X6cjqBWVj EviA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779650783; x=1780255583; 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=DMOlm7hNmzx6629XwqNAUJiu1R6QF7UImrBpTqYLhBg=; b=BVF1e8I87XbQYS7unKpILq3q696Tcr+F4Cscu3WrZOIgBqGnDDJuINAon1H01fTgWL ISL1DYrbRW0kU243RSYQ6oGd5RdwdHApcKlUqcOgc0asD6WV7rrq0yGqpXrnvLbOdmcz NCkeDWvdAGXJVoSba35iKgRP1eydi0LNLClrrPu0DWFrGlIS4UQuzsQ6e5/EQAD7Pdm4 40wrDCxXsonAHTVoYwpgH9u47PVIonHkXdU4+DodAqSpEAgzLQhk7Nh/OfbbdQPuNJxw YWVmEhOiKNW/6nsuB8cjn+B8/srxqV/Be98C3Gl44nyes57eqOyS10ED1dMfZEpET3Jn 1tcg== X-Forwarded-Encrypted: i=1; AFNElJ+84Lj+O7VhJHi85x4Lb207Jve/OtlTGWQQLX0NESMzhWQTuFVjA1cuxuKZ84gHVdoTG8dRIgNkz3lZygU=@vger.kernel.org X-Gm-Message-State: AOJu0YxCyWZ1e6QU3cV8hZL9UxZW0w5cZkytpFblxYOxlLAAl69rxMLR AroI1i6gFHAZggsGtlNiUIiLVZFHHwIZeJViKCtOBUPSbD2uWq1yKcY2Pwhj7eF05DP8p8rc/y8 j7Y3vKu/+1E0Uzr/5kKikTC7Lhp0o6zPXQ55JYhftFTiujTKQo1WrHPH55bC+G5S6njk= X-Gm-Gg: Acq92OH99j4jlN/9KzzmCFosf3yNjphRwGiEHhrRP0QZ1RehG6yvmY0vOQVDeqZ18Vn L/ZWT4XK2cbSsCca8gj6t8Cg6I+XzMKhrI+9jiL1eN+Acs7Mjeh/yhnFwCyMUzvRTcwmIt03FBC Lg33+tRRXq7mAnNaJ9IatmSSaCJXjBQ5PK9JbdByN7/Bd42Nz6DYcQmUy+tTuhEQhkaKcaThodY Xvv8N9bC4CdKdUu8mI9ipxKmoPBg3qz98EHZTJsRP9W5eHdnFlDW9mRFvmvuM64rETwk6vCgY0W bbXF6HAXf4O86bofPXeqX2jqEGN6ukilasLh3cz9RzLXhyBrUA0J6IJvh4YZJzgggr5cl17a/fU MOaP+kYw6UvzDMOALlhB+ZTZZe4cPFyJNk1RADdyRU6MEmIN0dOL6SfDM+++KT7xcUNgiXA== X-Received: by 2002:a17:903:1b70:b0:2bc:cf06:6835 with SMTP id d9443c01a7336-2beb0346047mr123255395ad.8.1779650783064; Sun, 24 May 2026 12:26:23 -0700 (PDT) X-Received: by 2002:a17:903:1b70:b0:2bc:cf06:6835 with SMTP id d9443c01a7336-2beb0346047mr123255045ad.8.1779650782559; Sun, 24 May 2026 12:26:22 -0700 (PDT) Received: from hu-arakshit-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb56ce2cdsm75329945ad.29.2026.05.24.12.26.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 24 May 2026 12:26:22 -0700 (PDT) From: Abhinaba Rakshit Date: Mon, 25 May 2026 00:55:51 +0530 Subject: [PATCH v9 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: <20260525-enable-ice-clock-scaling-v9-4-c84613e9ce47@oss.qualcomm.com> References: <20260525-enable-ice-clock-scaling-v9-0-c84613e9ce47@oss.qualcomm.com> In-Reply-To: <20260525-enable-ice-clock-scaling-v9-0-c84613e9ce47@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: 601DaU3tPcIz4IQLUz7OgdolpgTxZwSe X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTI0MDE5NCBTYWx0ZWRfX1GOPi4b4XUiy HbxYU4LIVUWNiMJacYlTOhWOqEPH51Z6zLiNkfLvSDoHz6lJz1gnRUkslBQv7n8As4K3bsG6zr4 QykQTuwqOyPfVfSXMh/Mvt14vo04Y0Ec55eprEEwrHms8482VzajHUx4COkmt8CUqF8/Xh8BTyo g4YVUeL0eWECFdeIfWAti6itOyDs5sfsXLOgTSGjy5hx/3GGch7wYx6Yq+DEyObzRjoBWPIIJx4 mVY5kOos6b79jgdt4izhletrb3+jm268vodpzBcQDg0hwFdq4BsU7Qg8pVu5alA63q6hxjEybIL BmNxIaHZg1ixEc6fVZpwtV/NnGjtY6lfVrblIq/QlL6qhH1YySGQQf7OV7gnzt3txH3j06LCfpp fr2cBgApDWMJYocOLKQQTBSxbK863oZnB4pqJg8cO1Eym0UwlOp5+FnWFx7wkdueJgk5o2XijWi 5cpVoZnSSrpORSB97ag== X-Proofpoint-GUID: 601DaU3tPcIz4IQLUz7OgdolpgTxZwSe X-Authority-Analysis: v=2.4 cv=Xca5Co55 c=1 sm=1 tr=0 ts=6a1350df cx=c_pps a=IZJwPbhc+fLeJZngyXXI0A==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=DJpcGTmdVt4CTyJn9g5Z:22 a=EUspDBNiAAAA:8 a=IFdraIdqUsMg42QbtkkA:9 a=QEXdDO2ut3YA:10 a=uG9DUKGECoFWVXl0Dc02:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-24_06,2026-05-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 malwarescore=0 adultscore=0 priorityscore=1501 impostorscore=0 clxscore=1015 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-2605130000 definitions=main-2605240194 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 a8260f695058525e77653fd8005fd3d250715a91..8a8328c5dfa88b69594fca926f4= f7c1825416259 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 Tue Jun 9 01:00:49 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 E4E5A33F8BE for ; Sun, 24 May 2026 19:26:30 +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=1779650792; cv=none; b=R+OCYUTm2Sfn3EaYO9fkz9UsLa0VWPKkSzj5RE4vMa/iQdJ5EO0y6KoZKBfOu0o8TXS3Dq8qVqefVQSxKOo5ipgpIkRqRgOfPm8d8rCTSdFUNSLRKq7RoXg38KTQYzySfAbR5RYnve4RGkwUY+WluqaWCtKSoh3kr4Az1O4RC6c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779650792; c=relaxed/simple; bh=xx/OKQkndZ0HVXGIbB1dzJVX/RWFuCljMR+ppwrasBY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=PDDK5+sm5URVCoY6kq2mr2DHLJ9Dtp2NqDiYeU7Qt9Lhc1MuGqC8fJZRX90iaOrVmOCXPesAOIicDNvgoPa+pSPGg89CyAZCchAOOUveCQMPfGMXYn/9UQxMuGIZ3AlUiscUeavK0vRMv3Q/vjT8XpVYcgvYl6xHnXBO5kRqTw0= 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=bGdKW9Sb; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Puijgxui; 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="bGdKW9Sb"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Puijgxui" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64O4hjKc4156310 for ; Sun, 24 May 2026 19:26:30 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= gDV1nPpX3nIdzbxc9n1Wsm9dVpymUyRjJcXvIcY9kbg=; b=bGdKW9SbVOFFo7Jd wExZbmC8HnAzH/bYeFHp/25k0XOUuX9jqwV1EBCmHs6U7/z8NSBXlOPR8hHSYaUM wSMX30zBdPFxCc96zqnm5Cso0EnCNXrse78jOgxNarxJEQuVwBF3x6/epwQnX98h j6rtaA1GZDpNp22l+6Pcavaid3cPfC66YXezOHqRTBxdYWdxOLx6Lz5FnbtFiKqf BeCxGLB6m1RlZP5FHNVK29m52n0dO30I7SSSW7eRqzcYc0saEGwdv0wZXN9yor1P LM6n+ifRB1Eq8jEebJWufHQH6bcaJ1YMy8Uf7L7kre09iapT53FTiObOeLmvtagf tDYnzQ== Received: from mail-pl1-f198.google.com (mail-pl1-f198.google.com [209.85.214.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4eb4m7ktfw-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sun, 24 May 2026 19:26:29 +0000 (GMT) Received: by mail-pl1-f198.google.com with SMTP id d9443c01a7336-2b2e8bba2e6so121269425ad.1 for ; Sun, 24 May 2026 12:26:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779650789; x=1780255589; 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=gDV1nPpX3nIdzbxc9n1Wsm9dVpymUyRjJcXvIcY9kbg=; b=PuijgxuixL8qHgXwT+jn/cIFNLlTJx9KBjnMR46lIqXc2ThnCovZbdQO4vqUAlZv5Q TcqjQSqqMV6C/Q5RGktr/cu/ecJoUi+7hr/ikWh/mqKve7pi5AkJvzYHtiHg5p2Q6x8A YYi61eCLSbOcz/nToJTpvG0Bc6oqHwiDbqaTSd3UGEqDg+ecWSGztn7yHLUQbHydiWcS ehh4km2EOHOKbiad9kYQUCsq2D3OL3q6D8ln4gfLkku+WlTT+KPK/hanRrhyP+MmgsYz 3QcHaPgSZnA1TbB6QIhvkxkn8y5H/1WI5PDKFbEm201hrVgI2h3BsneO4fQhBgpCrcHP iEOg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779650789; x=1780255589; 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=gDV1nPpX3nIdzbxc9n1Wsm9dVpymUyRjJcXvIcY9kbg=; b=DYhM3KcntvexLv5rhsCNkE/LWd7azGozaX3vSXaQpaVZsPIVjrLLLwkgAJERHrTk4d v3W1pv07X49ZwA57hzyfq1m162vooc28R3uv+R3LkyMuEUWppqw5v5sTN9avFHds6FD1 mpnxpC0cK5Frxg81hLlKHAvmV9h/e1CpVg8OLE7jdvPIbHrJJs9YkVxAknEhqduqyATy Va01Yk/1a7RMsl6v2m3/6nB/fqxWzdweYq7Rr/X4H0tSEomPG1xXVRnRBuUKfLzyWeIs zaItBzTiylKT063d9/3O5GvJj8gZFDmVf/jYZqVgYkAjpm60yJvjR6DTGein6C77w9bR z9qA== X-Forwarded-Encrypted: i=1; AFNElJ/59PenMNiAUabtUnzXYHoH8l+NVzb4+xh7FyqiSnY1ipxebnqmLqW05qvZTTEyKGVWgZ2el062GZrCBUY=@vger.kernel.org X-Gm-Message-State: AOJu0Yy0aieGqvl1AIPW5HvIZhIgUGR370Z00NpEdnT7KujBONXwpCwj HfwWfJNQKSQkOuzq1VN15RrTgVargIOG8wZ6rJtSG9HmlJ6q3ZYoUb7i5asYic2n4oJbRLucAsT BarXhTen6V74c/KY/zb757bcfDGjkoL2p1EmMj2VfD1LTKJsLIlPSRJpCNBpoUSeCPJY= X-Gm-Gg: Acq92OHGCCoycMRWjCxhfWRWRz308neLJwcKGZA9LeqMbvnn5kRBgr6aGArYVA7qrmZ EzD0ryj6hBTpd6/j+FjVLAA/pivEif0qIw9G9JBU2oGhSXeTqDybUHbyKwZtPPRZ8J51kC/hXiT vlkR1R3ZrUblRHvxymLUtWcwFBwOeJR81AUxTNvknD7SZKWo2lwci9PHiTCRzhpVJ2mVMSheII6 FVbxYIsv2Zns+HEGU/40xxGOdjfbSOKdJnDLgtRblQhQkzXTVcAz7EG728SOrzUv0zfoLokT3t+ 78rywwxdmK5P8Q6i1CAZocp6syJ6PSSMZqyszj/qbP+94XASKImtVyHdot+ccLZZvR5j7VozHx5 nzESEm18HmgU55N2l7lsAppy6LxrPFlOkhR2cnfvl/Wqptdi5M9bOFiZoOaU= X-Received: by 2002:a17:902:ebd2:b0:2bc:b141:8551 with SMTP id d9443c01a7336-2beb06f81f3mr131886925ad.19.1779650788848; Sun, 24 May 2026 12:26:28 -0700 (PDT) X-Received: by 2002:a17:902:ebd2:b0:2bc:b141:8551 with SMTP id d9443c01a7336-2beb06f81f3mr131886575ad.19.1779650788351; Sun, 24 May 2026 12:26:28 -0700 (PDT) Received: from hu-arakshit-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb56ce2cdsm75329945ad.29.2026.05.24.12.26.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 24 May 2026 12:26:27 -0700 (PDT) From: Abhinaba Rakshit Date: Mon, 25 May 2026 00:55:52 +0530 Subject: [PATCH v9 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: <20260525-enable-ice-clock-scaling-v9-5-c84613e9ce47@oss.qualcomm.com> References: <20260525-enable-ice-clock-scaling-v9-0-c84613e9ce47@oss.qualcomm.com> In-Reply-To: <20260525-enable-ice-clock-scaling-v9-0-c84613e9ce47@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: NCvXHGU8wvfDW0m8V61pj8GS4liXMVT1 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTI0MDE5NCBTYWx0ZWRfX9MCBxWNEiGrC +sV4z9yOKtFIdYhLdMqmQAX06croZnpmNeRQUHIN2Q6QUpT4dIlv1NvFzZQG1P+/+YyqGmuzmgi G6hK+TwiSf+dydtaRjotK2SWdPh9hL8zyIizZmJPgh0KLcF8YA69yHJ5xbDuniu7gf3b2vDBXFv KpahLC3Y0ar2sgFaIe0wZy1peGHGgt6viPvatW4Nhcxa8bR/cz/7x9aDiFVKlwUGwAVIgB+RMlT ztf5eynT4coo6zUtKCeTrBy/S4vIjLFF91j3ERx1FBY9wc9m3MeHNvqhrWsD63/Psx7hq40RVwl v32rWO0I8Lk1QhuLjLzugEeBkJbFGSncvDIIS6RxWJOWMOWRzGKLfmztSvmRO7f3j75TQHyhq+W l0dPXXhUL10wt3swEGuKX1QQ7Li7ijvU0q52wXqKu0O9bqmBBDCS325/+mbbZNOd2VPvtacbt4f k624+ls7xjgKpSsMJ9g== X-Authority-Analysis: v=2.4 cv=MrJiLWae c=1 sm=1 tr=0 ts=6a1350e5 cx=c_pps a=MTSHoo12Qbhz2p7MsH1ifg==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=EUspDBNiAAAA:8 a=IFdraIdqUsMg42QbtkkA:9 a=QEXdDO2ut3YA:10 a=GvdueXVYPmCkWapjIL-Q:22 X-Proofpoint-ORIG-GUID: NCvXHGU8wvfDW0m8V61pj8GS4liXMVT1 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-24_06,2026-05-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 priorityscore=1501 phishscore=0 impostorscore=0 lowpriorityscore=0 clxscore=1015 bulkscore=0 malwarescore=0 spamscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605240194 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 805feb481943e0684162048b5e665b056588095f..89586a6fda70dde16007fb9d3d6= a1fc4459c58ed 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