Rafael J. Wysocki | 971cb7f | 2010-01-23 22:03:22 +0100 | [diff] [blame] | 1 | What: /sys/devices/.../power/ |
| 2 | Date: January 2009 |
Rafael J. Wysocki | 49db190 | 2013-10-09 01:47:53 +0200 | [diff] [blame] | 3 | Contact: Rafael J. Wysocki <rjw@rjwysocki.net> |
Rafael J. Wysocki | 971cb7f | 2010-01-23 22:03:22 +0100 | [diff] [blame] | 4 | Description: |
| 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 | |
| 9 | What: /sys/devices/.../power/wakeup |
| 10 | Date: January 2009 |
Rafael J. Wysocki | 49db190 | 2013-10-09 01:47:53 +0200 | [diff] [blame] | 11 | Contact: Rafael J. Wysocki <rjw@rjwysocki.net> |
Rafael J. Wysocki | 971cb7f | 2010-01-23 22:03:22 +0100 | [diff] [blame] | 12 | Description: |
| 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 |
Rafael J. Wysocki | cb8f51b | 2011-02-08 23:26:02 +0100 | [diff] [blame] | 32 | events this file is not present. In that case the device cannot |
| 33 | be enabled to wake up the system from sleep states. |
Rafael J. Wysocki | 971cb7f | 2010-01-23 22:03:22 +0100 | [diff] [blame] | 34 | |
| 35 | What: /sys/devices/.../power/control |
| 36 | Date: January 2009 |
Rafael J. Wysocki | 49db190 | 2013-10-09 01:47:53 +0200 | [diff] [blame] | 37 | Contact: Rafael J. Wysocki <rjw@rjwysocki.net> |
Rafael J. Wysocki | 971cb7f | 2010-01-23 22:03:22 +0100 | [diff] [blame] | 38 | Description: |
| 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. |
Rafael J. Wysocki | 5a2eb85 | 2010-01-23 22:25:23 +0100 | [diff] [blame] | 53 | |
| 54 | What: /sys/devices/.../power/async |
| 55 | Date: January 2009 |
Rafael J. Wysocki | 49db190 | 2013-10-09 01:47:53 +0200 | [diff] [blame] | 56 | Contact: Rafael J. Wysocki <rjw@rjwysocki.net> |
Rafael J. Wysocki | 5a2eb85 | 2010-01-23 22:25:23 +0100 | [diff] [blame] | 57 | Description: |
| 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. |
Rafael J. Wysocki | 074037e | 2010-09-22 22:09:10 +0200 | [diff] [blame] | 79 | |
| 80 | What: /sys/devices/.../power/wakeup_count |
| 81 | Date: September 2010 |
Rafael J. Wysocki | 49db190 | 2013-10-09 01:47:53 +0200 | [diff] [blame] | 82 | Contact: Rafael J. Wysocki <rjw@rjwysocki.net> |
Rafael J. Wysocki | 074037e | 2010-09-22 22:09:10 +0200 | [diff] [blame] | 83 | Description: |
| 84 | The /sys/devices/.../wakeup_count attribute contains the number |
| 85 | of signaled wakeup events associated with the device. This |
Geert Uytterhoeven | d054980 | 2014-03-28 11:15:14 +0100 | [diff] [blame] | 86 | attribute is read-only. If the device is not capable to wake up |
Rafael J. Wysocki | cb8f51b | 2011-02-08 23:26:02 +0100 | [diff] [blame] | 87 | the system from sleep states, this attribute is not present. |
Geert Uytterhoeven | d054980 | 2014-03-28 11:15:14 +0100 | [diff] [blame] | 88 | If the device is not enabled to wake up the system from sleep |
| 89 | states, this attribute is empty. |
Rafael J. Wysocki | 074037e | 2010-09-22 22:09:10 +0200 | [diff] [blame] | 90 | |
| 91 | What: /sys/devices/.../power/wakeup_active_count |
| 92 | Date: September 2010 |
Rafael J. Wysocki | 49db190 | 2013-10-09 01:47:53 +0200 | [diff] [blame] | 93 | Contact: Rafael J. Wysocki <rjw@rjwysocki.net> |
Rafael J. Wysocki | 074037e | 2010-09-22 22:09:10 +0200 | [diff] [blame] | 94 | Description: |
| 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 |
Geert Uytterhoeven | d054980 | 2014-03-28 11:15:14 +0100 | [diff] [blame] | 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. |
Rafael J. Wysocki | 074037e | 2010-09-22 22:09:10 +0200 | [diff] [blame] | 102 | |
Rafael J. Wysocki | 30e3ce6 | 2012-04-29 22:52:52 +0200 | [diff] [blame] | 103 | What: /sys/devices/.../power/wakeup_abort_count |
| 104 | Date: February 2012 |
Rafael J. Wysocki | 49db190 | 2013-10-09 01:47:53 +0200 | [diff] [blame] | 105 | Contact: Rafael J. Wysocki <rjw@rjwysocki.net> |
Rafael J. Wysocki | 074037e | 2010-09-22 22:09:10 +0200 | [diff] [blame] | 106 | Description: |
Rafael J. Wysocki | 30e3ce6 | 2012-04-29 22:52:52 +0200 | [diff] [blame] | 107 | The /sys/devices/.../wakeup_abort_count attribute contains the |
Rafael J. Wysocki | 074037e | 2010-09-22 22:09:10 +0200 | [diff] [blame] | 108 | number of times the processing of a wakeup event associated with |
Rafael J. Wysocki | 30e3ce6 | 2012-04-29 22:52:52 +0200 | [diff] [blame] | 109 | the device might have aborted system transition into a sleep |
| 110 | state in progress. This attribute is read-only. If the device |
Geert Uytterhoeven | d054980 | 2014-03-28 11:15:14 +0100 | [diff] [blame] | 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. |
Rafael J. Wysocki | 30e3ce6 | 2012-04-29 22:52:52 +0200 | [diff] [blame] | 114 | |
| 115 | What: /sys/devices/.../power/wakeup_expire_count |
| 116 | Date: February 2012 |
Rafael J. Wysocki | 49db190 | 2013-10-09 01:47:53 +0200 | [diff] [blame] | 117 | Contact: Rafael J. Wysocki <rjw@rjwysocki.net> |
Rafael J. Wysocki | 30e3ce6 | 2012-04-29 22:52:52 +0200 | [diff] [blame] | 118 | Description: |
| 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 |
Geert Uytterhoeven | d054980 | 2014-03-28 11:15:14 +0100 | [diff] [blame] | 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. |
Rafael J. Wysocki | 074037e | 2010-09-22 22:09:10 +0200 | [diff] [blame] | 126 | |
| 127 | What: /sys/devices/.../power/wakeup_active |
| 128 | Date: September 2010 |
Rafael J. Wysocki | 49db190 | 2013-10-09 01:47:53 +0200 | [diff] [blame] | 129 | Contact: Rafael J. Wysocki <rjw@rjwysocki.net> |
Rafael J. Wysocki | 074037e | 2010-09-22 22:09:10 +0200 | [diff] [blame] | 130 | Description: |
| 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. |
Geert Uytterhoeven | d054980 | 2014-03-28 11:15:14 +0100 | [diff] [blame] | 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. |
Rafael J. Wysocki | 074037e | 2010-09-22 22:09:10 +0200 | [diff] [blame] | 138 | |
| 139 | What: /sys/devices/.../power/wakeup_total_time_ms |
| 140 | Date: September 2010 |
Rafael J. Wysocki | 49db190 | 2013-10-09 01:47:53 +0200 | [diff] [blame] | 141 | Contact: Rafael J. Wysocki <rjw@rjwysocki.net> |
Rafael J. Wysocki | 074037e | 2010-09-22 22:09:10 +0200 | [diff] [blame] | 142 | Description: |
| 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 |
Geert Uytterhoeven | d054980 | 2014-03-28 11:15:14 +0100 | [diff] [blame] | 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. |
Rafael J. Wysocki | 074037e | 2010-09-22 22:09:10 +0200 | [diff] [blame] | 149 | |
| 150 | What: /sys/devices/.../power/wakeup_max_time_ms |
| 151 | Date: September 2010 |
Rafael J. Wysocki | 49db190 | 2013-10-09 01:47:53 +0200 | [diff] [blame] | 152 | Contact: Rafael J. Wysocki <rjw@rjwysocki.net> |
Rafael J. Wysocki | 074037e | 2010-09-22 22:09:10 +0200 | [diff] [blame] | 153 | Description: |
| 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. |
Geert Uytterhoeven | d054980 | 2014-03-28 11:15:14 +0100 | [diff] [blame] | 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. |
Rafael J. Wysocki | 074037e | 2010-09-22 22:09:10 +0200 | [diff] [blame] | 161 | |
| 162 | What: /sys/devices/.../power/wakeup_last_time_ms |
| 163 | Date: September 2010 |
Rafael J. Wysocki | 49db190 | 2013-10-09 01:47:53 +0200 | [diff] [blame] | 164 | Contact: Rafael J. Wysocki <rjw@rjwysocki.net> |
Rafael J. Wysocki | 074037e | 2010-09-22 22:09:10 +0200 | [diff] [blame] | 165 | Description: |
| 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 |
Geert Uytterhoeven | d054980 | 2014-03-28 11:15:14 +0100 | [diff] [blame] | 171 | attribute is not present. If the device is not enabled to wake |
| 172 | up the system from sleep states, this attribute is empty. |
Alan Stern | 15bcb91d | 2010-09-25 23:35:21 +0200 | [diff] [blame] | 173 | |
Rafael J. Wysocki | 5585094 | 2012-04-29 22:53:32 +0200 | [diff] [blame] | 174 | What: /sys/devices/.../power/wakeup_prevent_sleep_time_ms |
| 175 | Date: February 2012 |
Rafael J. Wysocki | 49db190 | 2013-10-09 01:47:53 +0200 | [diff] [blame] | 176 | Contact: Rafael J. Wysocki <rjw@rjwysocki.net> |
Rafael J. Wysocki | 5585094 | 2012-04-29 22:53:32 +0200 | [diff] [blame] | 177 | Description: |
| 178 | The /sys/devices/.../wakeup_prevent_sleep_time_ms attribute |
| 179 | contains the total time the device has been preventing |
Masanari Iida | 4e79162a | 2012-11-08 21:57:35 +0900 | [diff] [blame] | 180 | opportunistic transitions to sleep states from occurring. |
Geert Uytterhoeven | d054980 | 2014-03-28 11:15:14 +0100 | [diff] [blame] | 181 | This attribute is read-only. If the device is not capable to |
Rafael J. Wysocki | 5585094 | 2012-04-29 22:53:32 +0200 | [diff] [blame] | 182 | wake up the system from sleep states, this attribute is not |
Geert Uytterhoeven | d054980 | 2014-03-28 11:15:14 +0100 | [diff] [blame] | 183 | present. If the device is not enabled to wake up the system |
| 184 | from sleep states, this attribute is empty. |
Rafael J. Wysocki | 5585094 | 2012-04-29 22:53:32 +0200 | [diff] [blame] | 185 | |
Alan Stern | 15bcb91d | 2010-09-25 23:35:21 +0200 | [diff] [blame] | 186 | What: /sys/devices/.../power/autosuspend_delay_ms |
| 187 | Date: September 2010 |
| 188 | Contact: Alan Stern <stern@rowland.harvard.edu> |
| 189 | Description: |
| 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. |
Rafael J. Wysocki | 85dc0b8 | 2012-03-13 01:01:39 +0100 | [diff] [blame] | 203 | |
Rafael J. Wysocki | 2d984ad | 2014-02-11 00:35:38 +0100 | [diff] [blame] | 204 | What: /sys/devices/.../power/pm_qos_resume_latency_us |
Rafael J. Wysocki | 85dc0b8 | 2012-03-13 01:01:39 +0100 | [diff] [blame] | 205 | Date: March 2012 |
Rafael J. Wysocki | 49db190 | 2013-10-09 01:47:53 +0200 | [diff] [blame] | 206 | Contact: Rafael J. Wysocki <rjw@rjwysocki.net> |
Rafael J. Wysocki | 85dc0b8 | 2012-03-13 01:01:39 +0100 | [diff] [blame] | 207 | Description: |
| 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 |
Rafael J. Wysocki | 0759e80 | 2017-11-07 11:33:49 +0100 | [diff] [blame] | 214 | the PM QoS resume latency may be arbitrary and the special value |
| 215 | "n/a" means that user space cannot accept any resume latency at |
| 216 | all for the given device. |
Rafael J. Wysocki | 85dc0b8 | 2012-03-13 01:01:39 +0100 | [diff] [blame] | 217 | |
| 218 | Not all drivers support this attribute. If it isn't supported, |
| 219 | it is not present. |
| 220 | |
| 221 | This attribute has no effect on system-wide suspend/resume and |
| 222 | hibernation. |
Rafael J. Wysocki | e39473d | 2012-10-24 02:08:18 +0200 | [diff] [blame] | 223 | |
Rafael J. Wysocki | 2d984ad | 2014-02-11 00:35:38 +0100 | [diff] [blame] | 224 | What: /sys/devices/.../power/pm_qos_latency_tolerance_us |
| 225 | Date: January 2014 |
| 226 | Contact: Rafael J. Wysocki <rjw@rjwysocki.net> |
| 227 | Description: |
| 228 | The /sys/devices/.../power/pm_qos_latency_tolerance_us attribute |
| 229 | contains the PM QoS active state latency tolerance limit for the |
| 230 | given device in microseconds. That is the maximum memory access |
| 231 | latency the device can suffer without any visible adverse |
| 232 | effects on user space functionality. If that value is the |
| 233 | string "any", the latency does not matter to user space at all, |
| 234 | but hardware should not be allowed to set the latency tolerance |
| 235 | for the device automatically. |
| 236 | |
| 237 | Reading "auto" from this file means that the maximum memory |
| 238 | access latency for the device may be determined automatically |
| 239 | by the hardware as needed. Writing "auto" to it allows the |
| 240 | hardware to be switched to this mode if there are no other |
| 241 | latency tolerance requirements from the kernel side. |
| 242 | |
| 243 | This attribute is only present if the feature controlled by it |
| 244 | is supported by the hardware. |
| 245 | |
| 246 | This attribute has no effect on runtime suspend and resume of |
| 247 | devices and on system-wide suspend/resume and hibernation. |
| 248 | |
Rafael J. Wysocki | e39473d | 2012-10-24 02:08:18 +0200 | [diff] [blame] | 249 | What: /sys/devices/.../power/pm_qos_no_power_off |
| 250 | Date: September 2012 |
Rafael J. Wysocki | 49db190 | 2013-10-09 01:47:53 +0200 | [diff] [blame] | 251 | Contact: Rafael J. Wysocki <rjw@rjwysocki.net> |
Rafael J. Wysocki | e39473d | 2012-10-24 02:08:18 +0200 | [diff] [blame] | 252 | Description: |
| 253 | The /sys/devices/.../power/pm_qos_no_power_off attribute |
| 254 | is used for manipulating the PM QoS "no power off" flag. If |
| 255 | set, this flag indicates to the kernel that power should not |
| 256 | be removed entirely from the device. |
| 257 | |
| 258 | Not all drivers support this attribute. If it isn't supported, |
| 259 | it is not present. |
| 260 | |
| 261 | This attribute has no effect on system-wide suspend/resume and |
| 262 | hibernation. |