Blame view

Documentation/power/interface.txt 3.47 KB
947d2c2cd   Rafael J. Wysocki   PM / sleep: Updat...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
  Power Management Interface for System Sleep
  
  Copyright (c) 2016 Intel Corp., Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  
  The power management subsystem provides userspace with a unified sysfs interface
  for system sleep regardless of the underlying system architecture or platform.
  The interface is located in the /sys/power/ directory (assuming that sysfs is
  mounted at /sys).
  
  /sys/power/state is the system sleep state control file.
  
  Reading from it returns a list of supported sleep states, encoded as:
  
  'freeze' (Suspend-to-Idle)
  'standby' (Power-On Suspend)
  'mem' (Suspend-to-RAM)
  'disk' (Suspend-to-Disk)
  
  Suspend-to-Idle is always supported.  Suspend-to-Disk is always supported
  too as long the kernel has been configured to support hibernation at all
  (ie. CONFIG_HIBERNATION is set in the kernel configuration file).  Support
  for Suspend-to-RAM and Power-On Suspend depends on the capabilities of the
  platform.
  
  If one of the strings listed in /sys/power/state is written to it, the system
  will attempt to transition into the corresponding sleep state.  Refer to
3ba9b1b81   Tom Saeger   Documentation: fi...
27
28
  Documentation/admin-guide/pm/sleep-states.rst for a description of each of
  those states.
947d2c2cd   Rafael J. Wysocki   PM / sleep: Updat...
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
  
  /sys/power/disk controls the operating mode of hibernation (Suspend-to-Disk).
  Specifically, it tells the kernel what to do after creating a hibernation image.
  
  Reading from it returns a list of supported options encoded as:
  
  'platform' (put the system into sleep using a platform-provided method)
  'shutdown' (shut the system down)
  'reboot' (reboot the system)
  'suspend' (trigger a Suspend-to-RAM transition)
  'test_resume' (resume-after-hibernation test mode)
  
  The currently selected option is printed in square brackets.
  
  The 'platform' option is only available if the platform provides a special
  mechanism to put the system to sleep after creating a hibernation image (ACPI
  does that, for example).  The 'suspend' option is available if Suspend-to-RAM
4493c1f01   Tom Saeger   Documentation: fi...
46
  is supported.  Refer to Documentation/power/basic-pm-debugging.txt for the
947d2c2cd   Rafael J. Wysocki   PM / sleep: Updat...
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
  description of the 'test_resume' option.
  
  To select an option, write the string representing it to /sys/power/disk.
  
  /sys/power/image_size controls the size of hibernation images.
  
  It can be written a string representing a non-negative integer that will be
  used as a best-effort upper limit of the image size, in bytes.  The hibernation
  core will do its best to ensure that the image size will not exceed that number.
  However, if that turns out to be impossible to achieve, a hibernation image will
  still be created and its size will be as small as possible.  In particular,
  writing '0' to this file will enforce hibernation images to be as small as
  possible.
  
  Reading from this file returns the current image size limit, which is set to
  around 2/5 of available RAM by default.
  
  /sys/power/pm_trace controls the PM trace mechanism saving the last suspend
  or resume event point in the RTC across reboots.
  
  It helps to debug hard lockups or reboots due to device driver failures that
  occur during system suspend or resume (which is more common) more effectively.
  
  If /sys/power/pm_trace contains '1', the fingerprint of each suspend/resume
  event point in turn will be stored in the RTC memory (overwriting the actual
  RTC information), so it will survive a system crash if one occurs right after
  storing it and it can be used later to identify the driver that caused the crash
  to happen (see Documentation/power/s2ram.txt for more information).
  
  Initially it contains '0' which may be changed to '1' by writing a string
  representing a nonzero integer into it.