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 <me@xxxxxxxxxxxxxxxxx> > Reviewed-by: Caleb Connolly <caleb.connolly@xxxxxxxxxx> > --- Reviewed-by: Ekansh Gupta <quic_ekangupt@xxxxxxxxxxx> > 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; >