From: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
To: Kathiravan Thirumoorthy
<kathiravan.thirumoorthy@oss.qualcomm.com>,
Georgi Djakov <djakov@kernel.org>,
Bjorn Andersson <andersson@kernel.org>,
Abel Vesa <abelvesa@kernel.org>, Stephen Boyd <sboyd@kernel.org>,
Brian Masney <bmasney+clk@redhat.com>,
Jerome Brunet <jbrunet+clk@baylibre.com>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>
Cc: 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 1/4] interconnect: icc-clk: support N:1 master-to-slave topology
Date: Fri, 16 Oct 2026 16:12:54 +0200 [thread overview]
Message-ID: <21a95133-eba9-4655-95b4-9aa947c081f9@oss.qualcomm.com> (raw)
In-Reply-To: <20261007-ipq9650_apss_clk-v1-1-fd4c2b3cbdea@oss.qualcomm.com>
On 10/7/26 8:50 AM, Kathiravan Thirumoorthy wrote:
> icc_clk_register() assumes each icc_clk_data entry describes a unique
> master/slave pair and creates both nodes for every entry. When several
> masters share the same slave_id, the shared slave node is created and
> added again on each later entry. icc_node_create() returns the existing
> node, so icc_node_add() hits WARN_ON(node->provider):
[...]
> - return clk_set_rate(qn->clk, icc_units_to_bps(src->peak_bw));
> + /*
> + * Multiple master nodes can share the same underlying clock (N:1
> + * topology, e.g. several CPU clusters voting on one L3 clock).
> + * Aggregate the peak bandwidth across all of them before setting
> + * the rate, otherwise the last caller wins and can undervote what
> + * another master already asked for.
> + */
> + list_for_each_entry(node, &provider->nodes, node_list) {
> + struct icc_clk_node *n = node->data;
> +
> + if (n && clk_is_match(n->clk, qn->clk))
> + rate = max(rate, icc_units_to_bps(node->peak_bw));
> + }
GPT has the following concern:
[P2] Recompute the shared clock rate when a master drops its vote
drivers/interconnect/icc-clk.c:36-42
The zero-bandwidth path returns before the new shared-clock aggregation.
If one master had set the shared clock to a high rate and then drops its
vote while another master still votes, the clock remains at the old,
higher rate: the remaining master’s icc_clk_set() is not necessarily
called. Recompute the maximum vote from all nodes sharing the clock on
this path, and apply that rate when other masters still have votes.
Konrad
next prev parent reply other threads:[~2026-10-16 14:13 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-07 6:50 [PATCH 0/4] Add Qualcomm's IPQ9650 APSS Clock Driver Support Kathiravan Thirumoorthy
2026-10-07 6:50 ` [PATCH 1/4] interconnect: icc-clk: support N:1 master-to-slave topology Kathiravan Thirumoorthy
2026-10-16 14:12 ` Konrad Dybcio [this message]
2026-10-07 6:50 ` [PATCH 2/4] clk: qcom: clk-alpha-pll: Skip Zonda PLL configuration if already enabled Kathiravan Thirumoorthy
2026-10-09 18:23 ` Abel Vesa
2026-10-16 13:50 ` Konrad Dybcio
2026-10-07 6:50 ` [PATCH 3/4] dt-bindings: clock: ipq9650-apss-clk: Add IPQ9650 apss clock controller Kathiravan Thirumoorthy
2026-10-13 6:47 ` Krzysztof Kozlowski
2026-10-07 6:50 ` [PATCH 4/4] clk: qcom: apss-ipq9650: Add IPQ9650 APSS clock controller driver Kathiravan Thirumoorthy
2026-10-16 13:52 ` 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=21a95133-eba9-4655-95b4-9aa947c081f9@oss.qualcomm.com \
--to=konrad.dybcio@oss.qualcomm.com \
--cc=abelvesa@kernel.org \
--cc=andersson@kernel.org \
--cc=bmasney+clk@redhat.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=djakov@kernel.org \
--cc=jbrunet+clk@baylibre.com \
--cc=kathiravan.thirumoorthy@oss.qualcomm.com \
--cc=krzk+dt@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=robh@kernel.org \
--cc=sboyd@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
all inboxes | Powered by JetHome®