[coreboot] [PATCH] timeout during PS/2 keyboard init

Scott Duplichan scott at notabs.org
Thu Sep 9 01:01:54 CEST 2010


]-----Original Message-----
]From: coreboot-bounces at coreboot.org [mailto:coreboot-bounces at coreboot.org] On Behalf Of Marc Jones
]Sent: Wednesday, September 08, 2010 03:17 PM
]To: Scott Duplichan
]Cc: coreboot at coreboot.org
]Subject: Re: [coreboot] [PATCH] timeout during PS/2 keyboard init
]
]On Wed, Sep 8, 2010 at 1:11 PM, Scott Duplichan <scott at notabs.org> wrote:
]> Thanks Marc. This patch avoids a timeout during PS/2 keyboard
]> initialization. It can reduce KBC init time by up to 400 ms on
]> real hardware, and by a minute or so on AMD simnow.
]>
]>
]> Signed-off-by: Scott Duplichan <scott at notabs.org>
]>
]> Index: src/pc80/keyboard.c
]> ===================================================================
]> --- src/pc80/keyboard.c (revision 5788)
]> +++ src/pc80/keyboard.c (working copy)
]> @@ -242,7 +242,7 @@
]>        outb(0x60, KBD_COMMAND);
]>        if (!kbc_input_buffer_empty()) return;
]>        outb(0x61, KBD_DATA);   /* send cmd: enable keyboard and IRQ 1 */
]> -       if (kbc_output_buffer_full()) {
]> +       if (kbc_input_buffer_empty()) {
]
]
]I think you meant !kbc_input_buffer_empty()?

Good catch. You are correct. While the previous patch avoids the timeout,
it does not correct the reversed check for when to log the error message.
The revised patch below includes the logging fix, in addition to the
timeout avoidance of the original patch.

]Marc
]
]-- 
]http://se-eng.com


Signed-off-by: Scott Duplichan <scott at notabs.org>

Index: src/pc80/keyboard.c
===================================================================
--- src/pc80/keyboard.c	(revision 5788)
+++ src/pc80/keyboard.c	(working copy)
@@ -242,7 +242,7 @@
 	outb(0x60, KBD_COMMAND);
 	if (!kbc_input_buffer_empty()) return;
 	outb(0x61, KBD_DATA);	/* send cmd: enable keyboard and IRQ 1 */
-	if (kbc_output_buffer_full()) {
+	if (!kbc_input_buffer_empty()) {
 		printk(BIOS_ERR, "Timeout during final keyboard enable\n");
 		return;
 	}





More information about the coreboot mailing list