arch/arm64/boot/dts/qcom/agatti.dtsi | 11 +++++++++++ 1 file changed, 11 insertions(+)
Reserve memory region for audio PD dynamic loading and remote heap
requirements. Add the required VMID list for memory ownership
transfers.
Signed-off-by: Vinayak Katoch <vinayak.katoch@oss.qualcomm.com>
---
Changes in v2:
- Fixed VMID list alignment.
- Link to v1: https://lore.kernel.org/r/20260806-agatti-audio-v1-1-cd6766cc9ccb@oss.qualcomm.com
---
arch/arm64/boot/dts/qcom/agatti.dtsi | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/agatti.dtsi b/arch/arm64/boot/dts/qcom/agatti.dtsi
index 590bd2432d85..2064eed01327 100644
--- a/arch/arm64/boot/dts/qcom/agatti.dtsi
+++ b/arch/arm64/boot/dts/qcom/agatti.dtsi
@@ -381,6 +381,14 @@ rmtfs_mem: memory@89b01000 {
qcom,client-id = <1>;
qcom,vmid = <QCOM_SCM_VMID_MSS_MSA QCOM_SCM_VMID_NAV>;
};
+
+ adsp_rpc_remote_heap_mem: adsp-rpc-remote-heap {
+ compatible = "shared-dma-pool";
+ alloc-ranges = <0x0 0x80000000 0x0 0x80000000>;
+ reusable;
+ alignment = <0x0 0x400000>;
+ size = <0x0 0x800000>;
+ };
};
smp2p-adsp {
@@ -2348,6 +2356,9 @@ fastrpc {
compatible = "qcom,fastrpc";
qcom,glink-channels = "fastrpcglink-apps-dsp";
label = "adsp";
+ memory-region = <&adsp_rpc_remote_heap_mem>;
+ qcom,vmids = <QCOM_SCM_VMID_LPASS
+ QCOM_SCM_VMID_ADSP_HEAP>;
qcom,non-secure-domain;
---
base-commit: 1701fda2f58e345c050f4309971bdc07cd6146ba
change-id: 20260806-agatti-audio-357bcd74ae9c
Best regards,
--
Vinayak Katoch <vinayak.katoch@oss.qualcomm.com>
On 8/7/26 7:50 AM, Vinayak Katoch wrote:
> Reserve memory region for audio PD dynamic loading and remote heap
> requirements. Add the required VMID list for memory ownership
> transfers.
>
> Signed-off-by: Vinayak Katoch <vinayak.katoch@oss.qualcomm.com>
> ---
> Changes in v2:
> - Fixed VMID list alignment.
> - Link to v1: https://lore.kernel.org/r/20260806-agatti-audio-v1-1-cd6766cc9ccb@oss.qualcomm.com
> ---
> arch/arm64/boot/dts/qcom/agatti.dtsi | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/agatti.dtsi b/arch/arm64/boot/dts/qcom/agatti.dtsi
> index 590bd2432d85..2064eed01327 100644
> --- a/arch/arm64/boot/dts/qcom/agatti.dtsi
> +++ b/arch/arm64/boot/dts/qcom/agatti.dtsi
> @@ -381,6 +381,14 @@ rmtfs_mem: memory@89b01000 {
> qcom,client-id = <1>;
> qcom,vmid = <QCOM_SCM_VMID_MSS_MSA QCOM_SCM_VMID_NAV>;
> };
> +
> + adsp_rpc_remote_heap_mem: adsp-rpc-remote-heap {
> + compatible = "shared-dma-pool";
> + alloc-ranges = <0x0 0x80000000 0x0 0x80000000>;
RAM starts at 0x4000_000 on this platform.. I'm starting to think
that asking to provide a base was a mistake. Let's just make it
<0x0 0x0 0x1 0x0> to allow the whole 32-bit space
Konrad
Hi Vinayak,
On Fri, Aug 7, 2026 at 6:51 AM Vinayak Katoch
<vinayak.katoch@oss.qualcomm.com> wrote:
>
> Reserve memory region for audio PD dynamic loading and remote heap
> requirements. Add the required VMID list for memory ownership
> transfers.
>
> Signed-off-by: Vinayak Katoch <vinayak.katoch@oss.qualcomm.com>
> ---
> Changes in v2:
> - Fixed VMID list alignment.
> - Link to v1: https://lore.kernel.org/r/20260806-agatti-audio-v1-1-cd6766cc9ccb@oss.qualcomm.com
> ---
> arch/arm64/boot/dts/qcom/agatti.dtsi | 11 +++++++++++
> 1 file changed, 11 insertions(+)
Thanks for the patch!
This fixes a boot loop on Qualcomm QRB2210 RB1 and Arduino UNO Q, I
wonder if we could add a suitable Fixes tag ?
Tested-by: Christopher Obbard <chris.obbard@oss.qualcomm.com>
> diff --git a/arch/arm64/boot/dts/qcom/agatti.dtsi b/arch/arm64/boot/dts/qcom/agatti.dtsi
> index 590bd2432d85..2064eed01327 100644
> --- a/arch/arm64/boot/dts/qcom/agatti.dtsi
> +++ b/arch/arm64/boot/dts/qcom/agatti.dtsi
> @@ -381,6 +381,14 @@ rmtfs_mem: memory@89b01000 {
> qcom,client-id = <1>;
> qcom,vmid = <QCOM_SCM_VMID_MSS_MSA QCOM_SCM_VMID_NAV>;
> };
> +
> + adsp_rpc_remote_heap_mem: adsp-rpc-remote-heap {
> + compatible = "shared-dma-pool";
> + alloc-ranges = <0x0 0x80000000 0x0 0x80000000>;
> + reusable;
> + alignment = <0x0 0x400000>;
> + size = <0x0 0x800000>;
> + };
> };
>
> smp2p-adsp {
> @@ -2348,6 +2356,9 @@ fastrpc {
> compatible = "qcom,fastrpc";
> qcom,glink-channels = "fastrpcglink-apps-dsp";
> label = "adsp";
> + memory-region = <&adsp_rpc_remote_heap_mem>;
> + qcom,vmids = <QCOM_SCM_VMID_LPASS
> + QCOM_SCM_VMID_ADSP_HEAP>;
>
> qcom,non-secure-domain;
>
>
> ---
> base-commit: 1701fda2f58e345c050f4309971bdc07cd6146ba
> change-id: 20260806-agatti-audio-357bcd74ae9c
>
> Best regards,
> --
> Vinayak Katoch <vinayak.katoch@oss.qualcomm.com>
>
>
On 8/15/2026 2:56 AM, Chris Obbard wrote:
> Hi Vinayak,
>
> On Fri, Aug 7, 2026 at 6:51 AM Vinayak Katoch
> <vinayak.katoch@oss.qualcomm.com> wrote:
>>
>> Reserve memory region for audio PD dynamic loading and remote heap
>> requirements. Add the required VMID list for memory ownership
>> transfers.
>>
>> Signed-off-by: Vinayak Katoch <vinayak.katoch@oss.qualcomm.com>
>> ---
>> Changes in v2:
>> - Fixed VMID list alignment.
>> - Link to v1: https://lore.kernel.org/r/20260806-agatti-audio-v1-1-cd6766cc9ccb@oss.qualcomm.com
>> ---
>> arch/arm64/boot/dts/qcom/agatti.dtsi | 11 +++++++++++
>> 1 file changed, 11 insertions(+)
>
> Thanks for the patch!
>
> This fixes a boot loop on Qualcomm QRB2210 RB1 and Arduino UNO Q, I
> wonder if we could add a suitable Fixes tag ?
>
> Tested-by: Christopher Obbard <chris.obbard@oss.qualcomm.com>
>
Thanks for testing!
This patch is a feature addition rather than a bug fix, so a Fixes tag
would not be appropriate here.
The boot loop on QRB2210 RB1 and Arduino UNO Q was caused by the
userspace audiopd service file, not a kernel regression. That issue has
already been addressed in the userspace FastRPC repository:
https://github.com/qualcomm/fastrpc/commit/cd0c0dbbfef8ae950f9ebb4483a9b0192d8fb6a6
>> diff --git a/arch/arm64/boot/dts/qcom/agatti.dtsi b/arch/arm64/boot/dts/qcom/agatti.dtsi
>> index 590bd2432d85..2064eed01327 100644
>> --- a/arch/arm64/boot/dts/qcom/agatti.dtsi
>> +++ b/arch/arm64/boot/dts/qcom/agatti.dtsi
>> @@ -381,6 +381,14 @@ rmtfs_mem: memory@89b01000 {
>> qcom,client-id = <1>;
>> qcom,vmid = <QCOM_SCM_VMID_MSS_MSA QCOM_SCM_VMID_NAV>;
>> };
>> +
>> + adsp_rpc_remote_heap_mem: adsp-rpc-remote-heap {
>> + compatible = "shared-dma-pool";
>> + alloc-ranges = <0x0 0x80000000 0x0 0x80000000>;
>> + reusable;
>> + alignment = <0x0 0x400000>;
>> + size = <0x0 0x800000>;
>> + };
>> };
>>
>> smp2p-adsp {
>> @@ -2348,6 +2356,9 @@ fastrpc {
>> compatible = "qcom,fastrpc";
>> qcom,glink-channels = "fastrpcglink-apps-dsp";
>> label = "adsp";
>> + memory-region = <&adsp_rpc_remote_heap_mem>;
>> + qcom,vmids = <QCOM_SCM_VMID_LPASS
>> + QCOM_SCM_VMID_ADSP_HEAP>;
>>
>> qcom,non-secure-domain;
>>
>>
>> ---
>> base-commit: 1701fda2f58e345c050f4309971bdc07cd6146ba
>> change-id: 20260806-agatti-audio-357bcd74ae9c
>>
>> Best regards,
>> --
>> Vinayak Katoch <vinayak.katoch@oss.qualcomm.com>
>>
>>
On 07-08-2026 11:20, Vinayak Katoch wrote:
> Reserve memory region for audio PD dynamic loading and remote heap
> requirements. Add the required VMID list for memory ownership
> transfers.
>
> Signed-off-by: Vinayak Katoch <vinayak.katoch@oss.qualcomm.com>
> ---
> Changes in v2:
> - Fixed VMID list alignment.
> - Link to v1: https://lore.kernel.org/r/20260806-agatti-audio-v1-1-cd6766cc9ccb@oss.qualcomm.com
> ---
> arch/arm64/boot/dts/qcom/agatti.dtsi | 11 +++++++++++
> 1 file changed, 11 insertions(+)
Reviewed-by: Ekansh Gupta <ekansh.gupta@oss.qualcomm.com>
>
> diff --git a/arch/arm64/boot/dts/qcom/agatti.dtsi b/arch/arm64/boot/dts/qcom/agatti.dtsi
> index 590bd2432d85..2064eed01327 100644
> --- a/arch/arm64/boot/dts/qcom/agatti.dtsi
> +++ b/arch/arm64/boot/dts/qcom/agatti.dtsi
> @@ -381,6 +381,14 @@ rmtfs_mem: memory@89b01000 {
> qcom,client-id = <1>;
> qcom,vmid = <QCOM_SCM_VMID_MSS_MSA QCOM_SCM_VMID_NAV>;
> };
> +
> + adsp_rpc_remote_heap_mem: adsp-rpc-remote-heap {
> + compatible = "shared-dma-pool";
> + alloc-ranges = <0x0 0x80000000 0x0 0x80000000>;
> + reusable;
> + alignment = <0x0 0x400000>;
> + size = <0x0 0x800000>;
> + };
> };
>
> smp2p-adsp {
> @@ -2348,6 +2356,9 @@ fastrpc {
> compatible = "qcom,fastrpc";
> qcom,glink-channels = "fastrpcglink-apps-dsp";
> label = "adsp";
> + memory-region = <&adsp_rpc_remote_heap_mem>;
> + qcom,vmids = <QCOM_SCM_VMID_LPASS
> + QCOM_SCM_VMID_ADSP_HEAP>;
>
> qcom,non-secure-domain;
>
>
> ---
> base-commit: 1701fda2f58e345c050f4309971bdc07cd6146ba
> change-id: 20260806-agatti-audio-357bcd74ae9c
>
> Best regards,
On Fri, Aug 07, 2026 at 11:20:56AM +0530, Vinayak Katoch wrote: > Reserve memory region for audio PD dynamic loading and remote heap > requirements. Add the required VMID list for memory ownership > transfers. > > Signed-off-by: Vinayak Katoch <vinayak.katoch@oss.qualcomm.com> > --- > Changes in v2: > - Fixed VMID list alignment. > - Link to v1: https://lore.kernel.org/r/20260806-agatti-audio-v1-1-cd6766cc9ccb@oss.qualcomm.com > --- > arch/arm64/boot/dts/qcom/agatti.dtsi | 11 +++++++++++ > 1 file changed, 11 insertions(+) > Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> -- With best wishes Dmitry
© 2016 - 2026 Red Hat, Inc.