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>
This commit is contained in:
David E. Garcia Porras
2026-03-27 23:43:47 -06:00
committed by Anup Patel
parent 547a5bbda7
commit 243035c565
+24 -4
View File
@@ -857,6 +857,16 @@ struct rpmi_perf_get_attrs_req {
struct rpmi_perf_get_attrs_resp { struct rpmi_perf_get_attrs_resp {
s32 status; 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 flags;
u32 num_level; u32 num_level;
u32 latency; u32 latency;
@@ -936,16 +946,26 @@ struct rpmi_perf_get_fast_chn_attr_req {
struct rpmi_perf_get_fast_chn_attr_resp { struct rpmi_perf_get_fast_chn_attr_resp {
s32 status; 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 flags;
u32 region_offset_low; u32 region_offset_low;
u32 region_offset_high; u32 region_offset_high;
u32 region_size; u32 region_size;
u32 db_addr_low; u32 db_addr_low;
u32 db_addr_high; u32 db_addr_high;
u32 db_id_low; u32 db_write_value;
u32 db_id_high;
u32 db_perserved_low;
u32 db_perserved_high;
}; };
/** RPMI MM ServiceGroup Service IDs */ /** RPMI MM ServiceGroup Service IDs */