summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Horgan <ben.horgan@arm.com>2026-05-07 18:28:12 +0300
committerCatalin Marinas <catalin.marinas@arm.com>2026-05-14 11:51:41 +0300
commit1ef2a89584b7b788b2603590d886db076b2f24cc (patch)
treeeb4c97aae9ee71b5b208dbdd54e3774aa5ba54e7
parent5cbb61bf4168859d97c068d88d364f4f1f440325 (diff)
downloadlinux-1ef2a89584b7b788b2603590d886db076b2f24cc.tar.xz
arm_mpam: Fix monitor instance selection when checking for hardware NRDY
In _mpam_ris_hw_probe_hw_nrdy() a new register value to select the first monitor and relevant RIS is prepared in mon_sel. However, it is written to the monitor value register, e.g. MSMON_CSU, rather than MSMON_CFG_MON_SEL. As MSMON_CFG_MON_SEL is a 32 bit register update the type of mon_sel to u32. Write mon_sel to the intended register, MSMON_CFG_MON_SEL. Fixes: 8c90dc68a5de ("arm_mpam: Probe the hardware features resctrl supports") Cc: <stable@vger.kernel.org> Signed-off-by: Ben Horgan <ben.horgan@arm.com> Reviewed-by: James Morse <james.morse@arm.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
-rw-r--r--drivers/resctrl/mpam_devices.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/resctrl/mpam_devices.c b/drivers/resctrl/mpam_devices.c
index 41b14344b16f..817cb10a8e79 100644
--- a/drivers/resctrl/mpam_devices.c
+++ b/drivers/resctrl/mpam_devices.c
@@ -731,7 +731,7 @@ static void mpam_enable_quirks(struct mpam_msc *msc)
static bool _mpam_ris_hw_probe_hw_nrdy(struct mpam_msc_ris *ris, u32 mon_reg)
{
u32 now;
- u64 mon_sel;
+ u32 mon_sel;
bool can_set, can_clear;
struct mpam_msc *msc = ris->vmsc->msc;
@@ -740,7 +740,7 @@ static bool _mpam_ris_hw_probe_hw_nrdy(struct mpam_msc_ris *ris, u32 mon_reg)
mon_sel = FIELD_PREP(MSMON_CFG_MON_SEL_MON_SEL, 0) |
FIELD_PREP(MSMON_CFG_MON_SEL_RIS, ris->ris_idx);
- _mpam_write_monsel_reg(msc, mon_reg, mon_sel);
+ mpam_write_monsel_reg(msc, CFG_MON_SEL, mon_sel);
_mpam_write_monsel_reg(msc, mon_reg, MSMON___NRDY);
now = _mpam_read_monsel_reg(msc, mon_reg);