* [PATCH v1] arm64: dts: qcom: talos: Make the ADSP remote heap no-map
@ 2026-10-14 8:38 Jianping Li
2026-10-14 9:07 ` Konrad Dybcio
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Jianping Li @ 2026-10-14 8:38 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio
Cc: Jianping Li, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
linux-arm-msm, devicetree, linux-kernel, ekansh.gupta,
quic_chennak
The ADSP remote heap is declared as a reusable CMA pool. FastRPC
assigns the entire region to the DSP through qcom_scm_assign_mem()
during probe without allocating the pages from CMA. Consequently,
the pages remain available for movable HLOS allocations even after
HLOS access to the region has been revoked.
On Talos, GPU stress testing triggers a synchronous external abort
when zram accesses pages within the ADSP remote heap.
Replace reusable with no-map to prevent the region from being reused
for normal kernel allocations and exclude it from the kernel's
standard memory mapping.
Fixes: b0b51a5f1911f ("arm64: dts: qcom: talos: Add memory-region for audio PD")
Link: https://lore.kernel.org/all/20260424-talosaudio-v3-1-9e2ad5d78a2e@oss.qualcomm.com/
Signed-off-by: Jianping Li <jianping.li@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/talos.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/qcom/talos.dtsi b/arch/arm64/boot/dts/qcom/talos.dtsi
index 8ed6f2755705..b14952b57d6a 100644
--- a/arch/arm64/boot/dts/qcom/talos.dtsi
+++ b/arch/arm64/boot/dts/qcom/talos.dtsi
@@ -682,7 +682,7 @@ pil_gpu_mem: pil-gpu@97715000 {
adsp_rpc_remote_heap_mem: adsp-rpc-remote-heap {
compatible = "shared-dma-pool";
alloc-ranges = <0x0 0x80000000 0x0 0x80000000>;
- reusable;
+ no-map;
alignment = <0x0 0x400000>;
size = <0x0 0x800000>;
};
--
2.43.0
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH v1] arm64: dts: qcom: talos: Make the ADSP remote heap no-map
2026-10-14 8:38 [PATCH v1] arm64: dts: qcom: talos: Make the ADSP remote heap no-map Jianping Li
@ 2026-10-14 9:07 ` Konrad Dybcio
2026-10-14 9:10 ` Ekansh Gupta
2026-10-14 16:41 ` Val Packett
2 siblings, 0 replies; 4+ messages in thread
From: Konrad Dybcio @ 2026-10-14 9:07 UTC (permalink / raw)
To: Jianping Li, Bjorn Andersson, Konrad Dybcio
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-arm-msm,
devicetree, linux-kernel, ekansh.gupta, quic_chennak
On 10/14/26 10:38 AM, Jianping Li wrote:
> The ADSP remote heap is declared as a reusable CMA pool. FastRPC
> assigns the entire region to the DSP through qcom_scm_assign_mem()
> during probe without allocating the pages from CMA. Consequently,
> the pages remain available for movable HLOS allocations even after
> HLOS access to the region has been revoked.
>
> On Talos, GPU stress testing triggers a synchronous external abort
> when zram accesses pages within the ADSP remote heap.
>
> Replace reusable with no-map to prevent the region from being reused
> for normal kernel allocations and exclude it from the kernel's
> standard memory mapping.
>
> Fixes: b0b51a5f1911f ("arm64: dts: qcom: talos: Add memory-region for audio PD")
> Link: https://lore.kernel.org/all/20260424-talosaudio-v3-1-9e2ad5d78a2e@oss.qualcomm.com/
> Signed-off-by: Jianping Li <jianping.li@oss.qualcomm.com>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH v1] arm64: dts: qcom: talos: Make the ADSP remote heap no-map
2026-10-14 8:38 [PATCH v1] arm64: dts: qcom: talos: Make the ADSP remote heap no-map Jianping Li
2026-10-14 9:07 ` Konrad Dybcio
@ 2026-10-14 9:10 ` Ekansh Gupta
2026-10-14 16:41 ` Val Packett
2 siblings, 0 replies; 4+ messages in thread
From: Ekansh Gupta @ 2026-10-14 9:10 UTC (permalink / raw)
To: Jianping Li, Bjorn Andersson, Konrad Dybcio
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-arm-msm,
devicetree, linux-kernel, quic_chennak
On 14-10-2026 14:08, Jianping Li wrote:
> The ADSP remote heap is declared as a reusable CMA pool. FastRPC
> assigns the entire region to the DSP through qcom_scm_assign_mem()
> during probe without allocating the pages from CMA. Consequently,
> the pages remain available for movable HLOS allocations even after
> HLOS access to the region has been revoked.
>
> On Talos, GPU stress testing triggers a synchronous external abort
> when zram accesses pages within the ADSP remote heap.
>
> Replace reusable with no-map to prevent the region from being reused
> for normal kernel allocations and exclude it from the kernel's
> standard memory mapping.
>
> Fixes: b0b51a5f1911f ("arm64: dts: qcom: talos: Add memory-region for audio PD")
> Link: https://lore.kernel.org/all/20260424-talosaudio-v3-1-9e2ad5d78a2e@oss.qualcomm.com/
> Signed-off-by: Jianping Li <jianping.li@oss.qualcomm.com>
> ---
> arch/arm64/boot/dts/qcom/talos.dtsi | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/talos.dtsi b/arch/arm64/boot/dts/qcom/talos.dtsi
> index 8ed6f2755705..b14952b57d6a 100644
> --- a/arch/arm64/boot/dts/qcom/talos.dtsi
> +++ b/arch/arm64/boot/dts/qcom/talos.dtsi
> @@ -682,7 +682,7 @@ pil_gpu_mem: pil-gpu@97715000 {
> adsp_rpc_remote_heap_mem: adsp-rpc-remote-heap {
> compatible = "shared-dma-pool";
> alloc-ranges = <0x0 0x80000000 0x0 0x80000000>;
> - reusable;
> + no-map;
> alignment = <0x0 0x400000>;
> size = <0x0 0x800000>;
> };
Reviewed-by: Ekansh Gupta <ekansh.gupta@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH v1] arm64: dts: qcom: talos: Make the ADSP remote heap no-map
2026-10-14 8:38 [PATCH v1] arm64: dts: qcom: talos: Make the ADSP remote heap no-map Jianping Li
2026-10-14 9:07 ` Konrad Dybcio
2026-10-14 9:10 ` Ekansh Gupta
@ 2026-10-14 16:41 ` Val Packett
2 siblings, 0 replies; 4+ messages in thread
From: Val Packett @ 2026-10-14 16:41 UTC (permalink / raw)
To: Jianping Li, Bjorn Andersson, Konrad Dybcio
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-arm-msm,
devicetree, linux-kernel, ekansh.gupta, quic_chennak
On 10/14/26 5:38 AM, Jianping Li wrote:
> The ADSP remote heap is declared as a reusable CMA pool. FastRPC
> assigns the entire region to the DSP through qcom_scm_assign_mem()
> during probe without allocating the pages from CMA. Consequently,
> the pages remain available for movable HLOS allocations even after
> HLOS access to the region has been revoked.
>
> On Talos, GPU stress testing triggers a synchronous external abort
> when zram accesses pages within the ADSP remote heap.
>
> Replace reusable with no-map to prevent the region from being reused
> for normal kernel allocations and exclude it from the kernel's
> standard memory mapping.
>
> Fixes: b0b51a5f1911f ("arm64: dts: qcom: talos: Add memory-region for audio PD")
> Link: https://lore.kernel.org/all/20260424-talosaudio-v3-1-9e2ad5d78a2e@oss.qualcomm.com/
> Signed-off-by: Jianping Li <jianping.li@oss.qualcomm.com>
> ---
> arch/arm64/boot/dts/qcom/talos.dtsi | 2 +-
This also applies to: glymur, agatti, sm8250, kodiak, sm8750.. (at least
those I've found by grepping for the adsp_rpc_remote_heap_mem label)
I've been hitting the SEA on a kodiak phone (sm7325-motorola-dubai)
constantly with just light everyday usage:
Internal error: synchronous external abort: 0000000096000010 [#1] SMP
CPU: 7 UID: 10000 PID: 26485 Comm: pool-24 Tainted: G M W
7.3.0-rc6-next-20261009-uwu+ #167 PREEMPT(full)
Tainted: [M]=MACHINE_CHECK, [W]=WARN
Hardware name: motorola Motorola Edge 30 (Tianma)/Motorola Edge 30
(Tianma), BIOS 2026.07-gca7686425f32-dirty 07/01/2026
pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : clear_page+0x30/0x70
lr : prep_new_page+0x94/0x178 ...
Call trace:
clear_page+0x30/0x70 (P)
get_page_from_freelist+0x1bd8/0x1c00
__alloc_frozen_pages_noprof+0x1cc/0x3f8
alloc_pages_mpol+0x124/0x210
vma_alloc_folio_noprof+0x124/0x200
vma_alloc_zeroed_movable_folio+0x3c/0x50
do_pte_missing+0x9e0/0xf80
...
This no-map does seem to fix it.
Thanks,
~val
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-10-14 16:41 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-14 8:38 [PATCH v1] arm64: dts: qcom: talos: Make the ADSP remote heap no-map Jianping Li
2026-10-14 9:07 ` Konrad Dybcio
2026-10-14 9:10 ` Ekansh Gupta
2026-10-14 16:41 ` Val Packett
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®