[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <fca8355e-9b34-4df1-a7e6-459bdad8b1ff@oss.qualcomm.com>
Date: Thu, 2 Oct 2025 11:39:05 +0200
From: Konrad Dybcio <konrad.dybcio@....qualcomm.com>
To: Abhinaba Rakshit <abhinaba.rakshit@....qualcomm.com>,
Bjorn Andersson <andersson@...nel.org>,
Konrad Dybcio <konradybcio@...nel.org>
Cc: linux-arm-msm@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] soc: qcom: ice: Set ICE clk to turbo on probe
On 10/1/25 2:14 PM, Abhinaba Rakshit wrote:
> Set ICE core clock to turbo (max freq) provided by dt
> entry at ice device probe.
>
> Signed-off-by: Abhinaba Rakshit <abhinaba.rakshit@....qualcomm.com>
> ---
> 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.
> ---
> drivers/soc/qcom/ice.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/drivers/soc/qcom/ice.c b/drivers/soc/qcom/ice.c
> index ec8d6bb9f426deee1038616282176bfc8e5b9ec1..eee06c499dc36a6bf380361f27e938331f1fcb10 100644
> --- a/drivers/soc/qcom/ice.c
> +++ b/drivers/soc/qcom/ice.c
> @@ -535,6 +535,7 @@ static struct qcom_ice *qcom_ice_create(struct device *dev,
> struct qcom_ice *engine;
> const __be32 *prop;
> int len;
> + int err;
>
> if (!qcom_scm_is_available())
> return ERR_PTR(-EPROBE_DEFER);
> @@ -577,6 +578,13 @@ static struct qcom_ice *qcom_ice_create(struct device *dev,
> if (!qcom_ice_check_supported(engine))
> return ERR_PTR(-EOPNOTSUPP);
>
> + /* Set the ICE clk rate to TURBO */
> + if (engine->core_clk && engine->max_freq) {
> + err = clk_set_rate(engine->core_clk, engine->max_freq);
Please make sure to use dev_pm_opp_set_rate() and add introduce an OPP
table to ensure that there's also a turbo rpm(h) vote to match..
Konrad
Powered by blists - more mailing lists