summaryrefslogtreecommitdiffstats
path: root/arch/mips/dec/prom/init.c
diff options
context:
space:
mode:
authorMaciej W. Rozycki <macro@linux-mips.org>2007-06-05 12:45:07 +0200
committerRalf Baechle <ralf@linux-mips.org>2007-07-10 18:33:00 +0200
commit36de48de85bdb9bc8c35c1eb513737c187d70a46 (patch)
tree9dfee11c44ae071b8a60b7a8b06f874f6f4b95f2 /arch/mips/dec/prom/init.c
parent[MIPS] No I/O ports on the DECstation (diff)
downloadlinux-36de48de85bdb9bc8c35c1eb513737c187d70a46.tar.xz
linux-36de48de85bdb9bc8c35c1eb513737c187d70a46.zip
[MIPS] DECstation: Optimised early printk()
This is an optimised implementation of early printk() for the DECstation. After the recent conversion to a MIPS-specific generic routine using a character-by-character output the performance dropped significantly. This change reverts to the previous speed -- even at 9600 bps of the serial console the difference is visible with a naked eye; I presume for a framebuffer it is even worse (it may depend on exactly which one is used though). Additionally the change includes a fix for a problem that the old implementation had -- the format used would not actually limit the length of the string output. This new implementation uses a local buffer to deal with it -- even with this additional copying it is much faster than the generic function. Plus this driver is registered much earlier than the generic one, allowing one to see critical messages, such as one about an incorrect CPU setting used, that are produced beforehand. :-) Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/dec/prom/init.c')
-rw-r--r--arch/mips/dec/prom/init.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/mips/dec/prom/init.c b/arch/mips/dec/prom/init.c
index 4828cac4748f..808c182fd3fa 100644
--- a/arch/mips/dec/prom/init.c
+++ b/arch/mips/dec/prom/init.c
@@ -103,6 +103,9 @@ void __init prom_init(void)
if (prom_is_rex(magic))
rex_clear_cache();
+ /* Register the early console. */
+ register_prom_console();
+
/* Were we compiled with the right CPU option? */
#if defined(CONFIG_CPU_R3000)
if ((current_cpu_data.cputype == CPU_R4000SC) ||