[PATCH] ARM: errata: LoUIS bit field in CLIDR register is incorrect

Nicolas Pitre nicolas.pitre at linaro.org
Thu Jun 6 12:46:16 EDT 2013


On Thu, 6 Jun 2013, Will Deacon wrote:

> On Thu, Jun 06, 2013 at 04:34:48PM +0100, Jon Medhurst (Tixy) wrote:
> > On Thu, 2013-06-06 at 16:01 +0100, Will Deacon wrote:
> > > > diff --git a/arch/arm/mach-vexpress/Kconfig b/arch/arm/mach-vexpress/Kconfig
> > > > index 5907e10..fe637e9 100644
> > > > --- a/arch/arm/mach-vexpress/Kconfig
> > > > +++ b/arch/arm/mach-vexpress/Kconfig
> > > > @@ -56,5 +56,6 @@ config ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA
> > > >  
> > > >  config ARCH_VEXPRESS_CA9X4
> > > >  	bool "Versatile Express Cortex-A9x4 tile"
> > > > +	select ARM_ERRATA_643719
> > > 
> > > We don't do this for any other workarounds, so I'd suggest either dropping
> > > this or having a separate patch adding all of those that are required.
> > 
> > Not quite sure by what you mean by 'all of those that are required'. All
> > the errata required for vexpress? Or all platforms which require the
> > errata workaround?
> 
> I mean, the A9 coretile on vexpress also has other errata, for which we have
> workarounds in the kernel. They aren't automatically selected (for example,
> ARM_ERRATA_720789) so if you want to do this, it's worth selecting all or
> none, rather than make it look like you're selecting all those that apply
> when you're not.

I think we _really_ should move towards selecting all the errata that 
apply on a per platform basis.  We simply cannot expect everyone to be 
aware of the actual errata list that apply for a given platform.  And as 
we move towards reducing the amount of defconfig files we need a 
reliable way to record which erratum applies to which platform.

Many platforms appear to do it already:

mach-bcm/Kconfig:       select ARM_ERRATA_754322
mach-bcm/Kconfig:       select ARM_ERRATA_764369 if SMP
mach-bcm2835/Kconfig:   select ARM_ERRATA_411920
mach-imx/Kconfig:       select ARM_ERRATA_754322
mach-imx/Kconfig:       select ARM_ERRATA_764369 if SMP
mach-imx/Kconfig:       select ARM_ERRATA_775420
mach-imx/Kconfig:       select PL310_ERRATA_588369 if CACHE_PL310
mach-imx/Kconfig:       select PL310_ERRATA_727915 if CACHE_PL310
mach-imx/Kconfig:       select PL310_ERRATA_769419 if CACHE_PL310
mach-omap2/Kconfig:     select ARM_ERRATA_720789
mach-omap2/Kconfig:     select PL310_ERRATA_588369
mach-omap2/Kconfig:     select PL310_ERRATA_727915
mach-omap2/Kconfig:     select ARM_ERRATA_754322
mach-omap2/Kconfig:     select ARM_ERRATA_775420
mach-tegra/Kconfig:     select ARM_ERRATA_720789
mach-tegra/Kconfig:     select ARM_ERRATA_754327 if SMP
mach-tegra/Kconfig:     select ARM_ERRATA_764369 if SMP
mach-tegra/Kconfig:     select PL310_ERRATA_727915 if CACHE_L2X0
mach-tegra/Kconfig:     select PL310_ERRATA_769419 if CACHE_L2X0
mach-tegra/Kconfig:     select ARM_ERRATA_754322
mach-tegra/Kconfig:     select ARM_ERRATA_764369 if SMP
mach-tegra/Kconfig:     select PL310_ERRATA_769419 if CACHE_L2X0
mach-ux500/Kconfig:     select ARM_ERRATA_754322
mach-ux500/Kconfig:     select ARM_ERRATA_764369 if SMP
mach-ux500/Kconfig:     select PL310_ERRATA_753970 if CACHE_PL310

So if someone knowledgeable about applicable errata for VExpress could 
do the same that would be great.  I agree that this should be a separate 
patch though.


Nicolas



More information about the linux-arm-kernel mailing list