aboutsummaryrefslogtreecommitdiffstats
path: root/arch/blackfin/mach-common/cache-c.c
diff options
context:
space:
mode:
authorSonic Zhang <sonic.zhang@analog.com>2013-12-04 02:27:47 -0500
committerSteven Miao <realmz6@gmail.com>2014-01-29 02:12:20 -0500
commit1b6012394bec5dc653d495245c5495db08f817f6 (patch)
tree88c290099d8155fd3c4c5828843c29837c815e05 /arch/blackfin/mach-common/cache-c.c
parentcccdfcf728e2f322e8986a39bc02bf5aaa8fe8a7 (diff)
blackfin: Support L1 SRAM parity checking feature on bf60x
Move code for the SEC faults from the IRQ hanlders into IRQ actions. refine bfin fault routine handle Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Steven Miao <realmz6@gmail.com>
Diffstat (limited to 'arch/blackfin/mach-common/cache-c.c')
-rw-r--r--arch/blackfin/mach-common/cache-c.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/blackfin/mach-common/cache-c.c b/arch/blackfin/mach-common/cache-c.c
index 1a5a28829c6b..f4adedc92895 100644
--- a/arch/blackfin/mach-common/cache-c.c
+++ b/arch/blackfin/mach-common/cache-c.c
@@ -41,6 +41,16 @@ bfin_cache_init(struct cplb_entry *cplb_tbl, unsigned long cplb_addr,
41 unsigned long mem_mask) 41 unsigned long mem_mask)
42{ 42{
43 int i; 43 int i;
44#ifdef CONFIG_L1_PARITY_CHECK
45 u32 ctrl;
46
47 if (cplb_addr == DCPLB_ADDR0) {
48 ctrl = bfin_read32(mem_control) | (1 << RDCHK);
49 CSYNC();
50 bfin_write32(mem_control, ctrl);
51 SSYNC();
52 }
53#endif
44 54
45 for (i = 0; i < MAX_CPLBS; i++) { 55 for (i = 0; i < MAX_CPLBS; i++) {
46 bfin_write32(cplb_addr + i * 4, cplb_tbl[i].addr); 56 bfin_write32(cplb_addr + i * 4, cplb_tbl[i].addr);