xref: /linux/Documentation/ABI/testing/sysfs-devices-power (revision fcc8487d477a3452a1d0ccbdd4c5e0e1e3cb8bed)
1What:		/sys/devices/.../power/
2Date:		January 2009
3Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
4Description:
5		The /sys/devices/.../power directory contains attributes
6		allowing the user space to check and modify some power
7		management related properties of given device.
8
9What:		/sys/devices/.../power/wakeup
10Date:		January 2009
11Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
12Description:
13		The /sys/devices/.../power/wakeup attribute allows the user
14		space to check if the device is enabled to wake up the system
15		from sleep states, such as the memory sleep state (suspend to
16		RAM) and hibernation (suspend to disk), and to enable or disable
17		it to do that as desired.
18
19		Some devices support "wakeup" events, which are hardware signals
20		used to activate the system from a sleep state.  Such devices
21		have one of the following two values for the sysfs power/wakeup
22		file:
23
24		+ "enabled\n" to issue the events;
25		+ "disabled\n" not to do so;
26
27		In that cases the user space can change the setting represented
28		by the contents of this file by writing either "enabled", or
29		"disabled" to it.
30
31		For the devices that are not capable of generating system wakeup
32		events this file is not present.  In that case the device cannot
33		be enabled to wake up the system from sleep states.
34
35What:		/sys/devices/.../power/control
36Date:		January 2009
37Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
38Description:
39		The /sys/devices/.../power/control attribute allows the user
40		space to control the run-time power management of the device.
41
42		All devices have one of the following two values for the
43		power/control file:
44
45		+ "auto\n" to allow the device to be power managed at run time;
46		+ "on\n" to prevent the device from being power managed;
47
48		The default for all devices is "auto", which means that they may
49		be subject to automatic power management, depending on their
50		drivers.  Changing this attribute to "on" prevents the driver
51		from power managing the device at run time.  Doing that while
52		the device is suspended causes it to be woken up.
53
54What:		/sys/devices/.../power/async
55Date:		January 2009
56Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
57Description:
58		The /sys/devices/.../async attribute allows the user space to
59		enable or diasble the device's suspend and resume callbacks to
60		be executed asynchronously (ie. in separate threads, in parallel
61		with the main suspend/resume thread) during system-wide power
62		transitions (eg. suspend to RAM, hibernation).
63
64		All devices have one of the following two values for the
65		power/async file:
66
67		+ "enabled\n" to permit the asynchronous suspend/resume;
68		+ "disabled\n" to forbid it;
69
70		The value of this attribute may be changed by writing either
71		"enabled", or "disabled" to it.
72
73		It generally is unsafe to permit the asynchronous suspend/resume
74		of a device unless it is certain that all of the PM dependencies
75		of the device are known to the PM core.  However, for some
76		devices this attribute is set to "enabled" by bus type code or
77		device drivers and in that cases it should be safe to leave the
78		default value.
79
80What:		/sys/devices/.../power/wakeup_count
81Date:		September 2010
82Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
83Description:
84		The /sys/devices/.../wakeup_count attribute contains the number
85		of signaled wakeup events associated with the device.  This
86		attribute is read-only.  If the device is not capable to wake up
87		the system from sleep states, this attribute is not present.
88		If the device is not enabled to wake up the system from sleep
89		states, this attribute is empty.
90
91What:		/sys/devices/.../power/wakeup_active_count
92Date:		September 2010
93Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
94Description:
95		The /sys/devices/.../wakeup_active_count attribute contains the
96		number of times the processing of wakeup events associated with
97		the device was completed (at the kernel level).  This attribute
98		is read-only.  If the device is not capable to wake up the
99		system from sleep states, this attribute is not present.  If
100		the device is not enabled to wake up the system from sleep
101		states, this attribute is empty.
102
103What:		/sys/devices/.../power/wakeup_abort_count
104Date:		February 2012
105Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
106Description:
107		The /sys/devices/.../wakeup_abort_count attribute contains the
108		number of times the processing of a wakeup event associated with
109		the device might have aborted system transition into a sleep
110		state in progress.  This attribute is read-only.  If the device
111		is not capable to wake up the system from sleep states, this
112		attribute is not present.  If the device is not enabled to wake
113		up the system from sleep states, this attribute is empty.
114
115What:		/sys/devices/.../power/wakeup_expire_count
116Date:		February 2012
117Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
118Description:
119		The /sys/devices/.../wakeup_expire_count attribute contains the
120		number of times a wakeup event associated with the device has
121		been reported with a timeout that expired.  This attribute is
122		read-only.  If the device is not capable to wake up the system
123		from sleep states, this attribute is not present.  If the
124		device is not enabled to wake up the system from sleep states,
125		this attribute is empty.
126
127What:		/sys/devices/.../power/wakeup_active
128Date:		September 2010
129Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
130Description:
131		The /sys/devices/.../wakeup_active attribute contains either 1,
132		or 0, depending on whether or not a wakeup event associated with
133		the device is being processed (1).  This attribute is read-only.
134		If the device is not capable to wake up the system from sleep
135		states, this attribute is not present.  If the device is not
136		enabled to wake up the system from sleep states, this attribute
137		is empty.
138
139What:		/sys/devices/.../power/wakeup_total_time_ms
140Date:		September 2010
141Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
142Description:
143		The /sys/devices/.../wakeup_total_time_ms attribute contains
144		the total time of processing wakeup events associated with the
145		device, in milliseconds.  This attribute is read-only.  If the
146		device is not capable to wake up the system from sleep states,
147		this attribute is not present.  If the device is not enabled to
148		wake up the system from sleep states, this attribute is empty.
149
150What:		/sys/devices/.../power/wakeup_max_time_ms
151Date:		September 2010
152Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
153Description:
154		The /sys/devices/.../wakeup_max_time_ms attribute contains
155		the maximum time of processing a single wakeup event associated
156		with the device, in milliseconds.  This attribute is read-only.
157		If the device is not capable to wake up the system from sleep
158		states, this attribute is not present.  If the device is not
159		enabled to wake up the system from sleep states, this attribute
160		is empty.
161
162What:		/sys/devices/.../power/wakeup_last_time_ms
163Date:		September 2010
164Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
165Description:
166		The /sys/devices/.../wakeup_last_time_ms attribute contains
167		the value of the monotonic clock corresponding to the time of
168		signaling the last wakeup event associated with the device, in
169		milliseconds.  This attribute is read-only.  If the device is
170		not enabled to wake up the system from sleep states, this
171		attribute is not present.  If the device is not enabled to wake
172		up the system from sleep states, this attribute is empty.
173
174What:		/sys/devices/.../power/wakeup_prevent_sleep_time_ms
175Date:		February 2012
176Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
177Description:
178		The /sys/devices/.../wakeup_prevent_sleep_time_ms attribute
179		contains the total time the device has been preventing
180		opportunistic transitions to sleep states from occurring.
181		This attribute is read-only.  If the device is not capable to
182		wake up the system from sleep states, this attribute is not
183		present.  If the device is not enabled to wake up the system
184		from sleep states, this attribute is empty.
185
186What:		/sys/devices/.../power/autosuspend_delay_ms
187Date:		September 2010
188Contact:	Alan Stern <stern@rowland.harvard.edu>
189Description:
190		The /sys/devices/.../power/autosuspend_delay_ms attribute
191		contains the autosuspend delay value (in milliseconds).  Some
192		drivers do not want their device to suspend as soon as it
193		becomes idle at run time; they want the device to remain
194		inactive for a certain minimum period of time first.  That
195		period is called the autosuspend delay.  Negative values will
196		prevent the device from being suspended at run time (similar
197		to writing "on" to the power/control attribute).  Values >=
198		1000 will cause the autosuspend timer expiration to be rounded
199		up to the nearest second.
200
201		Not all drivers support this attribute.  If it isn't supported,
202		attempts to read or write it will yield I/O errors.
203
204What:		/sys/devices/.../power/pm_qos_resume_latency_us
205Date:		March 2012
206Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
207Description:
208		The /sys/devices/.../power/pm_qos_resume_latency_us attribute
209		contains the PM QoS resume latency limit for the given device,
210		which is the maximum allowed time it can take to resume the
211		device, after it has been suspended at run time, from a resume
212		request to the moment the device will be ready to process I/O,
213		in microseconds.  If it is equal to 0, however, this means that
214		the PM QoS resume latency may be arbitrary.
215
216		Not all drivers support this attribute.  If it isn't supported,
217		it is not present.
218
219		This attribute has no effect on system-wide suspend/resume and
220		hibernation.
221
222What:		/sys/devices/.../power/pm_qos_latency_tolerance_us
223Date:		January 2014
224Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
225Description:
226		The /sys/devices/.../power/pm_qos_latency_tolerance_us attribute
227		contains the PM QoS active state latency tolerance limit for the
228		given device in microseconds.  That is the maximum memory access
229		latency the device can suffer without any visible adverse
230		effects on user space functionality.  If that value is the
231		string "any", the latency does not matter to user space at all,
232		but hardware should not be allowed to set the latency tolerance
233		for the device automatically.
234
235		Reading "auto" from this file means that the maximum memory
236		access latency for the device may be determined automatically
237		by the hardware as needed.  Writing "auto" to it allows the
238		hardware to be switched to this mode if there are no other
239		latency tolerance requirements from the kernel side.
240
241		This attribute is only present if the feature controlled by it
242		is supported by the hardware.
243
244		This attribute has no effect on runtime suspend and resume of
245		devices and on system-wide suspend/resume and hibernation.
246
247What:		/sys/devices/.../power/pm_qos_no_power_off
248Date:		September 2012
249Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
250Description:
251		The /sys/devices/.../power/pm_qos_no_power_off attribute
252		is used for manipulating the PM QoS "no power off" flag.  If
253		set, this flag indicates to the kernel that power should not
254		be removed entirely from the device.
255
256		Not all drivers support this attribute.  If it isn't supported,
257		it is not present.
258
259		This attribute has no effect on system-wide suspend/resume and
260		hibernation.
261
262What:		/sys/devices/.../power/pm_qos_remote_wakeup
263Date:		September 2012
264Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
265Description:
266		The /sys/devices/.../power/pm_qos_remote_wakeup attribute
267		is used for manipulating the PM QoS "remote wakeup required"
268		flag.  If set, this flag indicates to the kernel that the
269		device is a source of user events that have to be signaled from
270		its low-power states.
271
272		Not all drivers support this attribute.  If it isn't supported,
273		it is not present.
274
275		This attribute has no effect on system-wide suspend/resume and
276		hibernation.
277