summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGwendal Grignou <gwendal@chromium.org>2015-09-20 13:58:56 -0700
committerChromeOS Commit Bot <chromeos-commit-bot@chromium.org>2016-11-22 00:00:13 +0000
commitaa2292e64963089ce9587a0416d90598d10cb1c5 (patch)
tree361ebde935a54f122c20a05940c7195bccde647e
parent3bfd179ea9e7cea1a5dce4dbdb601f8f670e0d65 (diff)
downloadchrome-ec-aa2292e64963089ce9587a0416d90598d10cb1c5.tar.gz
UPSTREAM: stm32: Define a larger task size for HOST_CMD
The current largest task size is not big enough, we get stack overflow after one or several calibration requests. BRANCH=smaug BUG=chrome-os-partner:45570 TEST=After the change a loop of calibrate does not crash the EC. Change-Id: I9681a890eddf274ab496e8ca6249c7ebca5edab5 Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/301215 Reviewed-by: Vincent Palatin <vpalatin@chromium.org> (cherry picked from commit dbfb5c1deeb6ee54663baaee6052849b8cba5bd5) Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/404896
-rw-r--r--board/minnie/ec.tasklist4
-rw-r--r--chip/stm32/config_chip.h6
2 files changed, 8 insertions, 2 deletions
diff --git a/board/minnie/ec.tasklist b/board/minnie/ec.tasklist
index 4f2bd225df..62a2ee99e5 100644
--- a/board/minnie/ec.tasklist
+++ b/board/minnie/ec.tasklist
@@ -17,8 +17,8 @@
#define CONFIG_TASK_LIST \
TASK_ALWAYS(HOOKS, hook_task, NULL, LARGER_TASK_STACK_SIZE) \
TASK_ALWAYS(CHARGER, charger_task, NULL, LARGER_TASK_STACK_SIZE) \
- TASK_NOTEST(MOTIONSENSE, motion_sense_task, NULL, LARGER_TASK_STACK_SIZE) \
+ TASK_NOTEST(MOTIONSENSE, motion_sense_task, NULL, VENTI_TASK_STACK_SIZE) \
TASK_NOTEST(CHIPSET, chipset_task, NULL, LARGER_TASK_STACK_SIZE) \
- TASK_ALWAYS(HOSTCMD, host_command_task, NULL, TASK_STACK_SIZE) \
+ TASK_ALWAYS(HOSTCMD, host_command_task, NULL, VENTI_TASK_STACK_SIZE) \
TASK_ALWAYS(CONSOLE, console_task, NULL, LARGER_TASK_STACK_SIZE) \
TASK_NOTEST(KEYSCAN, keyboard_scan_task, NULL, TASK_STACK_SIZE)
diff --git a/chip/stm32/config_chip.h b/chip/stm32/config_chip.h
index a7073a83f6..9b4993613a 100644
--- a/chip/stm32/config_chip.h
+++ b/chip/stm32/config_chip.h
@@ -49,12 +49,18 @@
/* Idle task stack size */
#define IDLE_TASK_STACK_SIZE 256
+/* Smaller task stack size */
+#define SMALLER_TASK_STACK_SIZE 384
+
/* Default task stack size */
#define TASK_STACK_SIZE 488
/* Larger task stack size, for hook task */
#define LARGER_TASK_STACK_SIZE 640
+/* Even bigger */
+#define VENTI_TASK_STACK_SIZE 768
+
/* Interval between HOOK_TICK notifications */
#define HOOK_TICK_INTERVAL_MS 500
#define HOOK_TICK_INTERVAL (HOOK_TICK_INTERVAL_MS * MSEC)