On 5/24/2024 9:44 PM, 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 <m...@dylanvanassche.be>
> Reviewed-by: Caleb Connolly <caleb.conno...@linaro.org>
> ---
Reviewed-by: Ekansh Gupta <quic_ekang...@quicinc.com>
>  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 c06667b29055..f53d20e2e07e 100644
> --- a/drivers/misc/fastrpc.c
> +++ b/drivers/misc/fastrpc.c
> @@ -953,7 +953,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;
>  


Reply via email to