From: Frank Li Date: Mon, 3 Nov 2025 21:48:30 +0000 (-0500) Subject: perf/imx_ddr: Get and enable optional clks X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=037e8cf671780426254fbacdca80d1d01c806844;p=thirdparty%2Fkernel%2Flinux.git perf/imx_ddr: Get and enable optional clks Get and enable optional clks because fsl,imx8dxl-db-pmu have two clocks. Signed-off-by: Frank Li Signed-off-by: Will Deacon --- diff --git a/drivers/perf/fsl_imx8_ddr_perf.c b/drivers/perf/fsl_imx8_ddr_perf.c index 5ba34c606213d..2a8426a74af98 100644 --- a/drivers/perf/fsl_imx8_ddr_perf.c +++ b/drivers/perf/fsl_imx8_ddr_perf.c @@ -5,6 +5,7 @@ */ #include +#include #include #include #include @@ -732,10 +733,12 @@ static int ddr_perf_offline_cpu(unsigned int cpu, struct hlist_node *node) static int ddr_perf_probe(struct platform_device *pdev) { + struct clk_bulk_data *clks; struct ddr_pmu *pmu; struct device_node *np; void __iomem *base; char *name; + int nclks; int num; int ret; int irq; @@ -754,6 +757,10 @@ static int ddr_perf_probe(struct platform_device *pdev) platform_set_drvdata(pdev, pmu); + nclks = devm_clk_bulk_get_all_enabled(&pdev->dev, &clks); + if (nclks < 0) + return dev_err_probe(&pdev->dev, nclks, "Failure get clks\n"); + num = ida_alloc(&ddr_ida, GFP_KERNEL); if (num < 0) return num;