diff options
author | Rob Barnes <robbarnes@google.com> | 2023-04-20 10:18:40 -0600 |
---|---|---|
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2023-04-24 15:40:26 +0000 |
commit | 6819bb3685b6fef44e08ad5f94dcb494be6a5dcb (patch) | |
tree | b510cfa9e06f2b7af0b272ec75bc0b06a8eca03c | |
parent | ce23f23d1a43782c6dacbfc443ab3b3d2ef4f738 (diff) | |
download | chrome-ec-6819bb3685b6fef44e08ad5f94dcb494be6a5dcb.tar.gz |
tasks: Add task_enabled function
Add task_enabled function that simply check if a task is enabled or not.
BUG=b:278792557
BRANCH=None
TEST=Manually tested
Change-Id: I0faccec603bc6d0226ad2ecbde2d90a6c233dd74
Signed-off-by: Rob Barnes <robbarnes@google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4455297
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
-rw-r--r-- | core/cortex-m/task.c | 5 | ||||
-rw-r--r-- | core/cortex-m0/task.c | 5 | ||||
-rw-r--r-- | core/minute-ia/task.c | 5 | ||||
-rw-r--r-- | core/nds32/task.c | 5 | ||||
-rw-r--r-- | core/riscv-rv32i/task.c | 5 | ||||
-rw-r--r-- | include/task.h | 5 |
6 files changed, 30 insertions, 0 deletions
diff --git a/core/cortex-m/task.c b/core/cortex-m/task.c index 70efe04507..336cafc99a 100644 --- a/core/cortex-m/task.c +++ b/core/cortex-m/task.c @@ -510,6 +510,11 @@ void task_enable_task(task_id_t tskid) atomic_or(&tasks_enabled, BIT(tskid)); } +bool task_enabled(task_id_t tskid) +{ + return tasks_enabled & BIT(tskid); +} + void task_disable_task(task_id_t tskid) { atomic_clear_bits(&tasks_enabled, BIT(tskid)); diff --git a/core/cortex-m0/task.c b/core/cortex-m0/task.c index b6f0884465..f63e9824db 100644 --- a/core/cortex-m0/task.c +++ b/core/cortex-m0/task.c @@ -445,6 +445,11 @@ void task_enable_task(task_id_t tskid) atomic_or(&tasks_enabled, BIT(tskid)); } +bool task_enabled(task_id_t tskid) +{ + return tasks_enabled & BIT(tskid); +} + void task_disable_task(task_id_t tskid) { atomic_clear_bits(&tasks_enabled, BIT(tskid)); diff --git a/core/minute-ia/task.c b/core/minute-ia/task.c index 524314815c..3e072344df 100644 --- a/core/minute-ia/task.c +++ b/core/minute-ia/task.c @@ -404,6 +404,11 @@ void task_enable_task(task_id_t tskid) atomic_or(&tasks_enabled, BIT(tskid)); } +bool task_enabled(task_id_t tskid) +{ + return tasks_enabled & BIT(tskid); +} + void task_disable_task(task_id_t tskid) { atomic_clear_bits(&tasks_enabled, BIT(tskid)); diff --git a/core/nds32/task.c b/core/nds32/task.c index 964c9c9d73..201c8731fc 100644 --- a/core/nds32/task.c +++ b/core/nds32/task.c @@ -520,6 +520,11 @@ void task_enable_task(task_id_t tskid) atomic_or(&tasks_enabled, BIT(tskid)); } +bool task_enabled(task_id_t tskid) +{ + return tasks_enabled & BIT(tskid); +} + void task_disable_task(task_id_t tskid) { atomic_clear_bits(&tasks_enabled, BIT(tskid)); diff --git a/core/riscv-rv32i/task.c b/core/riscv-rv32i/task.c index f23ebc2ce4..977987277b 100644 --- a/core/riscv-rv32i/task.c +++ b/core/riscv-rv32i/task.c @@ -482,6 +482,11 @@ void task_enable_task(task_id_t tskid) atomic_or(&tasks_enabled, BIT(tskid)); } +bool task_enabled(task_id_t tskid) +{ + return tasks_enabled & BIT(tskid); +} + void task_disable_task(task_id_t tskid) { atomic_clear_bits(&tasks_enabled, BIT(tskid)); diff --git a/include/task.h b/include/task.h index a527ca695a..02f3a65fd5 100644 --- a/include/task.h +++ b/include/task.h @@ -299,6 +299,11 @@ void task_enable_all_tasks(void); void task_enable_task(task_id_t tskid); /** + * Task is enabled. + */ +bool task_enabled(task_id_t tskid); + +/** * Disable a task. * * If the task disable itself, this will cause an immediate reschedule. |