diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2008-06-12 12:26:02 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2008-06-16 10:14:47 -0400 |
commit | 89052bd7b393434f7c573ce6a3b88c5f143586d2 (patch) | |
tree | e68bf4c2b46ca1c33b0fa1b78da6ea2a4db3aff4 /arch/mips/mm/c-r4k.c | |
parent | 330117ff2723566e8eb7ad43223081b557f1540e (diff) |
[MIPS] Fix build for PNX platforms.
Build error was caused by commit 351336929ccf222ae38ff0cb7a8dd5fd5c6236a0.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/mm/c-r4k.c')
-rw-r--r-- | arch/mips/mm/c-r4k.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/arch/mips/mm/c-r4k.c b/arch/mips/mm/c-r4k.c index 643c8bcffff3..c41ea2284954 100644 --- a/arch/mips/mm/c-r4k.c +++ b/arch/mips/mm/c-r4k.c | |||
@@ -1226,6 +1226,28 @@ void au1x00_fixup_config_od(void) | |||
1226 | } | 1226 | } |
1227 | } | 1227 | } |
1228 | 1228 | ||
1229 | /* CP0 hazard avoidance. */ | ||
1230 | #define NXP_BARRIER() \ | ||
1231 | __asm__ __volatile__( \ | ||
1232 | ".set noreorder\n\t" \ | ||
1233 | "nop; nop; nop; nop; nop; nop;\n\t" \ | ||
1234 | ".set reorder\n\t") | ||
1235 | |||
1236 | static void nxp_pr4450_fixup_config(void) | ||
1237 | { | ||
1238 | unsigned long config0; | ||
1239 | |||
1240 | config0 = read_c0_config(); | ||
1241 | |||
1242 | /* clear all three cache coherency fields */ | ||
1243 | config0 &= ~(0x7 | (7 << 25) | (7 << 28)); | ||
1244 | config0 |= (((_page_cachable_default >> _CACHE_SHIFT) << 0) | | ||
1245 | ((_page_cachable_default >> _CACHE_SHIFT) << 25) | | ||
1246 | ((_page_cachable_default >> _CACHE_SHIFT) << 28)); | ||
1247 | write_c0_config(config0); | ||
1248 | NXP_BARRIER(); | ||
1249 | } | ||
1250 | |||
1229 | static int __cpuinitdata cca = -1; | 1251 | static int __cpuinitdata cca = -1; |
1230 | 1252 | ||
1231 | static int __init cca_setup(char *str) | 1253 | static int __init cca_setup(char *str) |
@@ -1271,6 +1293,10 @@ static void __cpuinit coherency_setup(void) | |||
1271 | case CPU_AU1500: /* rev. AB */ | 1293 | case CPU_AU1500: /* rev. AB */ |
1272 | au1x00_fixup_config_od(); | 1294 | au1x00_fixup_config_od(); |
1273 | break; | 1295 | break; |
1296 | |||
1297 | case PRID_IMP_PR4450: | ||
1298 | nxp_pr4450_fixup_config(); | ||
1299 | break; | ||
1274 | } | 1300 | } |
1275 | } | 1301 | } |
1276 | 1302 | ||