* [PATCH v2 1/2] arm64: dts: qcom: kaanapali: add CDSP FastRPC extended context bank
2026-10-07 17:13 [PATCH v2 0/2] arm64: dts: qcom: add CDSP FastRPC extended context bank Vinayak Katoch
@ 2026-10-07 17:13 ` Vinayak Katoch
2026-10-07 17:13 ` [PATCH v2 2/2] arm64: dts: qcom: glymur: " Vinayak Katoch
1 sibling, 0 replies; 3+ messages in thread
From: Vinayak Katoch @ 2026-10-07 17:13 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Abel Vesa, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: Ekansh Gupta, Bharath Kumar, Chenna Kesava Raju, linux-arm-msm,
devicetree, linux-kernel, Vinayak Katoch
Wire up compute-cb@13 as the dedicated extended IOVA context bank by
adding iommu-ranges = <0x4 0x0 0xfc 0x0>, restricting allocations to
the [16 GiB, ~1 TiB) window. This allows large CDSP buffers to be
mapped beyond the standard 34-bit limit.
Bump #address-cells and #size-cells to <2> on the fastrpc and glink
ancestor nodes to accommodate 64-bit iommu-ranges values, and update
all compute-cb reg entries to the four-cell format accordingly.
Signed-off-by: Vinayak Katoch <vinayak.katoch@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/kaanapali.dtsi | 29 +++++++++++++++++------------
1 file changed, 17 insertions(+), 12 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/kaanapali.dtsi b/arch/arm64/boot/dts/qcom/kaanapali.dtsi
index 146eaf9f0b9a..2b00a813414e 100644
--- a/arch/arm64/boot/dts/qcom/kaanapali.dtsi
+++ b/arch/arm64/boot/dts/qcom/kaanapali.dtsi
@@ -6304,6 +6304,8 @@ remoteproc_cdsp: remoteproc@26300000 {
qcom,qmp = <&aoss_qmp>;
qcom,smem-states = <&smp2p_cdsp_out 0>;
qcom,smem-state-names = "stop";
+ #address-cells = <2>;
+ #size-cells = <2>;
status = "disabled";
@@ -6315,17 +6317,19 @@ IPCC_MPROC_SIGNAL_GLINK_QMP
IPCC_MPROC_SIGNAL_GLINK_QMP>;
qcom,remote-pid = <5>;
label = "cdsp";
+ #address-cells = <2>;
+ #size-cells = <2>;
fastrpc {
compatible = "qcom,kaanapali-fastrpc";
qcom,glink-channels = "fastrpcglink-apps-dsp";
label = "cdsp";
- #address-cells = <1>;
- #size-cells = <0>;
+ #address-cells = <2>;
+ #size-cells = <2>;
compute-cb@1 {
compatible = "qcom,fastrpc-compute-cb";
- reg = <1>;
+ reg = <0x0 0x1 0x0 0x0>;
iommus = <&apps_smmu 0x19c1 0x0>,
<&apps_smmu 0x1961 0x0>,
<&apps_smmu 0x0c21 0x0>,
@@ -6335,7 +6339,7 @@ compute-cb@1 {
compute-cb@2 {
compatible = "qcom,fastrpc-compute-cb";
- reg = <2>;
+ reg = <0x0 0x2 0x0 0x0>;
iommus = <&apps_smmu 0x1962 0x0>,
<&apps_smmu 0x0c02 0x20>,
<&apps_smmu 0x0c42 0x0>,
@@ -6345,7 +6349,7 @@ compute-cb@2 {
compute-cb@3 {
compatible = "qcom,fastrpc-compute-cb";
- reg = <3>;
+ reg = <0x0 0x3 0x0 0x0>;
iommus = <&apps_smmu 0x1963 0x0>,
<&apps_smmu 0x0c23 0x0>,
<&apps_smmu 0x0c03 0x40>,
@@ -6355,7 +6359,7 @@ compute-cb@3 {
compute-cb@4 {
compatible = "qcom,fastrpc-compute-cb";
- reg = <4>;
+ reg = <0x0 0x4 0x0 0x0>;
iommus = <&apps_smmu 0x1964 0x0>,
<&apps_smmu 0x0c44 0x0>,
<&apps_smmu 0x0c04 0x20>,
@@ -6365,7 +6369,7 @@ compute-cb@4 {
compute-cb@5 {
compatible = "qcom,fastrpc-compute-cb";
- reg = <5>;
+ reg = <0x0 0x5 0x0 0x0>;
iommus = <&apps_smmu 0x1965 0x0>,
<&apps_smmu 0x0c45 0x0>,
<&apps_smmu 0x0c05 0x20>,
@@ -6375,7 +6379,7 @@ compute-cb@5 {
compute-cb@6 {
compatible = "qcom,fastrpc-compute-cb";
- reg = <6>;
+ reg = <0x0 0x6 0x0 0x0>;
iommus = <&apps_smmu 0x1966 0x0>,
<&apps_smmu 0x0c06 0x20>,
<&apps_smmu 0x0c46 0x0>,
@@ -6385,7 +6389,7 @@ compute-cb@6 {
compute-cb@7 {
compatible = "qcom,fastrpc-compute-cb";
- reg = <7>;
+ reg = <0x0 0x7 0x0 0x0>;
iommus = <&apps_smmu 0x1967 0x0>,
<&apps_smmu 0x0c27 0x0>,
<&apps_smmu 0x0c07 0x40>,
@@ -6395,7 +6399,7 @@ compute-cb@7 {
compute-cb@8 {
compatible = "qcom,fastrpc-compute-cb";
- reg = <8>;
+ reg = <0x0 0x8 0x0 0x0>;
iommus = <&apps_smmu 0x1968 0x0>,
<&apps_smmu 0x0c08 0x20>,
<&apps_smmu 0x0c48 0x0>,
@@ -6405,7 +6409,7 @@ compute-cb@8 {
compute-cb@12 {
compatible = "qcom,fastrpc-compute-cb";
- reg = <12>;
+ reg = <0x0 0xc 0x0 0x0>;
iommus = <&apps_smmu 0x196c 0x0>,
<&apps_smmu 0x0c2c 0x00>,
<&apps_smmu 0x0c0c 0x40>,
@@ -6415,12 +6419,13 @@ compute-cb@12 {
compute-cb@13 {
compatible = "qcom,fastrpc-compute-cb";
- reg = <13>;
+ reg = <0x0 0xd 0x0 0x0>;
iommus = <&apps_smmu 0x196d 0x0>,
<&apps_smmu 0x0c0d 0x40>,
<&apps_smmu 0x0c2e 0x0>,
<&apps_smmu 0x0c2d 0x0>,
<&apps_smmu 0x19cd 0x0>;
+ iommu-ranges = <0x4 0x0 0xfc 0x0>;
dma-coherent;
};
};
--
2.34.1
^ permalink raw reply [flat|nested] 3+ messages in thread* [PATCH v2 2/2] arm64: dts: qcom: glymur: add CDSP FastRPC extended context bank
2026-10-07 17:13 [PATCH v2 0/2] arm64: dts: qcom: add CDSP FastRPC extended context bank Vinayak Katoch
2026-10-07 17:13 ` [PATCH v2 1/2] arm64: dts: qcom: kaanapali: " Vinayak Katoch
@ 2026-10-07 17:13 ` Vinayak Katoch
1 sibling, 0 replies; 3+ messages in thread
From: Vinayak Katoch @ 2026-10-07 17:13 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Abel Vesa, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: Ekansh Gupta, Bharath Kumar, Chenna Kesava Raju, linux-arm-msm,
devicetree, linux-kernel, Vinayak Katoch
Wire up compute-cb@12 as the dedicated extended IOVA context bank by
adding iommu-ranges = <0x4 0x0 0xfc 0x0>, restricting allocations to
the [16 GiB, ~1 TiB) window. This allows large CDSP buffers to be
mapped beyond the standard 34-bit limit.
Bump #address-cells and #size-cells to <2> on the fastrpc and glink
ancestor nodes to accommodate 64-bit iommu-ranges values, and update
all compute-cb reg entries to the four-cell format accordingly.
Signed-off-by: Vinayak Katoch <vinayak.katoch@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/glymur.dtsi | 31 ++++++++++++++++++-------------
1 file changed, 18 insertions(+), 13 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/glymur.dtsi b/arch/arm64/boot/dts/qcom/glymur.dtsi
index 65a398c0a992..556867fbf197 100644
--- a/arch/arm64/boot/dts/qcom/glymur.dtsi
+++ b/arch/arm64/boot/dts/qcom/glymur.dtsi
@@ -8462,6 +8462,8 @@ remoteproc_cdsp: remoteproc@32300000 {
qcom,qmp = <&aoss_qmp>;
qcom,smem-states = <&smp2p_cdsp_out 0>;
qcom,smem-state-names = "stop";
+ #address-cells = <2>;
+ #size-cells = <2>;
status = "disabled";
@@ -8473,17 +8475,19 @@ IPCC_MPROC_SIGNAL_GLINK_QMP
IPCC_MPROC_SIGNAL_GLINK_QMP>;
qcom,remote-pid = <5>;
label = "cdsp";
+ #address-cells = <2>;
+ #size-cells = <2>;
fastrpc {
compatible = "qcom,glymur-fastrpc", "qcom,kaanapali-fastrpc";
qcom,glink-channels = "fastrpcglink-apps-dsp";
label = "cdsp";
- #address-cells = <1>;
- #size-cells = <0>;
+ #address-cells = <2>;
+ #size-cells = <2>;
compute-cb@1 {
compatible = "qcom,fastrpc-compute-cb";
- reg = <1>;
+ reg = <0x0 0x1 0x0 0x0>;
iommus = <&apps_smmu 0x2401 0x440>,
<&apps_smmu 0x1961 0x0>,
@@ -8493,7 +8497,7 @@ compute-cb@1 {
compute-cb@2 {
compatible = "qcom,fastrpc-compute-cb";
- reg = <2>;
+ reg = <0x0 0x2 0x0 0x0>;
iommus = <&apps_smmu 0x2402 0x440>,
<&apps_smmu 0x1962 0x0>,
@@ -8503,7 +8507,7 @@ compute-cb@2 {
compute-cb@3 {
compatible = "qcom,fastrpc-compute-cb";
- reg = <3>;
+ reg = <0x0 0x3 0x0 0x0>;
iommus = <&apps_smmu 0x2403 0x440>,
<&apps_smmu 0x1963 0x0>,
@@ -8513,7 +8517,7 @@ compute-cb@3 {
compute-cb@4 {
compatible = "qcom,fastrpc-compute-cb";
- reg = <4>;
+ reg = <0x0 0x4 0x0 0x0>;
iommus = <&apps_smmu 0x2404 0x440>,
<&apps_smmu 0x1964 0x0>,
@@ -8523,7 +8527,7 @@ compute-cb@4 {
compute-cb@5 {
compatible = "qcom,fastrpc-compute-cb";
- reg = <5>;
+ reg = <0x0 0x5 0x0 0x0>;
iommus = <&apps_smmu 0x2405 0x440>,
<&apps_smmu 0x1965 0x0>,
@@ -8533,7 +8537,7 @@ compute-cb@5 {
compute-cb@6 {
compatible = "qcom,fastrpc-compute-cb";
- reg = <6>;
+ reg = <0x0 0x6 0x0 0x0>;
iommus = <&apps_smmu 0x2406 0x440>,
<&apps_smmu 0x1966 0x0>,
@@ -8543,7 +8547,7 @@ compute-cb@6 {
compute-cb@7 {
compatible = "qcom,fastrpc-compute-cb";
- reg = <7>;
+ reg = <0x0 0x7 0x0 0x0>;
iommus = <&apps_smmu 0x2407 0x440>,
<&apps_smmu 0x1967 0x0>,
@@ -8553,7 +8557,7 @@ compute-cb@7 {
compute-cb@8 {
compatible = "qcom,fastrpc-compute-cb";
- reg = <8>;
+ reg = <0x0 0x8 0x0 0x0>;
iommus = <&apps_smmu 0x2408 0x440>,
<&apps_smmu 0x1968 0x0>,
@@ -8565,7 +8569,7 @@ compute-cb@8 {
compute-cb@10 {
compatible = "qcom,fastrpc-compute-cb";
- reg = <10>;
+ reg = <0x0 0xa 0x0 0x0>;
iommus = <&apps_smmu 0x240c 0x440>,
<&apps_smmu 0x196c 0x0>,
@@ -8575,7 +8579,7 @@ compute-cb@10 {
compute-cb@11 {
compatible = "qcom,fastrpc-compute-cb";
- reg = <11>;
+ reg = <0x0 0xb 0x0 0x0>;
iommus = <&apps_smmu 0x240d 0x440>,
<&apps_smmu 0x196d 0x0>,
@@ -8585,11 +8589,12 @@ compute-cb@11 {
compute-cb@12 {
compatible = "qcom,fastrpc-compute-cb";
- reg = <12>;
+ reg = <0x0 0xc 0x0 0x0>;
iommus = <&apps_smmu 0x240e 0x440>,
<&apps_smmu 0x196e 0x0>,
<&apps_smmu 0x19ce 0x0>;
+ iommu-ranges = <0x4 0x0 0xfc 0x0>;
dma-coherent;
};
};
--
2.34.1
^ permalink raw reply [flat|nested] 3+ messages in thread