From nobody Sun Feb 8 22:43:24 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 89A653542F8 for ; Fri, 23 Jan 2026 07:12:33 +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=1769152355; cv=none; b=KDIEkE6p9aJ6UI5jtfkoSHaGeTiAxMt8PMxxsPF4p/X/egqH1BptCc4s+lSdbLvRD9wWZMXjGm9ik590U7zXbvJ3cy87Ro0W9Wuy+5muwN7TBuzOOYZYG0RlZJ6i+QderxlD6ae/FmAa4lDWeVtbNpGJpFJYok/a+KQveYNjX1A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769152355; c=relaxed/simple; bh=mbeGn668zLrH+yppQKFVMkx9Lnc+kerz8T6Sa+p3VVE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=lFjG6XP2WbrKdeI862jALDFsKJTc7avnZrvCyNfCIuUyCGzMELkIYivczN1xOYbUvBGyeh8xjQ98XbiU+3Rmwiszv2R7JO8KU2IBVrRwcj7i+u7AhvMdTYlj+BeUcWg2VexEapO17rig0RCBV/qGgfRV3akd3w4ltM8zToEr40U= 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=aMKqNoO/; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=afG1Qjdv; 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="aMKqNoO/"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="afG1Qjdv" 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 60N1DWxC3649814 for ; Fri, 23 Jan 2026 07:12:32 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= x4MzyUwxeUkU22EMG4YtRil/j6K8vfk+OPjmGCpuy44=; b=aMKqNoO/C/HEOlOO Senw/1zS0OIt/Iv4+hKtu6LNSLlhXanH2STZBgdPARsv5idu9z/p9IdSwwPc3kpQ sRxdn2IEgnxo4uvJZmHeQAFcmAdH5dws99yaJuQZcUJLmhdBHGW/vnniyi6AKl0J L5ZgDSGCKMXFcZ9a+rFjvc7CzHL8NRHBcyUvYH0V01+YL09WScJY9HxKCCEkwXtc 4OA0lx5bgSZf//rGpFvE2RmTQ1+zceRx6maCNYIoaxut/Y5upTXmEIKvGvs8BpKX qaGTRsPu/RKKsuWK7bq0jpQJbS+KGm8gLtCwDW8iJ9zrVNTJbY1VyKTRZo+BVqGd j6YnHg== 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 4buy4ns60t-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 23 Jan 2026 07:12:32 +0000 (GMT) Received: by mail-pl1-f200.google.com with SMTP id d9443c01a7336-29f26fc6476so27171185ad.1 for ; Thu, 22 Jan 2026 23:12:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1769152351; x=1769757151; 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=x4MzyUwxeUkU22EMG4YtRil/j6K8vfk+OPjmGCpuy44=; b=afG1Qjdv0npekoKySCv0Hk6TRED/JwdqozfZ7cxMoAvF6J8nd3D5Chho++BXSWKnY0 yqs6+L5Sd0OmEap2uUD80TEIxX8INidxr9U6MK5Io1yyBGN5GQJbPuzlJH2rxVbXgfd2 ybArAH/u1P2d0eWk/BrHfqwFaVrav+rGWbelwch3ilys5cArZqXRtye61HH1L8rAxwCi yb2E6KZ3fVS0QqO8yEfS+hTctIo4S1IbdHMOrZLYKe6wSvcDbZSjg11qJhHI6jYqFCfy lPOESmYrSMoVEPgs4I+xW58cxIr+v+LMuxYTrhi+Ad5LmrcMMkdu0kHlT82pr/HSfv3V 2C7g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769152351; x=1769757151; 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=x4MzyUwxeUkU22EMG4YtRil/j6K8vfk+OPjmGCpuy44=; b=Xrlmx+6XKVP1RJZhdZRZtLKYYYawgMPABJwjv+Te5zJePGPgXeoWw7XEtOQajCO7gP snN0QMN3yK0zePMtEl5xTIIOZOXMQi3VqB6Wlg1KYE7N4SyEhIc+4nL83J5IswpoWMLz s4NsnfN7J4bzjHr1gG48uWlKFGN+gYZVx2jjwIcLc4XHU1vbFDQtlqFdLhnO/zv77JlT aZDxRW61KbZQMyJiRO/UMm/9GHdyESewVppyg45RuCYTrepsSD/Yv6nqqnJLIDRCaLnN N6btuC4udlFpMNb2GGa+bFZv987mGQM1f3zaZG0cJ9k7WaOZ68jaAt/NOqit65jQRw8G P5Wg== X-Forwarded-Encrypted: i=1; AJvYcCXsOz9h985wxVqWDKbH7yfS9Egshhm4uu4myGYJLsE40qfT7wf5daAT0iXRSGOYyvwKMM195irktEVjeZM=@vger.kernel.org X-Gm-Message-State: AOJu0YzxQcVzx27o+XNYIOAylwVvVWiu/YrnPjM0Bj6bij5ZdO0figSV nxRUAr5p1+LwvTvhMSSReycLtdULqKdWUCC3Wyy55u8rchPBxPr6nLfdlb0dwcMECVUIzAeWPnC LuYnkTU/7rNw5McYvv2r2dtW7xavFXkKwkKZ12cuzSBq6R0vMPcn0E8zQ07SLRYsIh5Y= X-Gm-Gg: AZuq6aJB/jn91lID2Rwx5+IeX9TB/f5vrXB8ghnwEbjEIfNGEixGnmuI8RiNnTCEQdt VIwLyngfOBmC506RkaDG0GfoaMNjVX3xGbqEeYqVdxPyYX9bkiR8juWjUgZX67ldOIBAjvRMSfp PPVxpHl1ofQMG94Zfs8lxMa1LY4aqDA8wF6IGEjhN2P2teTiSsWczNd8OTujQ0eIxguAmCTwmjO xL4bC2Z5meat5UXO36wUnikXBrDwqgX++9uakmo60lU9iPh5kCrh+mzP3wdw35YSRJqnzSZgbGE cl81c94fjC3/GMej6+ZPJJ2e/ISqD0R4b3wb9WF+eC+9wuZeeXb5ka4/AJMGqnVjI5FTDtqFLbA dgtJxGpVIpDWIvd/EdMnUu0d1G76zSVkpW0VqiWxZxlN07Wo= X-Received: by 2002:a17:902:f651:b0:2a0:d33d:a8f0 with SMTP id d9443c01a7336-2a7fe74e57cmr17004435ad.50.1769152351383; Thu, 22 Jan 2026 23:12:31 -0800 (PST) X-Received: by 2002:a17:902:f651:b0:2a0:d33d:a8f0 with SMTP id d9443c01a7336-2a7fe74e57cmr17004265ad.50.1769152350872; Thu, 22 Jan 2026 23:12:30 -0800 (PST) Received: from hu-arakshit-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2a802f978e0sm11336775ad.62.2026.01.22.23.12.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 22 Jan 2026 23:12:30 -0800 (PST) From: Abhinaba Rakshit Date: Fri, 23 Jan 2026 12:42:12 +0530 Subject: [PATCH v3 1/3] 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: <20260123-enable-ufs-ice-clock-scaling-v3-1-d0d8532abd98@oss.qualcomm.com> References: <20260123-enable-ufs-ice-clock-scaling-v3-0-d0d8532abd98@oss.qualcomm.com> In-Reply-To: <20260123-enable-ufs-ice-clock-scaling-v3-0-d0d8532abd98@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Manivannan Sadhasivam , "James E.J. Bottomley" , "Martin K. Petersen" , Neeraj Soni Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org, Abhinaba Rakshit X-Mailer: b4 0.14.2 X-Proofpoint-GUID: uJueoAmzMHhMta_4TH0gTIsIO0V1d1EN X-Authority-Analysis: v=2.4 cv=I5lohdgg c=1 sm=1 tr=0 ts=69731f60 cx=c_pps a=IZJwPbhc+fLeJZngyXXI0A==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=vUbySO9Y5rIA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=GaBF8cNdLVowMAKyZsMA:9 a=QEXdDO2ut3YA:10 a=uG9DUKGECoFWVXl0Dc02:22 X-Proofpoint-ORIG-GUID: uJueoAmzMHhMta_4TH0gTIsIO0V1d1EN X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTIzMDA1NCBTYWx0ZWRfX7ymx+q8ofOFJ WNwoHpyid4l6zm8npZdpUaGiPRERmVAaT+mKbKGcxZ9paOG/FUeMSGKrui2jMRIx5TW7Bax5M1n X6HM7XJAsgTwP0yIa2Yg4Mr8zhlmViiFV2PmrNJmpNpybBNnQ7h6VQLCNJxU3ZhD5uW53AWkXd7 xweiwDgg/BRnDWUYyrVyhdBA6Xz/uHU1GHLL7ZCnT84ezXxbbvKSkncvcKDkw0vRdyDvixR5/Ta ORxMndxE+zSfNvsSPCYRcmT8m29WSTk+YlpvmM1c8dN8r7A4blIEOfEea+86s0gX4WBfQQL5yJJ qsaHWFub4kSkcTFcr2oJNyCiJV/sDKyJYEWVsNADKblpaLbJ+ysyK3Rhy95ikzfxOMiP6U1i8hj m53v87YeNDiACSadBAR4QMmacIFhXIHWG9ABKuAWvC6mqY1twEfThjSXk2iyOfodvDVPnoA6EEr R/nCeKKpnqqeIdzTgwA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.20,FMLib:17.12.100.49 definitions=2026-01-22_06,2026-01-22_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 clxscore=1015 malwarescore=0 lowpriorityscore=0 phishscore=0 spamscore=0 bulkscore=0 suspectscore=0 adultscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2601230054 Register optional operation-points-v2 table for ICE device and aquire its minimum and maximum frequency during ICE device probe. Introduce clock scaling API qcom_ice_scale_clk which scale ICE core clock if valid (non-zero) frequencies are obtained from OPP-table. Disable clock scaling if OPP-table is not registered. When an ICE-device specific OPP table is available, use the PM OPP framework to manage frequency scaling and maintain proper power-domain constraints. Signed-off-by: Abhinaba Rakshit --- drivers/soc/qcom/ice.c | 63 ++++++++++++++++++++++++++++++++++++++++++++++= ++++ include/soc/qcom/ice.h | 1 + 2 files changed, 64 insertions(+) diff --git a/drivers/soc/qcom/ice.c b/drivers/soc/qcom/ice.c index b203bc685cadd21d6f96eb1799963a13db4b2b72..ca6a7df7a6827378af1f013c7e6= 2a835d1b80cc5 100644 --- a/drivers/soc/qcom/ice.c +++ b/drivers/soc/qcom/ice.c @@ -16,6 +16,7 @@ #include #include #include +#include =20 #include =20 @@ -111,6 +112,9 @@ struct qcom_ice { bool use_hwkm; bool hwkm_init_complete; u8 hwkm_version; + unsigned long max_freq; + unsigned long min_freq; + bool has_opp; }; =20 static bool qcom_ice_check_supported(struct qcom_ice *ice) @@ -549,10 +553,29 @@ int qcom_ice_import_key(struct qcom_ice *ice, } EXPORT_SYMBOL_GPL(qcom_ice_import_key); =20 +int qcom_ice_scale_clk(struct qcom_ice *ice, bool scale_up) +{ + int ret =3D 0; + + if (!ice->has_opp) + return ret; + + if (scale_up && ice->max_freq) + ret =3D dev_pm_opp_set_rate(ice->dev, ice->max_freq); + else if (!scale_up && ice->min_freq) + ret =3D dev_pm_opp_set_rate(ice->dev, ice->min_freq); + + return ret; +} +EXPORT_SYMBOL_GPL(qcom_ice_scale_clk); + static struct qcom_ice *qcom_ice_create(struct device *dev, void __iomem *base) { struct qcom_ice *engine; + struct dev_pm_opp *opp; + int err; + unsigned long rate; =20 if (!qcom_scm_is_available()) return ERR_PTR(-EPROBE_DEFER); @@ -584,6 +607,46 @@ static struct qcom_ice *qcom_ice_create(struct device = *dev, if (IS_ERR(engine->core_clk)) return ERR_CAST(engine->core_clk); =20 + /* Register the OPP table only when ICE is described as a standalone + * device node. Older platforms place ICE inside the storage controller + * node, so they don't need an OPP table here, as they are handled in + * storage controller. + */ + if (of_device_is_compatible(dev->of_node, "qcom,inline-crypto-engine")) { + /* OPP table is optional */ + err =3D devm_pm_opp_of_add_table(dev); + if (err && err !=3D -ENODEV) { + dev_err(dev, "Invalid OPP table in Device tree\n"); + return ERR_PTR(err); + } + engine->has_opp =3D (err =3D=3D 0); + + if (!engine->has_opp) + dev_info(dev, "ICE OPP table is not registered\n"); + } + + if (engine->has_opp) { + /* Find the ICE core clock min frequency */ + rate =3D 0; + opp =3D dev_pm_opp_find_freq_ceil_indexed(dev, &rate, 0); + if (IS_ERR(opp)) { + dev_warn(dev, "Unable to find ICE core clock min freq\n"); + } else { + engine->min_freq =3D rate; + dev_pm_opp_put(opp); + } + + /* Find the ICE core clock max frequency */ + rate =3D ULONG_MAX; + opp =3D dev_pm_opp_find_freq_floor_indexed(dev, &rate, 0); + if (IS_ERR(opp)) { + dev_warn(dev, "Unable to find ICE core clock max freq\n"); + } else { + engine->max_freq =3D rate; + dev_pm_opp_put(opp); + } + } + if (!qcom_ice_check_supported(engine)) return ERR_PTR(-EOPNOTSUPP); =20 diff --git a/include/soc/qcom/ice.h b/include/soc/qcom/ice.h index 4bee553f0a59d86ec6ce20f7c7b4bce28a706415..b701ec9e062f70152f6dea8bf6c= 4637ab6ef20f1 100644 --- a/include/soc/qcom/ice.h +++ b/include/soc/qcom/ice.h @@ -30,5 +30,6 @@ 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, bool scale_up); =20 #endif /* __QCOM_ICE_H__ */ --=20 2.34.1 From nobody Sun Feb 8 22:43:24 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 DB06C3491C8 for ; Fri, 23 Jan 2026 07:12:35 +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=1769152357; cv=none; b=fScyvtOsPSEWeCYIrXVj2/8wa2rPoAntVBkftyr2BGVlSHjBPoF0mGKn7pPFzSzs5Zzsbpg19lDEeJoxq9R8+fgyOCxu1sptpRhEW9w37SOjIcRtRQfcslpRb6reqFVSP2/VoLLQ6RDydrCLgVhKDqkyHhXpr0bMMhTGfWGlfog= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769152357; c=relaxed/simple; bh=42Oia7LlBi+H523Rmn2IIOy7T1zt6E32yOR956DWeLM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ujEvqtVOyER/XRYGqqIOxi1nrPT3QyLmj9/X6vyA8iMGXQLhv9QbqpLt7Vy1c7zp1lcCfHqSCYJUGwIlQcgcPcnXikOF2yrhwA8zMPxtvqaqhroTxDAPN0ouMReJRnx/LILxzr33L1gr9rPWVBqfq1+gaatKNHs4jPrd6QJ1nVs= 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=i2U5j4y5; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=UKTxxSqX; 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="i2U5j4y5"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="UKTxxSqX" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 60N5m0b53504255 for ; Fri, 23 Jan 2026 07:12:35 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= CAqEF9ipkGXaLh8o6lQtStQbpT65DW2PvBWxy9J0Ebs=; b=i2U5j4y5e34Rp0p1 VUJ9iK+HIcAXwReO4m2dQRbSimKcbiG6bEH5EBlzXAqWIldWftIbvde+7wSYWN/D tCZa6OhVDYDn1JO2Wi3/u67OcsR+QLMubkoRz35j0m94W9xm2FwRUExNfMfwwfSB yu36lIhENLqsEYXx4kybda3EOwpkFmW2hAgJkiUn6eT3tcSeY47BfEi9aOUJVnf8 zkaVMwjCYkZaDyd7nQyRLWsYVczAcELUd/D4DRPm8O9n8cFN+vM3OfV62CHE5qJN 1GC9KcpI9c8AnYzYvc0lnvWpXonU8/CcodZellwJGhd14tB9ug4ucRorvlsVgA1S i4jNzA== 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 4bus9823xj-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 23 Jan 2026 07:12:35 +0000 (GMT) Received: by mail-pl1-f200.google.com with SMTP id d9443c01a7336-2a7a98ba326so19980225ad.1 for ; Thu, 22 Jan 2026 23:12:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1769152354; x=1769757154; 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=CAqEF9ipkGXaLh8o6lQtStQbpT65DW2PvBWxy9J0Ebs=; b=UKTxxSqXvtxL+VyQX30JU+SXD8eS1mgPAbGH+mapoGBNWMWDhEKjIu3Ctjn9lBtgcs FadXwyMjXhVCio5YHX6eh7ym4kxDbpqzySdBVuuUUZC4CY09GS47TRU+1b1FcA2le925 oazP7oNqKgd3/jyxFg6Tnc4YILe505Sy0NvqIoHmQNJxh55RRzXu31k7qRg0P91lTzPI Idly6rd2E38td5k/GKNYMbJFSujTYzc5F2bMkhcTo0DiI/pvMT0qEEs/TMPRSeLDW4YO hStpsXZPpMXD07wlpA0ta4zjq7hjDuwdlkqYE7VByCAo8utk2XOrtl+6hL6qaUvGx94c h3Jg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769152354; x=1769757154; 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=CAqEF9ipkGXaLh8o6lQtStQbpT65DW2PvBWxy9J0Ebs=; b=NYpEnbO1hKpmfynnzEGHrBqkm69avmW2DcMD3r5vl6xjgJdAOSHgoDyRKE4UGcZHcB amdtapRyklrvWsCga+30f57TBc+d8xic4J+ATfIAherSAYGamJAPaqOeZ1kvTpIJVbAc fEqwa20zhETECVwjLko+lBL5I4PnDLwSGtd7fEtSDIrlZillTC45CWqRlvYeQzmdv03u sD/L171u5/PCREutgoAgDN5CHOfDhCZHL5XdRVgr7A0Yb0eOf6ALo1aDHrs77HpDJPn6 C8cPNh47EZABb687yK7t53ID79b+hxqOn2Nt3HGVwrXGo1N3zweI90EI0ffK9nK7Q+Av t4Jg== X-Forwarded-Encrypted: i=1; AJvYcCUOztKOD2Hkn9a8/0jA+VJ766rdIAV4SJAysEEiCxvqZ4CjoAtKlyKVK1dtPE1Ops8sFeDYKICioKUfeWw=@vger.kernel.org X-Gm-Message-State: AOJu0YxWnugEQ9MN5HkBajMY407SspdgTaoj0j+g1HETWF0RUFXgDVv/ pPjcQMoDIHahOkua5397fj/perESIG2/zwAVjgNJcmjfiwvKj352y1ewc9ZrUoA1sWca8VhnwYG g3uLQPJ4fMKPF1SGk0r4dhVI+4PfBt/gJyy4HSFI3f3QhwRuaz+JSEHI9E4Z9dfoDUls= X-Gm-Gg: AZuq6aJ4MSliYbh7Kh4UobCn/Pu1IdwmsTQDP+FrGRVJSz+3PdWUnozqLS5fMJH3f1Z Uhq3ILRxWijdEzWm+QcV937OZKCASvFBai8zgmbOEOI5zlFNrlvIuqnFslv3aNHAMkfnwds+wkK 6B9NVtAOdjn0gJpQ99TVyp5YRsK+2Yq19NXew9phUlekPUuOdgWUTa0/U+RrS2X5CamZqduAg3Y XzcpoD0qCmeLsKtD3ctCeriVKZwWospPT5AiinU3hv/Bn+XnzmROui1J9DakzkD/KqvGlByrfIu ke9a2zhMyfJ7XnXwzO+yGVQLIRKY6sISMGlMeSoCq21UK/p69ac6Y9f9hOPPVkvfz3CyNsqB06j DMa/kOai3DSS8JVQi6qRl4cgv/5sxZ0kfB4AfzPDp+C4T4ZY= X-Received: by 2002:a17:902:e94d:b0:2a0:c92e:a378 with SMTP id d9443c01a7336-2a7fe75b8d7mr21800315ad.7.1769152354504; Thu, 22 Jan 2026 23:12:34 -0800 (PST) X-Received: by 2002:a17:902:e94d:b0:2a0:c92e:a378 with SMTP id d9443c01a7336-2a7fe75b8d7mr21800085ad.7.1769152353970; Thu, 22 Jan 2026 23:12:33 -0800 (PST) Received: from hu-arakshit-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2a802f978e0sm11336775ad.62.2026.01.22.23.12.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 22 Jan 2026 23:12:33 -0800 (PST) From: Abhinaba Rakshit Date: Fri, 23 Jan 2026 12:42:13 +0530 Subject: [PATCH v3 2/3] 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: <20260123-enable-ufs-ice-clock-scaling-v3-2-d0d8532abd98@oss.qualcomm.com> References: <20260123-enable-ufs-ice-clock-scaling-v3-0-d0d8532abd98@oss.qualcomm.com> In-Reply-To: <20260123-enable-ufs-ice-clock-scaling-v3-0-d0d8532abd98@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Manivannan Sadhasivam , "James E.J. Bottomley" , "Martin K. Petersen" , Neeraj Soni Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org, Abhinaba Rakshit X-Mailer: b4 0.14.2 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTIzMDA1NCBTYWx0ZWRfX3sw1GuWfuKnB K7vQGaloYMAbah+fjLOW9txduixRAqkNEQmKK0yIgTQvoZR6NL+I9W9ndJpQ2VyKl5UBcV+US8K XfE0XXJ3Uxc/NPzfrFx0/qH5UgsgtW3cJi2I01SmtuzS897L5Czljgk1DSJvdcgBSA3aLShBkVv Qqez1xGNhSDOKInAWKZ32Mk1080KLtPtBzEvkhbJsAAoxLwFhbm3wDDSpvXRkvyhoSi0wKzUBDN CXHzQSu7X2rp6sLUF2VkrDnAnwJHPOFOOcLXrqyWcjtfg0Si2Wgw2eL+Fr63EOxJ+k4zKu/H7Qr oi6VGi60QIsFbp4ItSZCZidDOkko45vS0wFR6V72f6ae3FoegLw6xg9cXLj3WANIemNVNxZoriZ D6834MBBVYX4z7WfPEXgniuZhbs+07FhYvs6uVjpTuqkqgaAXTnP14iyknkmf9vyIKgwOLQawrw P6bvZL488nlB3sDUN+g== X-Authority-Analysis: v=2.4 cv=JuX8bc4C c=1 sm=1 tr=0 ts=69731f63 cx=c_pps a=IZJwPbhc+fLeJZngyXXI0A==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=vUbySO9Y5rIA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=lzHOrk3F_0XHYG_XrgYA:9 a=QEXdDO2ut3YA:10 a=uG9DUKGECoFWVXl0Dc02:22 X-Proofpoint-GUID: RpKRJouMaXQ0yJKejt2T-1TUoXyLl77X X-Proofpoint-ORIG-GUID: RpKRJouMaXQ0yJKejt2T-1TUoXyLl77X X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.20,FMLib:17.12.100.49 definitions=2026-01-22_06,2026-01-22_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 priorityscore=1501 spamscore=0 bulkscore=0 lowpriorityscore=0 phishscore=0 suspectscore=0 clxscore=1015 impostorscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2601230054 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. Signed-off-by: Abhinaba Rakshit --- drivers/ufs/host/ufs-qcom.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/drivers/ufs/host/ufs-qcom.c b/drivers/ufs/host/ufs-qcom.c index 8d119b3223cbdaa3297d2beabced0962a1a847d5..a60b60eb777a674fb4345fd393b= de0eab3571a23 100644 --- a/drivers/ufs/host/ufs-qcom.c +++ b/drivers/ufs/host/ufs-qcom.c @@ -305,6 +305,14 @@ 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, bool scale_u= p) +{ + if (host->hba->caps & UFSHCD_CAP_CRYPTO) + return qcom_ice_scale_clk(host->ice, scale_up); + + 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, @@ -339,6 +347,11 @@ 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, bool scale_u= p) +{ + return 0; +} + #endif =20 static void ufs_qcom_disable_lane_clks(struct ufs_qcom_host *host) @@ -1646,6 +1659,8 @@ 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) + err =3D ufs_qcom_ice_scale_clk(host, scale_up); =20 if (err) { ufshcd_uic_hibern8_exit(hba); --=20 2.34.1 From nobody Sun Feb 8 22:43:24 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 3587135B627 for ; Fri, 23 Jan 2026 07:12:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769152362; cv=none; b=DKDOg/aD7mDTwEsI75s3lRROx4OiJWcK0gsXxjl2xsj1QhWgnYQlw3YKJDpXXFBeMLzCnjrAXFZ8+6u2MT2Er0Jf/0bdX4MDxlcK7RTPVT8Xi0HGPDgZsPiD3MW+X8toJPKlEWM2EI81X6bqX/86+4gEeFJz/6yuCDS1XMLvUAY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769152362; c=relaxed/simple; bh=H2nsn2ktrgzhdTgsNjVFwrqt4bFjmycDPZWh0G7M/Nc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=TRlPTSXpywhOxjhoaSHCgexhOPIno2Yl0KAzTtIJ+/1Oa9L4UXV6TU07qNy5sGa/BcqDhtQmrYQe4HC7O1hIESNjf2Hi5K9s64HDa7tibOYAA4Ex7F2rkNmRBChdlWkFUlopNf6jRdBxV7ltWwovRQYewlGTs1bhQG4MoyIdVoo= 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=d9mEo/18; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=G9tRCM4u; 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="d9mEo/18"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="G9tRCM4u" 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 60N4cu1r3811447 for ; Fri, 23 Jan 2026 07:12:38 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= S1rGHTboQEjoEmpOjXSEJmAbLioeW0D/SeZ6jdLcwJE=; b=d9mEo/18+sa4OA1C M4QBoy41opV5kh48sM0cP+qV4REPt7qkpk4hM4KyOJWw/aZqyJBorlITMtiV9SJi 1l7wKyinpycNtaxE6KZLYj2Ys62+5+RlBRliTf+GSQpXMCCaIJRcBvI0Ewa4Zr5L J9t5vgzpgIcc5mLKh1ZWi1ZPAYdcERF4XYMkajm6xbZYaPPrD6F7hwq4VweL5SGc 8ia32gXhsldHL4fSu+dITQ+x4z9Q/5I4F9wUhTU976PaoL2rg/P1OgQpZRLx0wQP DxicEqK7s7UySxXDtcKU+w9aRT0j3GMX/vHhpESRb8PrrBQkYEu0lkDhp8p2m16O JzLnoA== 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 4bujq1btyc-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 23 Jan 2026 07:12:38 +0000 (GMT) Received: by mail-pl1-f197.google.com with SMTP id d9443c01a7336-29f1f69eec6so17465745ad.1 for ; Thu, 22 Jan 2026 23:12:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1769152358; x=1769757158; 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=S1rGHTboQEjoEmpOjXSEJmAbLioeW0D/SeZ6jdLcwJE=; b=G9tRCM4usdRjxbtCtCq/iAtJf7E28oEYoEuo2KySa9lUJFuZwf/x8nnbkhXXUmm9nx 7cIsNcXPbJ2yzLfXlMgFtjXoatBG9s9lVZUSM1Y3bD1CA8DMjiqWNE3wVkTZLWEC2t2i h+e6hMmz5wXDhY4xxuU3sKWZ9X7EgP2tfllcujk+gUatS68NVsAJQQallovd5vmk1CJ9 eI+kLKN5Of8EnrbmwUpVbFWBpf2isyPCqIzTmVOgTZOPRkDPer/AIPYj0ddQVFEYv/cM 1BIT0RMhUk5aq4aZEpe67foQX/pyhQs3Wc7NbkcgQUXhVMOn4BdKH5lKpHR0yVPiHjoB 7OtQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769152358; x=1769757158; 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=S1rGHTboQEjoEmpOjXSEJmAbLioeW0D/SeZ6jdLcwJE=; b=k29NrQ9BQpNqxIZgMwgLwahSnwiQHZJs1GSNUApTUbYDJCp7nwWdAWUSBqbOQ3m45b xIbYklb6WnSERwDxm8rVwYQXEjjvNHeMWQJQFQTJOWYHXZgH6IITVjD0YfL8uRy3A1ci wqyOWlUV7buVoQ794K+5ka6ugEzxqOneavEQ+vBBbIsfYQgp3gDA3jO8FWsaajIQTRjP ZJnqR9jbk6iuKCkKE1Op74d2/KhxCpOfxyAkMze2C6cyyFaccsV6dw/NbRiaTzI+7Rv+ Mbsq8a0mFPx9tk1Yt4l2zpq+1ZUVgMzicnvirHZ0W1Ri6JX4ojFtasj4607OZch6K125 ioLw== X-Forwarded-Encrypted: i=1; AJvYcCW6ZtS1o9mfQX4okUdouT6FlcF+j15oUX/QIU9su7owH9OPJGoze3K4ULinSLNtftBZIL0WU+eKKFb6iLQ=@vger.kernel.org X-Gm-Message-State: AOJu0YzbTdtrItLw0Wwt+z2RflFdOkKYaBujb0FCDDTXyakFAmONssMg sOgCTwVSq5V7ycXUBKR/MBf33B3jw2LgIHHsDZma2lXjFeOrbul4JNZFDVZDMvkbEgiDaQYLnGX APGKrNihhyYBoaiOFHOJHUX/vINTt4MkAYUvA5cPuuQnQgeSo0GqGlmPUb/EgxOR21Dk= X-Gm-Gg: AZuq6aLi+pdeLd/Fv9bOeFwclq+6WGJA/meAXWatSGKBuMtGmES7suVWW9w1/Jgxk5f wif95/1LUGM5iDeuxz4mp+Y/X7gl0BeIXZ1uQqo9xp+QtwTvgBGcwFKdtjLceydIRZGc3raBtfl ITik+JZqutDJpFL+ruVxyGd3/MeCX3ZgunZgyvq2iCSutV0V0NB/5sWeMTcYqqfCaFnhmjsNyK1 1k8ffskQg3fAUyIdSqmHNNv6KTXysdy7DzOkD56oNmMKCYKnxCSbeWFvOi1NTWhdoDLv4mkgpWl uM5C4ckuAHOKQj3gDy4l33BlWjgt6tUex/664GCEZW/z/bnUxSeBTHTJ5Wd47zBptyNLsvxjExl WN1MOeSxdSvPVH+aUeZ1SH8A5Y9HDfu8kfXpx1xYLEAH4Uf4= X-Received: by 2002:a17:902:ecd1:b0:297:f0a8:e84c with SMTP id d9443c01a7336-2a7fe75c2c5mr17426965ad.52.1769152357545; Thu, 22 Jan 2026 23:12:37 -0800 (PST) X-Received: by 2002:a17:902:ecd1:b0:297:f0a8:e84c with SMTP id d9443c01a7336-2a7fe75c2c5mr17426745ad.52.1769152357067; Thu, 22 Jan 2026 23:12:37 -0800 (PST) Received: from hu-arakshit-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2a802f978e0sm11336775ad.62.2026.01.22.23.12.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 22 Jan 2026 23:12:36 -0800 (PST) From: Abhinaba Rakshit Date: Fri, 23 Jan 2026 12:42:14 +0530 Subject: [PATCH v3 3/3] soc: qcom: ice: Set ICE clk to TURBO on probe 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: <20260123-enable-ufs-ice-clock-scaling-v3-3-d0d8532abd98@oss.qualcomm.com> References: <20260123-enable-ufs-ice-clock-scaling-v3-0-d0d8532abd98@oss.qualcomm.com> In-Reply-To: <20260123-enable-ufs-ice-clock-scaling-v3-0-d0d8532abd98@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Manivannan Sadhasivam , "James E.J. Bottomley" , "Martin K. Petersen" , Neeraj Soni Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org, Abhinaba Rakshit X-Mailer: b4 0.14.2 X-Proofpoint-ORIG-GUID: fyld4BAji-KOIL4lADxFcYNTwpQ3t7lE X-Authority-Analysis: v=2.4 cv=O480fR9W c=1 sm=1 tr=0 ts=69731f66 cx=c_pps a=cmESyDAEBpBGqyK7t0alAg==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=vUbySO9Y5rIA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=u1bwIIJuvd_SIhYoViIA:9 a=QEXdDO2ut3YA:10 a=1OuFwYUASf3TG4hYMiVC:22 X-Proofpoint-GUID: fyld4BAji-KOIL4lADxFcYNTwpQ3t7lE X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTIzMDA1NCBTYWx0ZWRfX23VEZ2z7/j7Z ne/RZalSDFd3Nahmxh5s7hXBsRrUmRaiV2wUM014by3Hcc8Iau4+gTOkKF0lH3HyCOmsr8nmj7W XzpJhWAo8QepoxlUddhONzvc1ZGl7VOmxelkkOQLCwJxnDwVb+kC8B6SjG3arDb5x2rFOilDh/k Y74udJLqwUsdbBJ31ISe9aWEYLj32hzFG45ttCJCTqJyHpaLs0fj0T7JMtfl1Zm7S9++/Nq9sVY 3fPqKMJPOV1iOPWzHNogbriSK7YBcZn+DQ+2VdgbQaDuaslVtwk5q4xShDBjp45oSGVO/8jeDcr lw5zfcG1zRWNMimbmswJdwDTK0mOEcbE5EXIXDBBZ6ojZhKiEW/aesS3/quyxmfwElq3w7cMgq+ n6tuJ8XMPK6N+7KiVu99RPyWIjPWKmcke0do1ujEpvIdxnQy7rFiKZbs5Ejfk3WEpnZCHIIXrsE wNu+VOnL9F5iJJVrZgA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.20,FMLib:17.12.100.49 definitions=2026-01-22_06,2026-01-22_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 phishscore=0 adultscore=0 bulkscore=0 spamscore=0 malwarescore=0 suspectscore=0 lowpriorityscore=0 impostorscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2601230054 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 probe 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. Signed-off-by: Abhinaba Rakshit --- drivers/soc/qcom/ice.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/soc/qcom/ice.c b/drivers/soc/qcom/ice.c index ca6a7df7a6827378af1f013c7e62a835d1b80cc5..84ee5813e2d586e8880849c8771= 82d56ca31fd80 100644 --- a/drivers/soc/qcom/ice.c +++ b/drivers/soc/qcom/ice.c @@ -645,6 +645,11 @@ static struct qcom_ice *qcom_ice_create(struct device = *dev, engine->max_freq =3D rate; dev_pm_opp_put(opp); } + + /* Vote for maximum clock rate for maximum performance */ + err =3D dev_pm_opp_set_rate(dev, INT_MAX); + if (err) + dev_warn(dev, "Failed boosting the ICE clk to TURBO\n"); } =20 if (!qcom_ice_check_supported(engine)) --=20 2.34.1