diff options
author | Martin Roth <martin.roth@se-eng.com> | 2013-07-29 16:39:00 -0600 |
---|---|---|
committer | Patrick Georgi <patrick@georgi-clan.de> | 2013-12-21 08:30:07 +0100 |
commit | 08637d3c9e408161cfed33bec381a632e2283d79 (patch) | |
tree | f03324b43f36df67001fd225481b6c8e389070cc | |
parent | 3ee59f7b313e41b8379c54f00bba2526f0d0d43b (diff) |
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@se-eng.com>
Reviewed-on: https://gerrit.chromium.org/gerrit/63648
Reviewed-by: Shawn Nematbakhsh <shawnn@chromium.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Tested-by: Shawn Nematbakhsh <shawnn@chromium.org>
Commit-Queue: Shawn Nematbakhsh <shawnn@chromium.org>
Reviewed-on: http://review.coreboot.org/4396
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
-rw-r--r-- | src/drivers/pc80/keyboard.c | 9 |
1 files changed, 9 insertions, 0 deletions
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 <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 */ |