[PATCH v1 1/1] mmc: sdhci-msm: Set ice clk rate
From: Ram Prakash Gupta
Date: Fri May 29 2026 - 04:20:23 EST
Set ice clk rate from sdhci msm platform driver, needed for
target which are having legacy ice support, and need sdhci msm
platform driver to set rate.
Signed-off-by: Ram Prakash Gupta <ram.gupta@xxxxxxxxxxxxxxxx>
---
drivers/mmc/host/sdhci-msm.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/drivers/mmc/host/sdhci-msm.c b/drivers/mmc/host/sdhci-msm.c
index b4131b12df56..c6a073718aa4 100644
--- a/drivers/mmc/host/sdhci-msm.c
+++ b/drivers/mmc/host/sdhci-msm.c
@@ -286,6 +286,7 @@ struct sdhci_msm_host {
/* core, iface, cal and sleep clocks */
struct clk_bulk_data bulk_clks[4];
#ifdef CONFIG_MMC_CRYPTO
+ struct clk *ice_clk; /* ICE clock */
struct qcom_ice *ice;
#endif
unsigned long clk_rate;
@@ -2708,6 +2709,17 @@ static int sdhci_msm_probe(struct platform_device *pdev)
return ret;
}
+#ifdef CONFIG_MMC_CRYPTO
+ /* Setup ICE clock */
+ msm_host->ice_clk = devm_clk_get(&pdev->dev, "ice");
+ if (!IS_ERR(msm_host->ice_clk)) {
+ /* Vote for max. clk rate for max. performance */
+ ret = clk_set_rate(msm_host->ice_clk, INT_MAX);
+ if (ret)
+ dev_err(&pdev->dev, "ice clk set rate failed (%d)\n", ret);
+ }
+#endif
+
/* Setup main peripheral bus clock */
clk = devm_clk_get(&pdev->dev, "iface");
if (IS_ERR(clk)) {
--
2.34.1