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>
This commit is contained in:
Martin Roth 2013-07-29 16:39:00 -06:00 committed by Patrick Georgi
parent 3ee59f7b31
commit 08637d3c9e
1 changed files with 9 additions and 0 deletions

View File

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