[coreboot-gerrit] New patch to review for coreboot: e67a27d Remove PS/2 keyboard initialization on resume from S3

Stefan Reinauer (stefan.reinauer@coreboot.org) gerrit at coreboot.org
Tue Dec 3 23:55:15 CET 2013


Stefan Reinauer (stefan.reinauer at coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/4396

-gerrit

commit e67a27dfe17c9ea118f2a3472fb2f92a04141b5f
Author: Martin Roth <martin.roth at se-eng.com>
Date:   Mon Jul 29 16:39:00 2013 -0600

    Remove PS/2 keyboard initialization on resume from S3
    
    When we go through the resume path, there shouldn't ever be a need to
    initialize the PS/2 keyboard.  The OS is going to reinitialize it
    anyway, and it just slows the resume.
    
    Verified Code flow in normal boot/S3 resume with print statements.
    Verified Keyboard was correctly disabled and flushed by booting
    to recovery mode screen while pressing keys on the integrated
    keyboard.
    
    Change-Id: I48bdca2fa2cc0c965401d10fef75cadb09d2e1e9
    Signed-off-by: Martin Roth <martin.roth at se-eng.com>
    Reviewed-on: https://gerrit.chromium.org/gerrit/63648
    Reviewed-by: Shawn Nematbakhsh <shawnn at chromium.org>
    Reviewed-by: Aaron Durbin <adurbin at chromium.org>
    Tested-by: Shawn Nematbakhsh <shawnn at chromium.org>
    Commit-Queue: Shawn Nematbakhsh <shawnn at chromium.org>
---
 src/drivers/pc80/keyboard.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/src/drivers/pc80/keyboard.c b/src/drivers/pc80/keyboard.c
index 2888bcf..e389329 100644
--- a/src/drivers/pc80/keyboard.c
+++ b/src/drivers/pc80/keyboard.c
@@ -25,6 +25,9 @@
 #include <device/device.h>
 #include <arch/io.h>
 #include <delay.h>
+#if CONFIG_HAVE_ACPI_RESUME
+#include <arch/acpi.h>
+#endif
 
 #define KBD_DATA	0x60
 #define KBD_COMMAND	0x64
@@ -194,6 +197,12 @@ void pc_keyboard_init(struct pc_keyboard *keyboard)
 	u8 regval;
 	if (!CONFIG_DRIVERS_PS2_KEYBOARD)
 		return;
+
+#if CONFIG_HAVE_ACPI_RESUME
+	if (acpi_slp_type == 3)
+		return;
+#endif
+
 	printk(BIOS_DEBUG, "Keyboard init...\n");
 
 	/* Run a keyboard controller self-test */



More information about the coreboot-gerrit mailing list