2023-01-16 13:51:57

by Konrad Dybcio

[permalink] [raw]
Subject: [PATCH v3 9/9] interconnect: qcom: rpm: Don't use clk_get_optional for bus clocks anymore

Commit dd42ec8ea5b9 ("interconnect: qcom: rpm: Use _optional func for provider clocks")
relaxed the requirements around probing bus clocks. This was a decent
solution for making sure MSM8996 would still boot with old DTs, but
now that there's a proper fix in place that both old and new DTs
will be happy about, revert back to the safer variant of the
function.

Fixes: dd42ec8ea5b9 ("interconnect: qcom: rpm: Use _optional func for provider clocks")
Signed-off-by: Konrad Dybcio <[email protected]>
---
drivers/interconnect/qcom/icc-rpm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/interconnect/qcom/icc-rpm.c b/drivers/interconnect/qcom/icc-rpm.c
index 343e6021a93a..8cff724661f2 100644
--- a/drivers/interconnect/qcom/icc-rpm.c
+++ b/drivers/interconnect/qcom/icc-rpm.c
@@ -522,7 +522,7 @@ int qnoc_probe(struct platform_device *pdev)
}

regmap_done:
- ret = devm_clk_bulk_get_optional(dev, qp->num_bus_clks, qp->bus_clks);
+ ret = devm_clk_bulk_get(dev, qp->num_bus_clks, qp->bus_clks);
if (ret)
return ret;

--
2.39.0


2023-01-23 18:42:17

by Arnaud Vrac

[permalink] [raw]
Subject: Re: [PATCH v3 9/9] interconnect: qcom: rpm: Don't use clk_get_optional for bus clocks anymore

Hi Konrad,

With this series on a db820c, I get an error on boot when probing
a0noc because no "bus" clock is defined. If I revert this patch it
works again.

-Arnaud

Le lun. 16 janv. 2023 à 14:31, Konrad Dybcio
<[email protected]> a écrit :
>
> Commit dd42ec8ea5b9 ("interconnect: qcom: rpm: Use _optional func for provider clocks")
> relaxed the requirements around probing bus clocks. This was a decent
> solution for making sure MSM8996 would still boot with old DTs, but
> now that there's a proper fix in place that both old and new DTs
> will be happy about, revert back to the safer variant of the
> function.
>
> Fixes: dd42ec8ea5b9 ("interconnect: qcom: rpm: Use _optional func for provider clocks")
> Signed-off-by: Konrad Dybcio <[email protected]>
> ---
> drivers/interconnect/qcom/icc-rpm.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/interconnect/qcom/icc-rpm.c b/drivers/interconnect/qcom/icc-rpm.c
> index 343e6021a93a..8cff724661f2 100644
> --- a/drivers/interconnect/qcom/icc-rpm.c
> +++ b/drivers/interconnect/qcom/icc-rpm.c
> @@ -522,7 +522,7 @@ int qnoc_probe(struct platform_device *pdev)
> }
>
> regmap_done:
> - ret = devm_clk_bulk_get_optional(dev, qp->num_bus_clks, qp->bus_clks);
> + ret = devm_clk_bulk_get(dev, qp->num_bus_clks, qp->bus_clks);
> if (ret)
> return ret;
>
> --
> 2.39.0
>

2023-01-23 19:11:29

by Konrad Dybcio

[permalink] [raw]
Subject: Re: [PATCH v3 9/9] interconnect: qcom: rpm: Don't use clk_get_optional for bus clocks anymore



On 23.01.2023 19:41, Arnaud Vrac wrote:
> Hi Konrad,
>
> With this series on a db820c, I get an error on boot when probing
> a0noc because no "bus" clock is defined. If I revert this patch it
> works again.
>
> -Arnaud
Ouch! Thanks for testing and catching this, definitely an edge
case, as we usually expect there's an interconnect bus and bus_a
clock.. but that can be worked around!

Konrad
>
> Le lun. 16 janv. 2023 à 14:31, Konrad Dybcio
> <[email protected]> a écrit :
>>
>> Commit dd42ec8ea5b9 ("interconnect: qcom: rpm: Use _optional func for provider clocks")
>> relaxed the requirements around probing bus clocks. This was a decent
>> solution for making sure MSM8996 would still boot with old DTs, but
>> now that there's a proper fix in place that both old and new DTs
>> will be happy about, revert back to the safer variant of the
>> function.
>>
>> Fixes: dd42ec8ea5b9 ("interconnect: qcom: rpm: Use _optional func for provider clocks")
>> Signed-off-by: Konrad Dybcio <[email protected]>
>> ---
>> drivers/interconnect/qcom/icc-rpm.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/interconnect/qcom/icc-rpm.c b/drivers/interconnect/qcom/icc-rpm.c
>> index 343e6021a93a..8cff724661f2 100644
>> --- a/drivers/interconnect/qcom/icc-rpm.c
>> +++ b/drivers/interconnect/qcom/icc-rpm.c
>> @@ -522,7 +522,7 @@ int qnoc_probe(struct platform_device *pdev)
>> }
>>
>> regmap_done:
>> - ret = devm_clk_bulk_get_optional(dev, qp->num_bus_clks, qp->bus_clks);
>> + ret = devm_clk_bulk_get(dev, qp->num_bus_clks, qp->bus_clks);
>> if (ret)
>> return ret;
>>
>> --
>> 2.39.0
>>