Re: [PATCH v2 2/9] soc: qcom: geni-se: Populate clk_perf_tbl with SE source clock frequencies from perf OPP table

From: Mukesh Savaliya

Date: Wed Oct 07 2026 - 03:24:55 EST




On 8/27/2026 11:29 PM, Praveen Talari wrote:

[...]

@@ -1175,6 +1181,31 @@ int geni_se_domain_attach(struct geni_se *se)
else if (ret < 0)
return ret;
+ perf_dev = se->pd_list->pd_devs[DOMAIN_IDX_PERF];
+
+ num_opps = dev_pm_opp_get_opp_count(perf_dev);
+ if (num_opps < 0)
+ return num_opps;
+ if (num_opps == 0)
+ return -ENODEV;
+
Let's combine both in a line.
if (num_opps <= 0)
return num_opps ? num_opps: -ENODEV;


+ se->clk_perf_tbl = devm_kcalloc(se->dev, num_opps,
+ sizeof(*se->clk_perf_tbl),
+ GFP_KERNEL);
+ if (!se->clk_perf_tbl)
+ return -ENOMEM;
+
Non functional to Simplify, keep level = 0 outside and increment level within loop> + for (i = 0, level = 0; i < num_opps; i++, level++) {
+ opp = dev_pm_opp_find_level_ceil(perf_dev, &level);
+ if (IS_ERR(opp))
+ return PTR_ERR(opp);
+
+ se->clk_perf_tbl[i] = level;
+ dev_pm_opp_put(opp);
+ }
+ se->num_clk_levels = num_opps;
+ se->has_opp = true;
+
level++;> return 0;
}
EXPORT_SYMBOL_GPL(geni_se_domain_attach);