From: Konrad Dybcio <konrad.dybcio@linaro.org>
To: Stephan Gerhold <stephan@gerhold.net>,
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Cc: agross@kernel.org, andersson@kernel.org, djakov@kernel.org,
robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org,
linux-arm-msm@vger.kernel.org, linux-pm@vger.kernel.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
benl@squareup.com, shawn.guo@linaro.org,
fabien.parent@linaro.org, leo.yan@linaro.org,
dmitry.baryshkov@linaro.org
Subject: Re: [PATCH v4 0/6] Add MSM8939 SoC support with two devices
Date: Mon, 23 Jan 2023 17:21:15 +0100 [thread overview]
Message-ID: <133139cd-b8e4-3865-ddbf-9fa7d244ddef@linaro.org> (raw)
In-Reply-To: <Y86CPmgvAi+kChQI@gerhold.net>
On 23.01.2023 13:49, Stephan Gerhold wrote:
> On Mon, Jan 23, 2023 at 11:08:28AM +0000, Bryan O'Donoghue wrote:
>> V4:
>> - Left _AO for wcnss as downstream reference uses this - Bjorn/Bryan
>
> Downstream is just an implementation and contains plenty of misleading
> or even wrong information. IMO Bjorn is right here that VDDMX_AO is not
> a logical choice.
>
> The _AO (active-only) suffix means that the votes are only applied when
> the processor making the vote is "active", that is when the Linux CPUs
> are not in deep cpuidle mode.
>
> For WCNSS the goal is to keep the necessary power domains active while
> WCNSS is booting up, until it is able to make its own votes (handover).
> The WCNSS firmware might then vote for VDDMX_AO internally because VDDMX
> is not needed when the WCNSS CPU is suspended.
>
> However, I would expect that the meaning is totally different when the
> same vote is made from Linux. When Linux votes for _AO the "active"
> state likely refers to the Linux CPUs, instead of the WCNSS CPU when
> made from the WCNSS firmware.
>
> Why does it work in downstream then? I would just assume "side effects":
> - Something else votes for VDDMX without _AO while WCNSS is booting
> - The Linux CPUs don't go into deep cpuidle state during startup
> - In particular, note how downstream often has "lpm_levels.sleep_disabled=1"
> on the kernel command line. This disables all cpuidle states until
> late after boot-up when userspace changes this setting. Without
> cpuidle, VDDMX_AO is identical to VDDMX.
>
> Please change it to VDDMX (without _AO). It will most likely not make
> any difference
Wouldn't it make wake-on-wifi-with-cpus-off possible?
(obviously given the wlan chip supports it and can ping
the cpu etc etc)
Konrad
but IMO it is logcially more correct and less
> confusing/misleading. :)
>
>> - Leaves dummy power-domain reference in cpu defintion as this is a
>> required property and the dt checker complains - Stephan/Bryan
>
> It's only required though because you forgot to drop the DT schema patch
> (3/4) when I suggested half a year ago that you make the MSM8939
> cpufreq-qcom-nvmem changes together with the CPR stack [1]. :/
>
> Anyway, it looks like qcom-cpufreq-nvmem.yaml requiring "cpr" power
> domain unconditionally is a mistake anyway for multiple platforms.
> [2] was recently submitted to fix this so that patch should allow you to
> drop the dummy nodes. :)
>
> [1]: https://lore.kernel.org/linux-arm-msm/Ysf8VRaXdGg+8Ev3@gerhold.net/
> [2]: https://lore.kernel.org/linux-arm-msm/20230122174548.13758-1-ansuelsmth@gmail.com/
>
>> - Left MDSS interconnects. I don't see a bug to fix here - Stephan/Bryan
>
> Fair enough, if you would like to keep it I will likely send a revert
> for the MSM8939 icc_sync_state() though. Because clearly it breaks
> setups without a display and I don't see how one would fix that from the
> device tree.
>
> Also: The undocumented "register-mem" interconnect is still there. :)
>
>> - power-domain in MDSS - dropped its not longer required after
>> commit a6f033938beb ("dt-bindings: msm: dsi-controller-main: Fix
>> power-domain constraint") - Stephan
>
> Thanks!
>
>> - Adds gcc dsi1pll and dsi1pllbyte to gcc clock list.
>> Reviewing the silicon documentation we see dsi0_phy_pll is used to clock
>> GCC_BYTE1_CFG_RCGR : SRC_SEL
>> Root Source Select
>> 000 : cxo
>> 001 : dsi0_phy_pll_out_byteclk
>> 010 : GPLL0_OUT_AUX
>> 011 : gnd
>> 100 : gnd
>> 101 : gnd
>> 110 : gnd
>> 111 : reserved - Stephan/Bryan
>>
>
> I'm confused. Are you not contradicting yourself here? You say that
> dsi0_phy_pll (dsi ZERO) is used to clock GCC_BYTE1_CFG_RCGR. Then why
> do you add dsi1_phy_pll (dsi ONE) to the gcc clock list?
>
> To me this looks like a confirmation of what downstream does, that both
> DSI byte clocks are actually sourced from the dsi0_phy and the PLL of
> dsi1_phy is not used.
>
> Thanks,
> Stephan
next prev parent reply other threads:[~2023-01-23 16:21 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-23 2:31 [PATCH v4 0/6] Add MSM8939 SoC support with two devices Bryan O'Donoghue
2023-01-23 2:31 ` [PATCH v4 1/6] dt-bindings: clock: msm8939: Move msm8939 to a distinct yaml file Bryan O'Donoghue
2023-01-23 9:06 ` Krzysztof Kozlowski
2023-01-23 13:49 ` Rob Herring
2023-01-23 2:31 ` [PATCH v4 2/6] dt-bindings: interconnect: Exclude all non msm8939 from snoc-mm Bryan O'Donoghue
2023-01-23 2:31 ` [PATCH v4 3/6] arm64: dts: qcom: Add msm8939 SoC Bryan O'Donoghue
2023-01-23 2:31 ` [PATCH v4 4/6] arm64: dts: qcom: Add msm8939-pm8916.dtsi include Bryan O'Donoghue
2023-01-23 2:31 ` [PATCH v4 5/6] arm64: dts: qcom: Add Square apq8039-t2 board Bryan O'Donoghue
2023-01-23 16:17 ` Konrad Dybcio
2023-01-23 16:29 ` Krzysztof Kozlowski
2023-01-25 1:21 ` Bryan O'Donoghue
2023-01-25 1:29 ` Konrad Dybcio
2023-01-25 2:25 ` Bryan O'Donoghue
2023-01-25 7:15 ` Krzysztof Kozlowski
2023-01-23 2:31 ` [PATCH v4 6/6] arm64: dts: qcom: Add msm8939 Sony Xperia M4 Aqua Bryan O'Donoghue
2023-01-23 16:19 ` Konrad Dybcio
2023-01-23 11:00 ` [PATCH v4 0/6] Add MSM8939 SoC support with two devices Bryan O'Donoghue
2023-01-23 11:08 ` Bryan O'Donoghue
2023-01-23 12:49 ` Stephan Gerhold
2023-01-23 13:03 ` Bryan O'Donoghue
2023-01-23 13:23 ` Bryan O'Donoghue
2023-01-23 14:00 ` Stephan Gerhold
2023-01-23 16:14 ` Bryan O'Donoghue
2023-01-23 16:21 ` Konrad Dybcio [this message]
2023-01-23 16:29 ` Bryan O'Donoghue
2023-01-26 15:29 ` Bryan O'Donoghue
2023-01-26 15:34 ` Konrad Dybcio
2023-01-26 16:32 ` Bryan O'Donoghue
2023-01-26 16:45 ` Bryan O'Donoghue
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=133139cd-b8e4-3865-ddbf-9fa7d244ddef@linaro.org \
--to=konrad.dybcio@linaro.org \
--cc=agross@kernel.org \
--cc=andersson@kernel.org \
--cc=benl@squareup.com \
--cc=bryan.odonoghue@linaro.org \
--cc=devicetree@vger.kernel.org \
--cc=djakov@kernel.org \
--cc=dmitry.baryshkov@linaro.org \
--cc=fabien.parent@linaro.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=leo.yan@linaro.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=robh+dt@kernel.org \
--cc=shawn.guo@linaro.org \
--cc=stephan@gerhold.net \
/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