Re: [PATCH v3 09/47] arm64: mpam: Add cpu_pm notifier to restore MPAM sysregs

Catalin Marinas
2026-01-15T18:20:10Z

On Mon, Jan 12, 2026 at 04:58:36PM +0000, Ben Horgan wrote:
> +static int mpam_pm_notifier(struct notifier_block *self,
> + unsigned long cmd, void *v)
> +{
> + u64 regval;
> + int cpu = smp_processor_id();
> +
> + switch (cmd) {
> + case CPU_PM_EXIT:
> + /*
> + * Don't use mpam_thread_switch() as the system register
> + * value has changed under our feet.
> + */
> + regval = READ_ONCE(per_cpu(arm64_mpam_current, cpu));
> + write_sysreg_s(regval, SYS_MPAM1_EL1);
> + isb();
> +
> + write_sysreg_s(regval, SYS_MPAM0_EL1);
> +
> + return NOTIFY_OK;
> + default:
> + return NOTIFY_DONE;
> + }
> +}

This looks fine unless we decide to save/restore them in the low-level
suspend/resume functions.

--
Catalin