linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
To: Amit Pundir <amit.pundir@linaro.org>
Cc: Doug Anderson <dianders@chromium.org>,
	Mark Brown <broonie@kernel.org>,
	Bjorn Andersson <andersson@kernel.org>,
	Andy Gross <agross@kernel.org>, Rob Herring <robh+dt@kernel.org>,
	Konrad Dybcio <konrad.dybcio@linaro.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Caleb Connolly <caleb.connolly@linaro.org>,
	Conor Dooley <conor+dt@kernel.org>,
	regressions <regressions@lists.linux.dev>,
	linux-arm-msm <linux-arm-msm@vger.kernel.org>,
	dt <devicetree@vger.kernel.org>,
	lkml <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] arm64: dts: qcom: sdm845-db845c: Move LVS regulator nodes up
Date: Wed, 7 Jun 2023 12:16:55 +0200	[thread overview]
Message-ID: <55f07600-3fa5-f3c2-eb3e-e87a57244812@linaro.org> (raw)
In-Reply-To: <CAMi1Hd1Upo8zV4MPtdqHgEaMQ72yK0gZgf5Z4uOaqKqhw8Hndg@mail.gmail.com>

On 07/06/2023 11:17, Amit Pundir wrote:
> On Wed, 7 Jun 2023 at 13:19, Krzysztof Kozlowski
> <krzysztof.kozlowski@linaro.org> wrote:
>>
>> On 07/06/2023 01:34, Doug Anderson wrote:
>>> Hi,
>>>
>>> On Fri, Jun 2, 2023 at 9:12 AM Amit Pundir <amit.pundir@linaro.org> wrote:
>>>>
>>>> Move lvs1 and lvs2 regulator nodes up in the rpmh-regulators
>>>> list to workaround a boot regression uncovered by the upstream
>>>> commit ad44ac082fdf ("regulator: qcom-rpmh: Revert "regulator:
>>>> qcom-rpmh: Use PROBE_FORCE_SYNCHRONOUS"").
>>>>
>>>> Without this fix DB845c fail to boot at times because one of the
>>>> lvs1 or lvs2 regulators fail to turn ON in time.
>>>>
>>>> Link: https://lore.kernel.org/all/CAMi1Hd1avQDcDQf137m2auz2znov4XL8YGrLZsw5edb-NtRJRw@mail.gmail.com/
>>>> Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
>>>> ---
>>>>  arch/arm64/boot/dts/qcom/sdm845-db845c.dts | 24 +++++++++++-----------
>>>>  1 file changed, 12 insertions(+), 12 deletions(-)
>>>>
>>>> diff --git a/arch/arm64/boot/dts/qcom/sdm845-db845c.dts b/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
>>>> index e14fe9bbb386..df2fde9063dc 100644
>>>> --- a/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
>>>> +++ b/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
>>>> @@ -301,6 +301,18 @@ regulators-0 {
>>>>                 vdd-l26-supply = <&vreg_s3a_1p35>;
>>>>                 vin-lvs-1-2-supply = <&vreg_s4a_1p8>;
>>>>
>>>> +               vreg_lvs1a_1p8: lvs1 {
>>>> +                       regulator-min-microvolt = <1800000>;
>>>> +                       regulator-max-microvolt = <1800000>;
>>>> +                       regulator-always-on;
>>>> +               };
>>>> +
>>>> +               vreg_lvs2a_1p8: lvs2 {
>>>> +                       regulator-min-microvolt = <1800000>;
>>>> +                       regulator-max-microvolt = <1800000>;
>>>> +                       regulator-always-on;
>>>> +               };
>>>> +
>>>>                 vreg_s3a_1p35: smps3 {
>>>>                         regulator-min-microvolt = <1352000>;
>>>>                         regulator-max-microvolt = <1352000>;
>>>> @@ -381,18 +393,6 @@ vreg_l26a_1p2: ldo26 {
>>>>                         regulator-max-microvolt = <1200000>;
>>>>                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
>>>>                 };
>>>> -
>>>> -               vreg_lvs1a_1p8: lvs1 {
>>>> -                       regulator-min-microvolt = <1800000>;
>>>> -                       regulator-max-microvolt = <1800000>;
>>>> -                       regulator-always-on;
>>>> -               };
>>>> -
>>>> -               vreg_lvs2a_1p8: lvs2 {
>>>> -                       regulator-min-microvolt = <1800000>;
>>>> -                       regulator-max-microvolt = <1800000>;
>>>> -                       regulator-always-on;
>>>> -               };
>>>
>>> This is a hack, but it at least feels less bad than reverting the
>>> async probe patch. I'll leave it to Bjorn to decide if he's OK with
>>> it. Personally, it feels like this would deserve a comment in the dts
>>> to document that these regulators need to be listed first.
>>>
>>> Ideally, we could still work towards a root cause. I added a few more
>>> ideas to help with root causing in reply to the original thread about
>>> this.
>>>
>>> https://lore.kernel.org/r/CAD=FV=UKyjRNZG-ED2meUAR9aXdco+AbUTHiKixTzjCkaJbjTg@mail.gmail.com/
>>
>> We do not shape DTS based on given OS behavior. AOSP needs this, BSD
>> needs that and Linux needs something else. Next time someone will move
>> these regulators down because on his system probing is from end of list,
>> not beginning and he has the same problem.
>>
>> No, really, are we going to reshuffle nodes because AOSP needs it?
> 
> Hi, other than the fact that I reproduced it on AOSP, there is nothing
> AOSP specific in this patch. I'm sure there may be another
> platforms/OS (which load kernel modules from a ramdisk) that may trip
> on this bug. But I can try reproducing it on an OS of your choice if
> it helps.

I wrote earlier imaginary system where RPM driver loads the regulators
from the end. It would require re-shuffling to previous order of the
nodes. Feel free to change the RPM drivers to simulate it and you should
see that your patch stops helping.

The problem looks like in missing consumers, missing probe dependencies
or something in the driver how it handles these.

DTS should not be used for solving OS related problems.

Best regards,
Krzysztof


  reply	other threads:[~2023-06-07 10:17 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-02 16:12 [PATCH] arm64: dts: qcom: sdm845-db845c: Move LVS regulator nodes up Amit Pundir
2023-06-06 23:34 ` Doug Anderson
2023-06-07  7:49   ` Krzysztof Kozlowski
2023-06-07  9:17     ` Amit Pundir
2023-06-07 10:16       ` Krzysztof Kozlowski [this message]
2023-06-08 17:26         ` Amit Pundir
2023-06-08 17:44           ` Doug Anderson
2023-06-07  7:46 ` Krzysztof Kozlowski
2023-06-14 18:18 ` Linux regression tracking (Thorsten Leemhuis)
2023-06-14 18:47   ` Krzysztof Kozlowski
2023-06-14 19:08     ` Amit Pundir
2023-06-15 13:47       ` Amit Pundir
2023-06-15 15:03         ` Krzysztof Kozlowski
2023-06-15 16:09           ` Amit Pundir
2023-06-15 16:15             ` Amit Pundir
2023-06-16  8:27             ` Krzysztof Kozlowski
2023-06-16 17:09               ` Amit Pundir
2023-06-17  7:21                 ` Krzysztof Kozlowski
2023-06-19  7:06                   ` Amit Pundir
2023-06-14 19:44     ` Doug Anderson
2023-06-20 15:59       ` Bjorn Andersson
2023-06-22  7:47         ` Linux regression tracking (Thorsten Leemhuis)
2023-06-22 11:48           ` Amit Pundir
2023-07-07  5:08             ` Amit Pundir
2023-07-14 11:04               ` Linux regression tracking #update (Thorsten Leemhuis)

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=55f07600-3fa5-f3c2-eb3e-e87a57244812@linaro.org \
    --to=krzysztof.kozlowski@linaro.org \
    --cc=agross@kernel.org \
    --cc=amit.pundir@linaro.org \
    --cc=andersson@kernel.org \
    --cc=broonie@kernel.org \
    --cc=caleb.connolly@linaro.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dianders@chromium.org \
    --cc=konrad.dybcio@linaro.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=regressions@lists.linux.dev \
    --cc=robh+dt@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).