]-----Original Message----- ]From: [email protected] [mailto:[email protected]] On Behalf Of Marc Jones ]Sent: Wednesday, September 08, 2010 03:17 PM ]To: Scott Duplichan ]Cc: [email protected] ]Subject: Re: [coreboot] [PATCH] timeout during PS/2 keyboard init ] ]On Wed, Sep 8, 2010 at 1:11 PM, Scott Duplichan <[email protected]> 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 <[email protected]> ]> ]> 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 <[email protected]> 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; } -- coreboot mailing list: [email protected] http://www.coreboot.org/mailman/listinfo/coreboot

