diff --git a/arch/arm64/include/asm/mpam.h b/arch/arm64/include/asm/mpam.h index 9abe1fe58c34317c16bbc3f4aa6da2fabad74639..8caac70e22ed57ea39852a9cf822af8938c10453 100644 --- a/arch/arm64/include/asm/mpam.h +++ b/arch/arm64/include/asm/mpam.h @@ -153,7 +153,7 @@ static inline void mpam_thread_switch(struct task_struct *tsk) !static_branch_likely(&mpam_enabled)) return; - if (regval == READ_ONCE(mpam_resctrl_default_group)) + if (!regval) regval = READ_ONCE(per_cpu(arm64_mpam_default, cpu)); oldregval = READ_ONCE(per_cpu(arm64_mpam_current, cpu)); diff --git a/drivers/platform/mpam/mpam_resctrl.c b/drivers/platform/mpam/mpam_resctrl.c index c3f9f0c2a94ceb066074f6ba117a39b1c4e3af51..428afe27fda2220e18dd0d8c83476323305bbeee 100644 --- a/drivers/platform/mpam/mpam_resctrl.c +++ b/drivers/platform/mpam/mpam_resctrl.c @@ -111,8 +111,8 @@ int resctrl_arch_set_cdp_enabled(enum resctrl_res_level ignored, bool enable) partid = RESCTRL_RESERVED_CLOSID; if (enable) { - partid_d = resctrl_get_config_index(partid, CDP_CODE); - partid_i = resctrl_get_config_index(partid, CDP_DATA); + partid_d = resctrl_get_config_index(partid, CDP_DATA); + partid_i = resctrl_get_config_index(partid, CDP_CODE); regval = FIELD_PREP(MPAM_SYSREG_PARTID_D, partid_d) | FIELD_PREP(MPAM_SYSREG_PARTID_I, partid_i);