[PATCH v3 16/31] coresight: Add callback to determine if context save/restore is needed

Leo Yan leo.yan at arm.com
Fri Oct 3 06:39:50 PDT 2025


On Wed, Oct 01, 2025 at 11:36:07AM +0100, Mike Leach wrote:

[...]

> > +static bool coresight_need_save_restore_source(struct coresight_device *csdev)
> > +{
> > +       if (!csdev)
> > +               return false;
> > +
> > +       if (source_ops(csdev)->need_context_save_restore)
> 
> check the actual save and restore ops here too?

Will do.

> 
> > +               return source_ops(csdev)->need_context_save_restore(csdev);
> > +
> > +       if (coresight_get_mode(csdev))
> > +               return true;
> > +
> 
> Not needed - should decide only on the previous
> need_context_save_restore() test.
> Components such as STM, ETR, ETB all use the mode status, but may not
> support / need save and restore.

Checking mode here is for ETMv3, which no need_context_save_restore()
callback.

Note, STM is a system wise component (unlike ETM is CPU-wise component),
thus it is irrelevant to CPU power management.

[...]

> >  static const struct coresight_ops_source etm4_source_ops = {
> > -       .cpu_id         = etm4_cpu_id,
> > -       .enable         = etm4_enable,
> > -       .disable        = etm4_disable,
> > -       .resume_perf    = etm4_resume_perf,
> > -       .pause_perf     = etm4_pause_perf,
> > -       .save           = etm4_cpu_save,
> > -       .restore        = etm4_cpu_restore,
> > +       .cpu_id                    = etm4_cpu_id,
> > +       .enable                    = etm4_enable,
> > +       .disable                   = etm4_disable,
> > +       .resume_perf               = etm4_resume_perf,
> > +       .pause_perf                = etm4_pause_perf,
> > +       .save                      = etm4_cpu_save,
> > +       .restore                   = etm4_cpu_restore,
> 
> Above are just white space change noise as far as I can see.

Will drop in next spin.

Thanks,
Leo



More information about the linux-arm-kernel mailing list