summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDavid E. Garcia Porras <david.garcia@aheadcomputing.com>2026-03-27 23:43:47 -0600
committerAnup Patel <anup@brainfault.org>2026-06-07 16:46:56 +0530
commit243035c565ac22a3d694247bd7fc324743999978 (patch)
tree1f4d330bc7ee148b457e90bab564b46d78afb59a /include
parent547a5bbda7c3ec0096a6c87809851f8c2df047d1 (diff)
downloadopensbi-243035c565ac22a3d694247bd7fc324743999978.tar.gz
opensbi-243035c565ac22a3d694247bd7fc324743999978.zip
include: mailbox: rpmi_msgprot: Add RPMI performance domain flag defines
Add bit-field defines for the RPMI performance domain attributes flags and fast-channel attributes flags as specified in the RPMI specification. These are needed by platform implementations that provide RPMI performance services (e.g. DVFS controllers). Also add the missing db_write_value field to rpmi_perf_get_fast_chn_attr_resp to match the RPMI spec layout. Signed-off-by: David E. Garcia Porras <david.garcia@aheadcomputing.com> Reviewed-by: Anup Patel <anup@brainfault.org> Link: https://lore.kernel.org/r/20260328054347.3706029-5-david.garcia@aheadcomputing.com Signed-off-by: Anup Patel <anup@brainfault.org>
Diffstat (limited to 'include')
-rw-r--r--include/sbi_utils/mailbox/rpmi_msgprot.h28
1 files changed, 24 insertions, 4 deletions
diff --git a/include/sbi_utils/mailbox/rpmi_msgprot.h b/include/sbi_utils/mailbox/rpmi_msgprot.h
index c35788f0..46834877 100644
--- a/include/sbi_utils/mailbox/rpmi_msgprot.h
+++ b/include/sbi_utils/mailbox/rpmi_msgprot.h
@@ -857,6 +857,16 @@ struct rpmi_perf_get_attrs_req {
struct rpmi_perf_get_attrs_resp {
s32 status;
+#define RPMI_PERF_DOMAIN_ATTRS_FLAGS_MASK (7U << 0)
+#define RPMI_PERF_DOMAIN_ATTRS_FLAGS_FASTCHANNEL_SUPP_POS 0
+#define RPMI_PERF_DOMAIN_ATTRS_FLAGS_PERF_LVL_CHG_SUPP_POS 1
+#define RPMI_PERF_DOMAIN_ATTRS_FLAGS_PERF_LIMIT_CHG_SUPP_POS 2
+#define RPMI_PERF_DOMAIN_ATTRS_FLAGS_FASTCHANNEL_SUPP \
+ (1U << RPMI_PERF_DOMAIN_ATTRS_FLAGS_FASTCHANNEL_SUPP_POS)
+#define RPMI_PERF_DOMAIN_ATTRS_FLAGS_PERF_LVL_CHG_SUPP \
+ (1U << RPMI_PERF_DOMAIN_ATTRS_FLAGS_PERF_LVL_CHG_SUPP_POS)
+#define RPMI_PERF_DOMAIN_ATTRS_FLAGS_PERF_LIMIT_CHG_SUPP \
+ (1U << RPMI_PERF_DOMAIN_ATTRS_FLAGS_PERF_LIMIT_CHG_SUPP_POS)
u32 flags;
u32 num_level;
u32 latency;
@@ -936,16 +946,26 @@ struct rpmi_perf_get_fast_chn_attr_req {
struct rpmi_perf_get_fast_chn_attr_resp {
s32 status;
+#define RPMI_PERF_FASTCHAN_ATTRS_FLAGS_MASK (7U << 0)
+#define RPMI_PERF_FASTCHAN_ATTRS_FLAGS_DB_SUPP_POS 0
+#define RPMI_PERF_FASTCHAN_ATTRS_FLAGS_DB_WIDTH_POS 1
+#define RPMI_PERF_FASTCHAN_ATTRS_FLAGS_DB_SUPP \
+ (1U << RPMI_PERF_FASTCHAN_ATTRS_FLAGS_DB_SUPP_POS)
+#define RPMI_PERF_FASTCHAN_ATTRS_FLAGS_DB_WIDTH_MASK \
+ (3U << RPMI_PERF_FASTCHAN_ATTRS_FLAGS_DB_WIDTH_POS)
+#define RPMI_PERF_FASTCHAN_ATTRS_FLAGS_DB_WIDTH_8 \
+ (0U << RPMI_PERF_FASTCHAN_ATTRS_FLAGS_DB_WIDTH_POS)
+#define RPMI_PERF_FASTCHAN_ATTRS_FLAGS_DB_WIDTH_16 \
+ (1U << RPMI_PERF_FASTCHAN_ATTRS_FLAGS_DB_WIDTH_POS)
+#define RPMI_PERF_FASTCHAN_ATTRS_FLAGS_DB_WIDTH_32 \
+ (2U << RPMI_PERF_FASTCHAN_ATTRS_FLAGS_DB_WIDTH_POS)
u32 flags;
u32 region_offset_low;
u32 region_offset_high;
u32 region_size;
u32 db_addr_low;
u32 db_addr_high;
- u32 db_id_low;
- u32 db_id_high;
- u32 db_perserved_low;
- u32 db_perserved_high;
+ u32 db_write_value;
};
/** RPMI MM ServiceGroup Service IDs */