From: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
To: Stephan Gerhold <stephan@gerhold.net>
Cc: agross@kernel.org, andersson@kernel.org,
konrad.dybcio@linaro.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,
Jun Nie <jun.nie@linaro.org>,
James Willcox <jwillcox@squareup.com>,
Joseph Gates <jgates@squareup.com>, Max Chen <mchen@squareup.com>,
Zac Crosby <zac@squareup.com>,
Vincent Knecht <vincent.knecht@mailoo.org>
Subject: Re: [PATCH v3 5/8] arm64: dts: qcom: Add msm8939 SoC
Date: Thu, 19 Jan 2023 00:53:15 +0000 [thread overview]
Message-ID: <6fc8a8e4-2ba4-94b9-b456-09bc8c6be76a@linaro.org> (raw)
In-Reply-To: <Y8gtdpDnMLIwfj+3@gerhold.net>
On 18/01/2023 17:33, Stephan Gerhold wrote:
> On Wed, Jan 18, 2023 at 11:50:20AM +0000, Bryan O'Donoghue wrote:
>> On 18/01/2023 09:59, Stephan Gerhold wrote:
>>> On Tue, Jan 17, 2023 at 02:48:43AM +0000, Bryan O'Donoghue wrote:
>> [...]
>>>> + mdss: display-subsystem@1a00000 {
>>>> + compatible = "qcom,mdss";
>>>> + reg = <0x01a00000 0x1000>,
>>>> + <0x01ac8000 0x3000>;
>>>> + reg-names = "mdss_phys", "vbif_phys";
>>>> +
>>>> + interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
>>>> + interrupt-controller;
>>>> +
>>>> + clocks = <&gcc GCC_MDSS_AHB_CLK>,
>>>> + <&gcc GCC_MDSS_AXI_CLK>,
>>>> + <&gcc GCC_MDSS_VSYNC_CLK>;
>>>> + clock-names = "iface",
>>>> + "bus",
>>>> + "vsync";
>>>> +
>>>> + power-domains = <&gcc MDSS_GDSC>;
>>>> +
>>>> + #address-cells = <1>;
>>>> + #size-cells = <1>;
>>>> + #interrupt-cells = <1>;
>>>> + ranges;
>>>> +
>>>> + mdp: display-controller@1a01000 {
>>>> + compatible = "qcom,mdp5";
>>>> + reg = <0x01a01000 0x89000>;
>>>> + reg-names = "mdp_phys";
>>>> +
>>>> + interrupt-parent = <&mdss>;
>>>> + interrupts = <0>;
>>>> +
>>>> + clocks = <&gcc GCC_MDSS_AHB_CLK>,
>>>> + <&gcc GCC_MDSS_AXI_CLK>,
>>>> + <&gcc GCC_MDSS_MDP_CLK>,
>>>> + <&gcc GCC_MDSS_VSYNC_CLK>,
>>>> + <&gcc GCC_MDP_TBU_CLK>,
>>>> + <&gcc GCC_MDP_RT_TBU_CLK>;
>>>> + clock-names = "iface",
>>>> + "bus",
>>>> + "core",
>>>> + "vsync",
>>>> + "tbu",
>>>> + "tbu_rt";
>>>> +
>>>> + iommus = <&apps_iommu 4>;
>>>> +
>>>> + interconnects = <&snoc_mm MASTER_MDP_PORT0 &bimc SLAVE_EBI_CH0>,
>>>> + <&snoc_mm MASTER_MDP_PORT1 &bimc SLAVE_EBI_CH0>,
>>>> + <&pcnoc MASTER_SPDM &snoc SLAVE_IMEM>;
>>>> + interconnect-names = "mdp0-mem", "mdp1-mem", "register-mem";
>>>
>>> As I mentioned a already in a direct email at some point, AFAIU adding
>>> interconnects should be an [almost-] all or nothing step. If you only
>>> add interconnects for MDP then everything else that needs bandwidth will
>>> either break or only continue working as a mere side effect of MDP
>>> voting for permanent high bandwidth.
>>
>> We did discuss that. You'll also recall we concluded we would have to revert
>> this patch to make that happen.
>>
>> commit 76a748e2c1aa976d0c7fef872fa6ff93ce334a8a
>> Author: Leo Yan <leo.yan@linaro.org>
>> Date: Sat Apr 16 09:26:34 2022 +0800
>>
>> interconnect: qcom: msm8939: Use icc_sync_state
>>
>> but then why not revert for all of these SoCs too ?
>>
>> drivers/interconnect/qcom/msm8939.c: .sync_state = icc_sync_state,
>> drivers/interconnect/qcom/msm8974.c: .sync_state = icc_sync_state,
>> drivers/interconnect/qcom/msm8996.c: .sync_state = icc_sync_state,
>> drivers/interconnect/qcom/osm-l3.c: .sync_state = icc_sync_state,
>> drivers/interconnect/qcom/sc7180.c: .sync_state = icc_sync_state,
>> drivers/interconnect/qcom/sc7280.c: .sync_state = icc_sync_state,
>> drivers/interconnect/qcom/sc8180x.c: .sync_state = icc_sync_state,
>> drivers/interconnect/qcom/sc8280xp.c: .sync_state = icc_sync_state,
>> drivers/interconnect/qcom/sdm845.c: .sync_state = icc_sync_state,
>> drivers/interconnect/qcom/sdx55.c: .sync_state = icc_sync_state,
>> drivers/interconnect/qcom/sdx65.c: .sync_state = icc_sync_state,
>> drivers/interconnect/qcom/sm6350.c: .sync_state = icc_sync_state,
>>
>> until such time as we have an all or nothing interconnect setup for each of
>> those SoCs ?
>>
>> Yes I take your point "some peripherals will appear to work only as a result
>> of the AHB vote the MDP casts here" but, that is a bug in the definition of
>> that hypothetical peripheral.
>>
>> The MDP/display won't run without the interconnect here and the only way to
>> pull it is to remove sync_state which begs the question why not pull
>> sync_state for all SoCs without a perfect interconnect description ?
>>
>> I think that would be a retrograde step.
>>
>
> Most of the SoCs you list do have "interconnects" defined for most
> components, which means the situation for them is quite a different
> level.
8974 defines two interconnects one for the mdp, one of the gpu. So a
headless setup as you describe would encounter the same situation
potentially.
> I simulated this on the BQ Aquaris M5 (MSM8939) that has most
> functionality set up already in postmarketOS. First the results without
> any changes (interconnects enabled like in your patch here):
To me, that is indicative of more work being required to vote
appropriately for required bandwidth - AHB clocks basically in our
hypothetical setup.
The display certainly won't work without voting for bandwidth it needs.
If there's work to be done to _enable_ headless mode - and there is, we
can do the work to figure out who isn't voting for bandwidth.
Probably the CPU - absent cpufreq, CPR, the operating points. A good -
probably correct guess is we aren't ramping cpufreq, aren't ramping CCI
and aren't voting for the inter-chip CCI "front side" so when the system
boots headless and "does stuff" the cpufrequency stays low, the votes
aren't cast and everything seems to crawl.
I still think its a contrived example though. CPR will come right after
the core dtsi and we can put the theory to the test.
;)
---
bod
next prev parent reply other threads:[~2023-01-19 0:53 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-17 2:48 [PATCH v3 0/8] Add MSM8939 SoC support with two devices Bryan O'Donoghue
2023-01-17 2:48 ` [PATCH v3 1/8] dt-bindings: arm: qcom: Document MSM8939 SoC binding Bryan O'Donoghue
2023-01-18 8:47 ` Stephan Gerhold
2023-01-18 12:05 ` Bryan O'Donoghue
2023-01-18 15:43 ` Stephan Gerhold
2023-01-19 0:32 ` Bryan O'Donoghue
2023-01-17 2:48 ` [PATCH v3 2/8] dt-bindings: soc: qcom: smd-rpm: Exclude MSM8936 from glink-channels Bryan O'Donoghue
2023-01-17 2:48 ` [PATCH v3 3/8] dt-bindings: interconnect: Exclude all non msm8939 from snoc-mm Bryan O'Donoghue
2023-01-17 11:04 ` Krzysztof Kozlowski
2023-01-17 2:48 ` [PATCH v3 4/8] clk: qcom: smd-rpm: msm8936: Add PMIC gated RPM_SMD_XO_* Bryan O'Donoghue
2023-01-18 13:49 ` Konrad Dybcio
2023-01-17 2:48 ` [PATCH v3 5/8] arm64: dts: qcom: Add msm8939 SoC Bryan O'Donoghue
2023-01-17 20:58 ` Bjorn Andersson
2023-01-17 22:48 ` Bryan O'Donoghue
2023-01-18 5:09 ` Bjorn Andersson
2023-01-20 0:40 ` Bryan O'Donoghue
2023-01-20 0:42 ` Bryan O'Donoghue
2023-01-20 0:45 ` Bryan O'Donoghue
2023-01-18 9:59 ` Stephan Gerhold
2023-01-18 11:50 ` Bryan O'Donoghue
2023-01-18 12:50 ` Bryan O'Donoghue
2023-01-18 17:33 ` Stephan Gerhold
2023-01-19 0:53 ` Bryan O'Donoghue [this message]
2023-01-21 22:57 ` Bryan O'Donoghue
2023-01-17 2:48 ` [PATCH v3 6/8] arm64: dts: qcom: Add msm8939-pm8916.dtsi include Bryan O'Donoghue
2023-01-18 13:49 ` Konrad Dybcio
2023-01-17 2:48 ` [PATCH v3 7/8] arm64: dts: qcom: Add Square apq8039-t2 board Bryan O'Donoghue
2023-01-17 21:06 ` Bjorn Andersson
2023-01-17 2:48 ` [PATCH v3 8/8] arm64: dts: qcom: Add msm8939 Sony Xperia M4 Aqua Bryan O'Donoghue
2023-01-18 14:42 ` Konrad Dybcio
2023-01-18 15:11 ` Bryan O'Donoghue
2023-01-18 22:50 ` (subset) [PATCH v3 0/8] Add MSM8939 SoC support with two devices Bjorn Andersson
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=6fc8a8e4-2ba4-94b9-b456-09bc8c6be76a@linaro.org \
--to=bryan.odonoghue@linaro.org \
--cc=agross@kernel.org \
--cc=andersson@kernel.org \
--cc=benl@squareup.com \
--cc=devicetree@vger.kernel.org \
--cc=djakov@kernel.org \
--cc=dmitry.baryshkov@linaro.org \
--cc=fabien.parent@linaro.org \
--cc=jgates@squareup.com \
--cc=jun.nie@linaro.org \
--cc=jwillcox@squareup.com \
--cc=konrad.dybcio@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=mchen@squareup.com \
--cc=robh+dt@kernel.org \
--cc=shawn.guo@linaro.org \
--cc=stephan@gerhold.net \
--cc=vincent.knecht@mailoo.org \
--cc=zac@squareup.com \
/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).