55850945e8
Android uses one wakelock statistics that is only necessary for opportunistic sleep. Namely, the prevent_suspend_time field accumulates the total time the given wakelock has been locked while "automatic suspend" was enabled. Add an analogous field, prevent_sleep_time, to wakeup sources and make it behave in a similar way. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
206 lines
8.4 KiB
Text
206 lines
8.4 KiB
Text
What: /sys/devices/.../power/
|
|
Date: January 2009
|
|
Contact: Rafael J. Wysocki <rjw@sisk.pl>
|
|
Description:
|
|
The /sys/devices/.../power directory contains attributes
|
|
allowing the user space to check and modify some power
|
|
management related properties of given device.
|
|
|
|
What: /sys/devices/.../power/wakeup
|
|
Date: January 2009
|
|
Contact: Rafael J. Wysocki <rjw@sisk.pl>
|
|
Description:
|
|
The /sys/devices/.../power/wakeup attribute allows the user
|
|
space to check if the device is enabled to wake up the system
|
|
from sleep states, such as the memory sleep state (suspend to
|
|
RAM) and hibernation (suspend to disk), and to enable or disable
|
|
it to do that as desired.
|
|
|
|
Some devices support "wakeup" events, which are hardware signals
|
|
used to activate the system from a sleep state. Such devices
|
|
have one of the following two values for the sysfs power/wakeup
|
|
file:
|
|
|
|
+ "enabled\n" to issue the events;
|
|
+ "disabled\n" not to do so;
|
|
|
|
In that cases the user space can change the setting represented
|
|
by the contents of this file by writing either "enabled", or
|
|
"disabled" to it.
|
|
|
|
For the devices that are not capable of generating system wakeup
|
|
events this file is not present. In that case the device cannot
|
|
be enabled to wake up the system from sleep states.
|
|
|
|
What: /sys/devices/.../power/control
|
|
Date: January 2009
|
|
Contact: Rafael J. Wysocki <rjw@sisk.pl>
|
|
Description:
|
|
The /sys/devices/.../power/control attribute allows the user
|
|
space to control the run-time power management of the device.
|
|
|
|
All devices have one of the following two values for the
|
|
power/control file:
|
|
|
|
+ "auto\n" to allow the device to be power managed at run time;
|
|
+ "on\n" to prevent the device from being power managed;
|
|
|
|
The default for all devices is "auto", which means that they may
|
|
be subject to automatic power management, depending on their
|
|
drivers. Changing this attribute to "on" prevents the driver
|
|
from power managing the device at run time. Doing that while
|
|
the device is suspended causes it to be woken up.
|
|
|
|
What: /sys/devices/.../power/async
|
|
Date: January 2009
|
|
Contact: Rafael J. Wysocki <rjw@sisk.pl>
|
|
Description:
|
|
The /sys/devices/.../async attribute allows the user space to
|
|
enable or diasble the device's suspend and resume callbacks to
|
|
be executed asynchronously (ie. in separate threads, in parallel
|
|
with the main suspend/resume thread) during system-wide power
|
|
transitions (eg. suspend to RAM, hibernation).
|
|
|
|
All devices have one of the following two values for the
|
|
power/async file:
|
|
|
|
+ "enabled\n" to permit the asynchronous suspend/resume;
|
|
+ "disabled\n" to forbid it;
|
|
|
|
The value of this attribute may be changed by writing either
|
|
"enabled", or "disabled" to it.
|
|
|
|
It generally is unsafe to permit the asynchronous suspend/resume
|
|
of a device unless it is certain that all of the PM dependencies
|
|
of the device are known to the PM core. However, for some
|
|
devices this attribute is set to "enabled" by bus type code or
|
|
device drivers and in that cases it should be safe to leave the
|
|
default value.
|
|
|
|
What: /sys/devices/.../power/wakeup_count
|
|
Date: September 2010
|
|
Contact: Rafael J. Wysocki <rjw@sisk.pl>
|
|
Description:
|
|
The /sys/devices/.../wakeup_count attribute contains the number
|
|
of signaled wakeup events associated with the device. This
|
|
attribute is read-only. If the device is not enabled to wake up
|
|
the system from sleep states, this attribute is not present.
|
|
|
|
What: /sys/devices/.../power/wakeup_active_count
|
|
Date: September 2010
|
|
Contact: Rafael J. Wysocki <rjw@sisk.pl>
|
|
Description:
|
|
The /sys/devices/.../wakeup_active_count attribute contains the
|
|
number of times the processing of wakeup events associated with
|
|
the device was completed (at the kernel level). This attribute
|
|
is read-only. If the device is not enabled to wake up the
|
|
system from sleep states, this attribute is not present.
|
|
|
|
What: /sys/devices/.../power/wakeup_abort_count
|
|
Date: February 2012
|
|
Contact: Rafael J. Wysocki <rjw@sisk.pl>
|
|
Description:
|
|
The /sys/devices/.../wakeup_abort_count attribute contains the
|
|
number of times the processing of a wakeup event associated with
|
|
the device might have aborted system transition into a sleep
|
|
state in progress. This attribute is read-only. If the device
|
|
is not enabled to wake up the system from sleep states, this
|
|
attribute is not present.
|
|
|
|
What: /sys/devices/.../power/wakeup_expire_count
|
|
Date: February 2012
|
|
Contact: Rafael J. Wysocki <rjw@sisk.pl>
|
|
Description:
|
|
The /sys/devices/.../wakeup_expire_count attribute contains the
|
|
number of times a wakeup event associated with the device has
|
|
been reported with a timeout that expired. This attribute is
|
|
read-only. If the device is not enabled to wake up the system
|
|
from sleep states, this attribute is not present.
|
|
|
|
What: /sys/devices/.../power/wakeup_active
|
|
Date: September 2010
|
|
Contact: Rafael J. Wysocki <rjw@sisk.pl>
|
|
Description:
|
|
The /sys/devices/.../wakeup_active attribute contains either 1,
|
|
or 0, depending on whether or not a wakeup event associated with
|
|
the device is being processed (1). This attribute is read-only.
|
|
If the device is not enabled to wake up the system from sleep
|
|
states, this attribute is not present.
|
|
|
|
What: /sys/devices/.../power/wakeup_total_time_ms
|
|
Date: September 2010
|
|
Contact: Rafael J. Wysocki <rjw@sisk.pl>
|
|
Description:
|
|
The /sys/devices/.../wakeup_total_time_ms attribute contains
|
|
the total time of processing wakeup events associated with the
|
|
device, in milliseconds. This attribute is read-only. If the
|
|
device is not enabled to wake up the system from sleep states,
|
|
this attribute is not present.
|
|
|
|
What: /sys/devices/.../power/wakeup_max_time_ms
|
|
Date: September 2010
|
|
Contact: Rafael J. Wysocki <rjw@sisk.pl>
|
|
Description:
|
|
The /sys/devices/.../wakeup_max_time_ms attribute contains
|
|
the maximum time of processing a single wakeup event associated
|
|
with the device, in milliseconds. This attribute is read-only.
|
|
If the device is not enabled to wake up the system from sleep
|
|
states, this attribute is not present.
|
|
|
|
What: /sys/devices/.../power/wakeup_last_time_ms
|
|
Date: September 2010
|
|
Contact: Rafael J. Wysocki <rjw@sisk.pl>
|
|
Description:
|
|
The /sys/devices/.../wakeup_last_time_ms attribute contains
|
|
the value of the monotonic clock corresponding to the time of
|
|
signaling the last wakeup event associated with the device, in
|
|
milliseconds. This attribute is read-only. If the device is
|
|
not enabled to wake up the system from sleep states, this
|
|
attribute is not present.
|
|
|
|
What: /sys/devices/.../power/wakeup_prevent_sleep_time_ms
|
|
Date: February 2012
|
|
Contact: Rafael J. Wysocki <rjw@sisk.pl>
|
|
Description:
|
|
The /sys/devices/.../wakeup_prevent_sleep_time_ms attribute
|
|
contains the total time the device has been preventing
|
|
opportunistic transitions to sleep states from occuring.
|
|
This attribute is read-only. If the device is not enabled to
|
|
wake up the system from sleep states, this attribute is not
|
|
present.
|
|
|
|
What: /sys/devices/.../power/autosuspend_delay_ms
|
|
Date: September 2010
|
|
Contact: Alan Stern <stern@rowland.harvard.edu>
|
|
Description:
|
|
The /sys/devices/.../power/autosuspend_delay_ms attribute
|
|
contains the autosuspend delay value (in milliseconds). Some
|
|
drivers do not want their device to suspend as soon as it
|
|
becomes idle at run time; they want the device to remain
|
|
inactive for a certain minimum period of time first. That
|
|
period is called the autosuspend delay. Negative values will
|
|
prevent the device from being suspended at run time (similar
|
|
to writing "on" to the power/control attribute). Values >=
|
|
1000 will cause the autosuspend timer expiration to be rounded
|
|
up to the nearest second.
|
|
|
|
Not all drivers support this attribute. If it isn't supported,
|
|
attempts to read or write it will yield I/O errors.
|
|
|
|
What: /sys/devices/.../power/pm_qos_latency_us
|
|
Date: March 2012
|
|
Contact: Rafael J. Wysocki <rjw@sisk.pl>
|
|
Description:
|
|
The /sys/devices/.../power/pm_qos_resume_latency_us attribute
|
|
contains the PM QoS resume latency limit for the given device,
|
|
which is the maximum allowed time it can take to resume the
|
|
device, after it has been suspended at run time, from a resume
|
|
request to the moment the device will be ready to process I/O,
|
|
in microseconds. If it is equal to 0, however, this means that
|
|
the PM QoS resume latency may be arbitrary.
|
|
|
|
Not all drivers support this attribute. If it isn't supported,
|
|
it is not present.
|
|
|
|
This attribute has no effect on system-wide suspend/resume and
|
|
hibernation.
|