On Fri, 2023-03-31 at 14:20 +0200, Konrad Dybcio wrote: > > > On 31.03.2023 11:36, Dylan Van Assche wrote: > > Hi Konrad, > > > > On Fri, 2023-03-31 at 04:03 +0200, Konrad Dybcio wrote: > > > > > > > > > On 30.03.2023 18:53, Dylan Van Assche wrote: > > > > Qualcomm SDM845 SoC features a SLPI DSP which uses FastRPC > > > > through > > > > an allocated memory region to load files from the host > > > > filesystem > > > > such as sensor configuration files. > > > > > > > > Add a FastRPC node at /dev/fastrpc-sdsp and a DMA region, > > > > similar > > > > to > > > > downstream, to allow userspace to communicate with the SLPI via > > > > the > > > > FastRPC interface for initializing the sensors on the SLPI. > > > > > > > > Signed-off-by: Dylan Van Assche <me@xxxxxxxxxxxxxxxxx> > > > > --- > > > > arch/arm64/boot/dts/qcom/sdm845.dtsi | 24 > > > > ++++++++++++++++++++++++ > > > > 1 file changed, 24 insertions(+) > > > > > > > > diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi > > > > b/arch/arm64/boot/dts/qcom/sdm845.dtsi > > > > index 3b547cb7aeb8..8ea4944f3ad6 100644 > > > > --- a/arch/arm64/boot/dts/qcom/sdm845.dtsi > > > > +++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi > > > > @@ -878,6 +878,14 @@ mdata_mem: mpss-metadata { > > > > size = <0 0x4000>; > > > > no-map; > > > > }; > > > > + > > > > + fastrpc_mem: fastrpc { > > > > + compatible = "shared-dma-pool"; > > > > + reusable; > > > Please move it last to get a nice reverse-Christmas-tree layout. > > > > > > > Will fix in v4. > > > > > > + alloc-ranges = <0 0x00000000 0 > > > > 0xffffffff>; > > > Would there be any issues with it starting over (1<<31 - 1)? > > > > > > > You mean a bigger region then, like the whole CMA region then? > > AFAIK, > > the SLPI always use the same region expecting it to be in this > > range. > > However, I cannot confirm more, as I have no insights in the > > firmware > > running on there, this all comes from finding out what it exactly > > does > > on downstream. > I was asking about the <.. 0 0xfff.f> part specifically, as that > means > it can't be allocated above 4 gigs. But I guess it's just how qcom > envisioned it. > I think it is limited by qcom, but I cannot be entirely sure :) In any case, for v4, do I keep 0xffffffff? > Also, please use 0x0 in alloc-ranges as well, this is all addresses/ > reg sizes. > > Konrad Yes, will use 0x0 instead of 0. Dylan > > > > > > + alignment = <0 0x400000>; > > > Please use 0x0 for the 0 here, as it's essentially reg.size with > > > size-cells = 2 > > > > Will fix in v4. > > > > > > > > > + size = <0 0x1000000>; > > > Ditto > > > > Will fix in v4. > > > > > > > > > + }; > > > > }; > > > > > > > > adsp_pas: remoteproc-adsp { > > > > @@ -3344,6 +3352,22 @@ glink-edge { > > > > label = "dsps"; > > > > qcom,remote-pid = <3>; > > > > mboxes = <&apss_shared 24>; > > > > + > > > > + fastrpc { > > > > + compatible = > > > > "qcom,fastrpc"; > > > > + qcom,glink-channels = > > > > "fastrpcglink-apps-dsp"; > > > > + label = "sdsp"; > > > > + qcom,non-secure-domain; > > > > + qcom,vmids = <0x3 0xF > > > > 0x5 > > > > 0x6>; > > > Please use the recently-introduced header and depend on (and > > > make a patch atop) > > > > > > https://lore.kernel.org/linux-arm-msm/8685b710-b74d-556a-815d-0ffef2b0eeff@xxxxxxxxxx/T/#t > > > > > > Konrad > > > > > > > + memory-region = > > > > <&fastrpc_mem>; > > > > + #address-cells = <1>; > > > > + #size-cells = <0>; > > > > + > > > > + compute-cb@0 { > > > > + compatible = > > > > "qcom,fastrpc-compute-cb"; > > > > + reg = <0>; > > > > + }; > > > > + }; > > > > }; > > > > }; > > > > > > > > Kind regards, > > Dylan