diff options
author | Evan Green <evgreen@chromium.org> | 2019-04-03 14:34:28 -0700 |
---|---|---|
committer | Lee Jones <lee.jones@linaro.org> | 2019-05-14 08:13:27 +0100 |
commit | 7235560ac77a2516b84b86946debaa4fb951ed9b (patch) | |
tree | b0dd3de2e289e8b8b9ed6bc0ce376177b9cc36d9 /drivers/platform | |
parent | afe2bb5c4b6227a347be60c70df2890c3f57553d (diff) | |
download | linux-7235560ac77a2516b84b86946debaa4fb951ed9b.tar.gz linux-7235560ac77a2516b84b86946debaa4fb951ed9b.tar.bz2 linux-7235560ac77a2516b84b86946debaa4fb951ed9b.zip |
platform/chrome: Add support for v1 of host sleep event
Add support in code for the new forms of the host sleep event.
Detects the presence of this version of the command at runtime,
and use whichever form the EC supports. At this time, always
request the default timeout, and only report the failing response
via a WARN_ONCE(). Future versions could accept the sleep parameter
from outside the driver, and return the response information to
usermode or elsewhere.
Signed-off-by: Evan Green <evgreen@chromium.org>
Reviewed-by: Rajat Jain <rajatja@chromium.org>
Reviewed-by: Guenter Roeck <groeck@chromium.org>
Acked-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Diffstat (limited to 'drivers/platform')
-rw-r--r-- | drivers/platform/chrome/cros_ec_proto.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/platform/chrome/cros_ec_proto.c b/drivers/platform/chrome/cros_ec_proto.c index 97a068dff192..52ca564a64e7 100644 --- a/drivers/platform/chrome/cros_ec_proto.c +++ b/drivers/platform/chrome/cros_ec_proto.c @@ -414,6 +414,12 @@ int cros_ec_query_all(struct cros_ec_device *ec_dev) else ec_dev->mkbp_event_supported = 1; + /* Probe if host sleep v1 is supported for S0ix failure detection. */ + ret = cros_ec_get_host_command_version_mask(ec_dev, + EC_CMD_HOST_SLEEP_EVENT, + &ver_mask); + ec_dev->host_sleep_v1 = (ret >= 0 && (ver_mask & EC_VER_MASK(1))); + /* * Get host event wake mask, assume all events are wake events * if unavailable. |