summaryrefslogtreecommitdiff
path: root/board
diff options
context:
space:
mode:
authorTinghan Shen <tinghan.shen@mediatek.com>2022-01-24 17:06:27 +0800
committerCommit Bot <commit-bot@chromium.org>2022-01-26 09:43:26 +0000
commite894b1be353b521e5c1e8fc0d8e81f71720ad116 (patch)
tree3153d59b7c4f7f7c881da99ec5c1eda81875b642 /board
parent982408e4d09c163370d68f7e8107a861a187c85d (diff)
downloadchrome-ec-e894b1be353b521e5c1e8fc0d8e81f71720ad116.tar.gz
chip/mt_scp: rv32i: improve mt8195 handling suspend/resume
The original suspend/resume flow of SCP doesn't know when will the 26M clock source be suspended by SPM. SCP has to disable watchdog once receiving host suspend command and enable watchdog after receiving host resume command. The drawback is that SCP has to run without the protection of watchdog in the period between host suspend command and host resume command. In order to solve this, we can star a timer with 26M clock source, so that SCP can detect the timing by snooping the 26M timer counter. The improved flow allows SCP to disable watchdog and irq after detecting 26M is off and re-enable immediately when 26M available again. BRANCH=None BUG=b:189356151 BUG=b:202754468 TEST=suspend_stress_test on 5 DUTs overnight Signed-off-by: Tinghan Shen <tinghan.shen@mediatek.com> Change-Id: I85d29d68af4d2108bf31f7cc2fd0f6c0bc4f9a5d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3411688 Reviewed-by: Rong Chang <rongchang@chromium.org> Commit-Queue: Rong Chang <rongchang@chromium.org>
Diffstat (limited to 'board')
-rw-r--r--board/cherry_scp/ec.tasklist3
1 files changed, 2 insertions, 1 deletions
diff --git a/board/cherry_scp/ec.tasklist b/board/cherry_scp/ec.tasklist
index 98f5d57327..1c8cd120a0 100644
--- a/board/cherry_scp/ec.tasklist
+++ b/board/cherry_scp/ec.tasklist
@@ -14,4 +14,5 @@
TASK_ALWAYS(VDEC_SERVICE, vdec_service_task, NULL, 4096) \
TASK_ALWAYS(VDEC_CORE_SERVICE, vdec_core_service_task, NULL, 4096) \
TASK_ALWAYS(VENC_SERVICE, venc_service_task, NULL, TRENTA_TASK_STACK_SIZE) \
- TASK_ALWAYS(MDP_SERVICE, mdp_service_task, NULL, 4096)
+ TASK_ALWAYS(MDP_SERVICE, mdp_service_task, NULL, 4096) \
+ TASK_ALWAYS(SR, sr_task, NULL, TASK_STACK_SIZE)