[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20260123-enable-ufs-ice-clock-scaling-v3-3-d0d8532abd98@oss.qualcomm.com>
Date: Fri, 23 Jan 2026 12:42:14 +0530
From: Abhinaba Rakshit <abhinaba.rakshit@....qualcomm.com>
To: Bjorn Andersson <andersson@...nel.org>,
Konrad Dybcio <konradybcio@...nel.org>,
Manivannan Sadhasivam <mani@...nel.org>,
"James E.J. Bottomley" <James.Bottomley@...senPartnership.com>,
"Martin K. Petersen" <martin.petersen@...cle.com>,
Neeraj Soni <neeraj.soni@....qualcomm.com>
Cc: linux-arm-msm@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-scsi@...r.kernel.org,
Abhinaba Rakshit <abhinaba.rakshit@....qualcomm.com>
Subject: [PATCH v3 3/3] soc: qcom: ice: Set ICE clk to TURBO on probe
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 <abhinaba.rakshit@....qualcomm.com>
---
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..84ee5813e2d586e8880849c877182d56ca31fd80 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 = rate;
dev_pm_opp_put(opp);
}
+
+ /* Vote for maximum clock rate for maximum performance */
+ err = dev_pm_opp_set_rate(dev, INT_MAX);
+ if (err)
+ dev_warn(dev, "Failed boosting the ICE clk to TURBO\n");
}
if (!qcom_ice_check_supported(engine))
--
2.34.1
Powered by blists - more mailing lists