aboutsummaryrefslogtreecommitdiffstats
path: root/arch/blackfin/mach-common/cache-c.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-01-29 18:24:20 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2014-01-29 18:24:20 -0800
commit30c867eebfbd1c25310aec9f152578deaf793080 (patch)
tree1afe19bdda8a45e2842e8c7c3fd02b799242fab0 /arch/blackfin/mach-common/cache-c.c
parentcac9283ca3dc7f4404b4034c6f06a3076c033b04 (diff)
parent58095fdaaf1cee12d8e01aa20f94b976e3137d27 (diff)
downloadkernel_replicant_linux-30c867eebfbd1c25310aec9f152578deaf793080.tar.gz
kernel_replicant_linux-30c867eebfbd1c25310aec9f152578deaf793080.tar.bz2
kernel_replicant_linux-30c867eebfbd1c25310aec9f152578deaf793080.zip
Merge tag 'blackfin-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/realmz6/blackfin-linux
Pull blackfin updates from Steven Miao: "Some minor changes and bug fixes" * tag 'blackfin-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/realmz6/blackfin-linux: From: Eunbong Song <eunb.song@samsung.com> Add platfrom device resource for bfin-sport on bf533 stamp fix build error for bf527-ezkit_defconfig for old silicon blackfin: Support L1 SRAM parity checking feature on bf60x blackfin: bf609: update the anomaly list to Nov 2013 blackfin: delete non-required instances of <linux/init.h> From: Paul Walmsley <pwalmsley@nvidia.com> 06/18] smp, blackfin: kill SMP single function call interrupt arch: blackfin: uapi: be sure of "_UAPI" prefix for all guard macros
Diffstat (limited to 'arch/blackfin/mach-common/cache-c.c')
-rw-r--r--arch/blackfin/mach-common/cache-c.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/arch/blackfin/mach-common/cache-c.c b/arch/blackfin/mach-common/cache-c.c
index 0e1e451fd7d8..f4adedc92895 100644
--- a/arch/blackfin/mach-common/cache-c.c
+++ b/arch/blackfin/mach-common/cache-c.c
@@ -6,7 +6,6 @@
* Licensed under the GPL-2 or later.
*/
-#include <linux/init.h>
#include <asm/blackfin.h>
#include <asm/cplbinit.h>
@@ -42,6 +41,16 @@ bfin_cache_init(struct cplb_entry *cplb_tbl, unsigned long cplb_addr,
unsigned long mem_mask)
{
int i;
+#ifdef CONFIG_L1_PARITY_CHECK
+ u32 ctrl;
+
+ if (cplb_addr == DCPLB_ADDR0) {
+ ctrl = bfin_read32(mem_control) | (1 << RDCHK);
+ CSYNC();
+ bfin_write32(mem_control, ctrl);
+ SSYNC();
+ }
+#endif
for (i = 0; i < MAX_CPLBS; i++) {
bfin_write32(cplb_addr + i * 4, cplb_tbl[i].addr);