xref: /OK3568_Linux_fs/kernel/Documentation/ABI/testing/sysfs-power (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunWhat:		/sys/power/
2*4882a593SmuzhiyunDate:		August 2006
3*4882a593SmuzhiyunContact:	Rafael J. Wysocki <rjw@rjwysocki.net>
4*4882a593SmuzhiyunDescription:
5*4882a593Smuzhiyun		The /sys/power directory will contain files that will
6*4882a593Smuzhiyun		provide a unified interface to the power management
7*4882a593Smuzhiyun		subsystem.
8*4882a593Smuzhiyun
9*4882a593SmuzhiyunWhat:		/sys/power/state
10*4882a593SmuzhiyunDate:		November 2016
11*4882a593SmuzhiyunContact:	Rafael J. Wysocki <rjw@rjwysocki.net>
12*4882a593SmuzhiyunDescription:
13*4882a593Smuzhiyun		The /sys/power/state file controls system sleep states.
14*4882a593Smuzhiyun		Reading from this file returns the available sleep state
15*4882a593Smuzhiyun		labels, which may be "mem" (suspend), "standby" (power-on
16*4882a593Smuzhiyun		suspend), "freeze" (suspend-to-idle) and "disk" (hibernation).
17*4882a593Smuzhiyun
18*4882a593Smuzhiyun		Writing one of the above strings to this file causes the system
19*4882a593Smuzhiyun		to transition into the corresponding state, if available.
20*4882a593Smuzhiyun
21*4882a593Smuzhiyun		See Documentation/admin-guide/pm/sleep-states.rst for more
22*4882a593Smuzhiyun		information.
23*4882a593Smuzhiyun
24*4882a593SmuzhiyunWhat:		/sys/power/mem_sleep
25*4882a593SmuzhiyunDate:		November 2016
26*4882a593SmuzhiyunContact:	Rafael J. Wysocki <rjw@rjwysocki.net>
27*4882a593SmuzhiyunDescription:
28*4882a593Smuzhiyun		The /sys/power/mem_sleep file controls the operating mode of
29*4882a593Smuzhiyun		system suspend.  Reading from it returns the available modes
30*4882a593Smuzhiyun		as "s2idle" (always present), "shallow" and "deep" (present if
31*4882a593Smuzhiyun		supported).  The mode that will be used on subsequent attempts
32*4882a593Smuzhiyun		to suspend the system (by writing "mem" to the /sys/power/state
33*4882a593Smuzhiyun		file described above) is enclosed in square brackets.
34*4882a593Smuzhiyun
35*4882a593Smuzhiyun		Writing one of the above strings to this file causes the mode
36*4882a593Smuzhiyun		represented by it to be used on subsequent attempts to suspend
37*4882a593Smuzhiyun		the system.
38*4882a593Smuzhiyun
39*4882a593Smuzhiyun		See Documentation/admin-guide/pm/sleep-states.rst for more
40*4882a593Smuzhiyun		information.
41*4882a593Smuzhiyun
42*4882a593SmuzhiyunWhat:		/sys/power/disk
43*4882a593SmuzhiyunDate:		September 2006
44*4882a593SmuzhiyunContact:	Rafael J. Wysocki <rjw@rjwysocki.net>
45*4882a593SmuzhiyunDescription:
46*4882a593Smuzhiyun		The /sys/power/disk file controls the operating mode of the
47*4882a593Smuzhiyun		suspend-to-disk mechanism.  Reading from this file returns
48*4882a593Smuzhiyun		the name of the method by which the system will be put to
49*4882a593Smuzhiyun		sleep on the next suspend.  There are four methods supported:
50*4882a593Smuzhiyun
51*4882a593Smuzhiyun		'firmware' - means that the memory image will be saved to disk
52*4882a593Smuzhiyun		by some firmware, in which case we also assume that the
53*4882a593Smuzhiyun		firmware will handle the system suspend.
54*4882a593Smuzhiyun
55*4882a593Smuzhiyun		'platform' - the memory image will be saved by the kernel and
56*4882a593Smuzhiyun		the system will be put to sleep by the platform driver (e.g.
57*4882a593Smuzhiyun		ACPI or other PM registers).
58*4882a593Smuzhiyun
59*4882a593Smuzhiyun		'shutdown' - the memory image will be saved by the kernel and
60*4882a593Smuzhiyun		the system will be powered off.
61*4882a593Smuzhiyun
62*4882a593Smuzhiyun		'reboot' - the memory image will be saved by the kernel and
63*4882a593Smuzhiyun		the system will be rebooted.
64*4882a593Smuzhiyun
65*4882a593Smuzhiyun		Additionally, /sys/power/disk can be used to turn on one of the
66*4882a593Smuzhiyun		two testing modes of the suspend-to-disk mechanism: 'testproc'
67*4882a593Smuzhiyun		or 'test'.  If the suspend-to-disk mechanism is in the
68*4882a593Smuzhiyun		'testproc' mode, writing 'disk' to /sys/power/state will cause
69*4882a593Smuzhiyun		the kernel to disable nonboot CPUs and freeze tasks, wait for 5
70*4882a593Smuzhiyun		seconds, unfreeze tasks and enable nonboot CPUs.  If it is in
71*4882a593Smuzhiyun		the 'test' mode, writing 'disk' to /sys/power/state will cause
72*4882a593Smuzhiyun		the kernel to disable nonboot CPUs and freeze tasks, shrink
73*4882a593Smuzhiyun		memory, suspend devices, wait for 5 seconds, resume devices,
74*4882a593Smuzhiyun		unfreeze tasks and enable nonboot CPUs.  Then, we are able to
75*4882a593Smuzhiyun		look in the log messages and work out, for example, which code
76*4882a593Smuzhiyun		is being slow and which device drivers are misbehaving.
77*4882a593Smuzhiyun
78*4882a593Smuzhiyun		The suspend-to-disk method may be chosen by writing to this
79*4882a593Smuzhiyun		file one of the accepted strings:
80*4882a593Smuzhiyun
81*4882a593Smuzhiyun		- 'firmware'
82*4882a593Smuzhiyun		- 'platform'
83*4882a593Smuzhiyun		- 'shutdown'
84*4882a593Smuzhiyun		- 'reboot'
85*4882a593Smuzhiyun		- 'testproc'
86*4882a593Smuzhiyun		- 'test'
87*4882a593Smuzhiyun
88*4882a593Smuzhiyun		It will only change to 'firmware' or 'platform' if the system
89*4882a593Smuzhiyun		supports that.
90*4882a593Smuzhiyun
91*4882a593SmuzhiyunWhat:		/sys/power/image_size
92*4882a593SmuzhiyunDate:		August 2006
93*4882a593SmuzhiyunContact:	Rafael J. Wysocki <rjw@rjwysocki.net>
94*4882a593SmuzhiyunDescription:
95*4882a593Smuzhiyun		The /sys/power/image_size file controls the size of the image
96*4882a593Smuzhiyun		created by the suspend-to-disk mechanism.  It can be written a
97*4882a593Smuzhiyun		string representing a non-negative integer that will be used
98*4882a593Smuzhiyun		as an upper limit of the image size, in bytes.  The kernel's
99*4882a593Smuzhiyun		suspend-to-disk code will do its best to ensure the image size
100*4882a593Smuzhiyun		will not exceed this number.  However, if it turns out to be
101*4882a593Smuzhiyun		impossible, the kernel will try to suspend anyway using the
102*4882a593Smuzhiyun		smallest image possible.  In particular, if "0" is written to
103*4882a593Smuzhiyun		this file, the suspend image will be as small as possible.
104*4882a593Smuzhiyun
105*4882a593Smuzhiyun		Reading from this file will display the current image size
106*4882a593Smuzhiyun		limit, which is set to around 2/5 of available RAM by default.
107*4882a593Smuzhiyun
108*4882a593SmuzhiyunWhat:		/sys/power/pm_trace
109*4882a593SmuzhiyunDate:		August 2006
110*4882a593SmuzhiyunContact:	Rafael J. Wysocki <rjw@rjwysocki.net>
111*4882a593SmuzhiyunDescription:
112*4882a593Smuzhiyun		The /sys/power/pm_trace file controls the code which saves the
113*4882a593Smuzhiyun		last PM event point in the RTC across reboots, so that you can
114*4882a593Smuzhiyun		debug a machine that just hangs during suspend (or more
115*4882a593Smuzhiyun		commonly, during resume).  Namely, the RTC is only used to save
116*4882a593Smuzhiyun		the last PM event point if this file contains '1'.  Initially
117*4882a593Smuzhiyun		it contains '0' which may be changed to '1' by writing a
118*4882a593Smuzhiyun		string representing a nonzero integer into it.
119*4882a593Smuzhiyun
120*4882a593Smuzhiyun		To use this debugging feature you should attempt to suspend
121*4882a593Smuzhiyun		the machine, then reboot it and run::
122*4882a593Smuzhiyun
123*4882a593Smuzhiyun		  dmesg -s 1000000 | grep 'hash matches'
124*4882a593Smuzhiyun
125*4882a593Smuzhiyun		If you do not get any matches (or they appear to be false
126*4882a593Smuzhiyun		positives), it is possible that the last PM event point
127*4882a593Smuzhiyun		referred to a device created by a loadable kernel module.  In
128*4882a593Smuzhiyun		this case cat /sys/power/pm_trace_dev_match (see below) after
129*4882a593Smuzhiyun		your system is started up and the kernel modules are loaded.
130*4882a593Smuzhiyun
131*4882a593Smuzhiyun		CAUTION: Using it will cause your machine's real-time (CMOS)
132*4882a593Smuzhiyun		clock to be set to a random invalid time after a resume.
133*4882a593Smuzhiyun
134*4882a593SmuzhiyunWhat;		/sys/power/pm_trace_dev_match
135*4882a593SmuzhiyunDate:		October 2010
136*4882a593SmuzhiyunContact:	James Hogan <jhogan@kernel.org>
137*4882a593SmuzhiyunDescription:
138*4882a593Smuzhiyun		The /sys/power/pm_trace_dev_match file contains the name of the
139*4882a593Smuzhiyun		device associated with the last PM event point saved in the RTC
140*4882a593Smuzhiyun		across reboots when pm_trace has been used.  More precisely it
141*4882a593Smuzhiyun		contains the list of current devices (including those
142*4882a593Smuzhiyun		registered by loadable kernel modules since boot) which match
143*4882a593Smuzhiyun		the device hash in the RTC at boot, with a newline after each
144*4882a593Smuzhiyun		one.
145*4882a593Smuzhiyun
146*4882a593Smuzhiyun		The advantage of this file over the hash matches printed to the
147*4882a593Smuzhiyun		kernel log (see /sys/power/pm_trace), is that it includes
148*4882a593Smuzhiyun		devices created after boot by loadable kernel modules.
149*4882a593Smuzhiyun
150*4882a593Smuzhiyun		Due to the small hash size necessary to fit in the RTC, it is
151*4882a593Smuzhiyun		possible that more than one device matches the hash, in which
152*4882a593Smuzhiyun		case further investigation is required to determine which
153*4882a593Smuzhiyun		device is causing the problem.  Note that genuine RTC clock
154*4882a593Smuzhiyun		values (such as when pm_trace has not been used), can still
155*4882a593Smuzhiyun		match a device and output it's name here.
156*4882a593Smuzhiyun
157*4882a593SmuzhiyunWhat:		/sys/power/pm_async
158*4882a593SmuzhiyunDate:		January 2009
159*4882a593SmuzhiyunContact:	Rafael J. Wysocki <rjw@rjwysocki.net>
160*4882a593SmuzhiyunDescription:
161*4882a593Smuzhiyun		The /sys/power/pm_async file controls the switch allowing the
162*4882a593Smuzhiyun		user space to enable or disable asynchronous suspend and resume
163*4882a593Smuzhiyun		of devices.  If enabled, this feature will cause some device
164*4882a593Smuzhiyun		drivers' suspend and resume callbacks to be executed in parallel
165*4882a593Smuzhiyun		with each other and with the main suspend thread.  It is enabled
166*4882a593Smuzhiyun		if this file contains "1", which is the default.  It may be
167*4882a593Smuzhiyun		disabled by writing "0" to this file, in which case all devices
168*4882a593Smuzhiyun		will be suspended and resumed synchronously.
169*4882a593Smuzhiyun
170*4882a593SmuzhiyunWhat:		/sys/power/wakeup_count
171*4882a593SmuzhiyunDate:		July 2010
172*4882a593SmuzhiyunContact:	Rafael J. Wysocki <rjw@rjwysocki.net>
173*4882a593SmuzhiyunDescription:
174*4882a593Smuzhiyun		The /sys/power/wakeup_count file allows user space to put the
175*4882a593Smuzhiyun		system into a sleep state while taking into account the
176*4882a593Smuzhiyun		concurrent arrival of wakeup events.  Reading from it returns
177*4882a593Smuzhiyun		the current number of registered wakeup events and it blocks if
178*4882a593Smuzhiyun		some wakeup events are being processed at the time the file is
179*4882a593Smuzhiyun		read from.  Writing to it will only succeed if the current
180*4882a593Smuzhiyun		number of wakeup events is equal to the written value and, if
181*4882a593Smuzhiyun		successful, will make the kernel abort a subsequent transition
182*4882a593Smuzhiyun		to a sleep state if any wakeup events are reported after the
183*4882a593Smuzhiyun		write has returned.
184*4882a593Smuzhiyun
185*4882a593SmuzhiyunWhat:		/sys/power/reserved_size
186*4882a593SmuzhiyunDate:		May 2011
187*4882a593SmuzhiyunContact:	Rafael J. Wysocki <rjw@rjwysocki.net>
188*4882a593SmuzhiyunDescription:
189*4882a593Smuzhiyun		The /sys/power/reserved_size file allows user space to control
190*4882a593Smuzhiyun		the amount of memory reserved for allocations made by device
191*4882a593Smuzhiyun		drivers during the "device freeze" stage of hibernation.  It can
192*4882a593Smuzhiyun		be written a string representing a non-negative integer that
193*4882a593Smuzhiyun		will be used as the amount of memory to reserve for allocations
194*4882a593Smuzhiyun		made by device drivers' "freeze" callbacks, in bytes.
195*4882a593Smuzhiyun
196*4882a593Smuzhiyun		Reading from this file will display the current value, which is
197*4882a593Smuzhiyun		set to 1 MB by default.
198*4882a593Smuzhiyun
199*4882a593SmuzhiyunWhat:		/sys/power/autosleep
200*4882a593SmuzhiyunDate:		April 2012
201*4882a593SmuzhiyunContact:	Rafael J. Wysocki <rjw@rjwysocki.net>
202*4882a593SmuzhiyunDescription:
203*4882a593Smuzhiyun		The /sys/power/autosleep file can be written one of the strings
204*4882a593Smuzhiyun		returned by reads from /sys/power/state.  If that happens, a
205*4882a593Smuzhiyun		work item attempting to trigger a transition of the system to
206*4882a593Smuzhiyun		the sleep state represented by that string is queued up.  This
207*4882a593Smuzhiyun		attempt will only succeed if there are no active wakeup sources
208*4882a593Smuzhiyun		in the system at that time.  After every execution, regardless
209*4882a593Smuzhiyun		of whether or not the attempt to put the system to sleep has
210*4882a593Smuzhiyun		succeeded, the work item requeues itself until user space
211*4882a593Smuzhiyun		writes "off" to /sys/power/autosleep.
212*4882a593Smuzhiyun
213*4882a593Smuzhiyun		Reading from this file causes the last string successfully
214*4882a593Smuzhiyun		written to it to be returned.
215*4882a593Smuzhiyun
216*4882a593SmuzhiyunWhat:		/sys/power/wake_lock
217*4882a593SmuzhiyunDate:		February 2012
218*4882a593SmuzhiyunContact:	Rafael J. Wysocki <rjw@rjwysocki.net>
219*4882a593SmuzhiyunDescription:
220*4882a593Smuzhiyun		The /sys/power/wake_lock file allows user space to create
221*4882a593Smuzhiyun		wakeup source objects and activate them on demand (if one of
222*4882a593Smuzhiyun		those wakeup sources is active, reads from the
223*4882a593Smuzhiyun		/sys/power/wakeup_count file block or return false).  When a
224*4882a593Smuzhiyun		string without white space is written to /sys/power/wake_lock,
225*4882a593Smuzhiyun		it will be assumed to represent a wakeup source name.  If there
226*4882a593Smuzhiyun		is a wakeup source object with that name, it will be activated
227*4882a593Smuzhiyun		(unless active already).  Otherwise, a new wakeup source object
228*4882a593Smuzhiyun		will be registered, assigned the given name and activated.
229*4882a593Smuzhiyun		If a string written to /sys/power/wake_lock contains white
230*4882a593Smuzhiyun		space, the part of the string preceding the white space will be
231*4882a593Smuzhiyun		regarded as a wakeup source name and handled as descrived above.
232*4882a593Smuzhiyun		The other part of the string will be regarded as a timeout (in
233*4882a593Smuzhiyun		nanoseconds) such that the wakeup source will be automatically
234*4882a593Smuzhiyun		deactivated after it has expired.  The timeout, if present, is
235*4882a593Smuzhiyun		set regardless of the current state of the wakeup source object
236*4882a593Smuzhiyun		in question.
237*4882a593Smuzhiyun
238*4882a593Smuzhiyun		Reads from this file return a string consisting of the names of
239*4882a593Smuzhiyun		wakeup sources created with the help of it that are active at
240*4882a593Smuzhiyun		the moment, separated with spaces.
241*4882a593Smuzhiyun
242*4882a593Smuzhiyun
243*4882a593SmuzhiyunWhat:		/sys/power/wake_unlock
244*4882a593SmuzhiyunDate:		February 2012
245*4882a593SmuzhiyunContact:	Rafael J. Wysocki <rjw@rjwysocki.net>
246*4882a593SmuzhiyunDescription:
247*4882a593Smuzhiyun		The /sys/power/wake_unlock file allows user space to deactivate
248*4882a593Smuzhiyun		wakeup sources created with the help of /sys/power/wake_lock.
249*4882a593Smuzhiyun		When a string is written to /sys/power/wake_unlock, it will be
250*4882a593Smuzhiyun		assumed to represent the name of a wakeup source to deactivate.
251*4882a593Smuzhiyun
252*4882a593Smuzhiyun		If a wakeup source object of that name exists and is active at
253*4882a593Smuzhiyun		the moment, it will be deactivated.
254*4882a593Smuzhiyun
255*4882a593Smuzhiyun		Reads from this file return a string consisting of the names of
256*4882a593Smuzhiyun		wakeup sources created with the help of /sys/power/wake_lock
257*4882a593Smuzhiyun		that are inactive at the moment, separated with spaces.
258*4882a593Smuzhiyun
259*4882a593SmuzhiyunWhat:		/sys/power/pm_print_times
260*4882a593SmuzhiyunDate:		May 2012
261*4882a593SmuzhiyunContact:	Sameer Nanda <snanda@chromium.org>
262*4882a593SmuzhiyunDescription:
263*4882a593Smuzhiyun		The /sys/power/pm_print_times file allows user space to
264*4882a593Smuzhiyun		control whether the time taken by devices to suspend and
265*4882a593Smuzhiyun		resume is printed.  These prints are useful for hunting down
266*4882a593Smuzhiyun		devices that take too long to suspend or resume.
267*4882a593Smuzhiyun
268*4882a593Smuzhiyun		Writing a "1" enables this printing while writing a "0"
269*4882a593Smuzhiyun		disables it.  The default value is "0".  Reading from this file
270*4882a593Smuzhiyun		will display the current value.
271*4882a593Smuzhiyun
272*4882a593SmuzhiyunWhat:		/sys/power/pm_wakeup_irq
273*4882a593SmuzhiyunDate:		April 2015
274*4882a593SmuzhiyunContact:	Alexandra Yates <alexandra.yates@linux.intel.org>
275*4882a593SmuzhiyunDescription:
276*4882a593Smuzhiyun		The /sys/power/pm_wakeup_irq file reports to user space the IRQ
277*4882a593Smuzhiyun		number of the first wakeup interrupt (that is, the first
278*4882a593Smuzhiyun		interrupt from an IRQ line armed for system wakeup) seen by the
279*4882a593Smuzhiyun		kernel during the most recent system suspend/resume cycle.
280*4882a593Smuzhiyun
281*4882a593Smuzhiyun		This output is useful for system wakeup diagnostics of spurious
282*4882a593Smuzhiyun		wakeup interrupts.
283*4882a593Smuzhiyun
284*4882a593SmuzhiyunWhat:		/sys/power/pm_debug_messages
285*4882a593SmuzhiyunDate:		July 2017
286*4882a593SmuzhiyunContact:	Rafael J. Wysocki <rjw@rjwysocki.net>
287*4882a593SmuzhiyunDescription:
288*4882a593Smuzhiyun		The /sys/power/pm_debug_messages file controls the printing
289*4882a593Smuzhiyun		of debug messages from the system suspend/hiberbation
290*4882a593Smuzhiyun		infrastructure to the kernel log.
291*4882a593Smuzhiyun
292*4882a593Smuzhiyun		Writing a "1" to this file enables the debug messages and
293*4882a593Smuzhiyun		writing a "0" (default) to it disables them.  Reads from
294*4882a593Smuzhiyun		this file return the current value.
295*4882a593Smuzhiyun
296*4882a593SmuzhiyunWhat:		/sys/power/resume_offset
297*4882a593SmuzhiyunDate:		April 2018
298*4882a593SmuzhiyunContact:	Mario Limonciello <mario.limonciello@dell.com>
299*4882a593SmuzhiyunDescription:
300*4882a593Smuzhiyun		This file is used for telling the kernel an offset into a disk
301*4882a593Smuzhiyun		to use when hibernating the system such as with a swap file.
302*4882a593Smuzhiyun
303*4882a593Smuzhiyun		Reads from this file will display the current offset
304*4882a593Smuzhiyun		the kernel will be using on the next hibernation
305*4882a593Smuzhiyun		attempt.
306*4882a593Smuzhiyun
307*4882a593Smuzhiyun		Using this sysfs file will override any values that were
308*4882a593Smuzhiyun		set using the kernel command line for disk offset.
309*4882a593Smuzhiyun
310*4882a593SmuzhiyunWhat:		/sys/power/suspend_stats
311*4882a593SmuzhiyunDate:		July 2019
312*4882a593SmuzhiyunContact:	Kalesh Singh <kaleshsingh96@gmail.com>
313*4882a593SmuzhiyunDescription:
314*4882a593Smuzhiyun		The /sys/power/suspend_stats directory contains suspend related
315*4882a593Smuzhiyun		statistics.
316*4882a593Smuzhiyun
317*4882a593SmuzhiyunWhat:		/sys/power/suspend_stats/success
318*4882a593SmuzhiyunDate:		July 2019
319*4882a593SmuzhiyunContact:	Kalesh Singh <kaleshsingh96@gmail.com>
320*4882a593SmuzhiyunDescription:
321*4882a593Smuzhiyun		The /sys/power/suspend_stats/success file contains the number
322*4882a593Smuzhiyun		of times entering system sleep state succeeded.
323*4882a593Smuzhiyun
324*4882a593SmuzhiyunWhat:		/sys/power/suspend_stats/fail
325*4882a593SmuzhiyunDate:		July 2019
326*4882a593SmuzhiyunContact:	Kalesh Singh <kaleshsingh96@gmail.com>
327*4882a593SmuzhiyunDescription:
328*4882a593Smuzhiyun		The /sys/power/suspend_stats/fail file contains the number
329*4882a593Smuzhiyun		of times entering system sleep state failed.
330*4882a593Smuzhiyun
331*4882a593SmuzhiyunWhat:		/sys/power/suspend_stats/failed_freeze
332*4882a593SmuzhiyunDate:		July 2019
333*4882a593SmuzhiyunContact:	Kalesh Singh <kaleshsingh96@gmail.com>
334*4882a593SmuzhiyunDescription:
335*4882a593Smuzhiyun		The /sys/power/suspend_stats/failed_freeze file contains the
336*4882a593Smuzhiyun		number of times freezing processes failed.
337*4882a593Smuzhiyun
338*4882a593SmuzhiyunWhat:		/sys/power/suspend_stats/failed_prepare
339*4882a593SmuzhiyunDate:		July 2019
340*4882a593SmuzhiyunContact:	Kalesh Singh <kaleshsingh96@gmail.com>
341*4882a593SmuzhiyunDescription:
342*4882a593Smuzhiyun		The /sys/power/suspend_stats/failed_prepare file contains the
343*4882a593Smuzhiyun		number of times preparing all non-sysdev devices for
344*4882a593Smuzhiyun		a system PM transition failed.
345*4882a593Smuzhiyun
346*4882a593SmuzhiyunWhat:		/sys/power/suspend_stats/failed_resume
347*4882a593SmuzhiyunDate:		July 2019
348*4882a593SmuzhiyunContact:	Kalesh Singh <kaleshsingh96@gmail.com>
349*4882a593SmuzhiyunDescription:
350*4882a593Smuzhiyun		The /sys/power/suspend_stats/failed_resume file contains the
351*4882a593Smuzhiyun		number of times executing "resume" callbacks of
352*4882a593Smuzhiyun		non-sysdev devices failed.
353*4882a593Smuzhiyun
354*4882a593SmuzhiyunWhat:		/sys/power/suspend_stats/failed_resume_early
355*4882a593SmuzhiyunDate:		July 2019
356*4882a593SmuzhiyunContact:	Kalesh Singh <kaleshsingh96@gmail.com>
357*4882a593SmuzhiyunDescription:
358*4882a593Smuzhiyun		The /sys/power/suspend_stats/failed_resume_early file contains
359*4882a593Smuzhiyun		the number of times executing "early resume" callbacks
360*4882a593Smuzhiyun		of devices failed.
361*4882a593Smuzhiyun
362*4882a593SmuzhiyunWhat:		/sys/power/suspend_stats/failed_resume_noirq
363*4882a593SmuzhiyunDate:		July 2019
364*4882a593SmuzhiyunContact:	Kalesh Singh <kaleshsingh96@gmail.com>
365*4882a593SmuzhiyunDescription:
366*4882a593Smuzhiyun		The /sys/power/suspend_stats/failed_resume_noirq file contains
367*4882a593Smuzhiyun		the number of times executing "noirq resume" callbacks
368*4882a593Smuzhiyun		of devices failed.
369*4882a593Smuzhiyun
370*4882a593SmuzhiyunWhat:		/sys/power/suspend_stats/failed_suspend
371*4882a593SmuzhiyunDate:		July 2019
372*4882a593SmuzhiyunContact:	Kalesh Singh <kaleshsingh96@gmail.com>
373*4882a593SmuzhiyunDescription:
374*4882a593Smuzhiyun		The /sys/power/suspend_stats/failed_suspend file contains
375*4882a593Smuzhiyun		the number of times executing "suspend" callbacks
376*4882a593Smuzhiyun		of all non-sysdev devices failed.
377*4882a593Smuzhiyun
378*4882a593SmuzhiyunWhat:		/sys/power/suspend_stats/failed_suspend_late
379*4882a593SmuzhiyunDate:		July 2019
380*4882a593SmuzhiyunContact:	Kalesh Singh <kaleshsingh96@gmail.com>
381*4882a593SmuzhiyunDescription:
382*4882a593Smuzhiyun		The /sys/power/suspend_stats/failed_suspend_late file contains
383*4882a593Smuzhiyun		the number of times executing "late suspend" callbacks
384*4882a593Smuzhiyun		of all devices failed.
385*4882a593Smuzhiyun
386*4882a593SmuzhiyunWhat:		/sys/power/suspend_stats/failed_suspend_noirq
387*4882a593SmuzhiyunDate:		July 2019
388*4882a593SmuzhiyunContact:	Kalesh Singh <kaleshsingh96@gmail.com>
389*4882a593SmuzhiyunDescription:
390*4882a593Smuzhiyun		The /sys/power/suspend_stats/failed_suspend_noirq file contains
391*4882a593Smuzhiyun		the number of times executing "noirq suspend" callbacks
392*4882a593Smuzhiyun		of all devices failed.
393*4882a593Smuzhiyun
394*4882a593SmuzhiyunWhat:		/sys/power/suspend_stats/last_failed_dev
395*4882a593SmuzhiyunDate:		July 2019
396*4882a593SmuzhiyunContact:	Kalesh Singh <kaleshsingh96@gmail.com>
397*4882a593SmuzhiyunDescription:
398*4882a593Smuzhiyun		The /sys/power/suspend_stats/last_failed_dev file contains
399*4882a593Smuzhiyun		the last device for which a suspend/resume callback failed.
400*4882a593Smuzhiyun
401*4882a593SmuzhiyunWhat:		/sys/power/suspend_stats/last_failed_errno
402*4882a593SmuzhiyunDate:		July 2019
403*4882a593SmuzhiyunContact:	Kalesh Singh <kaleshsingh96@gmail.com>
404*4882a593SmuzhiyunDescription:
405*4882a593Smuzhiyun		The /sys/power/suspend_stats/last_failed_errno file contains
406*4882a593Smuzhiyun		the errno of the last failed attempt at entering
407*4882a593Smuzhiyun		system sleep state.
408*4882a593Smuzhiyun
409*4882a593SmuzhiyunWhat:		/sys/power/suspend_stats/last_failed_step
410*4882a593SmuzhiyunDate:		July 2019
411*4882a593SmuzhiyunContact:	Kalesh Singh <kaleshsingh96@gmail.com>
412*4882a593SmuzhiyunDescription:
413*4882a593Smuzhiyun		The /sys/power/suspend_stats/last_failed_step file contains
414*4882a593Smuzhiyun		the last failed step in the suspend/resume path.
415*4882a593Smuzhiyun
416*4882a593SmuzhiyunWhat:		/sys/power/sync_on_suspend
417*4882a593SmuzhiyunDate:		October 2019
418*4882a593SmuzhiyunContact:	Jonas Meurer <jonas@freesources.org>
419*4882a593SmuzhiyunDescription:
420*4882a593Smuzhiyun		This file controls whether or not the kernel will sync()
421*4882a593Smuzhiyun		filesystems during system suspend (after freezing user space
422*4882a593Smuzhiyun		and before suspending devices).
423*4882a593Smuzhiyun
424*4882a593Smuzhiyun		Writing a "1" to this file enables the sync() and writing a "0"
425*4882a593Smuzhiyun		disables it.  Reads from the file return the current value.
426*4882a593Smuzhiyun		The default is "1" if the build-time "SUSPEND_SKIP_SYNC" config
427*4882a593Smuzhiyun		flag is unset, or "0" otherwise.
428