From: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
To: Bjorn Andersson <andersson@kernel.org>
Cc: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>,
Mathieu Poirier <mathieu.poirier@linaro.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Manivannan Sadhasivam <mani@kernel.org>,
Konrad Dybcio <konradybcio@kernel.org>,
linux-arm-msm@vger.kernel.org, linux-remoteproc@vger.kernel.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v8 11/14] firmware: qcom_scm: Add qcom_scm_pas_get_rsc_table() to get resource table
Date: Mon, 8 Dec 2025 22:31:04 +0530 [thread overview]
Message-ID: <20251208170104.psvk4xxo7b4bg2eo@hu-mojha-hyd.qualcomm.com> (raw)
In-Reply-To: <sysdgcspvxhytyudknnyj4hu6lc47we5ijkrsssi6askysqyo2@bdzl5cvzc4be>
On Fri, Dec 05, 2025 at 04:17:56PM -0600, Bjorn Andersson wrote:
> On Fri, Dec 05, 2025 at 02:15:00PM +0100, Konrad Dybcio wrote:
> > On 12/4/25 1:28 PM, Mukesh Ojha wrote:
> > > On Wed, Dec 03, 2025 at 01:36:32PM +0100, Konrad Dybcio wrote:
> > >> On 11/24/25 4:25 PM, Mukesh Ojha wrote:
> > >>> On Mon, Nov 24, 2025 at 12:48:31PM +0100, Konrad Dybcio wrote:
> > >>>> On 11/21/25 12:01 PM, Mukesh Ojha wrote:
> > >>>>> Qualcomm remote processor may rely on Static and Dynamic resources for
> > >>>>> it to be functional. Static resources are fixed like for example,
> > >>>>> memory-mapped addresses required by the subsystem and dynamic
> > >>>>> resources, such as shared memory in DDR etc., are determined at
> > >>>>> runtime during the boot process.
> > >>>>>
> > >>>>> For most of the Qualcomm SoCs, when run with Gunyah or older QHEE
> > >>>>> hypervisor, all the resources whether it is static or dynamic, is
> > >>>>> managed by the hypervisor. Dynamic resources if it is present for a
> > >>>>> remote processor will always be coming from secure world via SMC call
> > >>>>> while static resources may be present in remote processor firmware
> > >>>>> binary or it may be coming qcom_scm_pas_get_rsc_table() SMC call along
> > >>>>> with dynamic resources.
> >
> > [...]
> >
> > > Just to avoid iteration, are you suggesting that we can keep this
> > > guesswork as part of __qcom_scm_pas_get_rsc_table() and start with
> > > something smaller than SZ_16K?
> > >
> > > I kind of agree with the first part, but SZ_16K was the recommended size
> > > from the firmware for Lemans to start with, in order to pass the SMC
> > > successfully on the first try. However, the same size was failing for
> > > Glymur, and it required a second attempt with the correct size.
> >
> > It depends on the payload, which you're probably much more familiar with.
> > If 95% of them will be closer to e.g. 1K in size, it perhaps makes sense
> > to use up the additional few dozen cycles on our amazingly fast CPUs and
> > retry as necessary, instead of blindly reserving a whole bunch of memory.
> >
>
> Those "few dozen cycles", is tasked with sending messages to RPMh for
> voting and unvoting the buses, then tzmem will hopefully hit the
> genpool, twice, and then radix updates, and then more genpool updated
> and more radix tree work. And then of course there's the one context
> switch to secure world.
>
> If we don't have space in the genpool, we're going to grow
> dma_alloc_coherent, extend the genpool, call secure world to register
> the new tzmem. And then for all those cases where the allocation wasn't
> enough, the retry (with updated size) will not fit in the
> PAGE_ALIGN(size) genpool that was created, so we'll do this twice.
>
> Fortunately the tzmem growing should only happen on first remoteproc
> boot, but I think it's a bit optimistic to say "a few dozen"...
>
>
> The drawback with making it 16KB is that we're not going to test that
> error path very often. But the more idiomatic form of first calling with
> a size of 0, then allocate and pass the proper size, seems a bit
> wasteful to me as well - in particular if we do it anew each subsystem
> boot.
>
> PS. 16KB is 0.03% of the ADSP carveout (or 3% of the ADSP DeviceTree
> carveout...).
What you suggest ? 0x36c8 bytes was the size for CDSP resource table on Lemans.
--
-Mukesh Ojha
next prev parent reply other threads:[~2025-12-08 17:01 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-21 11:01 [PATCH v8 00/14] Peripheral Image Loader support for Qualcomm SoCs running Linux host at EL2 Mukesh Ojha
2025-11-21 11:01 ` [PATCH v8 01/14] dt-bindings: remoteproc: qcom,pas: Add iommus property Mukesh Ojha
2025-11-21 11:01 ` [PATCH v8 02/14] firmware: qcom_scm: Remove redundant piece of code Mukesh Ojha
2025-11-21 11:01 ` [PATCH v8 03/14] firmware: qcom_scm: Rename peripheral as pas_id Mukesh Ojha
2025-11-21 11:01 ` [PATCH v8 04/14] firmware: qcom_scm: Introduce PAS context initialization helper function Mukesh Ojha
2025-12-05 22:45 ` Bjorn Andersson
2025-11-21 11:01 ` [PATCH v8 05/14] remoteproc: pas: Replace metadata context with PAS context structure Mukesh Ojha
2025-11-21 11:01 ` [PATCH v8 06/14] soc: qcom: mdtloader: Add PAS context aware qcom_mdt_pas_load() function Mukesh Ojha
2025-11-21 11:01 ` [PATCH v8 07/14] soc: qcom: mdtloader: Remove qcom_mdt_pas_init() from exported symbols Mukesh Ojha
2025-11-21 11:01 ` [PATCH v8 08/14] firmware: qcom_scm: Add a prep version of auth_and_reset function Mukesh Ojha
2025-12-05 22:50 ` Bjorn Andersson
2025-11-21 11:01 ` [PATCH v8 09/14] firmware: qcom_scm: Refactor qcom_scm_pas_init_image() Mukesh Ojha
2025-11-21 11:01 ` [PATCH v8 10/14] firmware: qcom_scm: Add SHM bridge handling for PAS when running without QHEE Mukesh Ojha
2025-11-21 11:01 ` [PATCH v8 11/14] firmware: qcom_scm: Add qcom_scm_pas_get_rsc_table() to get resource table Mukesh Ojha
2025-11-24 11:48 ` Konrad Dybcio
2025-11-24 15:25 ` Mukesh Ojha
2025-12-03 12:36 ` Konrad Dybcio
2025-12-04 12:28 ` Mukesh Ojha
2025-12-05 13:15 ` Konrad Dybcio
2025-12-05 22:17 ` Bjorn Andersson
2025-12-08 17:01 ` Mukesh Ojha [this message]
2025-12-17 13:09 ` Konrad Dybcio
2025-12-05 22:21 ` Bjorn Andersson
2025-12-08 14:25 ` Mukesh Ojha
2025-12-05 22:40 ` Bjorn Andersson
2025-12-08 16:49 ` Mukesh Ojha
2025-12-09 10:45 ` Mukesh Ojha
2025-12-18 14:37 ` Bjorn Andersson
2025-11-21 11:01 ` [PATCH v8 12/14] remoteproc: pas: Extend parse_fw callback to fetch resources via SMC call Mukesh Ojha
2025-11-24 11:20 ` Konrad Dybcio
2025-11-21 11:01 ` [PATCH v8 13/14] remoteproc: qcom: pas: Enable Secure PAS support with IOMMU managed by Linux Mukesh Ojha
2025-11-24 11:31 ` Konrad Dybcio
2025-11-24 12:03 ` Mukesh Ojha
2025-11-26 16:40 ` Bjorn Andersson
2025-11-27 7:23 ` Mukesh Ojha
2025-11-21 11:01 ` [PATCH v8 14/14] arm64: dts: qcom: Add EL2 overlay for Lemans Mukesh Ojha
2025-12-05 23:00 ` Bjorn Andersson
2025-12-08 14:21 ` Mukesh Ojha
2025-11-21 11:27 ` [PATCH v8 00/14] Peripheral Image Loader support for Qualcomm SoCs running Linux host at EL2 Bryan O'Donoghue
2025-11-21 11:37 ` Mukesh Ojha
2025-11-21 15:08 ` Konrad Dybcio
2025-11-24 6:45 ` Mukesh Ojha
2025-11-24 11:33 ` Konrad Dybcio
2025-11-24 15:53 ` Mukesh Ojha
2025-11-27 10:25 ` Bryan O'Donoghue
2025-12-02 8:36 ` Mukesh Ojha
2025-12-02 10:13 ` Vikash Garodia
2025-12-02 21:24 ` Bjorn Andersson
2025-12-03 5:18 ` Vikash Garodia
2025-12-05 21:18 ` Dmitry Baryshkov
2025-12-17 10:08 ` Vikash Garodia
2025-12-17 11:43 ` Konrad Dybcio
2025-12-18 4:32 ` Bryan O'Donoghue
2025-12-18 14:07 ` Konrad Dybcio
2025-12-18 14:45 ` Bjorn Andersson
2025-12-05 21:45 ` 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=20251208170104.psvk4xxo7b4bg2eo@hu-mojha-hyd.qualcomm.com \
--to=mukesh.ojha@oss.qualcomm.com \
--cc=andersson@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=konrad.dybcio@oss.qualcomm.com \
--cc=konradybcio@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=mani@kernel.org \
--cc=mathieu.poirier@linaro.org \
--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 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®