Re: [PATCH v2] arm64: dts: qcom: kodiak: Add memory region for audiopd

From: Bjorn Andersson

Date: Thu Nov 20 2025 - 08:30:55 EST


On Thu, Nov 20, 2025 at 05:08:37PM +0800, Jianping Li wrote:
>
> On 11/18/2025 11:39 PM, Bjorn Andersson wrote:
> > On Mon, Nov 17, 2025 at 03:08:19PM +0800, Jianping Li wrote:
> >
> > Please don't send new versions as replies to older ones, and please
> > adopt b4, it will take care of these practicalities for you.
>
> Ack. I'll fix this going forward.
>

Thank you. FYI, There are instructions on go/upstream on how to start
using b4 for patches in-progress.

> >
> > > Add reserved memory region for audio PD dynamic loading and remote
> > > heap requirement. Also add LPASS and ADSP_HEAP VMIDs.
> > >
> > > Signed-off-by: Jianping Li <jianping.li@xxxxxxxxxxxxxxxx>
> > > ---
> > > Patch v1: https://lore.kernel.org/all/20251114055639.1050-1-jianping.li@xxxxxxxxxxxxxxxx/
> > > Changes in v2:
> > > - Fixed the alignment issue of the qcom,vmids properties, aligning
> > > the values in the second row with the first row.
> > > ---
> > > arch/arm64/boot/dts/qcom/kodiak.dtsi | 8 ++++++++
> > > 1 file changed, 8 insertions(+)
> > >
> > > diff --git a/arch/arm64/boot/dts/qcom/kodiak.dtsi b/arch/arm64/boot/dts/qcom/kodiak.dtsi
> > > index 3ef61af2ed8a..7957a9151055 100644
> > > --- a/arch/arm64/boot/dts/qcom/kodiak.dtsi
> > > +++ b/arch/arm64/boot/dts/qcom/kodiak.dtsi
> > > @@ -190,6 +190,11 @@ rmtfs_mem: rmtfs@9c900000 {
> > > qcom,client-id = <1>;
> > > qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>;
> > > };
> > > +
> > > + adsp_rpc_remote_heap_mem: adsp-rpc-remote-heap@9cb80000 {
> > > + reg = <0x0 0x9cb80000 0x0 0x800000>;
> > > + no-map;
> > > + };
> > Is the placement of this carveout hard code somewhere in non-HLOS
> > software? If so, its location and size universal across all Kodiak-based
> > devices?
>
> This information is not hard-coded on non-HLOS. Any region(irrespective of placement)
> allocated by fastrpc is moved to LPASS using qcom_scm calls.
>

Then you can replace reg = <0x0 0x9cb80000 0x0 0x800000> with size =
<0x0 0x800000>.

I'm assuming that this is subject to address-bit restrictions, so you
probably need alloc-ranges = <0 0 1 0> as well though.

> > Also, the presence of arch/arm64/boot/dts/qcom/qcs6490-audioreach.dtsi
> > tells me that we have different audio stacks in play on Kodiak. Does all
> > of them have the same PD loading capabilities/needs?
>
> This DT looks to be audioreach specific. The one I'm adding is mostly used for audio PD
> dynamic loading purpose. Adding @Mohammad Rafi to give more details about audioreach.
>

So, you're saying that we do dynamic audio PD loading in all Kodiak
devices (LA, LC, LE, WP), and they all use about 8MB of RAM for this?

Regards,
Bjorn

> >
> >
> > PS. Others might ask these same questions in the future (I will probably
> > wonder in 6 months from now...), so let's make sure the git history
> > carries the answers to why things look the way they do.
>
> Ack.
>
> >
> > Thanks,
> > Bjorn
> >
> > > };
> > > cpus {
> > > @@ -4139,6 +4144,9 @@ fastrpc {
> > > qcom,glink-channels = "fastrpcglink-apps-dsp";
> > > label = "adsp";
> > > qcom,non-secure-domain;
> > > + memory-region = <&adsp_rpc_remote_heap_mem>;
> > > + qcom,vmids = <QCOM_SCM_VMID_LPASS
> > > + QCOM_SCM_VMID_ADSP_HEAP>;
> > > #address-cells = <1>;
> > > #size-cells = <0>;
> > > --
> > > 2.43.0
> > >