[PATCH v4 07/11] coresight: etm4x: Properly control filter in CPU idle with FEAT_TRF

Leo Yan leo.yan at arm.com
Mon Nov 3 07:20:52 PST 2025


On Mon, Nov 03, 2025 at 02:30:28PM +0000, Suzuki Kuruppassery Poulose wrote:

[...]

> > @@ -1882,9 +1882,18 @@ static int __etm4_cpu_save(struct etmv4_drvdata *drvdata)
> >   		goto out;
> >   	}
> 
> > +	if (!drvdata->paused)
> > +		etm4_disable_trace_unit(drvdata);
> > +
> > +	/*
> > +	 * As recommended by section 4.3.7 (Synchronization of register updates)
> > +	 * of ARM IHI 0064H.b, the self-hosted trace analyzer always executes an
> > +	 * ISB instruction after programming the trace unit registers.
> > +	 */
> > +	isb();
> > +
> 
> 
> 
> >   	/* Unlock the OS lock to re-enable trace and external debug access */
> >   	etm4_os_unlock(drvdata);
> > +
> > +	if (!drvdata->paused)
> > +		etm4_enable_trace_unit(drvdata);
> > +
> > +	/*
> > +	 * As recommended by section 4.3.7 (Synchronization of register updates)
> > +	 * of ARM IHI 0064H.b, the self-hosted trace analyzer always executes an
> > +	 * ISB instruction after programming the trace unit registers.
> > +	 */
> > +	isb();
> 
> I guess these ISBs are not required according to the comment on the previous
> patch ? Otherwise looks good to me.

Yes, I will drop this in new version.  Thanks for reminding.

Leo



More information about the linux-arm-kernel mailing list