On 30.01.2025 11:03 AM, Sricharan Ramabadhran wrote: > > > On 1/28/2025 5:29 PM, Konrad Dybcio wrote: >> On 27.01.2025 10:31 AM, Sricharan R wrote: >>> From: Sricharan Ramabadhran <quic_srichara@xxxxxxxxxxx> >>> >>> CPU on Qualcomm ipq5424 is clocked by huayra PLL with RCG support. >>> Add support for the APSS PLL, RCG and clock enable for ipq5424. >>> The PLL, RCG register space are clubbed. Hence adding new APSS driver >>> for both PLL and RCG/CBC control. Also the L3 cache has a separate pll >>> and needs to be scaled along with the CPU. >>> >>> Co-developed-by: Md Sadre Alam <quic_mdalam@xxxxxxxxxxx> >>> Signed-off-by: Md Sadre Alam <quic_mdalam@xxxxxxxxxxx> >>> Signed-off-by: Sricharan Ramabadhran <quic_srichara@xxxxxxxxxxx> >>> --- [...] >>> + clk_alpha_pll_configure(&ipq5424_l3_pll, regmap, &l3_pll_config); >>> + >>> + clk_alpha_pll_configure(&ipq5424_apss_pll, regmap, &apss_pll_config); >>> + >>> + ret = qcom_cc_really_probe(dev, &apss_ipq5424_desc, regmap); >>> + if (ret) >>> + return ret; >>> + >>> + dev_dbg(&pdev->dev, "Registered APSS & L3 clock provider\n"); >>> + >>> + apss_ipq5424_cfg->dev = dev; >>> + apss_ipq5424_cfg->hw = &apss_silver_clk_src.clkr.hw; >>> + apss_ipq5424_cfg->cpu_clk_notifier.notifier_call = cpu_clk_notifier_fn; >>> + >>> + apss_ipq5424_cfg->l3_clk = clk_hw_get_clk(&l3_core_clk.clkr.hw, "l3_clk"); >>> + if (IS_ERR(apss_ipq5424_cfg->l3_clk)) { >>> + dev_err(&pdev->dev, "Failed to get L3 clk, %ld\n", >>> + PTR_ERR(apss_ipq5424_cfg->l3_clk)); >>> + return PTR_ERR(apss_ipq5424_cfg->l3_clk); >>> + } >> >> Now that you'll use OPP, you can drop all this getting.. maybe even the >> apss_ipq5424_cfg struct could be let go > > ok, is the suggestion here to use devm_pm_opp_set_config ? Since what you tried to do here is binding CPU and L3 frequencies together, yeah, we can just scale two clocks from OPP. On some newer platforms using the epss-l3 driver, or on msm8996 with a more complex setup, we expose the L3 voter as an interconnect, but here it would seem that we directly control the clock that feeds it. Konrad