[PATCH 09/11] lib: utils/mpxy: Add domain parameter to setup_group() callback
Anup Patel
anup.patel at oss.qualcomm.com
Tue Sep 22 20:23:57 PDT 2026
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
More information about the opensbi
mailing list