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

From: Jianping Li

Date: Thu Nov 20 2025 - 04:08:47 EST



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.


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.

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.



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