diff options
author | Grzegorz Bernacki <bernacki@google.com> | 2023-02-02 11:32:42 +0000 |
---|---|---|
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2023-04-14 10:16:45 +0000 |
commit | 9ff4e036137220774e9bbbc26239278f0a3f1387 (patch) | |
tree | 5f644b90a21138a8eca4d98e4f6a50d84830a0b4 /util | |
parent | 4232722401d59e8fcf0a8bd7902506945f1df835 (diff) | |
download | chrome-ec-9ff4e036137220774e9bbbc26239278f0a3f1387.tar.gz |
ectool: Add command to get/set s0ix counter
BUG=b:261869264
TEST=Tested on skyrim and nissa
BRANCH=none
Change-Id: Id6d7eb138f44559fb0c8c601935f6ab94c367b44
Signed-off-by: Grzegorz Bernacki <bernacki@google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4239444
Reviewed-by: Robert Zieba <robertzieba@google.com>
Diffstat (limited to 'util')
-rw-r--r-- | util/ectool.cc | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/util/ectool.cc b/util/ectool.cc index 055ac9e4ba..b3ccaf49c3 100644 --- a/util/ectool.cc +++ b/util/ectool.cc @@ -11394,6 +11394,46 @@ int cmd_cec(int argc, char *argv[]) return -1; } +static void cmd_s0ix_counter_help(char *cmd) +{ + fprintf(stderr, + " Usage: %s get - to get the value of s0ix counter\n" + " %s reset - to reset s0ix counter \n", + cmd, cmd); +} + +static int cmd_s0ix_counter(int argc, char *argv[]) +{ + struct ec_params_s0ix_cnt p; + struct ec_response_s0ix_cnt r; + int rv; + + if (argc != 2) { + fprintf(stderr, "Invalid number of params\n"); + cmd_s0ix_counter_help(argv[0]); + return -1; + } + + if (!strcasecmp(argv[1], "get")) { + p.flags = 0; + } else if (!strcasecmp(argv[1], "reset")) { + p.flags = EC_S0IX_COUNTER_RESET; + } else { + fprintf(stderr, "Bad subcommand: %s\n", argv[1]); + return -1; + } + + rv = ec_command(EC_CMD_GET_S0IX_COUNTER, 0, &p, sizeof(p), &r, + sizeof(r)); + if (rv < 0) { + return rv; + } + + printf("s0ix_counter: %u\n", r.s0ix_counter); + + return 0; +} + /* NULL-terminated list of commands */ const struct command commands[] = { { "adcread", cmd_adc_read }, @@ -11511,6 +11551,7 @@ const struct command commands[] = { { "rwsigaction", cmd_rwsig_action_legacy }, { "rwsigstatus", cmd_rwsig_status }, { "sertest", cmd_serial_test }, + { "s0ix_counter", cmd_s0ix_counter }, { "smartdischarge", cmd_smart_discharge }, { "stress", cmd_stress_test }, { "sysinfo", cmd_sysinfo }, |