All of lore.kernel.org
 help / color / mirror / Atom feed
From: Shawn Guo <shengchao.guo@oss.qualcomm.com>
To: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Cc: Bjorn Andersson <andersson@kernel.org>,
	Mathieu Poirier <mathieu.poirier@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Bartosz Golaszewski <brgl@kernel.org>,
	Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>,
	linux-arm-msm@vger.kernel.org, linux-remoteproc@vger.kernel.org,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 5/8] remoteproc: qcom: pas: Track HPASS ADSP cluster membership
Date: Wed, 26 Aug 2026 11:18:45 +0800	[thread overview]
Message-ID: <ao5bFTVQM1q9P8E5@QCOM-aGQu4IUr3Y> (raw)
In-Reply-To: <1699019c-510c-4658-843d-e1ecd7364c5b@oss.qualcomm.com>

On Mon, Aug 17, 2026 at 03:18:30PM +0200, Konrad Dybcio wrote:
> On 8/15/26 3:25 PM, Shawn Guo wrote:
> > On Nord, ADSP0/1/2 share HPASS-domain resources (PLLs, AG_NOC, RSCp,
> > CESTA, THROTTLE, QTMR) owned by ADSP0, and their firmware cannot
> > tolerate one member being started or stopped independently of the
> > others. Modeling that requires each PAS instance to know which other
> > instances it is grouped with.
> 
> [...]
> 
> > +static struct qcom_pas_cluster *qcom_pas_cluster_get(struct device_node *node)
> > +{
> > +	struct qcom_pas_cluster *cluster;
> > +
> > +	mutex_lock(&qcom_pas_cluster_list_lock);
> 
> Use scoped mutex guards

Will do in the next version, thanks!

> 
> [...]
> 
> > +static int qcom_pas_cluster_init(struct qcom_pas *pas, struct device_node *np)
> > +{
> > +	struct device_node *root_node;
> > +	bool is_root;
> > +
> > +	root_node = of_parse_phandle(np, "qcom,cluster-root", 0);
> > +	if (!root_node)
> > +		return 0;
> > +
> > +	is_root = root_node == np;
> > +
> > +	/*
> > +	 * A non-root member is useless without its root: it can never be
> > +	 * booted, since its boot has to be sequenced after the root's. Reject
> > +	 * it here rather than at first boot, so that a DT enabling a dependent
> > +	 * DSP but not the one owning the shared resources fails loudly and
> > +	 * early.
> > +	 */
> > +	if (!is_root && !of_device_is_available(root_node)) {
> 
> Let's use fwnode_device_is_available() instead, even though there's
> megatons of OF-specific calls across the framework

Noted! But this will probably be gone anyway with Krzysztof's comment
that property "qcom,cluster-root" is not really necessary.

Shawn

  reply	other threads:[~2026-08-26  3:18 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-15 13:25 [PATCH 0/8] remoteproc: qcom: Support the Nord HPASS ADSP cluster Shawn Guo
2026-08-15 13:25 ` [PATCH 1/8] dt-bindings: remoteproc: qcom,nord-pas: Add qcom,cluster-root property Shawn Guo
2026-08-15 13:35   ` sashiko-bot
2026-08-20  6:59   ` Krzysztof Kozlowski
2026-08-26  2:42     ` Shawn Guo
2026-08-15 13:25 ` [PATCH 2/8] remoteproc: Add cluster field to struct rproc Shawn Guo
2026-08-15 13:25 ` [PATCH 3/8] remoteproc: qcom: sysmon: Suppress notify between cluster siblings Shawn Guo
2026-08-15 13:33   ` sashiko-bot
2026-08-15 13:25 ` [PATCH 4/8] rpmsg: qcom_glink_ssr: Suppress cleanup " Shawn Guo
2026-08-15 13:36   ` sashiko-bot
2026-08-15 13:25 ` [PATCH 5/8] remoteproc: qcom: pas: Track HPASS ADSP cluster membership Shawn Guo
2026-08-17 13:18   ` Konrad Dybcio
2026-08-26  3:18     ` Shawn Guo [this message]
2026-08-15 13:25 ` [PATCH 6/8] remoteproc: qcom: pas: Sequence HPASS ADSP cluster boot root-first Shawn Guo
2026-08-15 13:34   ` sashiko-bot
2026-08-15 13:25 ` [PATCH 7/8] remoteproc: qcom: pas: Enforce coupled stop/crash for HPASS ADSP clusters Shawn Guo
2026-08-15 13:39   ` sashiko-bot
2026-08-15 13:25 ` [PATCH 8/8] remoteproc: qcom: pas: Add Nord ADSP1/2 support Shawn Guo
2026-08-17 13:19 ` [PATCH 0/8] remoteproc: qcom: Support the Nord HPASS ADSP cluster Konrad Dybcio
2026-08-26  2:55   ` Shawn Guo

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=ao5bFTVQM1q9P8E5@QCOM-aGQu4IUr3Y \
    --to=shengchao.guo@oss.qualcomm.com \
    --cc=andersson@kernel.org \
    --cc=brgl@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=konrad.dybcio@oss.qualcomm.com \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-remoteproc@vger.kernel.org \
    --cc=mathieu.poirier@linaro.org \
    --cc=mukesh.ojha@oss.qualcomm.com \
    --cc=robh@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.