From mboxrd@z Thu Jan 1 00:00:00 1970 From: sshtylyov@mvista.com (Sergei Shtylyov) Date: Sat, 11 Sep 2010 15:11:16 +0400 Subject: [PATCH 3/3] ARM: S5PC210: Set the common L2 cache configurations In-Reply-To: <20100911053115.GA23209@july> References: <20100911053115.GA23209@july> Message-ID: <4C8B63D4.2010608@ru.mvista.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Hello. On 11-09-2010 9:31, Kyungmin Park wrote: > From: Kyungmin Park > S5PC210 has PL310 1MiB L2 cache. > It uses the optimized data& tag latency and also enable the prefetch. > Signed-off-by: Kyungmin Park > --- > arch/arm/mach-s5pv310/cpu.c | 19 +++++++++++++++++++ > 1 files changed, 19 insertions(+), 0 deletions(-) > > diff --git a/arch/arm/mach-s5pv310/cpu.c b/arch/arm/mach-s5pv310/cpu.c > index e5b261a..b50312e 100644 > --- a/arch/arm/mach-s5pv310/cpu.c > +++ b/arch/arm/mach-s5pv310/cpu.c > @@ -15,6 +15,7 @@ > #include > > #include > +#include > > #include > #include > @@ -121,6 +122,24 @@ static int __init s5pv310_core_init(void) > > core_initcall(s5pv310_core_init); > > +static int __init s5pv310_init_cache(void) > +{ > +#ifdef CONFIG_CACHE_L2X0 > + void __iomem *p = S5P_VA_L2CC; > + > + /* TAG, Data latency control */ > + writel(0x110, p + L2X0_TAG_LATENCY_CTRL); > + writel(0x110, p + L2X0_DATA_LATENCY_CTRL); > + > + /* L2 cache prefetch control */ > + writel(0x6, p + L2X0_PREFETCH_CTRL); > + > + l2x0_init(p, 0x3C070001, 0xC200FFFF); > +#endif > + return 0; > +} CodingStyle document forbids #ifdef's in the function bodies, so this should better be: #ifdef CONFIG_CACHE_L2X0 static int __init s5pv310_init_cache(void) { /* ... */ return 0; } #else static int__init s5pv310_init_cache(void) { return 0; } #endif WBR, Sergei