ARM diagnostic register across suspend/resume

Shawn Guo shawn.guo at freescale.com
Tue Jun 17 07:02:46 PDT 2014


On Tue, Jun 17, 2014 at 09:08:28PM +0800, Shawn Guo wrote:
> On Tue, Jun 17, 2014 at 10:57:29AM +0100, Will Deacon wrote:
> > On Tue, Jun 17, 2014 at 09:31:18AM +0100, Shawn Guo wrote:
> > > Hi Will, Catalin,
> > > 
> > > The CP15 diagnostic register holds some bits for ARM errata workaround.
> > > Since core gets power gated across suspend/resume cycle, these bits will
> > > get lost along the way.  Is it okay for errata workaround to continue
> > > working after suspend, or do we have to save/restore diagnostic register
> > > to keep workaround effective?
> > 
> > I'm not sure that saving/restoring the diagnostic register on A9 actually
> > works at all (I seem to remember some bits always read as zero?).
> > 
> > Anyway, I'd expect the state could be lost, so you'd need to reprogram
> > the diagnostic register rather than save/restore its value.
> 
> Yes, we observed that diagnostic state gets lost after suspend.  But
> per my testing I can see the effectiveness of errata workaround
> preserves.  Is this expected somehow or something wrong in my testing?

It is something wrong in my testing.  The effectiveness of errata
workaround goes off together with diagnostic register state.

Shawn



More information about the linux-arm-kernel mailing list