[PATCH] ARM: cache-l2x0.c: Apply the workaround to r3p0 only
Will Deacon
will.deacon at arm.com
Wed Dec 19 06:56:41 EST 2012
On Wed, Dec 19, 2012 at 05:10:53AM +0000, Srinidhi Kasagar wrote:
> Hello Will,
>
> On Tue, Oct 30, 2012 at 11:02:32 +0100, srinidhi kasagar wrote:
> > The PL310 bug 753970 should be applied only to r3p0
> >
> > Signed-off-by: srinidhi kasagar <srinidhi.kasagar at stericsson.com>
> > ---
> > arch/arm/mm/cache-l2x0.c | 9 +++++++--
> > 1 files changed, 7 insertions(+), 2 deletions(-)
> >
> > diff --git a/arch/arm/mm/cache-l2x0.c b/arch/arm/mm/cache-l2x0.c
> > index 2a8e380..7925734 100644
> > --- a/arch/arm/mm/cache-l2x0.c
> > +++ b/arch/arm/mm/cache-l2x0.c
> > @@ -311,6 +311,7 @@ void __init l2x0_init(void __iomem *base, u32 aux_val, u32 aux_mask)
> > u32 aux;
> > u32 cache_id;
> > u32 way_size = 0;
> > + u32 l2x0_revision;
> > int ways;
> > const char *type;
> >
> > @@ -331,8 +332,12 @@ void __init l2x0_init(void __iomem *base, u32 aux_val, u32 aux_mask)
> > ways = 8;
> > type = "L310";
> > #ifdef CONFIG_PL310_ERRATA_753970
> > - /* Unmapped register. */
> > - sync_reg_offset = L2X0_DUMMY_REG;
> > + /* FIXME: make sense to have dt support for L2 Erratas? */
Don't bother adding a FIXME. A more useful comment would be describing the
affected revisions.
> > + l2x0_revision = readl_relaxed(l2x0_base + L2X0_CACHE_ID) &
> > + L2X0_CACHE_ID_RTL_MASK;
> > + if (l2x0_revision == L2X0_CACHE_ID_RTL_R3P0)
> > + /* Unmapped register. */
> > + sync_reg_offset = L2X0_DUMMY_REG;
> > #endif
> > outer_cache.set_debug = pl310_set_debug;
> > break;
>
> What is your thought on this? The platforms like x540 shares mostly the same code as
> of 8500 but Cortex and PL310 revisions are upgraded, and consequently since we manage the
> the single defconfig for both these platforms, the compile time options for enabling
> ARM/PL310 ERRATAs are not really working out.
Can you be more specific about `not working out' please? Are there other
PL310 errata which would benefit from the same thing?
Will
More information about the linux-arm-kernel
mailing list