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

Jianping Li posted 1 patch 2 months, 3 weeks ago
There is a newer version of this series
arch/arm64/boot/dts/qcom/kodiak.dtsi | 8 ++++++++
1 file changed, 8 insertions(+)
[PATCH] arm64: dts: qcom: kodiak: Add memory region for audiopd
Posted by Jianping Li 2 months, 3 weeks ago
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@oss.qualcomm.com>
---
 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..0cda9af98dd2 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;
+		};
 	};
 
 	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
Re: [PATCH] arm64: dts: qcom: kodiak: Add memory region for audiopd
Posted by Dmitry Baryshkov 2 months, 3 weeks ago
On Fri, Nov 14, 2025 at 01:56:39PM +0800, Jianping Li wrote:
> 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@oss.qualcomm.com>
> ---
>  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..0cda9af98dd2 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;
> +		};
>  	};
>  
>  	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>;

Wrong indentation. Please align vertically (or fix Tab size to be 8 in
your editor).

>  					#address-cells = <1>;
>  					#size-cells = <0>;
>  
> -- 
> 2.43.0
> 

-- 
With best wishes
Dmitry
[PATCH v2] arm64: dts: qcom: kodiak: Add memory region for audiopd
Posted by Jianping Li 2 months, 3 weeks ago
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@oss.qualcomm.com>
---
Patch v1: https://lore.kernel.org/all/20251114055639.1050-1-jianping.li@oss.qualcomm.com/
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;
+		};
 	};
 
 	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
Re: [PATCH v2] arm64: dts: qcom: kodiak: Add memory region for audiopd
Posted by Bjorn Andersson 3 weeks ago
On Mon, 17 Nov 2025 15:08:19 +0800, Jianping Li wrote:
> Add reserved memory region for audio PD dynamic loading and remote
> heap requirement. Also add LPASS and ADSP_HEAP VMIDs.
> 
> 

Applied, thanks!

[1/1] arm64: dts: qcom: kodiak: Add memory region for audiopd
      commit: 90a58ffa9c55831b557ae4819adbe280ea04d3e8

Best regards,
-- 
Bjorn Andersson <andersson@kernel.org>
Re: [PATCH v2] arm64: dts: qcom: kodiak: Add memory region for audiopd
Posted by Bjorn Andersson 2 months, 3 weeks ago
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.

> 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@oss.qualcomm.com>
> ---
> Patch v1: https://lore.kernel.org/all/20251114055639.1050-1-jianping.li@oss.qualcomm.com/
> 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?

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?


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.

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
>
Re: [PATCH v2] arm64: dts: qcom: kodiak: Add memory region for audiopd
Posted by Jianping Li 2 months, 2 weeks ago
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@oss.qualcomm.com>
>> ---
>> Patch v1: https://lore.kernel.org/all/20251114055639.1050-1-jianping.li@oss.qualcomm.com/
>> 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
>>
Re: [PATCH v2] arm64: dts: qcom: kodiak: Add memory region for audiopd
Posted by Bjorn Andersson 2 months, 2 weeks ago
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@oss.qualcomm.com>
> > > ---
> > > Patch v1: https://lore.kernel.org/all/20251114055639.1050-1-jianping.li@oss.qualcomm.com/
> > > 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
> > >