forked from Minki/linux
e8bf17d58a
In modern Chromebooks, the embedded controller has a mechanism where it will watch a hardware-controlled line that toggles in suspend, and wake the system up if an expected sleep transition didn't occur. This can be very useful for detecting power management issues where the system appears to suspend, but doesn't actually reach its lowest expected power states. Sometimes it's useful in debug and test scenarios to be able to control the duration of that timeout, or even disable the EC timeout mechanism altogether. Add a debugfs control to set the timeout to values other than the EC-defined default, for more convenient debug and development iteration. Signed-off-by: Evan Green <evgreen@chromium.org> Reviewed-by: Prashant Malani <pmalani@chromium.org> Reviewed-by: Stephen Boyd <swboyd@chromium.org> Reviewed-by: Guenter Roeck <groeck@chromium.org> Link: https://lore.kernel.org/r/20220822144026.v3.1.Idd188ff3f9caddebc17ac357a13005f93333c21f@changeid [tzungbi: fix one nit in Documentation/ABI/testing/debugfs-cros-ec.] Signed-off-by: Tzung-Bi Shih <tzungbi@kernel.org>
79 lines
3.1 KiB
Plaintext
79 lines
3.1 KiB
Plaintext
What: /sys/kernel/debug/<cros-ec-device>/console_log
|
|
Date: September 2017
|
|
KernelVersion: 4.13
|
|
Description:
|
|
If the EC supports the CONSOLE_READ command type, this file
|
|
can be used to grab the EC logs. The kernel polls for the log
|
|
and keeps its own buffer but userspace should grab this and
|
|
write it out to some logs.
|
|
|
|
What: /sys/kernel/debug/<cros-ec-device>/panicinfo
|
|
Date: September 2017
|
|
KernelVersion: 4.13
|
|
Description:
|
|
This file dumps the EC panic information from the previous
|
|
reboot. This file will only exist if the PANIC_INFO command
|
|
type is supported by the EC.
|
|
|
|
What: /sys/kernel/debug/<cros-ec-device>/pdinfo
|
|
Date: June 2018
|
|
KernelVersion: 4.17
|
|
Description:
|
|
This file provides the port role, muxes and power debug
|
|
information for all the USB PD/type-C ports available. If
|
|
the are no ports available, this file will be just an empty
|
|
file.
|
|
|
|
What: /sys/kernel/debug/<cros-ec-device>/uptime
|
|
Date: June 2019
|
|
KernelVersion: 5.3
|
|
Description:
|
|
A u32 providing the time since EC booted in ms. This is
|
|
is used for synchronizing the AP host time with the EC
|
|
log. An error is returned if the command is not supported
|
|
by the EC or there is a communication problem.
|
|
|
|
What: /sys/kernel/debug/<cros-ec-device>/last_resume_result
|
|
Date: June 2019
|
|
KernelVersion: 5.3
|
|
Description:
|
|
Some ECs have a feature where they will track transitions to
|
|
the (Intel) processor's SLP_S0 line, in order to detect cases
|
|
where a system failed to go into S0ix. When the system resumes,
|
|
an EC with this feature will return a summary of SLP_S0
|
|
transitions that occurred. The last_resume_result file returns
|
|
the most recent response from the AP's resume message to the EC.
|
|
|
|
The bottom 31 bits contain a count of the number of SLP_S0
|
|
transitions that occurred since the suspend message was
|
|
received. Bit 31 is set if the EC attempted to wake the
|
|
system due to a timeout when watching for SLP_S0 transitions.
|
|
Callers can use this to detect a wake from the EC due to
|
|
S0ix timeouts. The result will be zero if no suspend
|
|
transitions have been attempted, or the EC does not support
|
|
this feature.
|
|
|
|
Output will be in the format: "0x%08x\n".
|
|
|
|
What: /sys/kernel/debug/<cros-ec-device>/suspend_timeout_ms
|
|
Date: August 2022
|
|
KernelVersion: 6.1
|
|
Description:
|
|
Some ECs have a feature where they will track transitions of
|
|
a hardware-controlled sleep line, such as Intel's SLP_S0 line,
|
|
in order to detect cases where a system failed to go into deep
|
|
sleep states. The suspend_timeout_ms file controls the amount of
|
|
time in milliseconds the EC will wait before declaring a sleep
|
|
timeout event and attempting to wake the system.
|
|
|
|
Supply 0 to use the default value coded into EC firmware. Supply
|
|
65535 (EC_HOST_SLEEP_TIMEOUT_INFINITE) to disable the EC sleep
|
|
failure detection mechanism. Values in between 0 and 65535
|
|
indicate the number of milliseconds the EC should wait after a
|
|
sleep transition before declaring a timeout. This includes both
|
|
the duration after a sleep command was received but before the
|
|
hardware line changed, as well as the duration between when the
|
|
hardware line changed and the kernel sent an EC resume command.
|
|
|
|
Output will be in the format: "%u\n".
|