Re: [PATCH v2 2/3] arm64: dts: qcom: lemans: enable audio ML offload memory and SMMU mappings

Krzysztof Kozlowski <[email protected]> Mon, 20 Jul 2026 08:12:10 +0200
Newsgroups org.kernel.vger.linux-remoteproc,org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel
Message-ID <20260720-omniscient-shaggy-kelpie-17efa1@quoll>
On Fri, Jul 17, 2026 at 03:28:24PM +0530, Pratyush Meduri wrote:
> The audio ML (machine-learning) offload use case requires a contiguous,
> physically addressable buffer shared with the audio DSP/SPF, and issues
> DMA transactions through additional SMMU stream IDs that are not
> covered by the existing ADSP mapping.
> 
> Add a dedicated reusable shared-dma-pool CMA region (16 MiB, 4 MiB
> aligned) and wire it to the q6apm DAIs node via memory-region. A
> dedicated pool guarantees the alignment and contiguity the DSP expects
> and isolates these allocations from the default CMA region.
> 
> Under the EL2 (Gunyah/hypervisor) configuration the SMMU is fully
> enforcing, so the ML transactions are otherwise blocked and faulted:
> 
>  arm-smmu 15000000.iommu: Blocked unknown Stream ID 0x3060
>  arm-smmu 15000000.iommu: Blocked unknown Stream ID 0x3062
> 
> Add the ML-related stream IDs (0x3060 mask 0x9, 0x3062 mask 0x1) to the
> remoteproc_adsp iommus property in the EL2 overlay so these buffers are
> translated by the SMMU instead of being rejected.
> 
> Signed-off-by: Pratyush Meduri <[email protected]>
> ---
>  arch/arm64/boot/dts/qcom/lemans-el2.dtso | 4 +++-
>  arch/arm64/boot/dts/qcom/lemans.dtsi     | 9 +++++++++
>  2 files changed, 12 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/boot/dts/qcom/lemans-el2.dtso b/arch/arm64/boot/dts/qcom/lemans-el2.dtso
> index 621ad930cf54..5b477346ef90 100644
> --- a/arch/arm64/boot/dts/qcom/lemans-el2.dtso
> +++ b/arch/arm64/boot/dts/qcom/lemans-el2.dtso
> @@ -19,7 +19,9 @@ &iris {
>  };
>  
>  &remoteproc_adsp {
> -	iommus = <&apps_smmu 0x3000 0x0>;
> +	iommus = <&apps_smmu 0x3000 0x0>,
> +		<&apps_smmu 0x3060 0x9>,
> +		<&apps_smmu 0x3062 0x1>;
>  };
>  
>  &remoteproc_cdsp0 {
> diff --git a/arch/arm64/boot/dts/qcom/lemans.dtsi b/arch/arm64/boot/dts/qcom/lemans.dtsi
> index 3b0539e27b51..060565113784 100644
> --- a/arch/arm64/boot/dts/qcom/lemans.dtsi
> +++ b/arch/arm64/boot/dts/qcom/lemans.dtsi
> @@ -624,6 +624,14 @@ reserved-memory {
>  		#size-cells = <2>;
>  		ranges;
>  
> +		audio_cma_mem: qcom,audio-ml {

NAK. You ignore feedback and keep sending us downstream junk
directly.

DO NOT SEND downstream code. EVER.

Best regards,
Krzysztof