common: keyboard_scan: Add items to .bss.slow.

BUG=chrome-os-partner:46056
BUG=chrome-os-partner:46063
BRANCH=None
TEST=Enable CONFIG_REPLACE_LOADER_WITH_BSS_SLOW on GLaDOS.  Build,
flash, and verify that AP and EC boot.  Perform typing test with no jank
or other oddities.
TEST='sysjump rw' and repeat the typing test.
TEST=Hold down arrow down and issue 'reboot' command.
TEST=make -j buildall tests

CQ-DEPEND=CL:311209

Change-Id: I35911862af2a4e9feb795b2a9a2aafa97687e2f2
Signed-off-by: Aseda Aboagye <aaboagye@google.com>
Reviewed-on: https://chromium-review.googlesource.com/311411
Commit-Ready: Aseda Aboagye <aaboagye@chromium.org>
Tested-by: Aseda Aboagye <aaboagye@chromium.org>
Reviewed-by: Randall Spangler <rspangler@chromium.org>
This commit is contained in:
Aseda Aboagye
2015-11-04 14:40:53 -08:00
committed by chrome-bot
parent 1ade79a8e6
commit 6112f20679

View File

@@ -69,27 +69,34 @@ static const struct boot_key_entry boot_key_list[] = {
};
static enum boot_key boot_key_value = BOOT_KEY_OTHER;
static uint8_t debounced_state[KEYBOARD_COLS]; /* Debounced key matrix */
static uint8_t prev_state[KEYBOARD_COLS]; /* Matrix from previous scan */
static uint8_t debouncing[KEYBOARD_COLS]; /* Mask of keys being debounced */
static uint8_t simulated_key[KEYBOARD_COLS]; /* Keys simulated-pressed */
/* Debounced key matrix */
static uint8_t __bss_slow debounced_state[KEYBOARD_COLS];
/* Matrix from previous scan */
static uint8_t __bss_slow prev_state[KEYBOARD_COLS];
/* Mask of keys being debounced */
static uint8_t __bss_slow debouncing[KEYBOARD_COLS];
/* Keys simulated-pressed */
static uint8_t __bss_slow simulated_key[KEYBOARD_COLS];
static uint32_t scan_time[SCAN_TIME_COUNT]; /* Times of last scans */
static int scan_time_index; /* Current scan_time[] index */
/* Times of last scans */
static uint32_t __bss_slow scan_time[SCAN_TIME_COUNT];
/* Current scan_time[] index */
static int __bss_slow scan_time_index;
/* Index into scan_time[] when each key started debouncing */
static uint8_t scan_edge_index[KEYBOARD_COLS][KEYBOARD_ROWS];
static uint8_t __bss_slow scan_edge_index[KEYBOARD_COLS][KEYBOARD_ROWS];
/* Minimum delay between keyboard scans based on current clock frequency */
static uint32_t post_scan_clock_us;
static uint32_t __bss_slow post_scan_clock_us;
/*
* Print all keyboard scan state changes? Off by default because it generates
* a lot of debug output, which makes the saved EC console data less useful.
*/
static int print_state_changes;
static int __bss_slow print_state_changes;
static int disable_scanning_mask; /* Must init to 0 for scanning at boot */
/* Must init to 0 for scanning at boot */
static int __bss_slow disable_scanning_mask;
/* Constantly incrementing counter of the number of times we polled */
static volatile int kbd_polls;
@@ -401,7 +408,7 @@ static int check_keys_changed(uint8_t *state)
int any_pressed = 0;
int c, i;
int any_change = 0;
static uint8_t new_state[KEYBOARD_COLS];
static uint8_t __bss_slow new_state[KEYBOARD_COLS];
uint32_t tnow = get_time().le.lo;
/* Save the current scan time */