From nobody Thu Apr 9 14:59:50 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 723163C3422 for ; Thu, 9 Apr 2026 11:44:48 +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=1775735089; cv=none; b=GOW1RQxCKaxJGksKEE8jlspLkhUZsow6JSEBVZcadSqNChJ77lNL3kjhyhJxEbaaWVjaY1o8DE23nfHivELED3JG6p27PnKSyf8M1a3KW7EIxXo5mNdJ/gB9zlQu4XiRKCKCsRcRxkUhrwhpmf7Ktt9ejCLeDqmeb/ULtbiM4wc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775735089; c=relaxed/simple; bh=3XHgcSRng10PQalp+4T3zNZuirhzNRsRGe4tsfJoq24=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=f2X8LFUSWuf3X6mQyTm4JbAjPCIeAmuGOJPZzi/9tDcFgtRo2WXQt6fkdtbxqlkbnP5o4ms5vXKLf2g2g/im8ISei7zIHJdiWemw/SbDWPigQJq+y4vVhY25RPAZhKmawIYXIPTf0Dz/Csg4amyYmC/+OW1TVuD/0iVAyjTyyFM= 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=VmxJQleO; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Jliwo2YM; 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="VmxJQleO"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Jliwo2YM" 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 6397MoZc4046994 for ; Thu, 9 Apr 2026 11:44:47 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= rKSy/85A70XkSZk9VI18GBLszleodgD9VRhwuaEGsDI=; b=VmxJQleOwdaNBDy6 F/C2vuXJCaX5IexCHIXWTrueJxYC/1wmnTXbodWW/fCrpdzQeSxJFfPuWfdPZmxj Q0k5E67UVCBRLBCFta+luY03MF+EBBglvVVGQvzk9+GNVSysLPLRZF1w3QdrZmha 0R+nArISSqFr9wjHXsA1fE4/xjmfYOnugZdZip4IRLsfzrPvC290Jk+70U37oKB4 /V8MG0ZSgcoBfRjuRbKgeCPvGNlmnk/b/+g1zB066jFxjSa4mrTWXD5dhi+Jit8D vHRxbIStrmsXkiSnE6XCsVLtTdbvrGnxRxdzv2btDI3GLupPH3Ik652hJe8uo6bE r19d/g== 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 4ddtd73tuv-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 09 Apr 2026 11:44:47 +0000 (GMT) Received: by mail-pl1-f200.google.com with SMTP id d9443c01a7336-2b2454fc131so15451685ad.3 for ; Thu, 09 Apr 2026 04:44:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775735086; x=1776339886; 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=rKSy/85A70XkSZk9VI18GBLszleodgD9VRhwuaEGsDI=; b=Jliwo2YMQSa8M26b7QcsBU7zsq2mQcAPoDXdryeaUbiJDPIl4Tf3wzPYTLOkhVQLPh 3eB7Qzm1TrfFbLYQLEdtG0TBV7qTG/64bJvnR0celoNgIqFVQ9RFXc6+6QbOgzfxa4MG 1FeUrSqu2CJpHl0uNMZ2jkaE394jacWjT4hP6isjVzHpvpmxW2LuXfV5O3NMv/uYER2X u3D7gzISCRDAfnyqm+XVoQUBlXQMnXNTs7d0ltF6+Cxn5UhxCOGokTJ8d4DZp4Z1HV4Y Ut+6lA2ECJAD5DtNmzeqo8P2U81/h53S9NgD26Je+RiFLtF3LL9F+RYQjFvgR7GFOjYn ijcg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775735086; x=1776339886; 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=rKSy/85A70XkSZk9VI18GBLszleodgD9VRhwuaEGsDI=; b=PFvX6KwI+SHMHYRq81j28Qtw3xiCVACGoeZriUnbgom9c4O8OHEdy3CCogHFik4b3D JMzQEdE2ezIKTYw13eUZck2hsXHQBDEN4xl+SxF3wzxpknCgNxaKD/2EB9oytIdSs+yQ 5ibtMRfkqDWS8yg99tlEm3tkOlzVtdOMLIbD9hjB9e2h6t+hd0Fjaay/C0Vdjly0sZYr jaRt2ak7LSMD03uSApYBB2OcpBtHIDnJwh0Bl2v6X9dCeinBlzOnPj080bx8KQ6XmiaH a9JjXhI0oEu5UXToxteM4aIiqykpISYkD/SXc6pdEW4HNliIezMzZjAqcYsVqa4OJ696 Ro2Q== X-Forwarded-Encrypted: i=1; AJvYcCXa0cqm5xWL8ZqGiNpEO5YR2vPF0pUDaDTaRiZMGA7/+CUTIThJ9xU2cF73PrpPi51kIYv2+Qe7ntgp1xk=@vger.kernel.org X-Gm-Message-State: AOJu0YyuVYruyNVr5SCdh8w0rJTq+/07oluAkCUNO3pSW1IQA6kSYL10 SRNS5oep9SV3n8U1tNdLefgWKTowyTp0ebx0W5kTE+0eYpAo2U7uzQ8RNG8rTVoUshOqL4jJdEx kEmab+TnjpAbvhRxAft4fywKcDyK2CG9romqCSk9u++DICFzYLRlXwUF9BbjQqqbvSnQ= X-Gm-Gg: AeBDietFoF2lmjpKGLjOapoEUv4CpszX/G3Gsx1BmjGLnQmGyv7GIEL1RLvt0y7nPBq NQD4pE8wzgGq+fMCf15NU9GsCzoQ/xJGeR7lpna4jckob9NLF07/XFH0qZm/UKmGhrrVZf/Kwqh S886dEWMLdYSyB48Yq86HBKQIdUYJkY84xV35+qoUdEbmQmWPav0daCKlxh698U7uPAGZpV0pSh xn2eU4M9YvXJodwD++44O60E5O4lWk54pL2EC0Mg9RQUq0Hil0TvMwG0C6088SuN7uBehOFdbUg ZvKhgzzPRm8K8gXlBapg0EyYMt+6SU7m4C7oUb+KCAAAkCtWhUoJC6kltkp7jRIAxg29CerePia n+SizMLjkq6O7CZnWV8xcNslEZZZSd0jaujO2T8WWIjT9+Cfd/eheGerOAM4= X-Received: by 2002:a17:903:3586:b0:2b2:6b58:9317 with SMTP id d9443c01a7336-2b28194ec0fmr255741325ad.39.1775735086294; Thu, 09 Apr 2026 04:44:46 -0700 (PDT) X-Received: by 2002:a17:903:3586:b0:2b2:6b58:9317 with SMTP id d9443c01a7336-2b28194ec0fmr255740925ad.39.1775735085788; Thu, 09 Apr 2026 04:44:45 -0700 (PDT) Received: from hu-arakshit-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b2749cbd9fsm230957355ad.75.2026.04.09.04.44.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 Apr 2026 04:44:45 -0700 (PDT) From: Abhinaba Rakshit Date: Thu, 09 Apr 2026 17:14:08 +0530 Subject: [PATCH v8 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: <20260409-enable-ice-clock-scaling-v8-1-ca1129798606@oss.qualcomm.com> References: <20260409-enable-ice-clock-scaling-v8-0-ca1129798606@oss.qualcomm.com> In-Reply-To: <20260409-enable-ice-clock-scaling-v8-0-ca1129798606@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Manivannan Sadhasivam , "James E.J. Bottomley" , "Martin K. Petersen" , Adrian Hunter , Ulf Hansson , Neeraj Soni , Harshal Dev , Kuldeep Singh , Rob Herring , Krzysztof Kozlowski , Conor Dooley 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-Authority-Analysis: v=2.4 cv=QoRuG1yd c=1 sm=1 tr=0 ts=69d7912f cx=c_pps a=IZJwPbhc+fLeJZngyXXI0A==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=EUspDBNiAAAA:8 a=zlodBCVASgOsPZHI1q0A:9 a=QEXdDO2ut3YA:10 a=uG9DUKGECoFWVXl0Dc02:22 X-Proofpoint-ORIG-GUID: cFUHwvtF612cbQKd__xfDDw-78JvuqcR X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDA5MDEwNSBTYWx0ZWRfXz3QtN5QQVMi7 9a5JFYWUjvvOJsEY3i9l3E4kSAa9hTh+ZOnpusBD4Ur0PFljJynUrmVIZVzwlf8/uEenn+r2+y2 njF1Hji1i8wBWHsiFVZb/aZchObE9Z5D7CUpZ0u/L0kesjPtOrrqHpT+vQSpxcs7ACEork0jh9E nS5rNmCDgL6XAq07asmfuaZ9fqRgb2KI7Jvsw/zB/GZKK9cOio2DXo96x0Tr31iUqgVMh7tjVzO xbCmF5ITHbdzrGLGtIWRkHDjvkuIFtPBjLAJl9L+uSHiKfV9S5juKJehSRQa3TfrLDERt995zP9 wPZk+yxqtUHFRVN3IK3PuOG+S6JWSEOo+Kggqqc9XvG6K3aR22Iforu+6YLX5BCEiOtAEsJeU6C 1nDrt9QZM5SxjnwIno5zDRi9kCHuWNVRnV5U3zjPWbU+KfYf2uUpxYF2LzpVZqzp2S/j7VGtJ1T 19huEnmvbJfZUZOcFAg== X-Proofpoint-GUID: cFUHwvtF612cbQKd__xfDDw-78JvuqcR 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-04-09_03,2026-04-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 bulkscore=0 impostorscore=0 lowpriorityscore=0 suspectscore=0 priorityscore=1501 adultscore=0 malwarescore=0 phishscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604010000 definitions=main-2604090105 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 options 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. Signed-off-by: Abhinaba Rakshit --- drivers/soc/qcom/ice.c | 92 ++++++++++++++++++++++++++++++++++++++++++++++= ++++ include/soc/qcom/ice.h | 2 ++ 2 files changed, 94 insertions(+) diff --git a/drivers/soc/qcom/ice.c b/drivers/soc/qcom/ice.c index bf4ab2d9e5c0360d8fe6135cc35f93b6b09e7a0e..9e869e6abc6300c7608b4d9a18e= 7f3e80c93f5e7 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,40 @@ 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 the return value is 0. + */ + engine->has_opp =3D (err =3D=3D 0); + if (!engine->has_opp) + dev_info(&pdev->dev, "ICE OPP table is not registered, please update you= r DT\n"); + + /* + * 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 Thu Apr 9 14:59:50 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 506BD3C3421 for ; Thu, 9 Apr 2026 11:44:54 +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=1775735095; cv=none; b=AOAsxvxqKwWroCaa9XKlqOJottIynrsAflDip+YbgxGBhSN3OIrNAHA898NAfQ4WJZHxFybzkjD43jf+NPSCmQ5yDHXeP3zfL0ghgkQDEWPpg0LHjI9s0wcOqnhWhuJLDPb7wWuWUO2zCxg5/o7CY3erBIlpBrg3j/9KQv6Xd7k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775735095; c=relaxed/simple; bh=r7qPfewEvL1ex7EIGvFKR1XSzyLGar4cNMBb5ssyzo0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=WvvBlWqjuqjnPUbb0mucczs3pdLHa3LlGz3nt1kfmu+uCR1zDX/f+21RL7CKIXYTPmBrEAbhZDDe+M/MZTqiyoXK2K4PtlQT0B6Hspr5bKeOfn75m5pJNI2hf6yq43Vdg2RBXnWZgZ5eGm7ybB23yy6sxNLF4PNrZ1mPtrjsNzM= 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=JecxgGzS; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=CV9X3jH0; 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="JecxgGzS"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="CV9X3jH0" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 639ACJAc1727089 for ; Thu, 9 Apr 2026 11:44:53 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= athUgV40rXKWfTnPETsxk5Mmpfz3yAeWPwL1URQCmwI=; b=JecxgGzShz71/oyB zByrO/+QjKaF0eAQv8Og2TkDeAzkSasAdAidl4UL4X1w4UHuXxH/yInxhQ42aaDc Flts/elyqQDYltA77gP1XoaWOV+hULKL/T5iLDQKauChdjzdGxH0k3ttL8T2DZLz 6jAjOH4mSDiEt6fxK+2Rs60h569M9HIPRupcCOM1sdHxUH2zuAeIcJOIxUXv8X+g LqVpRHFfqfCVmNRVLEsFZdRGIUmvmB4mLjENIQtbW+q1w4QZR13ipgJyaCda+vfj yecsp9SWMBLAYSb1AjhOyNAdUxFINdv2wxH1XWP91wqAF4V85n4dcpwOe3iHco4s Soh1Mw== 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 4ddwcru15e-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 09 Apr 2026 11:44:53 +0000 (GMT) Received: by mail-pl1-f199.google.com with SMTP id d9443c01a7336-2b23c909256so9595585ad.0 for ; Thu, 09 Apr 2026 04:44:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775735092; x=1776339892; 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=athUgV40rXKWfTnPETsxk5Mmpfz3yAeWPwL1URQCmwI=; b=CV9X3jH0lY+SEGPvyuLDvonUiCXkfWkqrWDKcOxAKx/pQttcvCBMinDINtMbuP1MhA in6wZLzxg1QyHqAXWRaBFj3hz9MKF3g4eYqb5/7/TBuPPEmIbLqubXssKopWLj3CCXjo 0CLZsdopXHKH3SGwt67nwEBBqJ9/hAWcMJ/Hy7HQ1I3847AMMhmdfJArCyCc5plrJajc UiCEg7lQAQ3D9mBjVZ1SqWgvWa9m6hDpAG0DwPl64S0UHNySNe4w8LnnSADZ8aDJ+0rg DYJpht2B49NpgiAhNYmNaptjpZwFvHu30P3vNR/9/TpDb8Pbe1pzwwMvrkqL62NMKotf lzZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775735092; x=1776339892; 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=athUgV40rXKWfTnPETsxk5Mmpfz3yAeWPwL1URQCmwI=; b=WHP/tdnJUn1tasXchrtOQsDekqZ24HCcEmtRl2Kj26iH2Sd1qb4/HDePWUSZWsTx/2 BFPGTR9h1IG63Z1ym9mI1s5VyHwzQoGN+6sXy9kmRBsvMA15DKBnMgg/qMNqfxG0UTGj fW7Azw+RxreW4/jTfeRFB9XMp6ZhJ6OHtT/0AEf8QgBh75cPX516zlii5eTAWRkSmT44 VX9z2ZzqZS1phuh40Qoxc98BwtKlpGiQuuPp15SSaPoRDwauD5HEwUvIVO/TGeR3TqMc MPimRjeFGfU/InK0V5a7Z+RmoPUuVTQUnAkRjr8R3Kqbv7HE2WaevTgsquKTEU/xyYGr 1mcg== X-Forwarded-Encrypted: i=1; AJvYcCXyT5AUDlTDUMS0XoNyZggdu0oWV1SzpogmBDayg9wzpet8eHSj214ft/TSNRpqN2gMPVnmbdAVzuUCNjw=@vger.kernel.org X-Gm-Message-State: AOJu0YzCdkBv/SKXP1Q3AgItTJs3VWtqTPxUsv5QfPvTBw3MatxSK4Vk vTFRW1HkncqmtCEyvT56LBnpDKBSWj6Gs+XUp8tdg9kTANLy3lg/i9vroh6dt1NQynAZdxIw9ab 0qXNBid14Z0cSObbdgfuSJjNtB95oyArBhxaMLMtGSAjbPooq1p9hV6fbonPj2SvTAP8= X-Gm-Gg: AeBDieua6/mT2HzBmfyiqYkom2XAA0oEZEfOWb/u4+eZ76CedhVdRLP/192E0wjFO0T WHLh4WKnqDunHzNzJDwKn/yvL3YIqDGSK7Te6Eynn3jDDEGJOygRaVy3TlqRck45bJT6M5QTzHY xhnGQTd4aUddmoPUAcXKnibGRsfnJCrY+tMMJwfSbzUCgI42mig1xv5+1e1o+NbbWcRd8V+ESu7 AAuXLeOhH+o+dsAp1yi1DjXkjli8ehC9UHWGk94N8PFs6Xh9a14Kr5ZS8Cgumwk5k6Bh610YuDy wzXbmJ0eUnJRFaW5FX5S4bX1NhEqcoYIuf0WiwNLtRlWNx6rzFdRXNvmtItPDirh+1pj+Iodn9r wTnONBHefvrowtLAi2a0Uo9vIxhFG4M9rV4M6k6Y0fHxLlNaC9ZMyyOjRW08= X-Received: by 2002:a17:903:2f08:b0:2b0:67fa:dbf8 with SMTP id d9443c01a7336-2b2817e97b9mr257906325ad.41.1775735092176; Thu, 09 Apr 2026 04:44:52 -0700 (PDT) X-Received: by 2002:a17:903:2f08:b0:2b0:67fa:dbf8 with SMTP id d9443c01a7336-2b2817e97b9mr257906035ad.41.1775735091639; Thu, 09 Apr 2026 04:44:51 -0700 (PDT) Received: from hu-arakshit-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b2749cbd9fsm230957355ad.75.2026.04.09.04.44.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 Apr 2026 04:44:51 -0700 (PDT) From: Abhinaba Rakshit Date: Thu, 09 Apr 2026 17:14:09 +0530 Subject: [PATCH v8 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: <20260409-enable-ice-clock-scaling-v8-2-ca1129798606@oss.qualcomm.com> References: <20260409-enable-ice-clock-scaling-v8-0-ca1129798606@oss.qualcomm.com> In-Reply-To: <20260409-enable-ice-clock-scaling-v8-0-ca1129798606@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Manivannan Sadhasivam , "James E.J. Bottomley" , "Martin K. Petersen" , Adrian Hunter , Ulf Hansson , Neeraj Soni , Harshal Dev , Kuldeep Singh , Rob Herring , Krzysztof Kozlowski , Conor Dooley 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: AW1haW4tMjYwNDA5MDEwNSBTYWx0ZWRfX16LfIVxmFW9B Tx9mM8+wUqS93neRd970XWBX3TnECxJkcB9+dzGOn8Ur5JWZaUo9tSdDl8BfG8ASmxBLgg9PYGU vh/sKvU6NgquXgc72l1fTB1PkXtZLl6730bMXBnxlV2NrE2bacIrhCMwS0Gb4JRJlqBlcKIixvX U2Wu02YcNJDJaLdbNxw8jN8uXYelz3cV8Tp6cfFRi4Uf908004DigZWnN93IGoApiBV43OniZYb ttEVSgXi7oRLMiVO4IIymSRGzHv3xbPT/CBChOksPfd8HCWCpF2fvLGuWMCWHRlTqOmwCs5JQ7z qO+0a8ovOD8zYolRdOEh5kOyvFy/V6igDfzyT9XId1B9TDFlUzvJNgprXx5+dDL/T/7gPDVFrXS odkMUhP+MmTBpbZEqi0oh/OfGXk97lBRM9W3ToclcbMLN99n+tQWWSwJXXfTktgJJPKxbADU99w 2tovAFn3lLjYtUo56kg== X-Authority-Analysis: v=2.4 cv=SsWgLvO0 c=1 sm=1 tr=0 ts=69d79135 cx=c_pps a=JL+w9abYAAE89/QcEU+0QA==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=-RVjIYUuWhs3u9hRN0oA:9 a=QEXdDO2ut3YA:10 a=324X-CrmTo6CU4MGRt3R:22 X-Proofpoint-GUID: bAJya5iLMHpv0WIuMr4TAjgbC5283f1c X-Proofpoint-ORIG-GUID: bAJya5iLMHpv0WIuMr4TAjgbC5283f1c 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-04-09_03,2026-04-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 suspectscore=0 lowpriorityscore=0 priorityscore=1501 spamscore=0 impostorscore=0 adultscore=0 bulkscore=0 clxscore=1015 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604010000 definitions=main-2604090105 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 Signed-off-by: Abhinaba Rakshit --- drivers/ufs/host/ufs-qcom.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/drivers/ufs/host/ufs-qcom.c b/drivers/ufs/host/ufs-qcom.c index 375fd24ba458a7ef65d075ba98e5f99f4aa977c1..aceb2c42969b5d2dcddcddf0167= f8824733998ec 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) @@ -1743,12 +1758,17 @@ static int ufs_qcom_clk_scale_notify(struct ufs_hba= *hba, bool scale_up, else err =3D ufs_qcom_clk_scale_down_post_change(hba, target_freq); =20 - if (err) { ufshcd_uic_hibern8_exit(hba); 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 Thu Apr 9 14:59:50 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 E2CB83C196B for ; Thu, 9 Apr 2026 11:45:00 +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=1775735102; cv=none; b=bx6PeOq0h1716LybpXcYhly2/0XIqCh3e8B4ZQpNhQMxBwKBbM74cylu8B9oAhdwVMNHTXXuXgLD/NnDQQ14artu588ekEjaq40UkVqqu6FYVKVwKnCwLLk4xrAqX+Oy6bizwNU85ki5ahWC6dsri8pJ5sSIPLfpqkH8REMXdsg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775735102; c=relaxed/simple; bh=mqwO6vhHa/WasNF61nJHaYRSrbFR2Z3ArE3JxzJ07ik=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=GwuqnKK/y2hcUILwke9A29B9lUvoDnjYLa0npQ+7nmuqewPAxYE/5GmR9AQXQi830+b+/n1ZTPStV3zIQifT0KBZON7XyaVhexxr8rwMxOufbceiD396PT2Vb8GDWvDdBMOKXcMVVJxhEAc8AotjDmIX366o9g2Mntb+u+goaKQ= 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=L8+jmh/x; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=AV0RI0Dd; 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="L8+jmh/x"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="AV0RI0Dd" 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 639BcG6I4107774 for ; Thu, 9 Apr 2026 11:45:00 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= cZvb5TNGnSRnh7Yw6ww/CSSTnFHggTtfN6hnf4UNCVs=; b=L8+jmh/xUqy/HsMy Xwj1VWwP0uhmM7RTLUoV3ZMdvF7aRVlqOTG8DMt456d9/fsG/7gW9vjdT8ytwtL6 JzcnE4ybvjixeGKH/sYzRIcK+XT8ixmgDL4xiarrwouNjcqyq9aS5eHgldKULNqU UyRJcGbC/c6vuZbf5tHLi18qB1xU6RkzJ+De387I5PXFxtBqF9U9GMqa1ocLl+8A ijcncpHo7Vnz8g5IOCdquQoaoIwdX1Crc9KonHgSjaE2QfZyc93vfu2xgoRjvFoz P6QND+4DW30s8y8WF1JRX6KMzi5duu+YD85SlHo84edhFLL7PfJsnHC1e2C176sz ZA4z6A== 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 4ddxhajnrj-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 09 Apr 2026 11:44:59 +0000 (GMT) Received: by mail-pl1-f198.google.com with SMTP id d9443c01a7336-2b0b57e192bso5740695ad.1 for ; Thu, 09 Apr 2026 04:44:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775735098; x=1776339898; 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=cZvb5TNGnSRnh7Yw6ww/CSSTnFHggTtfN6hnf4UNCVs=; b=AV0RI0DdE51ydyuHtIxVJRRZBSU2dWNxekjwRXqvJtzzTP9taJDustR9/PrVoVHlwr BVDX7pgz3fIL94RwclI2yWj3G+e4vHMu5axYcSWpuSwZtp368Zx7tQ9bZGCouXJe4/ye zbp//8zg+IZmmFw7qCNwrB1/pQSWQhpWSZqnsLVPGixjFciipu9fnrjmycuI2QKsQfgu aGe4OLy6MS7ALWu9bUsmkvrmTStNxGwE9IxMCuJvc6Y9PYISW4JLadJR4IUnxC+r2MiT 5GxFYwGEe+pCXUwEVx7cT0P+lcybZair/lxdKwdMfOja2ebZ8X3QM6EP9Py5ie0rShV1 /7og== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775735098; x=1776339898; 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=cZvb5TNGnSRnh7Yw6ww/CSSTnFHggTtfN6hnf4UNCVs=; b=TdUsE2SECTikPvHkay77k6LjXr+YntRMBTebWbak8OwZ3dwA2zyP+7o7RF3y7p8FeQ CQ6n26GbBF/ysbLNSthuDioXZ7VKu+YievhGxDlNxPwHtMUK/Ccz/XQZLiu+m8BBHNo6 Sc2WT+u0uA2BEalfEv1Ib1B4eJD8CczfN2+vBWRNGw49RLlUig9o+CxKEX6aS1gxUswi B1nNIplU9lxVuHAh2m2U7lJAoJZO6cVrgFVopXiGbuZ8+JevXyRCNeyxuL44xC8RGiFH OXQ2AaR9lc0UCT4dsTBJgP1fX+jwUj3zn8/amCBk4ZXzFOyBBQ6vMBaE0ZESUqp06eCc oM1A== X-Forwarded-Encrypted: i=1; AJvYcCVvEvCF3m5WMMQC2vBivx1jseljII5KWE3uIH2DS7vHnHQ0vmP5xVBpE0VmBgFHEbblo9SIGkNtWlhu7F4=@vger.kernel.org X-Gm-Message-State: AOJu0YwJh11+V5FHOWN4+TndXEi/7DPP3ySlGM9nlcQaOFUDjMwfGkoA yHRydqUefEfIpew8/7O7ppGwlZa4XBVlYIMYLUrTaa7bb2ShMaAVDmcomMotDJDwI4Y5YPKuUAa Biqe/ejfSbd4HgdcPOPHQkyW1XIea3lxL1sYQfnEVF+/vtJcBIz46AkvyIw3gbbteWDBoFmhg1B g= X-Gm-Gg: AeBDiesW0ntjFkmRrHhg2LO0GpEVQI6AtaPPHVTfrxYs1uxq1pCl6h30EuxKrRD+3vM gW3CIXB99jOZSvsflWtxgIHimTMD5QgcSLVvcTQp1kvr+n+UX821DNFc7zy5a+chtXdH6ijfoNf mZgJyODJA6HEUc60b/ZiwW3B67IHKubJ5xO3oM/glFQ6w8pmd7X8A/6oH6Gtgs1kRr1Hobkj4lY 2qVta/emoPwYxW6pr+APY/8EMFxJ6BmIAbOkukh2FcayAcPPEwREFm9fAgp50StgrPv9SYZ3Gy/ JMo0SCufziJOBi31/epiDv25YnGERNdk6NJqDzA3LZ11eizbWOuYGrSSj7jBQwGXM+vtQ1n+9tc TdEAtR9oiokCrO4NBOZTtmRSyyiDshz5hlAJSTZLQLUyb2EwrI4YTpzgEe1s= X-Received: by 2002:a17:902:f70f:b0:2b0:61c2:8e7a with SMTP id d9443c01a7336-2b28178afb9mr277907835ad.25.1775735098381; Thu, 09 Apr 2026 04:44:58 -0700 (PDT) X-Received: by 2002:a17:902:f70f:b0:2b0:61c2:8e7a with SMTP id d9443c01a7336-2b28178afb9mr277907515ad.25.1775735097871; Thu, 09 Apr 2026 04:44:57 -0700 (PDT) Received: from hu-arakshit-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b2749cbd9fsm230957355ad.75.2026.04.09.04.44.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 Apr 2026 04:44:57 -0700 (PDT) From: Abhinaba Rakshit Date: Thu, 09 Apr 2026 17:14:10 +0530 Subject: [PATCH v8 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: <20260409-enable-ice-clock-scaling-v8-3-ca1129798606@oss.qualcomm.com> References: <20260409-enable-ice-clock-scaling-v8-0-ca1129798606@oss.qualcomm.com> In-Reply-To: <20260409-enable-ice-clock-scaling-v8-0-ca1129798606@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Manivannan Sadhasivam , "James E.J. Bottomley" , "Martin K. Petersen" , Adrian Hunter , Ulf Hansson , Neeraj Soni , Harshal Dev , Kuldeep Singh , Rob Herring , Krzysztof Kozlowski , Conor Dooley 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: j-GUIY7FOHbX98_COueymcXA6z2-Qtym X-Proofpoint-GUID: j-GUIY7FOHbX98_COueymcXA6z2-Qtym X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDA5MDEwNSBTYWx0ZWRfX2cuJFp/wT6VO Le0sItz6FKVrFLKnPDyuOeFFe+Kcz+iX5LfZIysbMC9vZ4UehGnuirjylbJK69RZYZQbZxJij1T bRkxYcfNsMnGQIlx57nm60LmyCrOMle8TTXG8wFTJhg2qUv2cM3hi+/DMpc1omrw8VXGVICPBkY 13bjUvdNf8R7yIWEbQbMRqqpKQ0XYE6LZOx2dpQa7bVjuv43H0KTtv1OXFXen9piJkN8jahKbx4 MlWlGanHebIHqhnDzlbHceAOpMk64xHy80ssFJs4L5Y3Y/aUgYBRFDGwUasu8Oq8CGFNWOI7IHp VGfPQuVatH+3+XfEzqYkit7nhdqsNKE8hDy7RnoqTJ084sHRdWMIyk5iTwJ7yiJZQ7z55h5Uroo nhO9ILrQuaaojQlfTEE6ozKajNUIBlm9dBSrcHV17rnhijig2Gj94cxVwifgh0u1nGLaD3xKvyX 99qmlHK5W30UmORK/rQ== X-Authority-Analysis: v=2.4 cv=BefoFLt2 c=1 sm=1 tr=0 ts=69d7913b cx=c_pps a=MTSHoo12Qbhz2p7MsH1ifg==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=EUspDBNiAAAA:8 a=PzEurhthzZq-M9kHIYIA:9 a=QEXdDO2ut3YA:10 a=GvdueXVYPmCkWapjIL-Q: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-04-09_03,2026-04-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 adultscore=0 suspectscore=0 spamscore=0 priorityscore=1501 phishscore=0 malwarescore=0 bulkscore=0 clxscore=1015 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604010000 definitions=main-2604090105 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 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 da356627d9de6a11ed5779bf057fa8eb23c38bc0..32e3f37fe425f66c00290a373e0= 6e8ab6257824e 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) @@ -1964,6 +1966,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, INT_MAX, false); + if (err && err !=3D -EOPNOTSUPP) + dev_warn(dev, "Unable to boost ICE clock to TURBO\n"); + return 0; } =20 @@ -1989,6 +1996,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) { @@ -2114,6 +2131,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 Thu Apr 9 14:59:50 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 5E9CB3C3C02 for ; Thu, 9 Apr 2026 11:45:06 +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=1775735107; cv=none; b=LufpBqx8f2/wOLCZSnsrUtFXvMoWvyK17TU+s2BW7lOPMobgD4c3eOPk7lCFzBjXTAyYUDlHAuoDDQ6h+/3AIToOtEgRhLZF/60nsWZ/jfXzZoARhruGwkBa61w/bS9abxOdoJyv3DRhNKGE13urcp0taQ1UtpQiVcBmbBKZjg8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775735107; c=relaxed/simple; bh=NzK2BKDDpiMn7S4hNvWZzsLjsJo/12wVptCDRhY76jE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=UpKB2GtPwqoQlZNA3g//WtTII7bOYq1FTJ10rR1s2B6sqrBBBs2Yh05E9fmXB7Hw77L6pT+B3TKYcDA3UIBvAQYAoLeym5rfKnSio+JvmJRGNWthyTvV/Vw3qIsNMAdatnecX7y1vLsL09W1fMBk7qyXVkd3uPA/aouY6Qh+3TQ= 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=H9IkSav/; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=i92La4jv; 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="H9IkSav/"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="i92La4jv" 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 6398IBxO1072666 for ; Thu, 9 Apr 2026 11:45: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= nMtaeroAIa2z0DlOIF1X2BC+XORLh63KcMmIsYwtcHs=; b=H9IkSav/aucj/RjL pU8wkv1cdnPBMpjYwTMEiAWwL9tVVn0iJVnMxDbtjRf14yss00fzE3yIJ68qwSK1 6ulM3JTvgYqlgF2QRnra3/T1Ldu0Dxmt4glOYVmDb3XBpqR1P46qkgkSvBnX2FeS xjRx7mP7v4dmKLsAISe/g+EB7XT8fDnpSszL2mJO/Wlp7JSefA9RJOQ6apvKDaiJ rGuoSkpQfcyjSen51I55QFtVeFTVdB3XCn54rqKlk93IZqrh7EtZOl6e1BAguCjv xDUPUjptYdWpuvFyzz81QYzBMdGtmDSbmRSXtBTQX9yUz6PhEi4qvhwAJXGrY9Zm DZa7Nw== 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 4ddtb3btm8-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 09 Apr 2026 11:45:05 +0000 (GMT) Received: by mail-pl1-f197.google.com with SMTP id d9443c01a7336-2b24611696eso8463725ad.3 for ; Thu, 09 Apr 2026 04:45:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775735104; x=1776339904; 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=nMtaeroAIa2z0DlOIF1X2BC+XORLh63KcMmIsYwtcHs=; b=i92La4jvqevI2VYjEPL35UoiEqi5fCQ4K37SAFHS2VdEwoIMNyahRDnUgZ8dhQJ/L1 expIeR90tri2tB8KHrZmD1mxH+LhBPithvX0Kp727cW62w1X1cE0yEWdpB3E8Hammywy uY4zy10Ws2sJxtxKNbYpu/sdI2vrUOaCyA8ehSByPjTejVF8ViZUFcVdCmlMzD6yRb7c hyeUuSrG0Er+gnhkFE/wD8QcEoGmX9z/UNe3S0oKveLqAsEM27PvdUxNzrcn63Hm3S6g jYtTK/eNwTMoM4yG3UrRef7dfqohNIijcy8DD/zUQw1C8RLRiv2hU4XpJKS4P1wuAnLP V7xQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775735104; x=1776339904; 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=nMtaeroAIa2z0DlOIF1X2BC+XORLh63KcMmIsYwtcHs=; b=oQHf4np88yDhfsC0b4EQwFwcM35LqePmWOKqZTH0677amvT0bZz2DJOc9PGCVIdTMS 486DWkBDrpU0/HuR8cqHyEl2xjLr0JSECfuc+JjoGqO1pwz7iH/vhXINuIg3oMcD6zt6 50KG3f0vf/e69PPEx9VF48RDxUDaxGDCq3WFJhr1SmN25tvQRyQkMAX9keTEXpOtcsuj 9RKgW25XWaEjW8oQdXkBKVLCCzO+fb+ULFZPCw/13gPAAmp3HgvMcsD4oeNjEGwC4SHW fXNBhSEdkWjJSellC6+2Euh2v5Y39R8FqV+F+6AMYamspUd5t/YPL5UlLeaX9+a4tcjS cjtA== X-Forwarded-Encrypted: i=1; AJvYcCXB/VBYPZc0tRu29r0YDly+pObbhpxvbkyAUqhqDLqRIhUe+UbjOLgHqHIFL4oGNYGCCIN5h+qPg9AWuoU=@vger.kernel.org X-Gm-Message-State: AOJu0YwFqcj+A82SP09rGSjAqbcvuX1dxRyAR04rmeNufliVdkDhf3zT hPTPJqNclAOLnZdegNYAYLJ5OBG2DUxpPWPhZNz/Yr7SQTbvLaEH8FaMSyqJEQbyxV9V7wWB79a 8AdktsC+YUr1LIxWGdLxZbjBNKiFXHg+Z1qnt1XRg1hG5uAfziSwQNAEBxC/qxgMDVNQ= X-Gm-Gg: AeBDieti5J3jZd0He+/zUcbQNTVTUZs3LNR/GB4hDkhMHZjgsd9VRcBwSnwK800wXSN lovV+izB72yt4e4lBIQWw4qq1fn+yWsSlnQqEot+k/3k26Pb60iBy6AE9N2J67QJ8Ed5O89CePR GdrFixo1CvP76YiMHr8sFBvjDfGP++MQafX4o3robx+ej5izaVvdHxmHZOhMs19T5TFo6f0WZeD m/x+oY6MwGVG2IVuma/FAuaIR77lvc6mN2SsyHWGFF8puN9GRJkkYYgNWO+l4seFteddipUfDMO Bw/oeuPOKk1KuCa5QHyC21wow0Y5WPLcrlzbobZbu/FQ1ihUP4du0eKkUS6Wf/EfG1YjduoUMX5 jzwgXvpLsU3ekxx5V7FT5//EOXdx3m6ZGW53Kl+UVvxo7MMxTwX2R1h07RkU= X-Received: by 2002:a17:903:2cd:b0:2b2:4e70:6339 with SMTP id d9443c01a7336-2b2c73ca428mr36152955ad.25.1775735104268; Thu, 09 Apr 2026 04:45:04 -0700 (PDT) X-Received: by 2002:a17:903:2cd:b0:2b2:4e70:6339 with SMTP id d9443c01a7336-2b2c73ca428mr36152615ad.25.1775735103795; Thu, 09 Apr 2026 04:45:03 -0700 (PDT) Received: from hu-arakshit-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b2749cbd9fsm230957355ad.75.2026.04.09.04.44.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 Apr 2026 04:45:03 -0700 (PDT) From: Abhinaba Rakshit Date: Thu, 09 Apr 2026 17:14:11 +0530 Subject: [PATCH v8 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: <20260409-enable-ice-clock-scaling-v8-4-ca1129798606@oss.qualcomm.com> References: <20260409-enable-ice-clock-scaling-v8-0-ca1129798606@oss.qualcomm.com> In-Reply-To: <20260409-enable-ice-clock-scaling-v8-0-ca1129798606@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Manivannan Sadhasivam , "James E.J. Bottomley" , "Martin K. Petersen" , Adrian Hunter , Ulf Hansson , Neeraj Soni , Harshal Dev , Kuldeep Singh , Rob Herring , Krzysztof Kozlowski , Conor Dooley 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: AW1haW4tMjYwNDA5MDEwNSBTYWx0ZWRfX2YpnGM/aX+Q8 voCEgyMmxPExweFXN4tuplMdJQNEZYg63Kdy0NrTfDL375kiv/362hg8MppU63S/SMwL69wJjzy Qvkvw7aGCG4KQoBQ4Rq5SAVdv6z1EY8uoqaJJRCkz8n/g8GxVXmtO0kXuJnoDQHkgIpJ8tNX6GL dnAM3NNjWhaSH5nbLWnRjb3NYU2mEpW2FjT3c6yDvQrc6Hc90laG6t/7kS3yZrSx9zYg/67BxGl M7xKyolHhCiT5NrbwgsbM485Q6JP0FznZpN1uhuIahCJJkEZeSvSvvDFWgv733LbopeSizae64U pk54UviSrOHfbtGajBH7i+R+L9MUvm4BUUML/c764HtH2KmgXZqFUtZXvzQ5iKx/Q9lM016r6lP aZtBC6NkMnPnx2gaa8/MG65Snp8f5XEoWM0O5w2UF+BHm8buJlQqrkea/XcZDK6BpVokmCBMHXb AXcFhD5vdxeUvl3vQzQ== X-Authority-Analysis: v=2.4 cv=eKIjSnp1 c=1 sm=1 tr=0 ts=69d79141 cx=c_pps a=cmESyDAEBpBGqyK7t0alAg==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=EUspDBNiAAAA:8 a=IFdraIdqUsMg42QbtkkA:9 a=QEXdDO2ut3YA:10 a=1OuFwYUASf3TG4hYMiVC:22 X-Proofpoint-GUID: oxnBc4Oklr5Idv-v2E5Xc1FsJjMXNNfI X-Proofpoint-ORIG-GUID: oxnBc4Oklr5Idv-v2E5Xc1FsJjMXNNfI 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-04-09_03,2026-04-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 impostorscore=0 phishscore=0 priorityscore=1501 lowpriorityscore=0 clxscore=1015 spamscore=0 suspectscore=0 malwarescore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604010000 definitions=main-2604090105 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 c899a17026fd2a10ebc528a816629c88ee3bde5d..b0aa1970d42a3bb0b9d371e0e6c= d09b8cd164dbe 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_nom>; + }; + }; }; =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 Thu Apr 9 14:59:50 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 A8B7E3C3440 for ; Thu, 9 Apr 2026 11:45:12 +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=1775735113; cv=none; b=QwkiEzaC+qe6A0X8LhPYzsoeaJ8O2W4d+RZD34yTX5U6KAf8Wxa90ESvsI6nMZ/noGABKx+L0kQrAIqEsOsLvuLxIRuZj3eBKfHpQtAV7WhKmVi4o0tF53odNkUUGjptE6GmT18EQwLFDgI1HRbzRJee6hZ/YITNMNLGlonIm0Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775735113; c=relaxed/simple; bh=aw01N71X7OSXQ97plKv8ZOqyJOjru5oyKexCvfhnNmU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=UX2R2p1Frwn9DBAEE0usU090okX1El8fCfnH5pv1Ex5fi0GIRm9b9eu635plFzXtpmaChxAtaydHLYV4/oBagSBun9KX31Q/Ped1P6TkgpzDkXwWYY0UQOpy4+7KdkgVyPeIuFg3FM0WThcugQTnaQG4dew+/QavoYDkX5kORJA= 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=XeXNuyiT; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=ex3Vr3re; 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="XeXNuyiT"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="ex3Vr3re" 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 6397cpjI1072633 for ; Thu, 9 Apr 2026 11:45:11 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= dWFVvxPeCJBC/TWX3FpgsqH95wMogFwZyp5cPPTpvng=; b=XeXNuyiTrn37eCEw QuHPb6zL4VKLnd4p984xc4Txs15B4tS9uzdzH5/JC8lga4AL0JHJYlKdJU6FVdFE ZJROdrc7qjOWFgDDVuGaLr9ad1Jf+8vEZK0E1yOXkYNi3nCu4yBQ3obrNspySJWP KKL/8Hmlp+Q1k2H6bsUwnlX+6nwbsBQMp4VDcz7DxQn6GuWwPD+ky1mCHnUHiKmw LXv6GEiqDZd9IbJWoDMkNcPGF5TXUslnDF3/16bRtWWc2v1fZWnDSMeprSJmA+qF 5FbmkD4wa3DfG3/kMBijc2aE7DyHpTQd2p41WD/MCMORTFH/MnJlgTCA7rfIN93j 8kt8oQ== 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 4ddtb3btmt-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 09 Apr 2026 11:45:11 +0000 (GMT) Received: by mail-pl1-f199.google.com with SMTP id d9443c01a7336-2b0b0aae381so12347525ad.2 for ; Thu, 09 Apr 2026 04:45:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775735111; x=1776339911; 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=dWFVvxPeCJBC/TWX3FpgsqH95wMogFwZyp5cPPTpvng=; b=ex3Vr3re+LL21kefQhChz8lOvhqnj8+UMcFbdtRXJ+CXoiGMDDCNsJA7xNS+tT1I5N A213dZDdLRiLM4MEVbRP6Jwt9PJizJ1+n8RexzXpSD2VA8WFzhgG2P2bfH5S10pRJPVH Pg/h6dg8FdQ/a3c5oFFPn31T3F6XKNnbcV8srRNQbhFOUA/T1roKTZRiQIu4or3+w8HZ VUM2//C5DgY6CIkInAroWhuy4RWkLZP9bZ7I4dfYWQofzU3tHHqAec+ZPS3NRZl6AFaH zmjt0RpZW+gX2VUvenrL1X0e+GmaA7MXulP/7I4R6pp7yOKJwUsQxs6hZNdC5d51ecoz aCCg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775735111; x=1776339911; 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=dWFVvxPeCJBC/TWX3FpgsqH95wMogFwZyp5cPPTpvng=; b=NkBfwfq0a4ECFhH1YFQjseLpaQdHlAplWUqNnE4tD5kfSD9P1vsP4SZXepJC2YPJbt 5y4JM9wSNkQ3Q7gzDHwSHXe0ttLyas21BDfjGd7MVwPD5JamQP7+K5KfOFVTZG4buAG5 cGjQuplJMTj/YDUFemZMGFwVUNm2qR84qz9U0u/sU2UQHSnHjO7rYr1xErTFvSfMB8xu jbiq5PbB/MBFlc35KxJjueV/X5DsroJlY3Ou4wnuh4L/QNGfxOdoLZJvbQpVbzNsNNpv YpIEYca9gwBQ6y5qNA+dL4KEa2uFuLGBzBdGI9dftymbP/acpf8TwrvMkMwUZX7QuyxA Oz2g== X-Forwarded-Encrypted: i=1; AJvYcCV4Bb3mp6N4KA3ZfOiAHNtwmLDuzai2qegdrwN9bwSFfNBaUONjfY4nYYjZMKGBZ3g6RGlNmzUyv+XxSjk=@vger.kernel.org X-Gm-Message-State: AOJu0Yzfx+Q56HLuAgFefFPHDCOlHbkz40dDsP+9iM5GhzikB5D//Sbd jb8sdf40n9b3aojW7hJQ17OOOxMbkDlPPHC6vvZvlrC7kCkXXcGey/6PXEtNJ5gUdbFwLCTBAQK tY8UFvLeL/2xsmuR77zNR7T6plOfTW0VuVS6k2xfXtjZjg/HGvXSNdMm50mvHTgW19fo= X-Gm-Gg: AeBDievrR3r7BQLuGcD5T+iYUtlsJx73GWun4yoCioUmSdOXOqygKBE5ekuAU4tuVy8 wAYhemJnJnlmYcU2pRyVKDxGrbZfXKsQmu+YKBFHATkOhe8jjjK1fYXwPWiTf3JHfytyvNDDO3X wQALtU0iV9G0d8YsqaNNYrXw4RfjT4U8Yk9sZDNmeJEfWVJTgPzc09ktgK8jSh/1gvPc6vHiSJv Y4XJgLkdoTUEpcxblMGHxDeFynvX+FPmuWjIdCmSU8Ea+ejcT261VmVSGPTOXklPZzGM9NxkOxi 3cz5SKqot3LcTiT3EfjjgfcZQqUx16HCYIxO60NR1SyM4nfPtK4L8XVsEuDIzlJ+Excowocy8oG u+TUZKqHXiF5pEfK3uPLi+MbVVzw48tcxXOrZlz8oDLcWjXwsP9ujkad574I= X-Received: by 2002:a17:903:1ac3:b0:2b2:45b7:306e with SMTP id d9443c01a7336-2b28163b7a5mr241543015ad.3.1775735110659; Thu, 09 Apr 2026 04:45:10 -0700 (PDT) X-Received: by 2002:a17:903:1ac3:b0:2b2:45b7:306e with SMTP id d9443c01a7336-2b28163b7a5mr241542555ad.3.1775735110041; Thu, 09 Apr 2026 04:45:10 -0700 (PDT) Received: from hu-arakshit-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b2749cbd9fsm230957355ad.75.2026.04.09.04.45.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 Apr 2026 04:45:09 -0700 (PDT) From: Abhinaba Rakshit Date: Thu, 09 Apr 2026 17:14:12 +0530 Subject: [PATCH v8 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: <20260409-enable-ice-clock-scaling-v8-5-ca1129798606@oss.qualcomm.com> References: <20260409-enable-ice-clock-scaling-v8-0-ca1129798606@oss.qualcomm.com> In-Reply-To: <20260409-enable-ice-clock-scaling-v8-0-ca1129798606@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Manivannan Sadhasivam , "James E.J. Bottomley" , "Martin K. Petersen" , Adrian Hunter , Ulf Hansson , Neeraj Soni , Harshal Dev , Kuldeep Singh , Rob Herring , Krzysztof Kozlowski , Conor Dooley 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: AW1haW4tMjYwNDA5MDEwNSBTYWx0ZWRfX0bLKeAhvs+8f uZ4gcZmSxv8fpPdOddVxY1RjNsg3PESKk9TnVf+gLpsAFOxTPi7R056SLRPE0etYfP3oe7uW58G XyhiBDDaBwQtpytxeAyL1CHUdtyzbMYlzfwnAIyl56LJiMmVZw6lEwSyhv2TYPe6i6KmMTGH8H7 JNYrB2CluZzYXhQi6bFZPqthROV10GQJ1bU8t3cYusfTqYe9XNo4P3U6qqL9Llsc5pKH0QAdjnz etzchC8N1STB1TXL2wfYMvxDRoQuqh0b/Abt+gMa7Pyfzs3i28X04TGI1jFECFc6IWVWblCBfBz hf7xj+a2xxnTaJ1Y6aLNpNSBxM19zyv7VfLvXR8GVCwK0phqNQNOQ4MqUAn/6rSPtUC7c+nq6bL R/nbYbaZqscvJiag9FTAVS8L51PGns3T7TqCqLUQFz+sz9A3XjHPRf9VhwH8PrM7RWk3lt3vQ6d MzbihKCnB+Cyp3wb2Tw== X-Authority-Analysis: v=2.4 cv=eKIjSnp1 c=1 sm=1 tr=0 ts=69d79147 cx=c_pps a=JL+w9abYAAE89/QcEU+0QA==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=EUspDBNiAAAA:8 a=IFdraIdqUsMg42QbtkkA:9 a=QEXdDO2ut3YA:10 a=324X-CrmTo6CU4MGRt3R:22 X-Proofpoint-GUID: jgCFPa_7D_zjqhng5x249MAlMA7vgWCd X-Proofpoint-ORIG-GUID: jgCFPa_7D_zjqhng5x249MAlMA7vgWCd 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-04-09_03,2026-04-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 impostorscore=0 phishscore=0 priorityscore=1501 lowpriorityscore=0 clxscore=1015 spamscore=0 suspectscore=0 malwarescore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604010000 definitions=main-2604090105 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 | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/monaco.dtsi b/arch/arm64/boot/dts/qco= m/monaco.dtsi index 487bb682ae8620b819f022162edd11023ed07be8..cb0e554e94d237b0adccb55fa9e= d967bae9eea05 100644 --- a/arch/arm64/boot/dts/qcom/monaco.dtsi +++ b/arch/arm64/boot/dts/qcom/monaco.dtsi @@ -2730,6 +2730,22 @@ 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-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 { @@ -4797,6 +4813,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