From 08637d3c9e408161cfed33bec381a632e2283d79 Mon Sep 17 00:00:00 2001 From: Martin Roth Date: Mon, 29 Jul 2013 16:39:00 -0600 Subject: [PATCH] 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 Reviewed-on: https://gerrit.chromium.org/gerrit/63648 Reviewed-by: Shawn Nematbakhsh Reviewed-by: Aaron Durbin Tested-by: Shawn Nematbakhsh Commit-Queue: Shawn Nematbakhsh Reviewed-on: http://review.coreboot.org/4396 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi --- 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 2888bcf295..e389329710 100644 --- a/src/drivers/pc80/keyboard.c +++ b/src/drivers/pc80/keyboard.c @@ -25,6 +25,9 @@ #include #include #include +#if CONFIG_HAVE_ACPI_RESUME +#include +#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 */