aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/kernel/cpu-probe.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-06-26 16:50:48 -0700
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-06-26 16:50:48 -0700
commit6cd236e0057704d1f5c77908374079e021c83928 (patch)
tree302e002d62dcd4663aef7e9a98ca4b019e3e5c98 /arch/mips/kernel/cpu-probe.c
parent2c9dbda360d96819456f845ea92e20e4e9d0ed36 (diff)
parent8e15a0e35fdaf19e1aeb7923571e928bd6123cfd (diff)
downloadkernel_samsung_espresso10-6cd236e0057704d1f5c77908374079e021c83928.zip
kernel_samsung_espresso10-6cd236e0057704d1f5c77908374079e021c83928.tar.gz
kernel_samsung_espresso10-6cd236e0057704d1f5c77908374079e021c83928.tar.bz2
Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: [MIPS] Count timer interrupts correctly. [MIPS] SMTC and non-SMTC kernel and modules are incompatible [MIPS] EMMA2RH: Disable GEN_RTC, it can't possibly work. [MIPS] Remove a duplicated local variable in test_and_clear_bit() [MIPS] use compat_siginfo in rt_sigframe_n32 [MIPS] 20K: Handle WAIT related bugs according to errata information [MIPS] AP/SP requires shadow registers, auto enable support. [MIPS] Fix pb1500 reg B access [MIPS] Alchemy: Fix wrong cast [MIPS] remove "support for" from system type entry [MIPS] add io_map_base to pci_controller on Cobalt [MIPS] __ucmpdi2 arguments are unsigned long long.
Diffstat (limited to 'arch/mips/kernel/cpu-probe.c')
-rw-r--r--arch/mips/kernel/cpu-probe.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/arch/mips/kernel/cpu-probe.c b/arch/mips/kernel/cpu-probe.c
index ab755ea..0fc90ba 100644
--- a/arch/mips/kernel/cpu-probe.c
+++ b/arch/mips/kernel/cpu-probe.c
@@ -137,7 +137,6 @@ static inline void check_wait(void)
case CPU_4KEC:
case CPU_4KSC:
case CPU_5KC:
-/* case CPU_20KC:*/
case CPU_24K:
case CPU_25KF:
case CPU_34K:
@@ -156,6 +155,17 @@ static inline void check_wait(void)
if (allow_au1k_wait)
cpu_wait = au1k_wait;
break;
+ case CPU_20KC:
+ /*
+ * WAIT on Rev1.0 has E1, E2, E3 and E16.
+ * WAIT on Rev2.0 and Rev3.0 has E16.
+ * Rev3.1 WAIT is nop, why bother
+ */
+ if ((c->processor_id & 0xff) <= 0x64)
+ break;
+
+ cpu_wait = r4k_wait;
+ break;
case CPU_RM9000:
if ((c->processor_id & 0x00ff) >= 0x40)
cpu_wait = r4k_wait;