* [PATCH 0/4] arm64: dts: qcom: sdm630/660 FastRPC fixes
@ 2026-04-15 9:40 Nickolay Goppen
2026-04-15 9:40 ` [PATCH 1/4] arm64: dts: qcom: sdm660: set cdsp compute-cbs' regs properly Nickolay Goppen
` (3 more replies)
0 siblings, 4 replies; 21+ messages in thread
From: Nickolay Goppen @ 2026-04-15 9:40 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel,
~postmarketos/upstreaming, Nickolay Goppen
This series introduces fixes that make FastRPC on SDM660 work properly.
Currently only the calculator_example test passes on both ADSP and
CDSP [1].
Also assign adsp_mem region to the ADSP's FastRPC node.
[1]: https://github.com/qualcomm/fastrpc/issues/269#issuecomment-4232125297
Signed-off-by: Nickolay Goppen <setotau@mainlining.org>
---
Nickolay Goppen (4):
arm64: dts: qcom: sdm660: set cdsp compute-cbs' regs properly
arm64: dts: qcom: sdm630: set adsp compute-cbs' regs properly
arm64: dts: qcom: sdm630: describe adsp_mem region properly
arm64: dts: qcom: sdm630: assign adsp_mem region to ADSP FastRPC node
arch/arm64/boot/dts/qcom/sdm630.dtsi | 20 +++++++++++---------
arch/arm64/boot/dts/qcom/sdm660.dtsi | 36 ++++++++++++++++++------------------
2 files changed, 29 insertions(+), 27 deletions(-)
---
base-commit: e6efabc0afca02efa263aba533f35d90117ab283
change-id: 20260415-qcom-sdm660-cdsp-adsp-fastrpc-dts-fix-d0ca7632045a
Best regards,
--
Nickolay Goppen <setotau@mainlining.org>
^ permalink raw reply [flat|nested] 21+ messages in thread* [PATCH 1/4] arm64: dts: qcom: sdm660: set cdsp compute-cbs' regs properly 2026-04-15 9:40 [PATCH 0/4] arm64: dts: qcom: sdm630/660 FastRPC fixes Nickolay Goppen @ 2026-04-15 9:40 ` Nickolay Goppen 2026-04-15 9:43 ` Konrad Dybcio 2026-04-15 9:40 ` [PATCH 2/4] arm64: dts: qcom: sdm630: set adsp " Nickolay Goppen ` (2 subsequent siblings) 3 siblings, 1 reply; 21+ messages in thread From: Nickolay Goppen @ 2026-04-15 9:40 UTC (permalink / raw) To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley Cc: linux-arm-msm, devicetree, linux-kernel, ~postmarketos/upstreaming, Nickolay Goppen Changing FastRPC compute-cbs' reg values to matching iommu streams solves SMMU translation errors when trying to use FastRPC on CDSP so change FastRPC compute-cbs' reg values that way Signed-off-by: Nickolay Goppen <setotau@mainlining.org> --- arch/arm64/boot/dts/qcom/sdm660.dtsi | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/sdm660.dtsi b/arch/arm64/boot/dts/qcom/sdm660.dtsi index 3fd6dd82a992..0fca9662c64a 100644 --- a/arch/arm64/boot/dts/qcom/sdm660.dtsi +++ b/arch/arm64/boot/dts/qcom/sdm660.dtsi @@ -350,57 +350,57 @@ fastrpc { #address-cells = <1>; #size-cells = <0>; - compute-cb@5 { + compute-cb@3 { compatible = "qcom,fastrpc-compute-cb"; - reg = <5>; + reg = <3>; iommus = <&cdsp_smmu 3>; }; - compute-cb@6 { + compute-cb@4 { compatible = "qcom,fastrpc-compute-cb"; - reg = <6>; + reg = <4>; iommus = <&cdsp_smmu 4>; }; - compute-cb@7 { + compute-cb@5 { compatible = "qcom,fastrpc-compute-cb"; - reg = <7>; + reg = <5>; iommus = <&cdsp_smmu 5>; }; - compute-cb@8 { + compute-cb@6 { compatible = "qcom,fastrpc-compute-cb"; - reg = <8>; + reg = <6>; iommus = <&cdsp_smmu 6>; }; - compute-cb@9 { + compute-cb@7 { compatible = "qcom,fastrpc-compute-cb"; - reg = <9>; + reg = <7>; iommus = <&cdsp_smmu 7>; }; - compute-cb@10 { + compute-cb@8 { compatible = "qcom,fastrpc-compute-cb"; - reg = <10>; + reg = <8>; iommus = <&cdsp_smmu 8>; }; - compute-cb@11 { + compute-cb@9 { compatible = "qcom,fastrpc-compute-cb"; - reg = <11>; + reg = <9>; iommus = <&cdsp_smmu 9>; }; - compute-cb@12 { + compute-cb@10 { compatible = "qcom,fastrpc-compute-cb"; - reg = <12>; + reg = <10>; iommus = <&cdsp_smmu 10>; }; - compute-cb@13 { + compute-cb@11 { compatible = "qcom,fastrpc-compute-cb"; - reg = <13>; + reg = <11>; iommus = <&cdsp_smmu 11>; }; }; -- 2.53.0 ^ permalink raw reply related [flat|nested] 21+ messages in thread
* Re: [PATCH 1/4] arm64: dts: qcom: sdm660: set cdsp compute-cbs' regs properly 2026-04-15 9:40 ` [PATCH 1/4] arm64: dts: qcom: sdm660: set cdsp compute-cbs' regs properly Nickolay Goppen @ 2026-04-15 9:43 ` Konrad Dybcio 2026-04-17 18:08 ` Dmitry Baryshkov 0 siblings, 1 reply; 21+ messages in thread From: Konrad Dybcio @ 2026-04-15 9:43 UTC (permalink / raw) To: Nickolay Goppen, Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley Cc: linux-arm-msm, devicetree, linux-kernel, ~postmarketos/upstreaming On 4/15/26 11:40 AM, Nickolay Goppen wrote: > Changing FastRPC compute-cbs' reg values to matching iommu streams > solves SMMU translation errors when trying to use FastRPC on CDSP > so change FastRPC compute-cbs' reg values that way > > Signed-off-by: Nickolay Goppen <setotau@mainlining.org> > --- Fixes: c0c32a9e3493 ("arm64: dts: qcom: sdm630/660: Add CDSP-related nodes") Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Konrad ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 1/4] arm64: dts: qcom: sdm660: set cdsp compute-cbs' regs properly 2026-04-15 9:43 ` Konrad Dybcio @ 2026-04-17 18:08 ` Dmitry Baryshkov 0 siblings, 0 replies; 21+ messages in thread From: Dmitry Baryshkov @ 2026-04-17 18:08 UTC (permalink / raw) To: Konrad Dybcio Cc: Nickolay Goppen, Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-arm-msm, devicetree, linux-kernel, ~postmarketos/upstreaming On Wed, Apr 15, 2026 at 11:43:29AM +0200, Konrad Dybcio wrote: > On 4/15/26 11:40 AM, Nickolay Goppen wrote: > > Changing FastRPC compute-cbs' reg values to matching iommu streams > > solves SMMU translation errors when trying to use FastRPC on CDSP > > so change FastRPC compute-cbs' reg values that way > > > > Signed-off-by: Nickolay Goppen <setotau@mainlining.org> > > --- > > Fixes: c0c32a9e3493 ("arm64: dts: qcom: sdm630/660: Add CDSP-related nodes") With Fixes in place: Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> > > Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> > > Konrad -- With best wishes Dmitry ^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 2/4] arm64: dts: qcom: sdm630: set adsp compute-cbs' regs properly 2026-04-15 9:40 [PATCH 0/4] arm64: dts: qcom: sdm630/660 FastRPC fixes Nickolay Goppen 2026-04-15 9:40 ` [PATCH 1/4] arm64: dts: qcom: sdm660: set cdsp compute-cbs' regs properly Nickolay Goppen @ 2026-04-15 9:40 ` Nickolay Goppen 2026-04-15 9:50 ` Konrad Dybcio 2026-04-15 9:40 ` [PATCH 3/4] arm64: dts: qcom: sdm630: describe adsp_mem region properly Nickolay Goppen 2026-04-15 9:40 ` [PATCH 4/4] arm64: dts: qcom: sdm630: assign adsp_mem region to ADSP FastRPC node Nickolay Goppen 3 siblings, 1 reply; 21+ messages in thread From: Nickolay Goppen @ 2026-04-15 9:40 UTC (permalink / raw) To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley Cc: linux-arm-msm, devicetree, linux-kernel, ~postmarketos/upstreaming, Nickolay Goppen Changing FastRPC compute-cbs' reg values to matching iommu streams solves SMMU translation errors when trying to use FastRPC on ADSP so change FastRPC compute-cbs' reg values that way Signed-off-by: Nickolay Goppen <setotau@mainlining.org> --- arch/arm64/boot/dts/qcom/sdm630.dtsi | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/sdm630.dtsi b/arch/arm64/boot/dts/qcom/sdm630.dtsi index bef3213165d6..4b47efdb57b2 100644 --- a/arch/arm64/boot/dts/qcom/sdm630.dtsi +++ b/arch/arm64/boot/dts/qcom/sdm630.dtsi @@ -2459,27 +2459,27 @@ fastrpc { #address-cells = <1>; #size-cells = <0>; - compute-cb@1 { + compute-cb@3 { compatible = "qcom,fastrpc-compute-cb"; - reg = <1>; + reg = <3>; iommus = <&lpass_smmu 3>; }; - compute-cb@2 { + compute-cb@7 { compatible = "qcom,fastrpc-compute-cb"; - reg = <2>; + reg = <7>; iommus = <&lpass_smmu 7>; }; - compute-cb@3 { + compute-cb@8 { compatible = "qcom,fastrpc-compute-cb"; - reg = <3>; + reg = <8>; iommus = <&lpass_smmu 8>; }; - compute-cb@4 { + compute-cb@9 { compatible = "qcom,fastrpc-compute-cb"; - reg = <4>; + reg = <9>; iommus = <&lpass_smmu 9>; }; }; -- 2.53.0 ^ permalink raw reply related [flat|nested] 21+ messages in thread
* Re: [PATCH 2/4] arm64: dts: qcom: sdm630: set adsp compute-cbs' regs properly 2026-04-15 9:40 ` [PATCH 2/4] arm64: dts: qcom: sdm630: set adsp " Nickolay Goppen @ 2026-04-15 9:50 ` Konrad Dybcio 2026-04-17 18:08 ` Dmitry Baryshkov 0 siblings, 1 reply; 21+ messages in thread From: Konrad Dybcio @ 2026-04-15 9:50 UTC (permalink / raw) To: Nickolay Goppen, Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley Cc: linux-arm-msm, devicetree, linux-kernel, ~postmarketos/upstreaming On 4/15/26 11:40 AM, Nickolay Goppen wrote: > Changing FastRPC compute-cbs' reg values to matching iommu streams > solves SMMU translation errors when trying to use FastRPC on ADSP > so change FastRPC compute-cbs' reg values that way > > Signed-off-by: Nickolay Goppen <setotau@mainlining.org> > --- Fixes: af2ce7296643 ("arm64: dts: qcom: sdm630: Add FastRPC nodes to ADSP") Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Konrad ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 2/4] arm64: dts: qcom: sdm630: set adsp compute-cbs' regs properly 2026-04-15 9:50 ` Konrad Dybcio @ 2026-04-17 18:08 ` Dmitry Baryshkov 0 siblings, 0 replies; 21+ messages in thread From: Dmitry Baryshkov @ 2026-04-17 18:08 UTC (permalink / raw) To: Konrad Dybcio Cc: Nickolay Goppen, Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-arm-msm, devicetree, linux-kernel, ~postmarketos/upstreaming On Wed, Apr 15, 2026 at 11:50:09AM +0200, Konrad Dybcio wrote: > On 4/15/26 11:40 AM, Nickolay Goppen wrote: > > Changing FastRPC compute-cbs' reg values to matching iommu streams > > solves SMMU translation errors when trying to use FastRPC on ADSP > > so change FastRPC compute-cbs' reg values that way > > > > Signed-off-by: Nickolay Goppen <setotau@mainlining.org> > > --- > > Fixes: af2ce7296643 ("arm64: dts: qcom: sdm630: Add FastRPC nodes to ADSP") Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> > Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> > > Konrad -- With best wishes Dmitry ^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 3/4] arm64: dts: qcom: sdm630: describe adsp_mem region properly 2026-04-15 9:40 [PATCH 0/4] arm64: dts: qcom: sdm630/660 FastRPC fixes Nickolay Goppen 2026-04-15 9:40 ` [PATCH 1/4] arm64: dts: qcom: sdm660: set cdsp compute-cbs' regs properly Nickolay Goppen 2026-04-15 9:40 ` [PATCH 2/4] arm64: dts: qcom: sdm630: set adsp " Nickolay Goppen @ 2026-04-15 9:40 ` Nickolay Goppen 2026-04-15 9:52 ` Konrad Dybcio 2026-04-15 9:40 ` [PATCH 4/4] arm64: dts: qcom: sdm630: assign adsp_mem region to ADSP FastRPC node Nickolay Goppen 3 siblings, 1 reply; 21+ messages in thread From: Nickolay Goppen @ 2026-04-15 9:40 UTC (permalink / raw) To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley Cc: linux-arm-msm, devicetree, linux-kernel, ~postmarketos/upstreaming, Nickolay Goppen Downstream [1] this region is marked as shared and reusable so describe it that way. [1]: https://github.com/xiaomi-sdm660/android_kernel_xiaomi_sdm660/blob/11-EAS/arch/arm/boot/dts/qcom/sdm660.dtsi#L448 Signed-off-by: Nickolay Goppen <setotau@mainlining.org> --- arch/arm64/boot/dts/qcom/sdm630.dtsi | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/qcom/sdm630.dtsi b/arch/arm64/boot/dts/qcom/sdm630.dtsi index 4b47efdb57b2..13094b5e9339 100644 --- a/arch/arm64/boot/dts/qcom/sdm630.dtsi +++ b/arch/arm64/boot/dts/qcom/sdm630.dtsi @@ -495,8 +495,9 @@ venus_region: venus@9f800000 { }; adsp_mem: adsp-region@f6000000 { + compatible = "shared-dma-pool"; reg = <0x0 0xf6000000 0x0 0x800000>; - no-map; + reusable; }; qseecom_mem: qseecom-region@f6800000 { -- 2.53.0 ^ permalink raw reply related [flat|nested] 21+ messages in thread
* Re: [PATCH 3/4] arm64: dts: qcom: sdm630: describe adsp_mem region properly 2026-04-15 9:40 ` [PATCH 3/4] arm64: dts: qcom: sdm630: describe adsp_mem region properly Nickolay Goppen @ 2026-04-15 9:52 ` Konrad Dybcio 2026-04-15 10:03 ` Nickolay Goppen 2026-04-17 15:15 ` Ekansh Gupta 0 siblings, 2 replies; 21+ messages in thread From: Konrad Dybcio @ 2026-04-15 9:52 UTC (permalink / raw) To: Nickolay Goppen, Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Ekansh Gupta Cc: linux-arm-msm, devicetree, linux-kernel, ~postmarketos/upstreaming On 4/15/26 11:40 AM, Nickolay Goppen wrote: > Downstream [1] this region is marked as shared and reusable so > describe it that way. > > [1]: https://github.com/xiaomi-sdm660/android_kernel_xiaomi_sdm660/blob/11-EAS/arch/arm/boot/dts/qcom/sdm660.dtsi#L448 > > Signed-off-by: Nickolay Goppen <setotau@mainlining.org> > --- +Ekansh some insight, please? We're giving away that memory via qcom_scm_assign_mem() anyway and I would assume that making it not-"no-map" could introduce issues when the OS tries to access that region Konrad > arch/arm64/boot/dts/qcom/sdm630.dtsi | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/arch/arm64/boot/dts/qcom/sdm630.dtsi b/arch/arm64/boot/dts/qcom/sdm630.dtsi > index 4b47efdb57b2..13094b5e9339 100644 > --- a/arch/arm64/boot/dts/qcom/sdm630.dtsi > +++ b/arch/arm64/boot/dts/qcom/sdm630.dtsi > @@ -495,8 +495,9 @@ venus_region: venus@9f800000 { > }; > > adsp_mem: adsp-region@f6000000 { > + compatible = "shared-dma-pool"; > reg = <0x0 0xf6000000 0x0 0x800000>; > - no-map; > + reusable; > }; > > qseecom_mem: qseecom-region@f6800000 { > ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 3/4] arm64: dts: qcom: sdm630: describe adsp_mem region properly 2026-04-15 9:52 ` Konrad Dybcio @ 2026-04-15 10:03 ` Nickolay Goppen 2026-04-17 15:15 ` Ekansh Gupta 1 sibling, 0 replies; 21+ messages in thread From: Nickolay Goppen @ 2026-04-15 10:03 UTC (permalink / raw) To: Konrad Dybcio, Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Ekansh Gupta Cc: linux-arm-msm, devicetree, linux-kernel, ~postmarketos/upstreaming 15.04.2026 12:52, Konrad Dybcio wrote: > On 4/15/26 11:40 AM, Nickolay Goppen wrote: >> Downstream [1] this region is marked as shared and reusable so >> describe it that way. >> >> [1]: https://github.com/xiaomi-sdm660/android_kernel_xiaomi_sdm660/blob/11-EAS/arch/arm/boot/dts/qcom/sdm660.dtsi#L448 >> >> Signed-off-by: Nickolay Goppen <setotau@mainlining.org> >> --- > +Ekansh some insight, please? > > We're giving away that memory via qcom_scm_assign_mem() anyway > and I would assume that making it not-"no-map" could introduce issues > when the OS tries to access that region I've made it as sdm845 done [1]. [1]: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/arch/arm64/boot/dts/qcom/sdm845.dtsi#n893 > Konrad > > >> arch/arm64/boot/dts/qcom/sdm630.dtsi | 3 ++- >> 1 file changed, 2 insertions(+), 1 deletion(-) >> >> diff --git a/arch/arm64/boot/dts/qcom/sdm630.dtsi b/arch/arm64/boot/dts/qcom/sdm630.dtsi >> index 4b47efdb57b2..13094b5e9339 100644 >> --- a/arch/arm64/boot/dts/qcom/sdm630.dtsi >> +++ b/arch/arm64/boot/dts/qcom/sdm630.dtsi >> @@ -495,8 +495,9 @@ venus_region: venus@9f800000 { >> }; >> >> adsp_mem: adsp-region@f6000000 { >> + compatible = "shared-dma-pool"; >> reg = <0x0 0xf6000000 0x0 0x800000>; >> - no-map; >> + reusable; >> }; >> >> qseecom_mem: qseecom-region@f6800000 { >> -- Best regards, Nickolay ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 3/4] arm64: dts: qcom: sdm630: describe adsp_mem region properly 2026-04-15 9:52 ` Konrad Dybcio 2026-04-15 10:03 ` Nickolay Goppen @ 2026-04-17 15:15 ` Ekansh Gupta 2026-04-17 17:36 ` Nickolay Goppen 2026-04-21 8:29 ` Ekansh Gupta 1 sibling, 2 replies; 21+ messages in thread From: Ekansh Gupta @ 2026-04-17 15:15 UTC (permalink / raw) To: Konrad Dybcio, Nickolay Goppen, Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley Cc: linux-arm-msm, devicetree, linux-kernel, ~postmarketos/upstreaming On 15-04-2026 15:22, Konrad Dybcio wrote: > On 4/15/26 11:40 AM, Nickolay Goppen wrote: >> Downstream [1] this region is marked as shared and reusable so >> describe it that way. >> >> [1]: https://github.com/xiaomi-sdm660/android_kernel_xiaomi_sdm660/blob/11-EAS/arch/arm/boot/dts/qcom/sdm660.dtsi#L448 >> >> Signed-off-by: Nickolay Goppen <setotau@mainlining.org> >> --- > > +Ekansh some insight, please? > > We're giving away that memory via qcom_scm_assign_mem() anyway > and I would assume that making it not-"no-map" could introduce issues > when the OS tries to access that region > With the current version and the upcoming planned enhancements, I don't see any major benefits of making this as not-"no-map". With posted enhancements[1], the plan is to qcom_scm_assign_mem() the entire memory-region to lpass VMIDs. and un-assign it only during fastrpc_rpmsg_remove(). There have been implementation in downstream where this memory is dumped in case of SSR or audio PDR using minidump, so marking it `reusable` might make sense there, but that dump logic is not added upstream. Upon checking the DT, I see a bigger problem here, this memory-region looks to me unused, it's not added under fastrpc adsp node(ref. [2]). Please correct me if I am wrong about this point. [1] https://lore.kernel.org/all/20260409062617.1182-1-jianping.li@oss.qualcomm.com/ [2] https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/arch/arm64/boot/dts/qcom/lemans.dtsi#n7500 //Ekansh > Konrad > > >> arch/arm64/boot/dts/qcom/sdm630.dtsi | 3 ++- >> 1 file changed, 2 insertions(+), 1 deletion(-) >> >> diff --git a/arch/arm64/boot/dts/qcom/sdm630.dtsi b/arch/arm64/boot/dts/qcom/sdm630.dtsi >> index 4b47efdb57b2..13094b5e9339 100644 >> --- a/arch/arm64/boot/dts/qcom/sdm630.dtsi >> +++ b/arch/arm64/boot/dts/qcom/sdm630.dtsi >> @@ -495,8 +495,9 @@ venus_region: venus@9f800000 { >> }; >> >> adsp_mem: adsp-region@f6000000 { >> + compatible = "shared-dma-pool"; >> reg = <0x0 0xf6000000 0x0 0x800000>; >> - no-map; >> + reusable; >> }; >> >> qseecom_mem: qseecom-region@f6800000 { >> ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 3/4] arm64: dts: qcom: sdm630: describe adsp_mem region properly 2026-04-17 15:15 ` Ekansh Gupta @ 2026-04-17 17:36 ` Nickolay Goppen 2026-04-18 1:17 ` Ekansh Gupta 2026-04-21 8:29 ` Ekansh Gupta 1 sibling, 1 reply; 21+ messages in thread From: Nickolay Goppen @ 2026-04-17 17:36 UTC (permalink / raw) To: Ekansh Gupta, Konrad Dybcio, Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley Cc: linux-arm-msm, devicetree, linux-kernel, ~postmarketos/upstreaming I'm assigning this region in the fourth patch 17 апреля 2026 г. 18:15:45 GMT+03:00, Ekansh Gupta <ekansh.gupta@oss.qualcomm.com> wrote: >On 15-04-2026 15:22, Konrad Dybcio wrote: >> On 4/15/26 11:40 AM, Nickolay Goppen wrote: >>> Downstream [1] this region is marked as shared and reusable so >>> describe it that way. >>> >>> [1]: https://github.com/xiaomi-sdm660/android_kernel_xiaomi_sdm660/blob/11-EAS/arch/arm/boot/dts/qcom/sdm660.dtsi#L448 >>> >>> Signed-off-by: Nickolay Goppen <setotau@mainlining.org> >>> --- >> >> +Ekansh some insight, please? >> >> We're giving away that memory via qcom_scm_assign_mem() anyway >> and I would assume that making it not-"no-map" could introduce issues >> when the OS tries to access that region >> >With the current version and the upcoming planned enhancements, I don't >see any major benefits of making this as not-"no-map". > >With posted enhancements[1], the plan is to qcom_scm_assign_mem() the >entire memory-region to lpass VMIDs. and un-assign it only during >fastrpc_rpmsg_remove(). There have been implementation in downstream >where this memory is dumped in case of SSR or audio PDR using minidump, >so marking it `reusable` might make sense there, but that dump logic is >not added upstream. > >Upon checking the DT, I see a bigger problem here, this memory-region >looks to me unused, it's not added under fastrpc adsp node(ref. [2]). >Please correct me if I am wrong about this point. > >[1] >https://lore.kernel.org/all/20260409062617.1182-1-jianping.li@oss.qualcomm.com/ >[2] >https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/arch/arm64/boot/dts/qcom/lemans.dtsi#n7500 > >//Ekansh >> Konrad >> >> >>> arch/arm64/boot/dts/qcom/sdm630.dtsi | 3 ++- >>> 1 file changed, 2 insertions(+), 1 deletion(-) >>> >>> diff --git a/arch/arm64/boot/dts/qcom/sdm630.dtsi b/arch/arm64/boot/dts/qcom/sdm630.dtsi >>> index 4b47efdb57b2..13094b5e9339 100644 >>> --- a/arch/arm64/boot/dts/qcom/sdm630.dtsi >>> +++ b/arch/arm64/boot/dts/qcom/sdm630.dtsi >>> @@ -495,8 +495,9 @@ venus_region: venus@9f800000 { >>> }; >>> >>> adsp_mem: adsp-region@f6000000 { >>> + compatible = "shared-dma-pool"; >>> reg = <0x0 0xf6000000 0x0 0x800000>; >>> - no-map; >>> + reusable; >>> }; >>> >>> qseecom_mem: qseecom-region@f6800000 { >>> Best regards Nickolay ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 3/4] arm64: dts: qcom: sdm630: describe adsp_mem region properly 2026-04-17 17:36 ` Nickolay Goppen @ 2026-04-18 1:17 ` Ekansh Gupta 0 siblings, 0 replies; 21+ messages in thread From: Ekansh Gupta @ 2026-04-18 1:17 UTC (permalink / raw) To: Nickolay Goppen, Konrad Dybcio, Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley Cc: linux-arm-msm, devicetree, linux-kernel, ~postmarketos/upstreaming On 17-04-2026 23:06, Nickolay Goppen wrote: > I'm assigning this region in the fourth patch Okay, I see. Thanks for pointing it out. > > 17 апреля 2026 г. 18:15:45 GMT+03:00, Ekansh Gupta <ekansh.gupta@oss.qualcomm.com> wrote: >> On 15-04-2026 15:22, Konrad Dybcio wrote: >>> On 4/15/26 11:40 AM, Nickolay Goppen wrote: >>>> Downstream [1] this region is marked as shared and reusable so >>>> describe it that way. >>>> >>>> [1]: https://github.com/xiaomi-sdm660/android_kernel_xiaomi_sdm660/blob/11-EAS/arch/arm/boot/dts/qcom/sdm660.dtsi#L448 >>>> >>>> Signed-off-by: Nickolay Goppen <setotau@mainlining.org> >>>> --- >>> >>> +Ekansh some insight, please? >>> >>> We're giving away that memory via qcom_scm_assign_mem() anyway >>> and I would assume that making it not-"no-map" could introduce issues >>> when the OS tries to access that region >>> >> With the current version and the upcoming planned enhancements, I don't >> see any major benefits of making this as not-"no-map". >> >> With posted enhancements[1], the plan is to qcom_scm_assign_mem() the >> entire memory-region to lpass VMIDs. and un-assign it only during >> fastrpc_rpmsg_remove(). There have been implementation in downstream >> where this memory is dumped in case of SSR or audio PDR using minidump, >> so marking it `reusable` might make sense there, but that dump logic is >> not added upstream. >> >> Upon checking the DT, I see a bigger problem here, this memory-region >> looks to me unused, it's not added under fastrpc adsp node(ref. [2]). >> Please correct me if I am wrong about this point. >> >> [1] >> https://lore.kernel.org/all/20260409062617.1182-1-jianping.li@oss.qualcomm.com/ >> [2] >> https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/arch/arm64/boot/dts/qcom/lemans.dtsi#n7500 >> >> //Ekansh >>> Konrad >>> >>> >>>> arch/arm64/boot/dts/qcom/sdm630.dtsi | 3 ++- >>>> 1 file changed, 2 insertions(+), 1 deletion(-) >>>> >>>> diff --git a/arch/arm64/boot/dts/qcom/sdm630.dtsi b/arch/arm64/boot/dts/qcom/sdm630.dtsi >>>> index 4b47efdb57b2..13094b5e9339 100644 >>>> --- a/arch/arm64/boot/dts/qcom/sdm630.dtsi >>>> +++ b/arch/arm64/boot/dts/qcom/sdm630.dtsi >>>> @@ -495,8 +495,9 @@ venus_region: venus@9f800000 { >>>> }; >>>> >>>> adsp_mem: adsp-region@f6000000 { >>>> + compatible = "shared-dma-pool"; >>>> reg = <0x0 0xf6000000 0x0 0x800000>; >>>> - no-map; >>>> + reusable; >>>> }; >>>> >>>> qseecom_mem: qseecom-region@f6800000 { >>>> > > Best regards > Nickolay ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 3/4] arm64: dts: qcom: sdm630: describe adsp_mem region properly 2026-04-17 15:15 ` Ekansh Gupta 2026-04-17 17:36 ` Nickolay Goppen @ 2026-04-21 8:29 ` Ekansh Gupta 2026-04-21 8:32 ` Nickolay Goppen 2026-04-22 15:29 ` Dmitry Baryshkov 1 sibling, 2 replies; 21+ messages in thread From: Ekansh Gupta @ 2026-04-21 8:29 UTC (permalink / raw) To: Konrad Dybcio, Nickolay Goppen, Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley Cc: linux-arm-msm, devicetree, linux-kernel, ~postmarketos/upstreaming, quic_chennak, quic_bkumar On 17-04-2026 20:45, Ekansh Gupta wrote: > On 15-04-2026 15:22, Konrad Dybcio wrote: >> On 4/15/26 11:40 AM, Nickolay Goppen wrote: >>> Downstream [1] this region is marked as shared and reusable so >>> describe it that way. >>> >>> [1]: https://github.com/xiaomi-sdm660/android_kernel_xiaomi_sdm660/blob/11-EAS/arch/arm/boot/dts/qcom/sdm660.dtsi#L448 >>> >>> Signed-off-by: Nickolay Goppen <setotau@mainlining.org> >>> --- >> >> +Ekansh some insight, please? >> >> We're giving away that memory via qcom_scm_assign_mem() anyway >> and I would assume that making it not-"no-map" could introduce issues >> when the OS tries to access that region >> > With the current version and the upcoming planned enhancements, I don't > see any major benefits of making this as not-"no-map". > > With posted enhancements[1], the plan is to qcom_scm_assign_mem() the > entire memory-region to lpass VMIDs. and un-assign it only during > fastrpc_rpmsg_remove(). There have been implementation in downstream > where this memory is dumped in case of SSR or audio PDR using minidump, > so marking it `reusable` might make sense there, but that dump logic is > not added upstream. > > Upon checking the DT, I see a bigger problem here, this memory-region > looks to me unused, it's not added under fastrpc adsp node(ref. [2]). > Please correct me if I am wrong about this point. > > [1] > https://lore.kernel.org/all/20260409062617.1182-1-jianping.li@oss.qualcomm.com/ > [2] > https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/arch/arm64/boot/dts/qcom/lemans.dtsi#n7500 Just had a new finding on this. There is one more reason why it is not added as no-map in downstream. This audio PD carve-out region is not defined for most of the platform's memory-map. With a change to qcom_scm the memory during boot-up, issue was observed on RB3Gen2[1], where EFI firmware was loaded in the memory region which was causing boot-up issues. So defining it as no-map might not be correct and it might need be changed for all DT files. I don't have a history of why it was added as a "no-map" region on upstream but looks like same has been followed for almost all the platforms. This needs to be modified based on the memory-maps and the region needs to allocate memory in a dynamic manner. [1] https://github.com/qualcomm-linux/kernel/pull/487 //Ekansh > > //Ekansh >> Konrad >> >> >>> arch/arm64/boot/dts/qcom/sdm630.dtsi | 3 ++- >>> 1 file changed, 2 insertions(+), 1 deletion(-) >>> >>> diff --git a/arch/arm64/boot/dts/qcom/sdm630.dtsi b/arch/arm64/boot/dts/qcom/sdm630.dtsi >>> index 4b47efdb57b2..13094b5e9339 100644 >>> --- a/arch/arm64/boot/dts/qcom/sdm630.dtsi >>> +++ b/arch/arm64/boot/dts/qcom/sdm630.dtsi >>> @@ -495,8 +495,9 @@ venus_region: venus@9f800000 { >>> }; >>> >>> adsp_mem: adsp-region@f6000000 { >>> + compatible = "shared-dma-pool"; >>> reg = <0x0 0xf6000000 0x0 0x800000>; >>> - no-map; >>> + reusable; >>> }; >>> >>> qseecom_mem: qseecom-region@f6800000 { >>> > ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 3/4] arm64: dts: qcom: sdm630: describe adsp_mem region properly 2026-04-21 8:29 ` Ekansh Gupta @ 2026-04-21 8:32 ` Nickolay Goppen 2026-04-22 9:38 ` Ekansh Gupta 2026-04-22 15:29 ` Dmitry Baryshkov 1 sibling, 1 reply; 21+ messages in thread From: Nickolay Goppen @ 2026-04-21 8:32 UTC (permalink / raw) To: Ekansh Gupta, Konrad Dybcio, Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley Cc: linux-arm-msm, devicetree, linux-kernel, ~postmarketos/upstreaming, quic_chennak, quic_bkumar 21.04.2026 11:29, Ekansh Gupta wrote: > On 17-04-2026 20:45, Ekansh Gupta wrote: >> On 15-04-2026 15:22, Konrad Dybcio wrote: >>> On 4/15/26 11:40 AM, Nickolay Goppen wrote: >>>> Downstream [1] this region is marked as shared and reusable so >>>> describe it that way. >>>> >>>> [1]: https://github.com/xiaomi-sdm660/android_kernel_xiaomi_sdm660/blob/11-EAS/arch/arm/boot/dts/qcom/sdm660.dtsi#L448 >>>> >>>> Signed-off-by: Nickolay Goppen <setotau@mainlining.org> >>>> --- >>> +Ekansh some insight, please? >>> >>> We're giving away that memory via qcom_scm_assign_mem() anyway >>> and I would assume that making it not-"no-map" could introduce issues >>> when the OS tries to access that region >>> >> With the current version and the upcoming planned enhancements, I don't >> see any major benefits of making this as not-"no-map". >> >> With posted enhancements[1], the plan is to qcom_scm_assign_mem() the >> entire memory-region to lpass VMIDs. and un-assign it only during >> fastrpc_rpmsg_remove(). There have been implementation in downstream >> where this memory is dumped in case of SSR or audio PDR using minidump, >> so marking it `reusable` might make sense there, but that dump logic is >> not added upstream. >> >> Upon checking the DT, I see a bigger problem here, this memory-region >> looks to me unused, it's not added under fastrpc adsp node(ref. [2]). >> Please correct me if I am wrong about this point. >> >> [1] >> https://lore.kernel.org/all/20260409062617.1182-1-jianping.li@oss.qualcomm.com/ >> [2] >> https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/arch/arm64/boot/dts/qcom/lemans.dtsi#n7500 > Just had a new finding on this. There is one more reason why it is not > added as no-map in downstream. This audio PD carve-out region is not > defined for most of the platform's memory-map. > > With a change to qcom_scm the memory during boot-up, issue was observed > on RB3Gen2[1], where EFI firmware was loaded in the memory region which > was causing boot-up issues. > > So defining it as no-map might not be correct and it might need be > changed for all DT files. So It needs to be set as not-"no-map"? > I don't have a history of why it was added as a "no-map" region on > upstream but looks like same has been followed for almost all the > platforms. This needs to be modified based on the memory-maps and the > region needs to allocate memory in a dynamic manner. > > [1] https://github.com/qualcomm-linux/kernel/pull/487 > > //Ekansh >> //Ekansh >>> Konrad >>> >>> >>>> arch/arm64/boot/dts/qcom/sdm630.dtsi | 3 ++- >>>> 1 file changed, 2 insertions(+), 1 deletion(-) >>>> >>>> diff --git a/arch/arm64/boot/dts/qcom/sdm630.dtsi b/arch/arm64/boot/dts/qcom/sdm630.dtsi >>>> index 4b47efdb57b2..13094b5e9339 100644 >>>> --- a/arch/arm64/boot/dts/qcom/sdm630.dtsi >>>> +++ b/arch/arm64/boot/dts/qcom/sdm630.dtsi >>>> @@ -495,8 +495,9 @@ venus_region: venus@9f800000 { >>>> }; >>>> >>>> adsp_mem: adsp-region@f6000000 { >>>> + compatible = "shared-dma-pool"; >>>> reg = <0x0 0xf6000000 0x0 0x800000>; >>>> - no-map; >>>> + reusable; >>>> }; >>>> >>>> qseecom_mem: qseecom-region@f6800000 { >>>> -- Best regards, Nickolay ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 3/4] arm64: dts: qcom: sdm630: describe adsp_mem region properly 2026-04-21 8:32 ` Nickolay Goppen @ 2026-04-22 9:38 ` Ekansh Gupta 2026-04-22 10:24 ` Konrad Dybcio 0 siblings, 1 reply; 21+ messages in thread From: Ekansh Gupta @ 2026-04-22 9:38 UTC (permalink / raw) To: Nickolay Goppen, Konrad Dybcio, Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley Cc: linux-arm-msm, devicetree, linux-kernel, ~postmarketos/upstreaming, quic_chennak, quic_bkumar On 21-04-2026 14:02, Nickolay Goppen wrote: > > 21.04.2026 11:29, Ekansh Gupta wrote: >> On 17-04-2026 20:45, Ekansh Gupta wrote: >>> On 15-04-2026 15:22, Konrad Dybcio wrote: >>>> On 4/15/26 11:40 AM, Nickolay Goppen wrote: >>>>> Downstream [1] this region is marked as shared and reusable so >>>>> describe it that way. >>>>> >>>>> [1]: https://github.com/xiaomi-sdm660/android_kernel_xiaomi_sdm660/ >>>>> blob/11-EAS/arch/arm/boot/dts/qcom/sdm660.dtsi#L448 >>>>> >>>>> Signed-off-by: Nickolay Goppen <setotau@mainlining.org> >>>>> --- >>>> +Ekansh some insight, please? >>>> >>>> We're giving away that memory via qcom_scm_assign_mem() anyway >>>> and I would assume that making it not-"no-map" could introduce issues >>>> when the OS tries to access that region >>>> >>> With the current version and the upcoming planned enhancements, I don't >>> see any major benefits of making this as not-"no-map". >>> >>> With posted enhancements[1], the plan is to qcom_scm_assign_mem() the >>> entire memory-region to lpass VMIDs. and un-assign it only during >>> fastrpc_rpmsg_remove(). There have been implementation in downstream >>> where this memory is dumped in case of SSR or audio PDR using minidump, >>> so marking it `reusable` might make sense there, but that dump logic is >>> not added upstream. >>> >>> Upon checking the DT, I see a bigger problem here, this memory-region >>> looks to me unused, it's not added under fastrpc adsp node(ref. [2]). >>> Please correct me if I am wrong about this point. >>> >>> [1] >>> https://lore.kernel.org/all/20260409062617.1182-1- >>> jianping.li@oss.qualcomm.com/ >>> [2] >>> https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/ >>> tree/arch/arm64/boot/dts/qcom/lemans.dtsi#n7500 >> Just had a new finding on this. There is one more reason why it is not >> added as no-map in downstream. This audio PD carve-out region is not >> defined for most of the platform's memory-map. >> >> With a change to qcom_scm the memory during boot-up, issue was observed >> on RB3Gen2[1], where EFI firmware was loaded in the memory region which >> was causing boot-up issues. >> >> So defining it as no-map might not be correct and it might need be >> changed for all DT files. > So It needs to be set as not-"no-map"? Yes, that's correct, but I think the static address setting should also be removed. As it is not present in memory-maps, I don't think assigning some static address would be correct in this case. Konrad, till now I have checked this for multiple platforms and I see carveout defined only for lemans, monaco and hamoa. I believe, for other platforms, we should move to `shared-dma-pool` with `alloc-ranges`. >> I don't have a history of why it was added as a "no-map" region on >> upstream but looks like same has been followed for almost all the >> platforms. This needs to be modified based on the memory-maps and the >> region needs to allocate memory in a dynamic manner. >> >> [1] https://github.com/qualcomm-linux/kernel/pull/487 >> >> //Ekansh >>> //Ekansh >>>> Konrad >>>> >>>> >>>>> arch/arm64/boot/dts/qcom/sdm630.dtsi | 3 ++- >>>>> 1 file changed, 2 insertions(+), 1 deletion(-) >>>>> >>>>> diff --git a/arch/arm64/boot/dts/qcom/sdm630.dtsi b/arch/arm64/ >>>>> boot/dts/qcom/sdm630.dtsi >>>>> index 4b47efdb57b2..13094b5e9339 100644 >>>>> --- a/arch/arm64/boot/dts/qcom/sdm630.dtsi >>>>> +++ b/arch/arm64/boot/dts/qcom/sdm630.dtsi >>>>> @@ -495,8 +495,9 @@ venus_region: venus@9f800000 { >>>>> }; >>>>> adsp_mem: adsp-region@f6000000 { >>>>> + compatible = "shared-dma-pool"; >>>>> reg = <0x0 0xf6000000 0x0 0x800000>; >>>>> - no-map; >>>>> + reusable; >>>>> }; >>>>> qseecom_mem: qseecom-region@f6800000 { >>>>> ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 3/4] arm64: dts: qcom: sdm630: describe adsp_mem region properly 2026-04-22 9:38 ` Ekansh Gupta @ 2026-04-22 10:24 ` Konrad Dybcio 0 siblings, 0 replies; 21+ messages in thread From: Konrad Dybcio @ 2026-04-22 10:24 UTC (permalink / raw) To: Ekansh Gupta, Nickolay Goppen, Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley Cc: linux-arm-msm, devicetree, linux-kernel, ~postmarketos/upstreaming, quic_chennak, quic_bkumar On 4/22/26 11:38 AM, Ekansh Gupta wrote: > On 21-04-2026 14:02, Nickolay Goppen wrote: >> >> 21.04.2026 11:29, Ekansh Gupta wrote: >>> On 17-04-2026 20:45, Ekansh Gupta wrote: >>>> On 15-04-2026 15:22, Konrad Dybcio wrote: >>>>> On 4/15/26 11:40 AM, Nickolay Goppen wrote: >>>>>> Downstream [1] this region is marked as shared and reusable so >>>>>> describe it that way. >>>>>> >>>>>> [1]: https://github.com/xiaomi-sdm660/android_kernel_xiaomi_sdm660/ >>>>>> blob/11-EAS/arch/arm/boot/dts/qcom/sdm660.dtsi#L448 >>>>>> >>>>>> Signed-off-by: Nickolay Goppen <setotau@mainlining.org> >>>>>> --- >>>>> +Ekansh some insight, please? >>>>> >>>>> We're giving away that memory via qcom_scm_assign_mem() anyway >>>>> and I would assume that making it not-"no-map" could introduce issues >>>>> when the OS tries to access that region >>>>> >>>> With the current version and the upcoming planned enhancements, I don't >>>> see any major benefits of making this as not-"no-map". >>>> >>>> With posted enhancements[1], the plan is to qcom_scm_assign_mem() the >>>> entire memory-region to lpass VMIDs. and un-assign it only during >>>> fastrpc_rpmsg_remove(). There have been implementation in downstream >>>> where this memory is dumped in case of SSR or audio PDR using minidump, >>>> so marking it `reusable` might make sense there, but that dump logic is >>>> not added upstream. >>>> >>>> Upon checking the DT, I see a bigger problem here, this memory-region >>>> looks to me unused, it's not added under fastrpc adsp node(ref. [2]). >>>> Please correct me if I am wrong about this point. >>>> >>>> [1] >>>> https://lore.kernel.org/all/20260409062617.1182-1- >>>> jianping.li@oss.qualcomm.com/ >>>> [2] >>>> https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/ >>>> tree/arch/arm64/boot/dts/qcom/lemans.dtsi#n7500 >>> Just had a new finding on this. There is one more reason why it is not >>> added as no-map in downstream. This audio PD carve-out region is not >>> defined for most of the platform's memory-map. >>> >>> With a change to qcom_scm the memory during boot-up, issue was observed >>> on RB3Gen2[1], where EFI firmware was loaded in the memory region which >>> was causing boot-up issues. >>> >>> So defining it as no-map might not be correct and it might need be >>> changed for all DT files. >> So It needs to be set as not-"no-map"? > Yes, that's correct, but I think the static address setting should also > be removed. As it is not present in memory-maps, I don't think assigning > some static address would be correct in this case. > > Konrad, till now I have checked this for multiple platforms and I see > carveout defined only for lemans, monaco and hamoa. I believe, for other > platforms, we should move to `shared-dma-pool` with `alloc-ranges`. I think so too. The only exception would be if the UEFI had already allocated a fixed region for that, since the memory could otherwise be wasted (as it would need(?) to be reserved anyway) Konrad ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 3/4] arm64: dts: qcom: sdm630: describe adsp_mem region properly 2026-04-21 8:29 ` Ekansh Gupta 2026-04-21 8:32 ` Nickolay Goppen @ 2026-04-22 15:29 ` Dmitry Baryshkov 1 sibling, 0 replies; 21+ messages in thread From: Dmitry Baryshkov @ 2026-04-22 15:29 UTC (permalink / raw) To: Ekansh Gupta Cc: Konrad Dybcio, Nickolay Goppen, Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-arm-msm, devicetree, linux-kernel, ~postmarketos/upstreaming, quic_chennak, quic_bkumar On Tue, Apr 21, 2026 at 01:59:23PM +0530, Ekansh Gupta wrote: > On 17-04-2026 20:45, Ekansh Gupta wrote: > > On 15-04-2026 15:22, Konrad Dybcio wrote: > >> On 4/15/26 11:40 AM, Nickolay Goppen wrote: > >>> Downstream [1] this region is marked as shared and reusable so > >>> describe it that way. > >>> > >>> [1]: https://github.com/xiaomi-sdm660/android_kernel_xiaomi_sdm660/blob/11-EAS/arch/arm/boot/dts/qcom/sdm660.dtsi#L448 > >>> > >>> Signed-off-by: Nickolay Goppen <setotau@mainlining.org> > >>> --- > >> > >> +Ekansh some insight, please? > >> > >> We're giving away that memory via qcom_scm_assign_mem() anyway > >> and I would assume that making it not-"no-map" could introduce issues > >> when the OS tries to access that region > >> > > With the current version and the upcoming planned enhancements, I don't > > see any major benefits of making this as not-"no-map". > > > > With posted enhancements[1], the plan is to qcom_scm_assign_mem() the > > entire memory-region to lpass VMIDs. and un-assign it only during > > fastrpc_rpmsg_remove(). There have been implementation in downstream > > where this memory is dumped in case of SSR or audio PDR using minidump, > > so marking it `reusable` might make sense there, but that dump logic is > > not added upstream. > > > > Upon checking the DT, I see a bigger problem here, this memory-region > > looks to me unused, it's not added under fastrpc adsp node(ref. [2]). > > Please correct me if I am wrong about this point. > > > > [1] > > https://lore.kernel.org/all/20260409062617.1182-1-jianping.li@oss.qualcomm.com/ > > [2] > > https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/arch/arm64/boot/dts/qcom/lemans.dtsi#n7500 > Just had a new finding on this. There is one more reason why it is not > added as no-map in downstream. This audio PD carve-out region is not > defined for most of the platform's memory-map. > > With a change to qcom_scm the memory during boot-up, issue was observed > on RB3Gen2[1], where EFI firmware was loaded in the memory region which > was causing boot-up issues. > > So defining it as no-map might not be correct and it might need be > changed for all DT files. Just to point out. By removing the no-map you'd hide the issue instead of solving it. The region would still be transferred to the ADSP (maybe piece by piece), possibly causing crashed once bootloaders / EFI tries to access those regions. > > I don't have a history of why it was added as a "no-map" region on > upstream but looks like same has been followed for almost all the > platforms. This needs to be modified based on the memory-maps and the > region needs to allocate memory in a dynamic manner. > > [1] https://github.com/qualcomm-linux/kernel/pull/487 > > //Ekansh > > > > //Ekansh > >> Konrad > >> > >> > >>> arch/arm64/boot/dts/qcom/sdm630.dtsi | 3 ++- > >>> 1 file changed, 2 insertions(+), 1 deletion(-) > >>> > >>> diff --git a/arch/arm64/boot/dts/qcom/sdm630.dtsi b/arch/arm64/boot/dts/qcom/sdm630.dtsi > >>> index 4b47efdb57b2..13094b5e9339 100644 > >>> --- a/arch/arm64/boot/dts/qcom/sdm630.dtsi > >>> +++ b/arch/arm64/boot/dts/qcom/sdm630.dtsi > >>> @@ -495,8 +495,9 @@ venus_region: venus@9f800000 { > >>> }; > >>> > >>> adsp_mem: adsp-region@f6000000 { > >>> + compatible = "shared-dma-pool"; > >>> reg = <0x0 0xf6000000 0x0 0x800000>; > >>> - no-map; > >>> + reusable; > >>> }; > >>> > >>> qseecom_mem: qseecom-region@f6800000 { > >>> > > > -- With best wishes Dmitry ^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 4/4] arm64: dts: qcom: sdm630: assign adsp_mem region to ADSP FastRPC node 2026-04-15 9:40 [PATCH 0/4] arm64: dts: qcom: sdm630/660 FastRPC fixes Nickolay Goppen ` (2 preceding siblings ...) 2026-04-15 9:40 ` [PATCH 3/4] arm64: dts: qcom: sdm630: describe adsp_mem region properly Nickolay Goppen @ 2026-04-15 9:40 ` Nickolay Goppen 2026-04-17 18:12 ` Dmitry Baryshkov 2026-04-18 1:20 ` Ekansh Gupta 3 siblings, 2 replies; 21+ messages in thread From: Nickolay Goppen @ 2026-04-15 9:40 UTC (permalink / raw) To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley Cc: linux-arm-msm, devicetree, linux-kernel, ~postmarketos/upstreaming, Nickolay Goppen Downstream [1] ADSP FastRPC node has the adsp_mem region assigned, so assign it to the ADSP FastRPC node. [1]: https://github.com/xiaomi-sdm660/android_kernel_xiaomi_sdm660/blob/11-EAS/arch/arm/boot/dts/qcom/sdm660.dtsi#L1693 Signed-off-by: Nickolay Goppen <setotau@mainlining.org> --- arch/arm64/boot/dts/qcom/sdm630.dtsi | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm64/boot/dts/qcom/sdm630.dtsi b/arch/arm64/boot/dts/qcom/sdm630.dtsi index 13094b5e9339..19d80fbba57d 100644 --- a/arch/arm64/boot/dts/qcom/sdm630.dtsi +++ b/arch/arm64/boot/dts/qcom/sdm630.dtsi @@ -2456,6 +2456,7 @@ fastrpc { compatible = "qcom,fastrpc"; qcom,glink-channels = "fastrpcglink-apps-dsp"; label = "adsp"; + memory-region = <&adsp_mem>; qcom,non-secure-domain; #address-cells = <1>; #size-cells = <0>; -- 2.53.0 ^ permalink raw reply related [flat|nested] 21+ messages in thread
* Re: [PATCH 4/4] arm64: dts: qcom: sdm630: assign adsp_mem region to ADSP FastRPC node 2026-04-15 9:40 ` [PATCH 4/4] arm64: dts: qcom: sdm630: assign adsp_mem region to ADSP FastRPC node Nickolay Goppen @ 2026-04-17 18:12 ` Dmitry Baryshkov 2026-04-18 1:20 ` Ekansh Gupta 1 sibling, 0 replies; 21+ messages in thread From: Dmitry Baryshkov @ 2026-04-17 18:12 UTC (permalink / raw) To: Nickolay Goppen Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-arm-msm, devicetree, linux-kernel, ~postmarketos/upstreaming On Wed, Apr 15, 2026 at 12:40:26PM +0300, Nickolay Goppen wrote: > Downstream [1] ADSP FastRPC node has the adsp_mem region assigned, so > assign it to the ADSP FastRPC node. > > [1]: https://github.com/xiaomi-sdm660/android_kernel_xiaomi_sdm660/blob/11-EAS/arch/arm/boot/dts/qcom/sdm660.dtsi#L1693 > > Signed-off-by: Nickolay Goppen <setotau@mainlining.org> > --- > arch/arm64/boot/dts/qcom/sdm630.dtsi | 1 + > 1 file changed, 1 insertion(+) > Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> -- With best wishes Dmitry ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 4/4] arm64: dts: qcom: sdm630: assign adsp_mem region to ADSP FastRPC node 2026-04-15 9:40 ` [PATCH 4/4] arm64: dts: qcom: sdm630: assign adsp_mem region to ADSP FastRPC node Nickolay Goppen 2026-04-17 18:12 ` Dmitry Baryshkov @ 2026-04-18 1:20 ` Ekansh Gupta 1 sibling, 0 replies; 21+ messages in thread From: Ekansh Gupta @ 2026-04-18 1:20 UTC (permalink / raw) To: Nickolay Goppen, Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley Cc: linux-arm-msm, devicetree, linux-kernel, ~postmarketos/upstreaming On 15-04-2026 15:10, Nickolay Goppen wrote: > Downstream [1] ADSP FastRPC node has the adsp_mem region assigned, so > assign it to the ADSP FastRPC node. > > [1]: https://github.com/xiaomi-sdm660/android_kernel_xiaomi_sdm660/blob/11-EAS/arch/arm/boot/dts/qcom/sdm660.dtsi#L1693 > > Signed-off-by: Nickolay Goppen <setotau@mainlining.org> > --- > arch/arm64/boot/dts/qcom/sdm630.dtsi | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/arch/arm64/boot/dts/qcom/sdm630.dtsi b/arch/arm64/boot/dts/qcom/sdm630.dtsi > index 13094b5e9339..19d80fbba57d 100644 > --- a/arch/arm64/boot/dts/qcom/sdm630.dtsi > +++ b/arch/arm64/boot/dts/qcom/sdm630.dtsi > @@ -2456,6 +2456,7 @@ fastrpc { > compatible = "qcom,fastrpc"; > qcom,glink-channels = "fastrpcglink-apps-dsp"; > label = "adsp"; > + memory-region = <&adsp_mem>; This memory-region won't really be useful without proper VMID configuration. Please add LPASS and ADSP_HEAP VMIDs. Ref: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/arch/arm64/boot/dts/qcom/lemans.dtsi#n7501 //Ekansh > qcom,non-secure-domain; > #address-cells = <1>; > #size-cells = <0>; > ^ permalink raw reply [flat|nested] 21+ messages in thread
end of thread, other threads:[~2026-04-22 15:29 UTC | newest] Thread overview: 21+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-04-15 9:40 [PATCH 0/4] arm64: dts: qcom: sdm630/660 FastRPC fixes Nickolay Goppen 2026-04-15 9:40 ` [PATCH 1/4] arm64: dts: qcom: sdm660: set cdsp compute-cbs' regs properly Nickolay Goppen 2026-04-15 9:43 ` Konrad Dybcio 2026-04-17 18:08 ` Dmitry Baryshkov 2026-04-15 9:40 ` [PATCH 2/4] arm64: dts: qcom: sdm630: set adsp " Nickolay Goppen 2026-04-15 9:50 ` Konrad Dybcio 2026-04-17 18:08 ` Dmitry Baryshkov 2026-04-15 9:40 ` [PATCH 3/4] arm64: dts: qcom: sdm630: describe adsp_mem region properly Nickolay Goppen 2026-04-15 9:52 ` Konrad Dybcio 2026-04-15 10:03 ` Nickolay Goppen 2026-04-17 15:15 ` Ekansh Gupta 2026-04-17 17:36 ` Nickolay Goppen 2026-04-18 1:17 ` Ekansh Gupta 2026-04-21 8:29 ` Ekansh Gupta 2026-04-21 8:32 ` Nickolay Goppen 2026-04-22 9:38 ` Ekansh Gupta 2026-04-22 10:24 ` Konrad Dybcio 2026-04-22 15:29 ` Dmitry Baryshkov 2026-04-15 9:40 ` [PATCH 4/4] arm64: dts: qcom: sdm630: assign adsp_mem region to ADSP FastRPC node Nickolay Goppen 2026-04-17 18:12 ` Dmitry Baryshkov 2026-04-18 1:20 ` Ekansh Gupta
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox