arch/arm64/boot/dts/qcom/monaco.dtsi | 49 ++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+)
For some reason we ended up adding only 4 out of 11 compute cb's for
CDSP, add the missing compute cb. This will also improve the end
user-experience by enabling running multiple AI usecases in parallel.
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/monaco.dtsi | 49 ++++++++++++++++++++++++++++
1 file changed, 49 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/monaco.dtsi b/arch/arm64/boot/dts/qcom/monaco.dtsi
index 10e799dd4a78..38fbd44c7d8f 100644
--- a/arch/arm64/boot/dts/qcom/monaco.dtsi
+++ b/arch/arm64/boot/dts/qcom/monaco.dtsi
@@ -7739,6 +7739,55 @@ compute-cb@4 {
<&apps_smmu 0x1964 0x0400>;
dma-coherent;
};
+
+ compute-cb@5 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <5>;
+ iommus = <&apps_smmu 0x19c5 0x0400>;
+ dma-coherent;
+ };
+
+ compute-cb@6 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <6>;
+ iommus = <&apps_smmu 0x19c6 0x0400>;
+ dma-coherent;
+ };
+
+ compute-cb@7 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <7>;
+ iommus = <&apps_smmu 0x19c7 0x0400>;
+ dma-coherent;
+ };
+
+ compute-cb@8 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <8>;
+ iommus = <&apps_smmu 0x19c8 0x0400>;
+ dma-coherent;
+ };
+
+ compute-cb@9 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <9>;
+ iommus = <&apps_smmu 0x19c9 0x0400>;
+ dma-coherent;
+ };
+
+ compute-cb@11 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <0xb>;
+ iommus = <&apps_smmu 0x19cb 0x0400>;
+ dma-coherent;
+ };
+
+ compute-cb@12 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <0xc>;
+ iommus = <&apps_smmu 0x19cc 0x000>;
+ dma-coherent;
+ };
};
};
};
--
2.47.3
On Thu, 26 Mar 2026 15:41:11 +0000, Srinivas Kandagatla wrote:
> For some reason we ended up adding only 4 out of 11 compute cb's for
> CDSP, add the missing compute cb. This will also improve the end
> user-experience by enabling running multiple AI usecases in parallel.
>
>
Applied, thanks!
[1/1] arm64: dts: monaco: extend fastrpc compute cb
commit: af0d19ea5a31261e1e3aebbe7c7e45c57c4df999
Best regards,
--
Bjorn Andersson <andersson@kernel.org>
On 3/26/26 4:41 PM, Srinivas Kandagatla wrote:
> For some reason we ended up adding only 4 out of 11 compute cb's for
> CDSP, add the missing compute cb. This will also improve the end
> user-experience by enabling running multiple AI usecases in parallel.
>
> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
> ---
> arch/arm64/boot/dts/qcom/monaco.dtsi | 49 ++++++++++++++++++++++++++++
> 1 file changed, 49 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/monaco.dtsi b/arch/arm64/boot/dts/qcom/monaco.dtsi
> index 10e799dd4a78..38fbd44c7d8f 100644
> --- a/arch/arm64/boot/dts/qcom/monaco.dtsi
> +++ b/arch/arm64/boot/dts/qcom/monaco.dtsi
> @@ -7739,6 +7739,55 @@ compute-cb@4 {
> <&apps_smmu 0x1964 0x0400>;
> dma-coherent;
> };
> +
> + compute-cb@5 {
> + compatible = "qcom,fastrpc-compute-cb";
> + reg = <5>;
> + iommus = <&apps_smmu 0x19c5 0x0400>;
I see that the other CBs have 2 iommu streams, the other one
having "DMA" in the name - could you shed some light on that?
Konrad
On 3/27/26 1:10 PM, Konrad Dybcio wrote:
> On 3/26/26 4:41 PM, Srinivas Kandagatla wrote:
>> For some reason we ended up adding only 4 out of 11 compute cb's for
>> CDSP, add the missing compute cb. This will also improve the end
>> user-experience by enabling running multiple AI usecases in parallel.
>>
>> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
>> ---
>> arch/arm64/boot/dts/qcom/monaco.dtsi | 49 ++++++++++++++++++++++++++++
>> 1 file changed, 49 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/monaco.dtsi b/arch/arm64/boot/dts/qcom/monaco.dtsi
>> index 10e799dd4a78..38fbd44c7d8f 100644
>> --- a/arch/arm64/boot/dts/qcom/monaco.dtsi
>> +++ b/arch/arm64/boot/dts/qcom/monaco.dtsi
>> @@ -7739,6 +7739,55 @@ compute-cb@4 {
>> <&apps_smmu 0x1964 0x0400>;
>> dma-coherent;
>> };
>> +
>> + compute-cb@5 {
>> + compatible = "qcom,fastrpc-compute-cb";
>> + reg = <5>;
>> + iommus = <&apps_smmu 0x19c5 0x0400>;
>
> I see that the other CBs have 2 iommu streams, the other one
> having "DMA" in the name - could you shed some light on that?
AFAIU, These DMA streams are relevant when NPU dma engine is in the
picture, examples can be data pipelines which involve transferring data
buffers(in/out) in-cordination with different IP blocks outside DSP. May
be something like camera/video streams directly to NPU without CPU
involving...
Personally I have not tested such usecases, but for upstream fastrpc
clients AFAIK only application streams matter as clients will explicitly
allocate the data buffers, even for sharing across ip-blocks.
--srini
>
> Konrad
On 3/30/26 10:38 AM, Srinivas Kandagatla wrote:
> On 3/27/26 1:10 PM, Konrad Dybcio wrote:
>> On 3/26/26 4:41 PM, Srinivas Kandagatla wrote:
>>> For some reason we ended up adding only 4 out of 11 compute cb's for
>>> CDSP, add the missing compute cb. This will also improve the end
>>> user-experience by enabling running multiple AI usecases in parallel.
>>>
>>> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
>>> ---
>>> arch/arm64/boot/dts/qcom/monaco.dtsi | 49 ++++++++++++++++++++++++++++
>>> 1 file changed, 49 insertions(+)
>>>
>>> diff --git a/arch/arm64/boot/dts/qcom/monaco.dtsi b/arch/arm64/boot/dts/qcom/monaco.dtsi
>>> index 10e799dd4a78..38fbd44c7d8f 100644
>>> --- a/arch/arm64/boot/dts/qcom/monaco.dtsi
>>> +++ b/arch/arm64/boot/dts/qcom/monaco.dtsi
>>> @@ -7739,6 +7739,55 @@ compute-cb@4 {
>>> <&apps_smmu 0x1964 0x0400>;
>>> dma-coherent;
>>> };
>>> +
>>> + compute-cb@5 {
>>> + compatible = "qcom,fastrpc-compute-cb";
>>> + reg = <5>;
>>> + iommus = <&apps_smmu 0x19c5 0x0400>;
>>
>> I see that the other CBs have 2 iommu streams, the other one
>> having "DMA" in the name - could you shed some light on that?
>
> AFAIU, These DMA streams are relevant when NPU dma engine is in the
> picture, examples can be data pipelines which involve transferring data
> buffers(in/out) in-cordination with different IP blocks outside DSP. May
> be something like camera/video streams directly to NPU without CPU
> involving...
>
> Personally I have not tested such usecases, but for upstream fastrpc
> clients AFAIK only application streams matter as clients will explicitly
> allocate the data buffers, even for sharing across ip-blocks.
This would be nice to confirm somewhere, perhaps even denote in bindings
+Ekansh could you confirm/speak more about this?
+Dmitry for awareness
Konrad
On 3/30/2026 4:20 PM, Konrad Dybcio wrote:
> On 3/30/26 10:38 AM, Srinivas Kandagatla wrote:
>> On 3/27/26 1:10 PM, Konrad Dybcio wrote:
>>> On 3/26/26 4:41 PM, Srinivas Kandagatla wrote:
>>>> For some reason we ended up adding only 4 out of 11 compute cb's for
>>>> CDSP, add the missing compute cb. This will also improve the end
>>>> user-experience by enabling running multiple AI usecases in parallel.
>>>>
>>>> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
>>>> ---
>>>> arch/arm64/boot/dts/qcom/monaco.dtsi | 49 ++++++++++++++++++++++++++++
>>>> 1 file changed, 49 insertions(+)
>>>>
>>>> diff --git a/arch/arm64/boot/dts/qcom/monaco.dtsi b/arch/arm64/boot/dts/qcom/monaco.dtsi
>>>> index 10e799dd4a78..38fbd44c7d8f 100644
>>>> --- a/arch/arm64/boot/dts/qcom/monaco.dtsi
>>>> +++ b/arch/arm64/boot/dts/qcom/monaco.dtsi
>>>> @@ -7739,6 +7739,55 @@ compute-cb@4 {
>>>> <&apps_smmu 0x1964 0x0400>;
>>>> dma-coherent;
>>>> };
>>>> +
>>>> + compute-cb@5 {
>>>> + compatible = "qcom,fastrpc-compute-cb";
>>>> + reg = <5>;
>>>> + iommus = <&apps_smmu 0x19c5 0x0400>;
>>> I see that the other CBs have 2 iommu streams, the other one
>>> having "DMA" in the name - could you shed some light on that?
>> AFAIU, These DMA streams are relevant when NPU dma engine is in the
>> picture, examples can be data pipelines which involve transferring data
>> buffers(in/out) in-cordination with different IP blocks outside DSP. May
>> be something like camera/video streams directly to NPU without CPU
>> involving...
>>
>> Personally I have not tested such usecases, but for upstream fastrpc
>> clients AFAIK only application streams matter as clients will explicitly
>> allocate the data buffers, even for sharing across ip-blocks.
> This would be nice to confirm somewhere, perhaps even denote in bindings
>
> +Ekansh could you confirm/speak more about this?
> +Dmitry for awareness
Yes, upon checking about this the details are in lines with what Srini has
mentioned. These streams are mostly used for video processing type scenarios
which is not required for this platform(as per internal discussion).
//Ekansh
>
> Konrad
On 3/26/26 4:41 PM, Srinivas Kandagatla wrote: > For some reason we ended up adding only 4 out of 11 compute cb's for > CDSP, add the missing compute cb. This will also improve the end > user-experience by enabling running multiple AI usecases in parallel. > > Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com> > --- Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Konrad
On 3/26/26 3:41 PM, Srinivas Kandagatla wrote:
> For some reason we ended up adding only 4 out of 11 compute cb's for
> CDSP, add the missing compute cb. This will also improve the end
> user-experience by enabling running multiple AI usecases in parallel.
>
> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
> ---
Changes since v1:
- renamed the node names to be decimals from hex.
-srini
> arch/arm64/boot/dts/qcom/monaco.dtsi | 49 ++++++++++++++++++++++++++++
> 1 file changed, 49 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/monaco.dtsi b/arch/arm64/boot/dts/qcom/monaco.dtsi
> index 10e799dd4a78..38fbd44c7d8f 100644
> --- a/arch/arm64/boot/dts/qcom/monaco.dtsi
> +++ b/arch/arm64/boot/dts/qcom/monaco.dtsi
> @@ -7739,6 +7739,55 @@ compute-cb@4 {
> <&apps_smmu 0x1964 0x0400>;
> dma-coherent;
> };
> +
> + compute-cb@5 {
> + compatible = "qcom,fastrpc-compute-cb";
> + reg = <5>;
> + iommus = <&apps_smmu 0x19c5 0x0400>;
> + dma-coherent;
> + };
> +
> + compute-cb@6 {
> + compatible = "qcom,fastrpc-compute-cb";
> + reg = <6>;
> + iommus = <&apps_smmu 0x19c6 0x0400>;
> + dma-coherent;
> + };
> +
> + compute-cb@7 {
> + compatible = "qcom,fastrpc-compute-cb";
> + reg = <7>;
> + iommus = <&apps_smmu 0x19c7 0x0400>;
> + dma-coherent;
> + };
> +
> + compute-cb@8 {
> + compatible = "qcom,fastrpc-compute-cb";
> + reg = <8>;
> + iommus = <&apps_smmu 0x19c8 0x0400>;
> + dma-coherent;
> + };
> +
> + compute-cb@9 {
> + compatible = "qcom,fastrpc-compute-cb";
> + reg = <9>;
> + iommus = <&apps_smmu 0x19c9 0x0400>;
> + dma-coherent;
> + };
> +
> + compute-cb@11 {
> + compatible = "qcom,fastrpc-compute-cb";
> + reg = <0xb>;
> + iommus = <&apps_smmu 0x19cb 0x0400>;
> + dma-coherent;
> + };
> +
> + compute-cb@12 {
> + compatible = "qcom,fastrpc-compute-cb";
> + reg = <0xc>;
> + iommus = <&apps_smmu 0x19cc 0x000>;
> + dma-coherent;
> + };
> };
> };
> };
© 2016 - 2026 Red Hat, Inc.