[PATCH v12 02/29] arm64/fpsimd: Update FA64 and ZT0 enables when loading SME state

Mark Brown broonie at kernel.org
Fri Jul 17 17:35:21 PDT 2026


On Thu, Jul 16, 2026 at 04:28:02PM +0100, Mark Brown wrote:
> On Thu, Jul 16, 2026 at 11:52:36AM +0100, Mark Rutland wrote:

> > >  		if (test_thread_flag(TIF_SME)) {
> > > -			unsigned long vq = sve_vq_from_vl(sme_vl);
> > > -			sysreg_clear_set_s(SYS_SMCR_EL1, SMCR_ELx_LEN, vq - 1);
> > > +			sysreg_cond_update_s(SYS_SMCR_EL1, task_smcr(current));
> > > +			isb();
> > >  		}

> > What's the ISB for? That mysteriously appeared in v11 without
> > explanation. It wasn't in the original code, prior versions of the
> > series, or my suggested rework with the task_smcr() helper.

> > I don't believe it's necessary to add an ISB here.

> I can't remember or figure it out, I'll delete.

Actually I remembered: while SCMR_EL1.LEN is self synchronising the
"without the need for explict synchronization" wording is not present
for SMCR_EL1.{FA64,EZT0} and this is no longer explicitly just an update
of LEN.  It's possible I'm being overly paranoid here, I'll leave the
isb() and add a comment for the next version.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20260718/723c1894/attachment-0001.sig>


More information about the linux-arm-kernel mailing list