Re: [PATCH v3 2/4] dts: arm64: qcom: sdm845: add SLPI FastRPC support

From: Konrad Dybcio
Date: Thu Mar 30 2023 - 22:03:35 EST




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.

> + alloc-ranges = <0 0x00000000 0 0xffffffff>;
Would there be any issues with it starting over (1<<31 - 1)?

> + alignment = <0 0x400000>;
Please use 0x0 for the 0 here, as it's essentially reg.size with
size-cells = 2

> + size = <0 0x1000000>;
Ditto

> + };
> };
>
> 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>;
> + };
> + };
> };
> };
>