[PATCH v2] arm64: dts: monaco: extend fastrpc compute cb

Srinivas Kandagatla posted 1 patch 1 week ago
arch/arm64/boot/dts/qcom/monaco.dtsi | 49 ++++++++++++++++++++++++++++
1 file changed, 49 insertions(+)
[PATCH v2] arm64: dts: monaco: extend fastrpc compute cb
Posted by Srinivas Kandagatla 1 week ago
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
Re: [PATCH v2] arm64: dts: monaco: extend fastrpc compute cb
Posted by Bjorn Andersson 3 days, 3 hours ago
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>
Re: [PATCH v2] arm64: dts: monaco: extend fastrpc compute cb
Posted by Konrad Dybcio 6 days, 5 hours ago
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
Re: [PATCH v2] arm64: dts: monaco: extend fastrpc compute cb
Posted by Srinivas Kandagatla 3 days, 10 hours ago
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
Re: [PATCH v2] arm64: dts: monaco: extend fastrpc compute cb
Posted by Konrad Dybcio 3 days, 8 hours ago
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
Re: [PATCH v2] arm64: dts: monaco: extend fastrpc compute cb
Posted by Ekansh Gupta 12 hours ago

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
Re: [PATCH v2] arm64: dts: monaco: extend fastrpc compute cb
Posted by Konrad Dybcio 6 days, 5 hours ago
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
Re: [PATCH v2] arm64: dts: monaco: extend fastrpc compute cb
Posted by Srinivas Kandagatla 1 week ago
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;
> +					};
>  				};
>  			};
>  		};