From: Mike Tipton <mike.tipton@oss.qualcomm.com>
To: Luca Weiss <luca.weiss@fairphone.com>
Cc: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>,
Krzysztof Kozlowski <krzk@kernel.org>,
Taniya Das <taniya.das@oss.qualcomm.com>,
Georgi Djakov <djakov@kernel.org>,
Bjorn Andersson <andersson@kernel.org>,
Michael Turquette <mturquette@baylibre.com>,
Stephen Boyd <sboyd@kernel.org>, Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
~postmarketos/upstreaming@lists.sr.ht,
phone-devel@vger.kernel.org, linux-pm@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org,
linux-clk@vger.kernel.org, devicetree@vger.kernel.org
Subject: Re: [PATCH 2/5] dt-bindings: clock: qcom,milos-camcc: Document interconnect path
Date: Wed, 1 Apr 2026 20:10:31 -0700 [thread overview]
Message-ID: <ac3eJ7lGevZwElfk@hu-mdtipton-lv.qualcomm.com> (raw)
In-Reply-To: <DHG7CMLREKDF.2L5V5VQCEYDKH@fairphone.com>
Hi Luca,
On Mon, Mar 30, 2026 at 04:55:40PM +0200, Luca Weiss wrote:
> Hi Mike,
>
> On Tue Mar 24, 2026 at 3:48 AM CET, Mike Tipton wrote:
> > On Mon, Jan 19, 2026 at 11:28:07AM +0100, Konrad Dybcio wrote:
> >>
> >>
> >> On 1/19/26 11:20 AM, Konrad Dybcio wrote:
> >> > On 1/17/26 12:46 PM, Krzysztof Kozlowski wrote:
> >> >> On Fri, Jan 16, 2026 at 02:17:21PM +0100, Luca Weiss wrote:
> >> >>> Document an interconnect path for camcc that's required to enable
> >> >>> the CAMSS_TOP_GDSC power domain.
> >> >>
> >> >> I find it confusing. Enabling GDSC power domains is done via power
> >> >> domains, not via interconnects. Do not represent power domains as
> >> >> interconnects, it's something completely different.
> >> >
> >> > The name of the power domains is CAMSS_TOP_GDSC (seems you misread)
> >> >
> >> > For the power domain to successfully turn on, the MNoC needs to be
> >> > turned on (empirical evidence). The way to do it is to request a
> >> > nonzero vote on this interconnect path
> >> >
> >> > (presumably because the GDSC or its invisible providers require
> >> > something connected over that bus to carry out their enable sequences).
> >
> > The GDSC itself shouldn't depend on MMNOC in order to turn on properly.
> > It should turn on just fine without it. There *is* a dependency between
> > CAM_TOP_GDSC and MMNOC, but it's in the opposite direction.
>
> I can personally just write from practical experience, as Qualcomm
> doesn't share any relevant documentation with OEMs.
>
> Without this patch the GDSC refuses to turn on.
>
> [ 291.055839] ------------[ cut here ]------------
> [ 291.055860] cam_cc_camss_top_gdsc status stuck at 'off'
> [ 291.055878] WARNING: drivers/clk/qcom/gdsc.c:178 at gdsc_toggle_logic+0x138/0x144, CPU#4: hexdump/1995
>
> With the patch it turns on just fine, no issues seen.
I haven't observed that behavior, and I just reconfirmed on a more
recent chip. I explicitly toggled this GDSC on/off while MMNOC is
collapsed and it turns on fine. And if I disable MMNOC while the GDSC is
still on, then MMNOC gets stuck entering collapse. But I haven't tried
on Milos, specifically. It's possible there's some behavior unique to it
that I'm not aware of.
Regardless, the correct solution for both issues (MMNOC getting stuck
turning off or the GDSC getting stuck turning on) is the same. Which is
to vote for MMNOC on behalf of the GDSC as your patch does. And is also
what we've done downstream.
>
> As Konrad has written, originally I didn't see any issue because that
> interconnect was being kept alive by simple-framebuffer where I've added
> 'interconnects' to keep the framebuffer alive. However when testing
> without this, the GDSC would refuse to turn on, which led me to this
> patch series.
>
> Additionally you can see in downstream devicetree you can also see an
> interconnect defined for the "cam_cc_camss_top_gdsc" node:
>
> https://gerrit-public.fairphone.software/plugins/gitiles/platform/vendor/qcom/proprietary/devicetree/+/refs/heads/odm/rc/target/15/fp6/fps_overlay/volcano.dtsi#2943
Right, this logic was originally added to prevent MMNOC from getting
stuck in collapse, rather than to prevent the GDSC from getting stuck
turning on.
Mike
>
> Regards
> Luca
next prev parent reply other threads:[~2026-04-02 3:10 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-16 13:17 [PATCH 0/5] Support enabling interconnect path for GDSC for fixing Milos camcc Luca Weiss
2026-01-16 13:17 ` [PATCH 1/5] interconnect: Add devm_of_icc_get_by_index() as exported API for users Luca Weiss
2026-01-16 16:31 ` Dmitry Baryshkov
2026-01-19 10:43 ` Konrad Dybcio
2026-01-16 13:17 ` [PATCH 2/5] dt-bindings: clock: qcom,milos-camcc: Document interconnect path Luca Weiss
2026-01-17 11:46 ` Krzysztof Kozlowski
2026-01-19 10:20 ` Konrad Dybcio
2026-01-19 10:28 ` Konrad Dybcio
2026-03-06 10:37 ` Luca Weiss
2026-03-24 2:48 ` Mike Tipton
2026-03-24 11:13 ` Konrad Dybcio
2026-03-30 14:55 ` Luca Weiss
2026-04-02 3:10 ` Mike Tipton [this message]
2026-01-16 13:17 ` [PATCH 3/5] clk: qcom: gdsc: Support enabling interconnect path for power domain Luca Weiss
2026-03-24 3:34 ` Mike Tipton
2026-01-16 13:17 ` [PATCH 4/5] clk: qcom: camcc-milos: Declare icc path dependency for CAMSS_TOP_GDSC Luca Weiss
2026-01-16 16:34 ` Dmitry Baryshkov
2026-01-16 13:17 ` [PATCH 5/5] arm64: dts: qcom: milos: Add interconnects to camcc Luca Weiss
2026-01-16 16:34 ` Dmitry Baryshkov
2026-03-23 12:46 ` [PATCH 0/5] Support enabling interconnect path for GDSC for fixing Milos camcc Konrad Dybcio
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=ac3eJ7lGevZwElfk@hu-mdtipton-lv.qualcomm.com \
--to=mike.tipton@oss.qualcomm.com \
--cc=andersson@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=djakov@kernel.org \
--cc=konrad.dybcio@oss.qualcomm.com \
--cc=krzk+dt@kernel.org \
--cc=krzk@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=luca.weiss@fairphone.com \
--cc=mturquette@baylibre.com \
--cc=phone-devel@vger.kernel.org \
--cc=robh@kernel.org \
--cc=sboyd@kernel.org \
--cc=taniya.das@oss.qualcomm.com \
--cc=~postmarketos/upstreaming@lists.sr.ht \
/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