diff options
| author | David E. Garcia Porras <david.garcia@aheadcomputing.com> | 2026-03-27 23:43:47 -0600 |
|---|---|---|
| committer | Anup Patel <anup@brainfault.org> | 2026-06-07 16:46:56 +0530 |
| commit | 243035c565ac22a3d694247bd7fc324743999978 (patch) | |
| tree | 1f4d330bc7ee148b457e90bab564b46d78afb59a /include | |
| parent | 547a5bbda7c3ec0096a6c87809851f8c2df047d1 (diff) | |
| download | opensbi-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.h | 28 |
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 */ |
