summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGrzegorz Bernacki <bernacki@google.com>2023-02-08 10:46:07 +0000
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2023-04-14 10:16:58 +0000
commit228f4510e653952f8a1d26ed663cde4d01c6f7f5 (patch)
tree5614b2e8b9897931d627da7f9555fd986b9ce6ba
parent9ff4e036137220774e9bbbc26239278f0a3f1387 (diff)
downloadchrome-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.c28
-rw-r--r--zephyr/test/drivers/testcase.yaml1
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