summaryrefslogtreecommitdiff
path: root/linux-dragon/0001-arm64-dts-qcom-kodiak-avoid-EFI-overlap-for-ADSP-rem.patch
diff options
context:
space:
mode:
Diffstat (limited to 'linux-dragon/0001-arm64-dts-qcom-kodiak-avoid-EFI-overlap-for-ADSP-rem.patch')
-rw-r--r--linux-dragon/0001-arm64-dts-qcom-kodiak-avoid-EFI-overlap-for-ADSP-rem.patch53
1 files changed, 53 insertions, 0 deletions
diff --git a/linux-dragon/0001-arm64-dts-qcom-kodiak-avoid-EFI-overlap-for-ADSP-rem.patch b/linux-dragon/0001-arm64-dts-qcom-kodiak-avoid-EFI-overlap-for-ADSP-rem.patch
new file mode 100644
index 0000000..d9699f3
--- /dev/null
+++ b/linux-dragon/0001-arm64-dts-qcom-kodiak-avoid-EFI-overlap-for-ADSP-rem.patch
@@ -0,0 +1,53 @@
+From 9d7d847ff1c502802ac764120f9a1800b94ce497 Mon Sep 17 00:00:00 2001
+From: Jianping Li <jianping.li@oss.qualcomm.com>
+Date: Wed, 29 Apr 2026 15:34:43 +0800
+Subject: [PATCH] arm64: dts: qcom: kodiak: avoid EFI overlap for ADSP remote
+ heap
+
+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>
+Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
+Link: https://lore.kernel.org/r/20260429073443.2027-1-jianping.li@oss.qualcomm.com
+Signed-off-by: Bjorn Andersson <andersson@kernel.org>
+---
+ 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 ac048ec9aeb5..7e73348fe0d0 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 0x80000000 0x0 0x80000000>;
++ reusable;
++ alignment = <0x0 0x400000>;
++ size = <0x0 0x800000>;
+ };
+ };
+
+--
+2.55.0
+