[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20220217224259.AED00C340E8@smtp.kernel.org>
Date: Thu, 17 Feb 2022 14:42:58 -0800
From: Stephen Boyd <sboyd@...nel.org>
To: Michael Turquette <mturquette@...libre.com>,
Taniya Das <tdas@...eaurora.org>
Cc: Rajendra Nayak <rnayak@...eaurora.org>,
linux-arm-msm@...r.kernel.org, linux-soc@...r.kernel.org,
linux-clk@...r.kernel.org, linux-kernel@...r.kernel.org,
devicetree@...r.kernel.org, robh@...nel.org, robh+dt@...nel.org,
Taniya Das <tdas@...eaurora.org>
Subject: Re: [PATCH v4 2/2] clk: qcom: lpass: Add support for LPASS clock controller for SC7280
Quoting Taniya Das (2022-01-26 00:12:36)
> diff --git a/drivers/clk/qcom/lpassaudiocc-sc7280.c b/drivers/clk/qcom/lpassaudiocc-sc7280.c
> new file mode 100644
> index 000000000000..c97ead75f02a
> --- /dev/null
> +++ b/drivers/clk/qcom/lpassaudiocc-sc7280.c
> @@ -0,0 +1,838 @@
> +// SPDX-License-Identifier: GPL-2.0-only
[...]
> +
> +static int lpass_audio_cc_sc7280_probe(struct platform_device *pdev)
> +{
> + const struct qcom_cc_desc *desc;
> + struct regmap *regmap;
> + int ret;
> +
> + ret = lpassaudio_create_pm_clks(pdev);
> + if (ret)
> + return ret;
> +
> + lpass_audio_cc_sc7280_regmap_config.name = "lpassaudio_cc";
> + lpass_audio_cc_sc7280_regmap_config.max_register = 0x2f000;
> + desc = &lpass_audio_cc_sc7280_desc;
> +
> + regmap = qcom_cc_map(pdev, desc);
> + if (IS_ERR(regmap)) {
> + pm_runtime_disable(&pdev->dev);
> + return PTR_ERR(regmap);
> + }
> +
> + clk_zonda_pll_configure(&lpass_audio_cc_pll, regmap, &lpass_audio_cc_pll_config);
> +
> + ret = qcom_cc_really_probe(pdev, &lpass_audio_cc_sc7280_desc, regmap);
> + if (ret) {
> + dev_err(&pdev->dev, "Failed to register LPASS AUDIO CC clocks\n");
> + pm_runtime_disable(&pdev->dev);
> + return ret;
> + }
> +
> + /* PLL settings */
> + regmap_write(regmap, 0x4, 0x3b);
> + regmap_write(regmap, 0x8, 0xff05);
Shouldn't this be done before registering the clks? So after
zonda_pll_configure?
> +
> + pm_runtime_mark_last_busy(&pdev->dev);
> + pm_runtime_put_autosuspend(&pdev->dev);
> + pm_runtime_put_sync(&pdev->dev);
Powered by blists - more mailing lists