aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnup Patel <apatel@ventanamicro.com>2025-01-11 20:53:05 +0530
committerAnup Patel <anup@brainfault.org>2025-02-13 11:10:03 +0530
commitb05e2a19568e449969318597ca77c27c25aac518 (patch)
tree1a270b57268914b55aa9e4c95f372c7481ead06d
parente4bc55930b1755f7ec045ba2ad158868e7f6dd5d (diff)
downloadopensbi-b05e2a19568e449969318597ca77c27c25aac518.zip
opensbi-b05e2a19568e449969318597ca77c27c25aac518.tar.gz
opensbi-b05e2a19568e449969318597ca77c27c25aac518.tar.bz2
include: sbi_utils: Update RPMI service group IDs and BASE service group
The service group ID assignment and some of the BASE services have changes in the latest RPMI specification so let's update the RPMI implementation accordingly. Signed-off-by: Anup Patel <apatel@ventanamicro.com> Reviewed-by: Samuel Holland <samuel.holland@sifive.com>
-rw-r--r--include/sbi_utils/mailbox/rpmi_msgprot.h16
-rw-r--r--lib/utils/mailbox/fdt_mailbox_rpmi_shmem.c4
2 files changed, 7 insertions, 13 deletions
diff --git a/include/sbi_utils/mailbox/rpmi_msgprot.h b/include/sbi_utils/mailbox/rpmi_msgprot.h
index 17d678a..363cc65 100644
--- a/include/sbi_utils/mailbox/rpmi_msgprot.h
+++ b/include/sbi_utils/mailbox/rpmi_msgprot.h
@@ -208,11 +208,11 @@ enum rpmi_channel_attribute_id {
enum rpmi_servicegroup_id {
RPMI_SRVGRP_ID_MIN = 0,
RPMI_SRVGRP_BASE = 0x0001,
- RPMI_SRVGRP_SYSTEM_RESET = 0x0002,
- RPMI_SRVGRP_SYSTEM_SUSPEND = 0x0003,
- RPMI_SRVGRP_HSM = 0x0004,
- RPMI_SRVGRP_CPPC = 0x0005,
- RPMI_SRVGRP_CLOCK = 0x0007,
+ RPMI_SRVGRP_SYSTEM_RESET = 0x0003,
+ RPMI_SRVGRP_SYSTEM_SUSPEND = 0x0004,
+ RPMI_SRVGRP_HSM = 0x0005,
+ RPMI_SRVGRP_CPPC = 0x0006,
+ RPMI_SRVGRP_CLOCK = 0x0008,
RPMI_SRVGRP_ID_MAX_COUNT,
/* Reserved range for service groups */
@@ -243,12 +243,10 @@ enum rpmi_base_service_id {
RPMI_BASE_SRV_GET_PLATFORM_INFO = 0x05,
RPMI_BASE_SRV_PROBE_SERVICE_GROUP = 0x06,
RPMI_BASE_SRV_GET_ATTRIBUTES = 0x07,
- RPMI_BASE_SRV_SET_MSI = 0x08,
};
-#define RPMI_BASE_FLAGS_F0_PRIVILEGE (1U << 2)
-#define RPMI_BASE_FLAGS_F0_EV_NOTIFY (1U << 1)
-#define RPMI_BASE_FLAGS_F0_MSI_EN (1U)
+#define RPMI_BASE_FLAGS_F0_PRIVILEGE (1U << 1)
+#define RPMI_BASE_FLAGS_F0_EV_NOTIFY (1U << 0)
enum rpmi_base_context_priv_level {
RPMI_BASE_CONTEXT_PRIV_S_MODE,
diff --git a/lib/utils/mailbox/fdt_mailbox_rpmi_shmem.c b/lib/utils/mailbox/fdt_mailbox_rpmi_shmem.c
index e9f52c7..5b858d3 100644
--- a/lib/utils/mailbox/fdt_mailbox_rpmi_shmem.c
+++ b/lib/utils/mailbox/fdt_mailbox_rpmi_shmem.c
@@ -146,7 +146,6 @@ struct rpmi_shmem_mbox_controller {
struct {
u8 f0_priv_level;
bool f0_ev_notif_en;
- bool f0_msi_en;
} base_flags;
};
@@ -767,9 +766,6 @@ static int rpmi_shmem_mbox_init(const void *fdt, int nodeoff,
/* 1: Supported, 0: Not Supported */
mctl->base_flags.f0_ev_notif_en =
resp.f0 & RPMI_BASE_FLAGS_F0_EV_NOTIFY ? 1 : 0;
- /* 1: Supported, 0: Not Supported */
- mctl->base_flags.f0_msi_en =
- resp.f0 & RPMI_BASE_FLAGS_F0_MSI_EN ? 1 : 0;
/* We only use M-mode RPMI context in OpenSBI */
if (!mctl->base_flags.f0_priv_level) {