* [PATCH] arm64: dts: qcom: kodiak: avoid EFI overlap for ADSP remote heap
@ 2026-04-23 6:35 Jianping Li
2026-04-23 8:50 ` Konrad Dybcio
0 siblings, 1 reply; 5+ messages in thread
From: Jianping Li @ 2026-04-23 6:35 UTC (permalink / raw)
To: andersson, konradybcio, robh, krzk+dt, conor+dt
Cc: Jianping Li, linux-arm-msm, devicetree, linux-kernel,
ekansh.gupta, stable
On KODIAK platforms boot can fail when the DT "adsp-rpc-remote-heap"
reserved-memory region overlaps with firmware allocations (UEFI/EFI
runtime). The kernel then reports failure to reserve the region and
subsequent EFI runtime activity may trigger aborts.
The remote heap node was described as a fixed "no-map" region, which
turns it into a hard carveout. Replace it with a "shared-dma-pool"
reserved memory region with reusable CMA-backed allocation, specifying
alignment and size.
This avoids hard carveouts and reduces the chance of conflicting with
firmware memory maps while keeping an explicit pool for ADSP remote
heap usage.
Fixes: 90a58ffa9c55 ("arm64: dts: qcom: kodiak: Add memory region for audiopd")
Cc: stable@kernel.org
Signed-off-by: Jianping Li <jianping.li@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/kodiak.dtsi | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/kodiak.dtsi b/arch/arm64/boot/dts/qcom/kodiak.dtsi
index 988ca5f7c8a0..420219823496 100644
--- a/arch/arm64/boot/dts/qcom/kodiak.dtsi
+++ b/arch/arm64/boot/dts/qcom/kodiak.dtsi
@@ -191,9 +191,12 @@ rmtfs_mem: rmtfs@9c900000 {
qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>;
};
- adsp_rpc_remote_heap_mem: adsp-rpc-remote-heap@9cb80000 {
- reg = <0x0 0x9cb80000 0x0 0x800000>;
- no-map;
+ adsp_rpc_remote_heap_mem: adsp-rpc-remote-heap {
+ compatible = "shared-dma-pool";
+ alloc-ranges = <0x0 0x00000000 0x0 0xffffffff>;
+ reusable;
+ alignment = <0x0 0x400000>;
+ size = <0x0 0x800000>;
};
};
--
2.43.0
^ permalink raw reply related [flat|nested] 5+ messages in thread* Re: [PATCH] arm64: dts: qcom: kodiak: avoid EFI overlap for ADSP remote heap
2026-04-23 6:35 [PATCH] arm64: dts: qcom: kodiak: avoid EFI overlap for ADSP remote heap Jianping Li
@ 2026-04-23 8:50 ` Konrad Dybcio
2026-04-23 9:19 ` Ekansh Gupta
0 siblings, 1 reply; 5+ messages in thread
From: Konrad Dybcio @ 2026-04-23 8:50 UTC (permalink / raw)
To: Jianping Li, andersson, konradybcio, robh, krzk+dt, conor+dt
Cc: linux-arm-msm, devicetree, linux-kernel, ekansh.gupta, stable
On 4/23/26 8:35 AM, Jianping Li wrote:
> On KODIAK platforms boot can fail when the DT "adsp-rpc-remote-heap"
> reserved-memory region overlaps with firmware allocations (UEFI/EFI
> runtime). The kernel then reports failure to reserve the region and
> subsequent EFI runtime activity may trigger aborts.
>
> The remote heap node was described as a fixed "no-map" region, which
> turns it into a hard carveout. Replace it with a "shared-dma-pool"
> reserved memory region with reusable CMA-backed allocation, specifying
> alignment and size.
>
> This avoids hard carveouts and reduces the chance of conflicting with
> firmware memory maps while keeping an explicit pool for ADSP remote
> heap usage.
>
> Fixes: 90a58ffa9c55 ("arm64: dts: qcom: kodiak: Add memory region for audiopd")
> Cc: stable@kernel.org
> Signed-off-by: Jianping Li <jianping.li@oss.qualcomm.com>
> ---
> arch/arm64/boot/dts/qcom/kodiak.dtsi | 9 ++++++---
> 1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/kodiak.dtsi b/arch/arm64/boot/dts/qcom/kodiak.dtsi
> index 988ca5f7c8a0..420219823496 100644
> --- a/arch/arm64/boot/dts/qcom/kodiak.dtsi
> +++ b/arch/arm64/boot/dts/qcom/kodiak.dtsi
> @@ -191,9 +191,12 @@ rmtfs_mem: rmtfs@9c900000 {
> qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>;
> };
>
> - adsp_rpc_remote_heap_mem: adsp-rpc-remote-heap@9cb80000 {
> - reg = <0x0 0x9cb80000 0x0 0x800000>;
> - no-map;
> + adsp_rpc_remote_heap_mem: adsp-rpc-remote-heap {
> + compatible = "shared-dma-pool";
> + alloc-ranges = <0x0 0x00000000 0x0 0xffffffff>;
Since DRAM starts at 0x8000_0000, is it intended to only allow this
region to be in the lower 2 gigs?
(it may very well be for some historical reasons)
Konrad
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH] arm64: dts: qcom: kodiak: avoid EFI overlap for ADSP remote heap
2026-04-23 8:50 ` Konrad Dybcio
@ 2026-04-23 9:19 ` Ekansh Gupta
2026-04-23 9:28 ` Konrad Dybcio
0 siblings, 1 reply; 5+ messages in thread
From: Ekansh Gupta @ 2026-04-23 9:19 UTC (permalink / raw)
To: Konrad Dybcio, Jianping Li, andersson, konradybcio, robh, krzk+dt,
conor+dt
Cc: linux-arm-msm, devicetree, linux-kernel, stable
On 23-04-2026 14:20, Konrad Dybcio wrote:
> On 4/23/26 8:35 AM, Jianping Li wrote:
>> On KODIAK platforms boot can fail when the DT "adsp-rpc-remote-heap"
>> reserved-memory region overlaps with firmware allocations (UEFI/EFI
>> runtime). The kernel then reports failure to reserve the region and
>> subsequent EFI runtime activity may trigger aborts.
>>
>> The remote heap node was described as a fixed "no-map" region, which
>> turns it into a hard carveout. Replace it with a "shared-dma-pool"
>> reserved memory region with reusable CMA-backed allocation, specifying
>> alignment and size.
>>
>> This avoids hard carveouts and reduces the chance of conflicting with
>> firmware memory maps while keeping an explicit pool for ADSP remote
>> heap usage.
>>
>> Fixes: 90a58ffa9c55 ("arm64: dts: qcom: kodiak: Add memory region for audiopd")
>> Cc: stable@kernel.org
>> Signed-off-by: Jianping Li <jianping.li@oss.qualcomm.com>
>> ---
>> arch/arm64/boot/dts/qcom/kodiak.dtsi | 9 ++++++---
>> 1 file changed, 6 insertions(+), 3 deletions(-)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/kodiak.dtsi b/arch/arm64/boot/dts/qcom/kodiak.dtsi
>> index 988ca5f7c8a0..420219823496 100644
>> --- a/arch/arm64/boot/dts/qcom/kodiak.dtsi
>> +++ b/arch/arm64/boot/dts/qcom/kodiak.dtsi
>> @@ -191,9 +191,12 @@ rmtfs_mem: rmtfs@9c900000 {
>> qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>;
>> };
>>
>> - adsp_rpc_remote_heap_mem: adsp-rpc-remote-heap@9cb80000 {
>> - reg = <0x0 0x9cb80000 0x0 0x800000>;
>> - no-map;
>> + adsp_rpc_remote_heap_mem: adsp-rpc-remote-heap {
>> + compatible = "shared-dma-pool";
>> + alloc-ranges = <0x0 0x00000000 0x0 0xffffffff>;
>
> Since DRAM starts at 0x8000_0000, is it intended to only allow this
> region to be in the lower 2 gigs?
>
> (it may very well be for some historical reasons)
yes, this is intentional. ADSP supports 32-bit address.
>
> Konrad
>
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH] arm64: dts: qcom: kodiak: avoid EFI overlap for ADSP remote heap
2026-04-23 9:19 ` Ekansh Gupta
@ 2026-04-23 9:28 ` Konrad Dybcio
2026-04-23 9:58 ` Ekansh Gupta
0 siblings, 1 reply; 5+ messages in thread
From: Konrad Dybcio @ 2026-04-23 9:28 UTC (permalink / raw)
To: Ekansh Gupta, Jianping Li, andersson, konradybcio, robh, krzk+dt,
conor+dt
Cc: linux-arm-msm, devicetree, linux-kernel, stable
On 4/23/26 11:19 AM, Ekansh Gupta wrote:
> On 23-04-2026 14:20, Konrad Dybcio wrote:
>> On 4/23/26 8:35 AM, Jianping Li wrote:
>>> On KODIAK platforms boot can fail when the DT "adsp-rpc-remote-heap"
>>> reserved-memory region overlaps with firmware allocations (UEFI/EFI
>>> runtime). The kernel then reports failure to reserve the region and
>>> subsequent EFI runtime activity may trigger aborts.
>>>
>>> The remote heap node was described as a fixed "no-map" region, which
>>> turns it into a hard carveout. Replace it with a "shared-dma-pool"
>>> reserved memory region with reusable CMA-backed allocation, specifying
>>> alignment and size.
>>>
>>> This avoids hard carveouts and reduces the chance of conflicting with
>>> firmware memory maps while keeping an explicit pool for ADSP remote
>>> heap usage.
>>>
>>> Fixes: 90a58ffa9c55 ("arm64: dts: qcom: kodiak: Add memory region for audiopd")
>>> Cc: stable@kernel.org
>>> Signed-off-by: Jianping Li <jianping.li@oss.qualcomm.com>
>>> ---
>>> arch/arm64/boot/dts/qcom/kodiak.dtsi | 9 ++++++---
>>> 1 file changed, 6 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/arch/arm64/boot/dts/qcom/kodiak.dtsi b/arch/arm64/boot/dts/qcom/kodiak.dtsi
>>> index 988ca5f7c8a0..420219823496 100644
>>> --- a/arch/arm64/boot/dts/qcom/kodiak.dtsi
>>> +++ b/arch/arm64/boot/dts/qcom/kodiak.dtsi
>>> @@ -191,9 +191,12 @@ rmtfs_mem: rmtfs@9c900000 {
>>> qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>;
>>> };
>>>
>>> - adsp_rpc_remote_heap_mem: adsp-rpc-remote-heap@9cb80000 {
>>> - reg = <0x0 0x9cb80000 0x0 0x800000>;
>>> - no-map;
>>> + adsp_rpc_remote_heap_mem: adsp-rpc-remote-heap {
>>> + compatible = "shared-dma-pool";
>>> + alloc-ranges = <0x0 0x00000000 0x0 0xffffffff>;
>>
>> Since DRAM starts at 0x8000_0000, is it intended to only allow this
>> region to be in the lower 2 gigs?
>>
>> (it may very well be for some historical reasons)
> yes, this is intentional. ADSP supports 32-bit address.
Okay, so I think this should be one of:
<0x0 0x80000000 0x0 0x80000000>;
(where we directly specify the DRAM start, which may just be form
over function)
or:
<0x0 0x00000000 0x1 0x00000000>;
to cover 0x0000_0000 - 0xffff_ffff
Konrad
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH] arm64: dts: qcom: kodiak: avoid EFI overlap for ADSP remote heap
2026-04-23 9:28 ` Konrad Dybcio
@ 2026-04-23 9:58 ` Ekansh Gupta
0 siblings, 0 replies; 5+ messages in thread
From: Ekansh Gupta @ 2026-04-23 9:58 UTC (permalink / raw)
To: Konrad Dybcio, Jianping Li, andersson, konradybcio, robh, krzk+dt,
conor+dt
Cc: linux-arm-msm, devicetree, linux-kernel, stable
On 23-04-2026 14:58, Konrad Dybcio wrote:
> On 4/23/26 11:19 AM, Ekansh Gupta wrote:
>> On 23-04-2026 14:20, Konrad Dybcio wrote:
>>> On 4/23/26 8:35 AM, Jianping Li wrote:
>>>> On KODIAK platforms boot can fail when the DT "adsp-rpc-remote-heap"
>>>> reserved-memory region overlaps with firmware allocations (UEFI/EFI
>>>> runtime). The kernel then reports failure to reserve the region and
>>>> subsequent EFI runtime activity may trigger aborts.
>>>>
>>>> The remote heap node was described as a fixed "no-map" region, which
>>>> turns it into a hard carveout. Replace it with a "shared-dma-pool"
>>>> reserved memory region with reusable CMA-backed allocation, specifying
>>>> alignment and size.
>>>>
>>>> This avoids hard carveouts and reduces the chance of conflicting with
>>>> firmware memory maps while keeping an explicit pool for ADSP remote
>>>> heap usage.
>>>>
>>>> Fixes: 90a58ffa9c55 ("arm64: dts: qcom: kodiak: Add memory region for audiopd")
>>>> Cc: stable@kernel.org
>>>> Signed-off-by: Jianping Li <jianping.li@oss.qualcomm.com>
>>>> ---
>>>> arch/arm64/boot/dts/qcom/kodiak.dtsi | 9 ++++++---
>>>> 1 file changed, 6 insertions(+), 3 deletions(-)
>>>>
>>>> diff --git a/arch/arm64/boot/dts/qcom/kodiak.dtsi b/arch/arm64/boot/dts/qcom/kodiak.dtsi
>>>> index 988ca5f7c8a0..420219823496 100644
>>>> --- a/arch/arm64/boot/dts/qcom/kodiak.dtsi
>>>> +++ b/arch/arm64/boot/dts/qcom/kodiak.dtsi
>>>> @@ -191,9 +191,12 @@ rmtfs_mem: rmtfs@9c900000 {
>>>> qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>;
>>>> };
>>>>
>>>> - adsp_rpc_remote_heap_mem: adsp-rpc-remote-heap@9cb80000 {
>>>> - reg = <0x0 0x9cb80000 0x0 0x800000>;
>>>> - no-map;
>>>> + adsp_rpc_remote_heap_mem: adsp-rpc-remote-heap {
>>>> + compatible = "shared-dma-pool";
>>>> + alloc-ranges = <0x0 0x00000000 0x0 0xffffffff>;
>>>
>>> Since DRAM starts at 0x8000_0000, is it intended to only allow this
>>> region to be in the lower 2 gigs?
>>>
>>> (it may very well be for some historical reasons)
>> yes, this is intentional. ADSP supports 32-bit address.
>
> Okay, so I think this should be one of:
>
> <0x0 0x80000000 0x0 0x80000000>;
SGTM.
>
> (where we directly specify the DRAM start, which may just be form
> over function)
>
> or:
>
> <0x0 0x00000000 0x1 0x00000000>;
>
> to cover 0x0000_0000 - 0xffff_ffff
>
> Konrad
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-04-23 9:59 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-23 6:35 [PATCH] arm64: dts: qcom: kodiak: avoid EFI overlap for ADSP remote heap Jianping Li
2026-04-23 8:50 ` Konrad Dybcio
2026-04-23 9:19 ` Ekansh Gupta
2026-04-23 9:28 ` Konrad Dybcio
2026-04-23 9:58 ` Ekansh Gupta
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox