Re: [PATCH v9 2/4] clk: qcom: lpasscc-sc7280: Skip qdsp6ss clock registration

From: Stephen Boyd
Date: Fri Mar 17 2023 - 14:30:35 EST


Quoting Mohammad Rafi Shaik (2023-03-17 07:16:20)
> From: Srinivasa Rao Mandadapu <quic_srivasam@xxxxxxxxxxx>
>
> The qdsp6ss memory region is being shared by ADSP remoteproc device and
> lpasscc clock device, hence causing memory conflict.
> As the qdsp6ss clocks are being enabled in remoteproc driver, skip qdsp6ss
> clock registration if "qcom,adsp-pil-mode" is enabled.
>
> Fixes: 4ab43d171181 ("clk: qcom: Add lpass clock controller driver for SC7280")
> Signed-off-by: Srinivasa Rao Mandadapu <quic_srivasam@xxxxxxxxxxx>
> Signed-off-by: Mohammad Rafi Shaik <quic_mohs@xxxxxxxxxxx>
> Reviewed-by: Stephen Boyd <swboyd@xxxxxxxxxxxx>
> ---
> drivers/clk/qcom/lpasscc-sc7280.c | 12 +++++++-----
> 1 file changed, 7 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/clk/qcom/lpasscc-sc7280.c b/drivers/clk/qcom/lpasscc-sc7280.c
> index 5c1e17bd0d76..85dd5b9d64f0 100644
> --- a/drivers/clk/qcom/lpasscc-sc7280.c
> +++ b/drivers/clk/qcom/lpasscc-sc7280.c
> @@ -118,12 +118,14 @@ static int lpass_cc_sc7280_probe(struct platform_device *pdev)
> goto destroy_pm_clk;
> }
>
> - lpass_regmap_config.name = "qdsp6ss";
> - desc = &lpass_qdsp6ss_sc7280_desc;
> + if (!of_property_read_bool(pdev->dev.of_node, "qcom,adsp-pil-mode")) {
> + lpass_regmap_config.name = "qdsp6ss";
> + desc = &lpass_qdsp6ss_sc7280_desc;
>
> - ret = qcom_cc_probe_by_index(pdev, 0, desc);
> - if (ret)
> - goto destroy_pm_clk;
> + ret = qcom_cc_probe_by_index(pdev, 0, desc);
> + if (ret)
> + goto destroy_pm_clk;
> + }

I noticed that we don't set any max_register on the regmap_config. Can
you also do that in a patch before this patch? I think without that set
you can oops the kernel by reading the debugfs file for the regmap.

>
> lpass_regmap_config.name = "top_cc";
> desc = &lpass_cc_top_sc7280_desc;