Re: [PATCH v2 2/2] misc: fastrpc: use coherent pool for untranslated Compute Banks

From: Caleb Connolly
Date: Sat May 06 2023 - 13:30:56 EST




On 27/03/2023 19:42, Dylan Van Assche wrote:
> Use fastrpc_remote_heap_alloc to allocate from the FastRPC device
> instead of the Compute Bank when the session ID is 0. This ensures
> that the allocation is inside the coherent DMA pool which is already
> accessible to the DSP. This is necessary to support FastRPC devices
> which do not have dedicated Compute Banks such as the SLPI on the SDM845.
> The latter uses an allocated CMA region instead of FastRPC Compute Banks.
>
> Signed-off-by: Dylan Van Assche <me@xxxxxxxxxxxxxxxxx>

Reviewed-by: Caleb Connolly <caleb.connolly@xxxxxxxxxx>
> ---
> drivers/misc/fastrpc.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c
> index caf2ae556956..b7ddf6b90022 100644
> --- a/drivers/misc/fastrpc.c
> +++ b/drivers/misc/fastrpc.c
> @@ -939,7 +939,10 @@ static int fastrpc_get_args(u32 kernel, struct fastrpc_invoke_ctx *ctx)
>
> ctx->msg_sz = pkt_size;
>
> - err = fastrpc_buf_alloc(ctx->fl, dev, pkt_size, &ctx->buf);
> + if (ctx->fl->sctx->sid)
> + err = fastrpc_buf_alloc(ctx->fl, dev, pkt_size, &ctx->buf);
> + else
> + err = fastrpc_remote_heap_alloc(ctx->fl, dev, pkt_size, &ctx->buf);
> if (err)
> return err;
>
> --
> 2.39.2
>

--
Kind Regards,
Caleb