[RFC PATCH 04/10] arm_mpam: Carry intpri in mpam_config
From: Jinjie Ruan
Date: Thu Oct 22 2026 - 22:55:58 EST
Add intpri to mpam_config so the internal priority can be programmed
per PARTID through resctrl. mpam_reprogram_ris_partid() writes it when
the feature bit is set, keeping the polarity-aware reset value
otherwise.
Signed-off-by: Jinjie Ruan <ruanjinjie@xxxxxxxxxx>
---
drivers/resctrl/mpam_devices.c | 4 ++++
drivers/resctrl/mpam_internal.h | 3 +++
2 files changed, 7 insertions(+)
diff --git a/drivers/resctrl/mpam_devices.c b/drivers/resctrl/mpam_devices.c
index f5ac427a0100..22169436689a 100644
--- a/drivers/resctrl/mpam_devices.c
+++ b/drivers/resctrl/mpam_devices.c
@@ -1648,6 +1648,9 @@ static void mpam_reprogram_ris_partid(struct mpam_msc_ris *ris, u16 partid,
if (!mpam_has_feature(mpam_feat_intpri_part_0_low, rprops))
intpri = 0;
+ if (mpam_has_feature(mpam_feat_intpri_part, cfg))
+ intpri = cfg->intpri;
+
pri_val |= FIELD_PREP(MPAMCFG_PRI_INTPRI, intpri);
}
if (mpam_has_feature(mpam_feat_dspri_part, rprops)) {
@@ -2948,6 +2951,7 @@ static bool mpam_update_config(struct mpam_config *cfg,
maybe_update_config(cfg, mpam_feat_max_limit, newcfg, max_limit, has_changes);
maybe_update_config(cfg, mpam_feat_cmax_cmax, newcfg, cmax, has_changes);
maybe_update_config(cfg, mpam_feat_cmax_cmin, newcfg, cmin, has_changes);
+ maybe_update_config(cfg, mpam_feat_intpri_part, newcfg, intpri, has_changes);
return has_changes;
}
diff --git a/drivers/resctrl/mpam_internal.h b/drivers/resctrl/mpam_internal.h
index 77f643cef28d..5d6a4c06c7f8 100644
--- a/drivers/resctrl/mpam_internal.h
+++ b/drivers/resctrl/mpam_internal.h
@@ -324,6 +324,9 @@ struct mpam_config {
u16 cmax;
u16 cmin;
+ /* Internal priority */
+ u16 intpri;
+
struct mpam_garbage garbage;
};
--
2.34.1