diff options
author | Aseda Aboagye <aaboagye@google.com> | 2015-11-04 14:40:53 -0800 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2015-11-11 11:01:04 -0800 |
commit | 6112f20679dfc6c61dd69e7cd711970a01746ec0 (patch) | |
tree | 93a432f45cccf9cf52f6b297b1e6d14607365724 | |
parent | 1ade79a8e60070f67960537aec8c564362cd6580 (diff) | |
download | chrome-ec-6112f20679dfc6c61dd69e7cd711970a01746ec0.tar.gz |
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>
-rw-r--r-- | common/keyboard_scan.c | 31 |
1 files changed, 19 insertions, 12 deletions
diff --git a/common/keyboard_scan.c b/common/keyboard_scan.c index 5e71554e3f..bccc601125 100644 --- a/common/keyboard_scan.c +++ b/common/keyboard_scan.c @@ -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 */ - -static uint32_t scan_time[SCAN_TIME_COUNT]; /* Times of last scans */ -static int scan_time_index; /* Current scan_time[] index */ +/* 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]; + +/* 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 */ |