* [PATCH v2] arm64: dts: qcom: sc8280xp: Mark FastRPC context banks as dma-coherent
@ 2026-09-09 7:51 Xilin Wu
2026-09-09 7:58 ` sashiko-bot
0 siblings, 1 reply; 2+ messages in thread
From: Xilin Wu @ 2026-09-09 7:51 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Xilin Wu
The FastRPC context banks are DMA-coherent on SC8280XP. Describe this in
the device tree so that the DMA API uses the appropriate coherency
attributes for their mappings.
When FastRPC allocates shared buffers from the system DMA heap, the
missing property can cause intermittent failures while loading DSP
libraries. Both fastrpc_test and the QAIRT platform validator can fail
with DSP loader errors such as "mmap hdrs failed" and "bad address".
Mark the ADSP and CDSP FastRPC context banks as dma-coherent to fix these
failures and allow QAIRT applications to run on the CDSP.
Signed-off-by: Xilin Wu <sophon@radxa.com>
---
Changes in v2:
- Rebased onto v7.3-rc2
- Rephrase commit message
- Link to v1: https://patch.msgid.link/20260507-sc8280xp-fastrpc-dma-coherent-v1-1-e92aed797865@radxa.com
To: Bjorn Andersson <andersson@kernel.org>
To: Konrad Dybcio <konradybcio@kernel.org>
To: Rob Herring <robh@kernel.org>
To: Krzysztof Kozlowski <krzk+dt@kernel.org>
To: Conor Dooley <conor+dt@kernel.org>
Cc: linux-arm-msm@vger.kernel.org
Cc: devicetree@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
---
arch/arm64/boot/dts/qcom/sc8280xp.dtsi | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
index fbcfd3883bbb..dfe7dbaebe62 100644
--- a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
@@ -2910,18 +2910,21 @@ compute-cb@1 {
compatible = "qcom,fastrpc-compute-cb";
reg = <1>;
iommus = <&apps_smmu 0x0521 0x0>;
+ dma-coherent;
};
compute-cb@2 {
compatible = "qcom,fastrpc-compute-cb";
reg = <2>;
iommus = <&apps_smmu 0x0522 0x0>;
+ dma-coherent;
};
compute-cb@3 {
compatible = "qcom,fastrpc-compute-cb";
reg = <3>;
iommus = <&apps_smmu 0x0523 0x0>;
+ dma-coherent;
};
};
};
@@ -6235,84 +6238,98 @@ compute-cb@1 {
compatible = "qcom,fastrpc-compute-cb";
reg = <1>;
iommus = <&apps_smmu 0x3181 0x0420>;
+ dma-coherent;
};
compute-cb@2 {
compatible = "qcom,fastrpc-compute-cb";
reg = <2>;
iommus = <&apps_smmu 0x3182 0x0420>;
+ dma-coherent;
};
compute-cb@3 {
compatible = "qcom,fastrpc-compute-cb";
reg = <3>;
iommus = <&apps_smmu 0x3183 0x0420>;
+ dma-coherent;
};
compute-cb@4 {
compatible = "qcom,fastrpc-compute-cb";
reg = <4>;
iommus = <&apps_smmu 0x3184 0x0420>;
+ dma-coherent;
};
compute-cb@5 {
compatible = "qcom,fastrpc-compute-cb";
reg = <5>;
iommus = <&apps_smmu 0x3185 0x0420>;
+ dma-coherent;
};
compute-cb@6 {
compatible = "qcom,fastrpc-compute-cb";
reg = <6>;
iommus = <&apps_smmu 0x3186 0x0420>;
+ dma-coherent;
};
compute-cb@7 {
compatible = "qcom,fastrpc-compute-cb";
reg = <7>;
iommus = <&apps_smmu 0x3187 0x0420>;
+ dma-coherent;
};
compute-cb@8 {
compatible = "qcom,fastrpc-compute-cb";
reg = <8>;
iommus = <&apps_smmu 0x3188 0x0420>;
+ dma-coherent;
};
compute-cb@9 {
compatible = "qcom,fastrpc-compute-cb";
reg = <9>;
iommus = <&apps_smmu 0x318b 0x0420>;
+ dma-coherent;
};
compute-cb@10 {
compatible = "qcom,fastrpc-compute-cb";
reg = <10>;
iommus = <&apps_smmu 0x318b 0x0420>;
+ dma-coherent;
};
compute-cb@11 {
compatible = "qcom,fastrpc-compute-cb";
reg = <11>;
iommus = <&apps_smmu 0x318c 0x0420>;
+ dma-coherent;
};
compute-cb@12 {
compatible = "qcom,fastrpc-compute-cb";
reg = <12>;
iommus = <&apps_smmu 0x318d 0x0420>;
+ dma-coherent;
};
compute-cb@13 {
compatible = "qcom,fastrpc-compute-cb";
reg = <13>;
iommus = <&apps_smmu 0x318e 0x0420>;
+ dma-coherent;
};
compute-cb@14 {
compatible = "qcom,fastrpc-compute-cb";
reg = <14>;
iommus = <&apps_smmu 0x318f 0x0420>;
+ dma-coherent;
};
};
};
---
base-commit: df2908090cda368b01ff43709f51890076c56157
change-id: 20260507-sc8280xp-fastrpc-dma-coherent-460cefa58dbb
Best regards,
--
Xilin Wu <sophon@radxa.com>
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH v2] arm64: dts: qcom: sc8280xp: Mark FastRPC context banks as dma-coherent
2026-09-09 7:51 [PATCH v2] arm64: dts: qcom: sc8280xp: Mark FastRPC context banks as dma-coherent Xilin Wu
@ 2026-09-09 7:58 ` sashiko-bot
0 siblings, 0 replies; 2+ messages in thread
From: sashiko-bot @ 2026-09-09 7:58 UTC (permalink / raw)
To: Xilin Wu; +Cc: conor+dt, robh, devicetree
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] The patch modifies the SDSP (Sensor DSP) context banks instead of the ADSP (Audio DSP) context banks, contradicting the commit message and leaving the ADSP context banks without the intended fix.
--
commit 38a25d40245dd18744b644c71b8689bfd5e22715
Author: Xilin Wu <sophon@radxa.com>
arm64: dts: qcom: sc8280xp: Mark FastRPC context banks as dma-coherent
The FastRPC context banks are DMA-coherent on SC8280XP. Describe this in
the device tree so that the DMA API uses the appropriate coherency
attributes for their mappings.
Link: https://patch.msgid.link/20260507-sc8280xp-fastrpc-dma-coherent-v1-1-e92aed797865@radxa.com
> diff --git a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
> index fbcfd3883bbb4..dfe7dbaebe62d 100644
> --- a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
> @@ -2910,18 +2910,21 @@ compute-cb@1 {
> compatible = "qcom,fastrpc-compute-cb";
> reg = <1>;
> iommus = <&apps_smmu 0x0521 0x0>;
> + dma-coherent;
> };
>
> compute-cb@2 {
> compatible = "qcom,fastrpc-compute-cb";
> reg = <2>;
> iommus = <&apps_smmu 0x0522 0x0>;
> + dma-coherent;
> };
>
> compute-cb@3 {
> compatible = "qcom,fastrpc-compute-cb";
> reg = <3>;
> iommus = <&apps_smmu 0x0523 0x0>;
> + dma-coherent;
> };
> };
> };
[Severity: Medium]
Are these changes modifying the SDSP context banks instead of the ADSP banks?
The commit message states:
"Mark the ADSP and CDSP FastRPC context banks as dma-coherent to fix these
failures and allow QAIRT applications to run on the CDSP."
However, this block of changes in arch/arm64/boot/dts/qcom/sc8280xp.dtsi is
under the slpi remoteproc node, which corresponds to the SDSP
(label = "sdsp").
The actual ADSP context banks under remoteproc_adsp appear to have been
missed by this patch:
arch/arm64/boot/dts/qcom/sc8280xp.dtsi:
remoteproc_adsp: remoteproc@3000000 {
...
fastrpc {
label = "adsp";
...
compute-cb@3 {
compatible = "qcom,fastrpc-compute-cb";
reg = <3>;
iommus = <&apps_smmu 0x0c03 0x0>;
};
Could it be that the dma-coherent property was mistakenly added to the SDSP
banks instead of the ADSP banks? Or is it intended for the SDSP banks to also
receive this property, while the ADSP banks were inadvertently left out?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260909-sc8280xp-fastrpc-dma-coherent-v2-1-a112abfd41b4@radxa.com?part=1
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-09-09 7:58 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-09 7:51 [PATCH v2] arm64: dts: qcom: sc8280xp: Mark FastRPC context banks as dma-coherent Xilin Wu
2026-09-09 7:58 ` sashiko-bot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox