[PATCH 09/11] lib: utils/mpxy: Add domain parameter to setup_group() callback
Pawandeep Oza
pawandeep.oza at oss.qualcomm.com
Tue Oct 13 12:47:35 PDT 2026
On Tue, Sep 22, 2026 at 8:24 PM Anup Patel <anup.patel at oss.qualcomm.com> wrote:
>
> The MPXY channels can be domain specific so the setup_group() callback
> must know which domain the MPXY RPMI instance is associated with.
>
> Signed-off-by: Anup Patel <anup.patel at oss.qualcomm.com>
> ---
> include/sbi_utils/mpxy/fdt_mpxy_rpmi.h | 1 +
> lib/utils/mpxy/fdt_mpxy_rpmi.c | 2 +-
> lib/utils/mpxy/fdt_mpxy_rpmi_mm.c | 6 +++---
> lib/utils/mpxy/fdt_mpxy_rpmi_sysmsi.c | 1 +
> 4 files changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/include/sbi_utils/mpxy/fdt_mpxy_rpmi.h b/include/sbi_utils/mpxy/fdt_mpxy_rpmi.h
> index ae7e537a..7193a5fe 100644
> --- a/include/sbi_utils/mpxy/fdt_mpxy_rpmi.h
> +++ b/include/sbi_utils/mpxy/fdt_mpxy_rpmi.h
> @@ -41,6 +41,7 @@ struct mpxy_rpmi_data {
>
> /** Setup RPMI service group context for MPXY */
> int (*setup_group)(void **context, struct mbox_chan *chan,
> + struct sbi_domain *dom,
> const struct mpxy_rpmi_data *data);
>
> /** Cleanup RPMI service group context for MPXY */
> diff --git a/lib/utils/mpxy/fdt_mpxy_rpmi.c b/lib/utils/mpxy/fdt_mpxy_rpmi.c
> index c0493ecb..69fd608a 100644
> --- a/lib/utils/mpxy/fdt_mpxy_rpmi.c
> +++ b/lib/utils/mpxy/fdt_mpxy_rpmi.c
> @@ -286,7 +286,7 @@ static int __mpxy_rpmi_init(const struct mpxy_rpmi_data *data,
>
> /* Setup RPMI service group context */
> if (data->setup_group) {
> - rc = data->setup_group(&rmb->group_context, chan, data);
> + rc = data->setup_group(&rmb->group_context, chan, dom, data);
> if (rc)
> goto fail_free_client;
> }
> diff --git a/lib/utils/mpxy/fdt_mpxy_rpmi_mm.c b/lib/utils/mpxy/fdt_mpxy_rpmi_mm.c
> index 0263a105..57e6707e 100644
> --- a/lib/utils/mpxy/fdt_mpxy_rpmi_mm.c
> +++ b/lib/utils/mpxy/fdt_mpxy_rpmi_mm.c
> @@ -39,6 +39,7 @@ static struct mpxy_rpmi_service_data mm_srvcdata[] = {
> };
>
> static int mpxy_rpmi_mm_setup(void **context, struct mbox_chan *chan,
> + struct sbi_domain *dom,
> const struct mpxy_rpmi_data *data)
> {
> unsigned long mm_region_addr = 0;
> @@ -63,9 +64,8 @@ static int mpxy_rpmi_mm_setup(void **context, struct mbox_chan *chan,
> mm_region_size = rsp.mma.shmem_size;
> mm_region_flags = SBI_DOMAIN_MEMREGION_SHARED_SURW_MRW;
>
> - rc = sbi_domain_root_add_memrange(mm_region_addr, mm_region_size,
> - PAGE_SIZE, mm_region_flags);
> - return rc;
> + return sbi_domain_add_memrange(dom, mm_region_addr, mm_region_size,
> + PAGE_SIZE, mm_region_flags);
> }
>
> static int mpxy_rpmi_mm_xfer(void *context, struct mbox_chan *chan,
> diff --git a/lib/utils/mpxy/fdt_mpxy_rpmi_sysmsi.c b/lib/utils/mpxy/fdt_mpxy_rpmi_sysmsi.c
> index f7c3c3db..6268a437 100644
> --- a/lib/utils/mpxy/fdt_mpxy_rpmi_sysmsi.c
> +++ b/lib/utils/mpxy/fdt_mpxy_rpmi_sysmsi.c
> @@ -85,6 +85,7 @@ static void mpxy_rpmi_sysmsi_cleanup(void *context)
> }
>
> static int mpxy_rpmi_sysmsi_setup(void **context, struct mbox_chan *chan,
> + struct sbi_domain *dom,
> const struct mpxy_rpmi_data *data)
> {
> struct rpmi_sysmsi_get_msi_attributes_resp gmaresp;
> --
> 2.43.0
>
>
> --
> opensbi mailing list
> opensbi at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/opensbi
Reviewed-by: Pawandeep Oza <pawandeep.oza at oss.qualcomm.com>
Tested-by: Pawandeep Oza <pawandeep.oza at oss.qualcomm.com>
More information about the opensbi
mailing list