diff options
author | Grzegorz Bernacki <bernacki@google.com> | 2023-02-08 10:46:07 +0000 |
---|---|---|
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2023-04-14 10:16:58 +0000 |
commit | 228f4510e653952f8a1d26ed663cde4d01c6f7f5 (patch) | |
tree | 5614b2e8b9897931d627da7f9555fd986b9ce6ba | |
parent | 9ff4e036137220774e9bbbc26239278f0a3f1387 (diff) | |
download | chrome-ec-228f4510e653952f8a1d26ed663cde4d01c6f7f5.tar.gz |
drivers.power_host_sleep: Add test for s0ix counter
This commits add test the verifies if s0ix counter
gets incremented on change state to s0ix.
BUG=b:261869264
TEST=Run with twister
BRANCH=none
Change-Id: Iae5aecb4a6feec84d233f296b0215e54f6c60abb
Signed-off-by: Grzegorz Bernacki <bernacki@google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4239446
Reviewed-by: Robert Zieba <robertzieba@google.com>
-rw-r--r-- | zephyr/test/drivers/power_host_sleep/src/test_power_host_sleep.c | 28 | ||||
-rw-r--r-- | zephyr/test/drivers/testcase.yaml | 1 |
2 files changed, 29 insertions, 0 deletions
diff --git a/zephyr/test/drivers/power_host_sleep/src/test_power_host_sleep.c b/zephyr/test/drivers/power_host_sleep/src/test_power_host_sleep.c index 28617e2d59..46ff0cef65 100644 --- a/zephyr/test/drivers/power_host_sleep/src/test_power_host_sleep.c +++ b/zephyr/test/drivers/power_host_sleep/src/test_power_host_sleep.c @@ -397,5 +397,33 @@ ZTEST(power_host_sleep, test_set_get_host_sleep_state) HOST_SLEEP_EVENT_S0IX_RESUME); } +ZTEST(power_host_sleep, verify_increment_change_state) +{ + struct ec_params_s0ix_cnt params = { .flags = EC_S0IX_COUNTER_RESET }; + struct ec_response_s0ix_cnt rsp; + struct host_cmd_handler_args args = + BUILD_HOST_COMMAND(EC_CMD_GET_S0IX_COUNTER, 0, rsp, params); + + /* Verify that counter is set to 0 */ + zassert_ok(host_command_process(&args), "Failed to get sleep counter"); + zassert_equal(rsp.s0ix_counter, 0); + + /* Simulate S0ix state */ + sleep_set_notify(SLEEP_NOTIFY_SUSPEND); + sleep_notify_transition(SLEEP_NOTIFY_SUSPEND, HOOK_CHIPSET_SUSPEND); + + /* Confirm counter incrementation */ + params.flags = 0; + zassert_ok(host_command_process(&args), "Failed to get sleep counter"); + zassert_equal(rsp.s0ix_counter, 1); + + /* Reset counter and re-fetch it to verify that reset works */ + params.flags = EC_S0IX_COUNTER_RESET; + zassert_ok(host_command_process(&args), "Failed to get sleep counter"); + params.flags = 0; + zassert_ok(host_command_process(&args), "Failed to get sleep counter"); + zassert_equal(rsp.s0ix_counter, 0); +} + ZTEST_SUITE(power_host_sleep, drivers_predicate_post_main, NULL, power_host_sleep_before_after, power_host_sleep_before_after, NULL); diff --git a/zephyr/test/drivers/testcase.yaml b/zephyr/test/drivers/testcase.yaml index 2637ba054d..18391e1acf 100644 --- a/zephyr/test/drivers/testcase.yaml +++ b/zephyr/test/drivers/testcase.yaml @@ -285,6 +285,7 @@ tests: - CONFIG_PLATFORM_EC_POWERSEQ_SC7280=n - CONFIG_POWER_SEQUENCE_MOCK=y - CONFIG_PLATFORM_EC_POWERSEQ_HOST_SLEEP=y + - CONFIG_PLATFORM_EC_POWERSEQ_S0IX=y drivers.ps8xxx: extra_configs: - CONFIG_LINK_TEST_SUITE_PS8XXX=y |