From: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
To: Shawn Guo <shengchao.guo@oss.qualcomm.com>,
Bjorn Andersson <andersson@kernel.org>
Cc: 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 0/8] remoteproc: qcom: Support the Nord HPASS ADSP cluster
Date: Mon, 17 Aug 2026 15:19:56 +0200 [thread overview]
Message-ID: <81b85f8f-e4d4-4d19-aa47-97739eac030b@oss.qualcomm.com> (raw)
In-Reply-To: <20260815132541.1575121-1-shengchao.guo@oss.qualcomm.com>
On 8/15/26 3:25 PM, Shawn Guo wrote:
> The HPASS audio subsystem on the Qualcomm Nord SoC has three QDSP6
> instances, ADSP0/1/2. They are not independent: ADSP0 owns the resources
> the other two need (PLLs, AG_NOC, RSCp, CESTA, THROTTLE, QTMR) and
> initializes them as part of its own boot, so ADSP1/ADSP2 can only cold
> boot once ADSP0 is up. Their firmware also cannot tolerate one instance
> going down on its own -- stopping or restarting a single member leaves
> sysmon/glink_ssr notify requests to the siblings timing out, and the
> whole cluster unable to recover without manually stopping all three and
> restarting them in dependency order.
>
> This series models that constraint. A new "qcom,cluster-root" phandle
> groups the instances; every member carries it, the resource-owning
> instance included, whose phandle references itself, so both cluster
> membership and root-ness are answerable from the node being probed alone.
> Instances without the property -- which is every PAS instance on every
> other SoC -- keep qcom_pas.cluster NULL and are completely unaffected.
>
> Two invariants fall out of the hardware, and are implemented
> independently of each other:
>
> - Root-first bring-up. A dependent member's start blocks until the root
> has booted.
>
> - Coupled, two-phase teardown. Stopping or crashing any member takes
> the whole cluster down. Hardware testing showed that whichever
> member's PAS/TZ power-off happens chronologically last always fails
> its own graceful shutdown ack -- both the sysmon SSCTL QMI ack and
> the SMEM-bit/IRQ ack -- regardless of whether that member is the
> root. So phase 1 fans the stop out to every participant concurrently
What!? Is that intended by design? Sounds like a crazy DoS attack surface :/
Are we perhaps missing something to let the uncrashed DSPs keep running?
Konrad
next prev parent reply other threads:[~2026-08-17 13:20 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
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 ` Konrad Dybcio [this message]
2026-08-26 2:55 ` [PATCH 0/8] remoteproc: qcom: Support the Nord HPASS ADSP cluster 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=81b85f8f-e4d4-4d19-aa47-97739eac030b@oss.qualcomm.com \
--to=konrad.dybcio@oss.qualcomm.com \
--cc=andersson@kernel.org \
--cc=brgl@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--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 \
--cc=shengchao.guo@oss.qualcomm.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 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.