From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail.mainlining.org (mail.mainlining.org [5.75.144.95]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 884EA33ADB9; Fri, 21 Nov 2025 08:20:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=5.75.144.95 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763713206; cv=none; b=ilUZvtwPtmigmAuDwD1NpBicxPm5UWaCsP9UXS9glWaq8v485DDHigpns4YlLgOBZYPQLlCGPeTBsS/0w6tC0kNj8cgTfIBvQWuZnYGZ46EWlJ5pPngf9DTEMk3tCXpqwxOcHPlsgXXKVvC06kYA+5PuO906Ymqvm/LyPEVONLY= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763713206; c=relaxed/simple; bh=AScY5gFhcw2wWO4ANQQVesraK7n8lNSDAv9Cvx+ZNcY=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=PF66Pf736ZaxYOUSI3ksjWQjR6gdT1bmbQzZlvTPWqGk0AMVOaR3097LDInIh+6FcUlMzBwLLubZt83xqQwjSKVkOUEIh76+MohBh43O0yb1vQTLsTjgRBkVldNkTe+t+ghQkUBR8V9/A6+mF+SMco+NQdTHolftu7owAZEvZUI= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=mainlining.org; spf=pass smtp.mailfrom=mainlining.org; dkim=pass (2048-bit key) header.d=mainlining.org header.i=@mainlining.org header.b=pMUgLFMe; dkim=permerror (0-bit key) header.d=mainlining.org header.i=@mainlining.org header.b=CL1SXzTL; arc=none smtp.client-ip=5.75.144.95 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=mainlining.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=mainlining.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=mainlining.org header.i=@mainlining.org header.b="pMUgLFMe"; dkim=permerror (0-bit key) header.d=mainlining.org header.i=@mainlining.org header.b="CL1SXzTL" DKIM-Signature: v=1; a=rsa-sha256; s=202507r; d=mainlining.org; c=relaxed/relaxed; h=From:To:Subject:Date:Message-ID; t=1763713112; bh=szD9ynCp4HVaMleDmbcFnLC jW9wKo5snc2eNR3zTpjk=; b=pMUgLFMerktE9TgBLbpIm+TNL+MlumlCAOJaXk9KNr8g7ig622 Kr/T9jLCsnvKDQcB5LkXYYU88YZxvIHEgBaKuuaCT8puA/hWi2FBGseWSziNKe2fj1KUehZocYl dSf9dWndKsp7v3TjNhg3FEO6ZYWEeJYBrqPXL/q9ja1AhVbVI3HkRjQqbppgvWdy8DibgfDd3l7 fnW4fhmx3pJItzARc4Z7N04QmBWWN1X5By6Qfje6r8fFniB+6baNxrldsY9YCwYsmPX8/35wSDh aJUm5NHZ+4mfMOrXAhXxhfo/o0Y4uoBv2s5pJLokaTX/poVG9Zn6NsfSE8UW+9ieNUA==; DKIM-Signature: v=1; a=ed25519-sha256; s=202507e; d=mainlining.org; c=relaxed/relaxed; h=From:To:Subject:Date:Message-ID; t=1763713112; bh=szD9ynCp4HVaMleDmbcFnLC jW9wKo5snc2eNR3zTpjk=; b=CL1SXzTLGa6/eiqgOH6SI4iANxnKMbRwbGRfEWARNwOMPrbvgk z+hurGYmC+eD5qFgxFI1H9csM4pTazDnPmAg==; Message-ID: <975b468f-e5fc-40df-a9b6-2630f6ed99cc@mainlining.org> Date: Fri, 21 Nov 2025 11:18:31 +0300 Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 1/3] arm64: dts: qcom: sdm630/660: Add CDSP-related nodes To: Ekansh Gupta , Konrad Dybcio , Srinivas Kandagatla , Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, ~postmarketos/upstreaming@lists.sr.ht, linux@mainlining.org, Chenna Kesava Raju , Bharath Kumar References: <20251023-qcom-sdm660-cdsp-adsp-dts-v2-0-895ffe50ab5f@mainlining.org> <20251023-qcom-sdm660-cdsp-adsp-dts-v2-1-895ffe50ab5f@mainlining.org> <07066c46-4121-48da-846a-3a180d245589@oss.qualcomm.com> <47b40a91-8365-4431-9fd9-1e48fad2a4e1@mainlining.org> <83c3aea5-764e-4e60-8b16-67b474f19357@oss.qualcomm.com> <80836b8f-16a8-4520-ad11-5ca0abb3403e@oss.qualcomm.com> <99c22e73-797c-4a30-92ba-bc3bd8cf70f0@oss.qualcomm.com> <0b06f744-b695-43d9-8da3-4424e2b53a5e@oss.qualcomm.com> <24221ce7-24e4-4eaa-8681-ed9b4b9f2d6e@oss.qualcomm.com> Content-Language: ru-RU, en-US From: Nickolay Goppen In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit 21.11.2025 11:11, Ekansh Gupta пишет: > > On 11/20/2025 5:17 PM, Konrad Dybcio wrote: >> On 11/20/25 11:54 AM, Ekansh Gupta wrote: >>> On 11/20/2025 1:27 PM, Nickolay Goppen wrote: >>>> 20.11.2025 07:55, Ekansh Gupta пишет: >>>>> On 11/20/2025 1:58 AM, Srinivas Kandagatla wrote: >>>>>> On 11/12/25 1:52 PM, Konrad Dybcio wrote: >>>>>>> On 11/10/25 6:41 PM, Srinivas Kandagatla wrote: >>>>>>>> On 11/3/25 12:52 PM, Konrad Dybcio wrote: >>>>>>>>> On 10/31/25 12:30 PM, Nickolay Goppen wrote: >>>>>>>>>> 24.10.2025 16:58, Nickolay Goppen пишет: >>>>>>>>>>> 24.10.2025 11:28, Konrad Dybcio пишет: >>>>>>>>>>>> On 10/23/25 9:51 PM, Nickolay Goppen wrote: >>>>>>>>>>>>> In order to enable CDSP support for SDM660 SoC: >>>>>>>>>>>>>    * add shared memory p2p nodes for CDSP >>>>>>>>>>>>>    * add CDSP-specific smmu node >>>>>>>>>>>>>    * add CDSP peripheral image loader node >>>>>>>>>>>>> >>>>>>>>>>>>> Memory region for CDSP in SDM660 occupies the same spot as >>>>>>>>>>>>> TZ buffer mem defined in sdm630.dtsi (which does not have CDSP). >>>>>>>>>>>>> In sdm660.dtsi replace buffer_mem inherited from SDM630 with >>>>>>>>>>>>> cdsp_region, which is also larger in size. >>>>>>>>>>>>> >>>>>>>>>>>>> SDM636 also doesn't have CDSP, so remove inherited from sdm660.dtsi >>>>>>>>>>>>> related nodes and add buffer_mem back. >>>>>>>>>>>>> >>>>>>>>>>>>> Signed-off-by: Nickolay Goppen >>>>>>>>>>>>> --- >>>>>>>>>>>> [...] >>>>>>>>>>>> >>>>>>>>>>>>> +            label = "turing"; >>>>>>>>>>>> "cdsp" >>>>>>>>>>> Ok, I'll change this in the next revision. >>>>>>>>>>>>> +            mboxes = <&apcs_glb 29>; >>>>>>>>>>>>> +            qcom,remote-pid = <5>; >>>>>>>>>>>>> + >>>>>>>>>>>>> +            fastrpc { >>>>>>>>>>>>> +                compatible = "qcom,fastrpc"; >>>>>>>>>>>>> +                qcom,glink-channels = "fastrpcglink-apps-dsp"; >>>>>>>>>>>>> +                label = "cdsp"; >>>>>>>>>>>>> +                qcom,non-secure-domain; >>>>>>>>>>>> This shouldn't matter, both a secure and a non-secure device is >>>>>>>>>>>> created for CDSP >>>>>>>>>>> I've added this property, because it is used in other SoC's, such as SDM845 and SM6115 for both ADSP and CDSP >>>>>>>>>> Is this property not neccessary anymore? >>>>>>>>> +Srini? >>>>>>>> That is true, we do not require this for CDSP, as CDSP allows both >>>>>>>> unsigned and signed loading, we create both secured and non-secure node >>>>>>>> by default. May be we can provide that clarity in yaml bindings so that >>>>>>>> it gets caught during dtb checks. >>>>>>>> >>>>>>>> >>>>>>>> However in ADSP case, we only support singed modules, due to historical >>>>>>>> reasons how this driver evolved over years, we have this flag to allow >>>>>>>> compatiblity for such users. >>>>>>> Does that mean that we can only load signed modules on the ADSP, but >>>>>>> the driver behavior was previously such that unsigned modules were >>>>>>> allowed (which was presumably fine on devboards, but not on fused >>>>>>> devices)? >>>>>> Yes, its true that we allowed full access to adsp device nodes when we >>>>>> first started upstreaming fastrpc driver. >>>>>> >>>>>> irrespective of the board only signed modules are supported on the ADSP. >>>>>> I think there was one version of SoC i think 8016 or some older one >>>>>> which had adsp with hvx which can load unsigned modules for compute >>>>>> usecase only. >>>>>> >>>>>> I have added @Ekansh for more clarity. >>>>>> >>>>>> --srini >>>>> For all the available platforms, ADSP supports only signed modules. Unsigned >>>>> modules(as well as signed) are supported by CDSP and GDSP subsystems. >>>>> >>>>> qcom,non-secure-domain property marks the corresponding DSP as non-secure DSP. >>>>> The implications of adding this property would be the following: >>>>> on ADSP, SDSP, MDSP: >>>>> - Only non-secure device node(/dev/fastrpc-Xdsp) is created. >>>>> - Non-secure device node can be used for signed DSP PD offload. >>>>> >>>>> on CDSP, GDSP: >>>>> - Both secure(/dev/fastrpc-Xdsp-secure) and non-secure(/dev/fastrpc-Xdsp) devices >>>>>    are created, regardless of this property. >>>>> - Both the nodes can be used for signed and unsigned DSP PD offload. >>>>> >>>>> Note: If the property is not added for CDSP/GDSP, only secure device node can >>>>> be used for signed PD offload, if non-secure device is used, the request gets >>>>> rejected[1]. >>>>> >>>>> [1] https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/drivers/misc/fastrpc.c#n1245 >>>>> >>>>> //Ekansh >>>> Does this mean that the qcom,non-secure-domain property should be dropped from both nodes? >>> I checked again and found that unsigned module support for CDSP is >>> not available on this platform. Given this, the safest approach would >>> be to add the property for both ADSP and CDSP, ensuring that all >>> created device nodes can be used for signed PD offload. I can provide >> The property allows *unsigned* PD offload though > I don't think I can directly relate this property to unsigned PD offload. This is just > defining what type of device node will be created and whether the channel is secure > or not. There is a possibility of making unsigned PD request(on CDSP/GDSP) irrespective > of whether this property is added or not. If DSP does not support unsigned offload, it > should return failures for such requests. >>> a more definitive recommendation once I know the specific use cases >>> you plan to run. >> Why would the usecase affect this? > I'm saying this as per past discussions where some application was relying on non-secure > device node on some old platform(on postmarketOS)[1] and having this property in place. > So if similar usecase is being enabled here, the property might be required[1]. I'm testing these changes on postmarketOS. However, sensors aren't working through FastRPC on sdm660. Is it better to leave this property for both nodes? > [1] https://lkml.org/lkml/2024/8/15/117 >> Konrad -- Best regards, Nickolay