diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2009-02-28 04:44:28 -0500 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2009-06-08 11:57:51 -0400 |
commit | 5636919b5c909fee54a6ef5226475ecae012ad02 (patch) | |
tree | c77fa89c56ee2d493fb82117ab5dbc5b28a8deeb /arch/mips/kernel | |
parent | 3a553147eaad5d4de90ab1f695aa13ddbea684ec (diff) |
MIPS: Outline udelay and fix a few issues.
Outlining fixes the issue were on certain CPUs such as the R10000 family
the delay loop would need an extra cycle if it overlaps a cacheline
boundary.
The rewrite also fixes build errors with GCC 4.4 which was changed in
way incompatible with the kernel's inline assembly.
Relying on pure C for computation of the delay value removes the need for
explicit. The price we pay is a slight slowdown of the computation - to
be fixed on another day.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/kernel')
-rw-r--r-- | arch/mips/kernel/proc.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/mips/kernel/proc.c b/arch/mips/kernel/proc.c index 26760cad8b69..e0a4ac18fa07 100644 --- a/arch/mips/kernel/proc.c +++ b/arch/mips/kernel/proc.c | |||
@@ -42,7 +42,7 @@ static int show_cpuinfo(struct seq_file *m, void *v) | |||
42 | seq_printf(m, fmt, __cpu_name[n], | 42 | seq_printf(m, fmt, __cpu_name[n], |
43 | (version >> 4) & 0x0f, version & 0x0f, | 43 | (version >> 4) & 0x0f, version & 0x0f, |
44 | (fp_vers >> 4) & 0x0f, fp_vers & 0x0f); | 44 | (fp_vers >> 4) & 0x0f, fp_vers & 0x0f); |
45 | seq_printf(m, "BogoMIPS\t\t: %lu.%02lu\n", | 45 | seq_printf(m, "BogoMIPS\t\t: %u.%02u\n", |
46 | cpu_data[n].udelay_val / (500000/HZ), | 46 | cpu_data[n].udelay_val / (500000/HZ), |
47 | (cpu_data[n].udelay_val / (5000/HZ)) % 100); | 47 | (cpu_data[n].udelay_val / (5000/HZ)) % 100); |
48 | seq_printf(m, "wait instruction\t: %s\n", cpu_wait ? "yes" : "no"); | 48 | seq_printf(m, "wait instruction\t: %s\n", cpu_wait ? "yes" : "no"); |