* [PATCH v5 0/5] arm64: dts: qcom: sdm630/660 FastRPC fixes
@ 2026-04-29 9:30 Nickolay Goppen
2026-04-29 9:30 ` [PATCH v5 1/5] dt-bindings: firmware: qcom: scm: add CP_ADSP_SHARED VMID Nickolay Goppen
` (5 more replies)
0 siblings, 6 replies; 7+ messages in thread
From: Nickolay Goppen @ 2026-04-29 9:30 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: Nickolay Goppen, Ekansh Gupta, linux-arm-msm, devicetree,
linux-kernel, ~postmarketos/upstreaming, Konrad Dybcio,
Konrad Dybcio, Krzysztof Kozlowski, Dmitry Baryshkov, stable
This series introduces fixes that make FastRPC on SDM660 work properly.
Currently only the calculator_example test passes on both ADSP and
CDSP [1].
Also assign adsp_mem region to the ADSP's FastRPC node.
[1]: https://github.com/qualcomm/fastrpc/issues/269#issuecomment-4232125297
Signed-off-by: Nickolay Goppen <setotau@mainlining.org>
---
Changes in v5:
- Changed alloc-ranges of adsp_mem (Konrad Dybcio)
- Reordered patches
- Link to v4: https://patch.msgid.link/20260424-qcom-sdm660-cdsp-adsp-fastrpc-dts-fix-v4-0-ee5257646472@mainlining.org
Changes in v4:
- Added CP_ADSP_SHARED VMID to dt-bindings (Ekansh Gupta and Konrad Dybcio)
- Added Fixes tags
- Link to v3: https://patch.msgid.link/20260422-qcom-sdm660-cdsp-adsp-fastrpc-dts-fix-v3-0-274ba3715db0@mainlining.org
Changes in v3:
- Brought back patch that changed adsp_mem to reusable (Ekansh Gupta)
- Changed adsp_mem to dynamic allocation (Ekansh Gupta)
- Fixed alignment of the vmids property of adsp
- Link to v2: https://patch.msgid.link/20260420-qcom-sdm660-cdsp-adsp-fastrpc-dts-fix-v2-0-f6c7ab3c889a@mainlining.org
Changes in v2:
- Dropped patch that changed adsp_mem to reusable
- Added vmids to fastrpc subnode of adsp (Ekansh Gupta)
- Link to v1: https://patch.msgid.link/20260415-qcom-sdm660-cdsp-adsp-fastrpc-dts-fix-v1-0-03b475b29554@mainlining.org
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>
To: Nickolay Goppen <setotau@mainlining.org>
Cc: Ekansh Gupta <ekansh.gupta@oss.qualcomm.com>
Cc: linux-arm-msm@vger.kernel.org
Cc: devicetree@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: ~postmarketos/upstreaming@lists.sr.ht
Cc: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Cc: Konrad Dybcio <konradybcio@gmail.com>
---
Nickolay Goppen (5):
dt-bindings: firmware: qcom: scm: add CP_ADSP_SHARED VMID
arm64: dts: qcom: sdm660: set cdsp compute-cbs' regs properly
arm64: dts: qcom: sdm630: set adsp compute-cbs' regs properly
arm64: dts: qcom: sdm630: describe adsp_mem region properly
arm64: dts: qcom: sdm630: assign adsp_mem region to ADSP FastRPC node
arch/arm64/boot/dts/qcom/sdm630.dtsi | 28 +++++++++++++++----------
arch/arm64/boot/dts/qcom/sdm660.dtsi | 36 ++++++++++++++++-----------------
include/dt-bindings/firmware/qcom,scm.h | 1 +
3 files changed, 36 insertions(+), 29 deletions(-)
---
base-commit: 5a154741a8271f2db906ed4c33a55a1c83e84da1
change-id: 20260415-qcom-sdm660-cdsp-adsp-fastrpc-dts-fix-d0ca7632045a
Best regards,
--
Nickolay Goppen <setotau@mainlining.org>
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v5 1/5] dt-bindings: firmware: qcom: scm: add CP_ADSP_SHARED VMID
2026-04-29 9:30 [PATCH v5 0/5] arm64: dts: qcom: sdm630/660 FastRPC fixes Nickolay Goppen
@ 2026-04-29 9:30 ` Nickolay Goppen
2026-04-29 9:30 ` [PATCH v5 2/5] arm64: dts: qcom: sdm660: set cdsp compute-cbs' regs properly Nickolay Goppen
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Nickolay Goppen @ 2026-04-29 9:30 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: Nickolay Goppen, Ekansh Gupta, linux-arm-msm, devicetree,
linux-kernel, ~postmarketos/upstreaming, Konrad Dybcio,
Konrad Dybcio, Krzysztof Kozlowski
CP_ADSP_SHARED is used in FastRPC driver for older SoC's such as sdm660
for interacting with ADSP memory region [1]
[1]: https://github.com/xiaomi-sdm660/android_kernel_xiaomi_sdm660/blob/11-EAS/drivers/char/adsprpc.c#L3602
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Signed-off-by: Nickolay Goppen <setotau@mainlining.org>
---
include/dt-bindings/firmware/qcom,scm.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/dt-bindings/firmware/qcom,scm.h b/include/dt-bindings/firmware/qcom,scm.h
index 6de8b08e1e79..0d29d8d4829c 100644
--- a/include/dt-bindings/firmware/qcom,scm.h
+++ b/include/dt-bindings/firmware/qcom,scm.h
@@ -35,5 +35,6 @@
#define QCOM_SCM_VMID_NAV 0x2B
#define QCOM_SCM_VMID_TVM 0x2D
#define QCOM_SCM_VMID_OEMVM 0x31
+#define QCOM_SCM_VMID_CP_ADSP_SHARED 0x33
#endif
--
2.54.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v5 2/5] arm64: dts: qcom: sdm660: set cdsp compute-cbs' regs properly
2026-04-29 9:30 [PATCH v5 0/5] arm64: dts: qcom: sdm630/660 FastRPC fixes Nickolay Goppen
2026-04-29 9:30 ` [PATCH v5 1/5] dt-bindings: firmware: qcom: scm: add CP_ADSP_SHARED VMID Nickolay Goppen
@ 2026-04-29 9:30 ` Nickolay Goppen
2026-04-29 9:30 ` [PATCH v5 3/5] arm64: dts: qcom: sdm630: set adsp " Nickolay Goppen
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Nickolay Goppen @ 2026-04-29 9:30 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: Nickolay Goppen, Ekansh Gupta, linux-arm-msm, devicetree,
linux-kernel, ~postmarketos/upstreaming, Konrad Dybcio,
Konrad Dybcio, Dmitry Baryshkov
Changing FastRPC compute-cbs' reg values to matching iommu streams
solves SMMU translation errors when trying to use FastRPC on CDSP
so change FastRPC compute-cbs' reg values that way
Fixes: c0c32a9e3493 ("arm64: dts: qcom: sdm630/660: Add CDSP-related nodes")
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Ekansh Gupta <ekansh.gupta@oss.qualcomm.com>
Signed-off-by: Nickolay Goppen <setotau@mainlining.org>
---
arch/arm64/boot/dts/qcom/sdm660.dtsi | 36 ++++++++++++++++++------------------
1 file changed, 18 insertions(+), 18 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/sdm660.dtsi b/arch/arm64/boot/dts/qcom/sdm660.dtsi
index 3fd6dd82a992..0fca9662c64a 100644
--- a/arch/arm64/boot/dts/qcom/sdm660.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm660.dtsi
@@ -350,57 +350,57 @@ fastrpc {
#address-cells = <1>;
#size-cells = <0>;
- compute-cb@5 {
+ compute-cb@3 {
compatible = "qcom,fastrpc-compute-cb";
- reg = <5>;
+ reg = <3>;
iommus = <&cdsp_smmu 3>;
};
- compute-cb@6 {
+ compute-cb@4 {
compatible = "qcom,fastrpc-compute-cb";
- reg = <6>;
+ reg = <4>;
iommus = <&cdsp_smmu 4>;
};
- compute-cb@7 {
+ compute-cb@5 {
compatible = "qcom,fastrpc-compute-cb";
- reg = <7>;
+ reg = <5>;
iommus = <&cdsp_smmu 5>;
};
- compute-cb@8 {
+ compute-cb@6 {
compatible = "qcom,fastrpc-compute-cb";
- reg = <8>;
+ reg = <6>;
iommus = <&cdsp_smmu 6>;
};
- compute-cb@9 {
+ compute-cb@7 {
compatible = "qcom,fastrpc-compute-cb";
- reg = <9>;
+ reg = <7>;
iommus = <&cdsp_smmu 7>;
};
- compute-cb@10 {
+ compute-cb@8 {
compatible = "qcom,fastrpc-compute-cb";
- reg = <10>;
+ reg = <8>;
iommus = <&cdsp_smmu 8>;
};
- compute-cb@11 {
+ compute-cb@9 {
compatible = "qcom,fastrpc-compute-cb";
- reg = <11>;
+ reg = <9>;
iommus = <&cdsp_smmu 9>;
};
- compute-cb@12 {
+ compute-cb@10 {
compatible = "qcom,fastrpc-compute-cb";
- reg = <12>;
+ reg = <10>;
iommus = <&cdsp_smmu 10>;
};
- compute-cb@13 {
+ compute-cb@11 {
compatible = "qcom,fastrpc-compute-cb";
- reg = <13>;
+ reg = <11>;
iommus = <&cdsp_smmu 11>;
};
};
--
2.54.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v5 3/5] arm64: dts: qcom: sdm630: set adsp compute-cbs' regs properly
2026-04-29 9:30 [PATCH v5 0/5] arm64: dts: qcom: sdm630/660 FastRPC fixes Nickolay Goppen
2026-04-29 9:30 ` [PATCH v5 1/5] dt-bindings: firmware: qcom: scm: add CP_ADSP_SHARED VMID Nickolay Goppen
2026-04-29 9:30 ` [PATCH v5 2/5] arm64: dts: qcom: sdm660: set cdsp compute-cbs' regs properly Nickolay Goppen
@ 2026-04-29 9:30 ` Nickolay Goppen
2026-04-29 9:30 ` [PATCH v5 4/5] arm64: dts: qcom: sdm630: describe adsp_mem region properly Nickolay Goppen
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Nickolay Goppen @ 2026-04-29 9:30 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: Nickolay Goppen, Ekansh Gupta, linux-arm-msm, devicetree,
linux-kernel, ~postmarketos/upstreaming, Konrad Dybcio,
Konrad Dybcio, Dmitry Baryshkov
Changing FastRPC compute-cbs' reg values to matching iommu streams
solves SMMU translation errors when trying to use FastRPC on ADSP
so change FastRPC compute-cbs' reg values that way
Fixes: af2ce7296643 ("arm64: dts: qcom: sdm630: Add FastRPC nodes to ADSP")
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Ekansh Gupta <ekansh.gupta@oss.qualcomm.com>
Signed-off-by: Nickolay Goppen <setotau@mainlining.org>
---
arch/arm64/boot/dts/qcom/sdm630.dtsi | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/sdm630.dtsi b/arch/arm64/boot/dts/qcom/sdm630.dtsi
index bef3213165d6..4b47efdb57b2 100644
--- a/arch/arm64/boot/dts/qcom/sdm630.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm630.dtsi
@@ -2459,27 +2459,27 @@ fastrpc {
#address-cells = <1>;
#size-cells = <0>;
- compute-cb@1 {
+ compute-cb@3 {
compatible = "qcom,fastrpc-compute-cb";
- reg = <1>;
+ reg = <3>;
iommus = <&lpass_smmu 3>;
};
- compute-cb@2 {
+ compute-cb@7 {
compatible = "qcom,fastrpc-compute-cb";
- reg = <2>;
+ reg = <7>;
iommus = <&lpass_smmu 7>;
};
- compute-cb@3 {
+ compute-cb@8 {
compatible = "qcom,fastrpc-compute-cb";
- reg = <3>;
+ reg = <8>;
iommus = <&lpass_smmu 8>;
};
- compute-cb@4 {
+ compute-cb@9 {
compatible = "qcom,fastrpc-compute-cb";
- reg = <4>;
+ reg = <9>;
iommus = <&lpass_smmu 9>;
};
};
--
2.54.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v5 4/5] arm64: dts: qcom: sdm630: describe adsp_mem region properly
2026-04-29 9:30 [PATCH v5 0/5] arm64: dts: qcom: sdm630/660 FastRPC fixes Nickolay Goppen
` (2 preceding siblings ...)
2026-04-29 9:30 ` [PATCH v5 3/5] arm64: dts: qcom: sdm630: set adsp " Nickolay Goppen
@ 2026-04-29 9:30 ` Nickolay Goppen
2026-04-29 9:30 ` [PATCH v5 5/5] arm64: dts: qcom: sdm630: assign adsp_mem region to ADSP FastRPC node Nickolay Goppen
2026-05-12 20:23 ` [PATCH v5 0/5] arm64: dts: qcom: sdm630/660 FastRPC fixes Bjorn Andersson
5 siblings, 0 replies; 7+ messages in thread
From: Nickolay Goppen @ 2026-04-29 9:30 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: Nickolay Goppen, Ekansh Gupta, linux-arm-msm, devicetree,
linux-kernel, ~postmarketos/upstreaming, Konrad Dybcio,
Konrad Dybcio, stable, Dmitry Baryshkov
Downstream [1] this region is marked as shared, reusable and dynamic so
describe it that way.
[1]: https://github.com/xiaomi-sdm660/android_kernel_xiaomi_sdm660/blob/11-EAS/arch/arm/boot/dts/qcom/sdm660.dtsi#L448
Fixes: b190fb010664 ("arm64: dts: qcom: sdm630: Add sdm630 dts file")
Cc: stable@vger.kernel.org
Reviewed-by: Ekansh Gupta <ekansh.gupta@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Nickolay Goppen <setotau@mainlining.org>
---
arch/arm64/boot/dts/qcom/sdm630.dtsi | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/sdm630.dtsi b/arch/arm64/boot/dts/qcom/sdm630.dtsi
index 4b47efdb57b2..252c301f0156 100644
--- a/arch/arm64/boot/dts/qcom/sdm630.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm630.dtsi
@@ -494,9 +494,12 @@ venus_region: venus@9f800000 {
no-map;
};
- adsp_mem: adsp-region@f6000000 {
- reg = <0x0 0xf6000000 0x0 0x800000>;
- no-map;
+ adsp_mem: adsp-region {
+ compatible = "shared-dma-pool";
+ alloc-ranges = <0x0 0x80000000 0x0 0x80000000>;
+ alignment = <0x0 0x400000>;
+ size = <0x0 0x800000>;
+ reusable;
};
qseecom_mem: qseecom-region@f6800000 {
--
2.54.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v5 5/5] arm64: dts: qcom: sdm630: assign adsp_mem region to ADSP FastRPC node
2026-04-29 9:30 [PATCH v5 0/5] arm64: dts: qcom: sdm630/660 FastRPC fixes Nickolay Goppen
` (3 preceding siblings ...)
2026-04-29 9:30 ` [PATCH v5 4/5] arm64: dts: qcom: sdm630: describe adsp_mem region properly Nickolay Goppen
@ 2026-04-29 9:30 ` Nickolay Goppen
2026-05-12 20:23 ` [PATCH v5 0/5] arm64: dts: qcom: sdm630/660 FastRPC fixes Bjorn Andersson
5 siblings, 0 replies; 7+ messages in thread
From: Nickolay Goppen @ 2026-04-29 9:30 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: Nickolay Goppen, Ekansh Gupta, linux-arm-msm, devicetree,
linux-kernel, ~postmarketos/upstreaming, Konrad Dybcio,
Konrad Dybcio, Dmitry Baryshkov
Downstream [1] ADSP FastRPC node has the adsp_mem region assigned, so
assign it to the ADSP FastRPC node.
[1]: https://github.com/xiaomi-sdm660/android_kernel_xiaomi_sdm660/blob/11-EAS/arch/arm/boot/dts/qcom/sdm660.dtsi#L1693
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Ekansh Gupta <ekansh.gupta@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Nickolay Goppen <setotau@mainlining.org>
---
arch/arm64/boot/dts/qcom/sdm630.dtsi | 3 +++
1 file changed, 3 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sdm630.dtsi b/arch/arm64/boot/dts/qcom/sdm630.dtsi
index 252c301f0156..a41ba0da380b 100644
--- a/arch/arm64/boot/dts/qcom/sdm630.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm630.dtsi
@@ -2458,6 +2458,9 @@ fastrpc {
compatible = "qcom,fastrpc";
qcom,glink-channels = "fastrpcglink-apps-dsp";
label = "adsp";
+ memory-region = <&adsp_mem>;
+ qcom,vmids = <QCOM_SCM_VMID_HLOS
+ QCOM_SCM_VMID_CP_ADSP_SHARED>;
qcom,non-secure-domain;
#address-cells = <1>;
#size-cells = <0>;
--
2.54.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v5 0/5] arm64: dts: qcom: sdm630/660 FastRPC fixes
2026-04-29 9:30 [PATCH v5 0/5] arm64: dts: qcom: sdm630/660 FastRPC fixes Nickolay Goppen
` (4 preceding siblings ...)
2026-04-29 9:30 ` [PATCH v5 5/5] arm64: dts: qcom: sdm630: assign adsp_mem region to ADSP FastRPC node Nickolay Goppen
@ 2026-05-12 20:23 ` Bjorn Andersson
5 siblings, 0 replies; 7+ messages in thread
From: Bjorn Andersson @ 2026-05-12 20:23 UTC (permalink / raw)
To: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Nickolay Goppen
Cc: Ekansh Gupta, linux-arm-msm, devicetree, linux-kernel,
~postmarketos/upstreaming, Konrad Dybcio, Konrad Dybcio,
Krzysztof Kozlowski, Dmitry Baryshkov, stable
On Wed, 29 Apr 2026 12:30:07 +0300, Nickolay Goppen wrote:
> This series introduces fixes that make FastRPC on SDM660 work properly.
> Currently only the calculator_example test passes on both ADSP and
> CDSP [1].
> Also assign adsp_mem region to the ADSP's FastRPC node.
>
> [1]: https://github.com/qualcomm/fastrpc/issues/269#issuecomment-4232125297
>
> [...]
Applied, thanks!
[1/5] dt-bindings: firmware: qcom: scm: add CP_ADSP_SHARED VMID
commit: db6ae6650cfdf085e21a477c25386125075b2351
[2/5] arm64: dts: qcom: sdm660: set cdsp compute-cbs' regs properly
commit: 708ab9d3bc5b74eeee767c678366624d3c02a4ec
[3/5] arm64: dts: qcom: sdm630: set adsp compute-cbs' regs properly
commit: e8e1fb5c703fc6962103ffdc60830df99351c139
[4/5] arm64: dts: qcom: sdm630: describe adsp_mem region properly
commit: ce414263e9ebe5080381a50cbdf9065c29816202
[5/5] arm64: dts: qcom: sdm630: assign adsp_mem region to ADSP FastRPC node
commit: dc11a2824f059de67f499d2b9be82b602433b848
Best regards,
--
Bjorn Andersson <andersson@kernel.org>
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2026-05-12 20:23 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-29 9:30 [PATCH v5 0/5] arm64: dts: qcom: sdm630/660 FastRPC fixes Nickolay Goppen
2026-04-29 9:30 ` [PATCH v5 1/5] dt-bindings: firmware: qcom: scm: add CP_ADSP_SHARED VMID Nickolay Goppen
2026-04-29 9:30 ` [PATCH v5 2/5] arm64: dts: qcom: sdm660: set cdsp compute-cbs' regs properly Nickolay Goppen
2026-04-29 9:30 ` [PATCH v5 3/5] arm64: dts: qcom: sdm630: set adsp " Nickolay Goppen
2026-04-29 9:30 ` [PATCH v5 4/5] arm64: dts: qcom: sdm630: describe adsp_mem region properly Nickolay Goppen
2026-04-29 9:30 ` [PATCH v5 5/5] arm64: dts: qcom: sdm630: assign adsp_mem region to ADSP FastRPC node Nickolay Goppen
2026-05-12 20:23 ` [PATCH v5 0/5] arm64: dts: qcom: sdm630/660 FastRPC fixes Bjorn Andersson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox