Lines Matching refs:power

9 Support for runtime power management (runtime PM) of I/O devices is provided
10 at the power management core (PM core) level by means of:
12 * The power management workqueue pm_wq in which bus types and device drivers can
15 them to be synchronized with system-wide power transitions (suspend to RAM,
17 include/linux/pm_runtime.h and defined in kernel/power/main.c.
19 * A number of runtime PM fields in the 'power' member of 'struct device' (which
26 * A set of helper functions defined in drivers/base/power/runtime.c that can be
90 put into a low power state. It is supposed to mean, however, that the
107 mechanism allowing the device to request a change of its power state, such as
111 low-power state during the execution of the suspend callback, it is expected
113 should be enabled for all input devices put into low-power states at run time.
175 'active' children of which is equal to zero, or the 'power.ignore_children'
266 power manage the device at run time via the /sys/devices/.../power/control
296 All of the above fields are members of the 'power' member of 'struct device'.
301 drivers/base/power/runtime.c and include/linux/pm_runtime.h:
321 'power.disable_depth' is different from 0
333 resume the device again in future, but 'power.runtime_error' should be
334 checked additionally, and -EACCES means that 'power.disable_depth' is
398 - decrement the device's 'power.disable_depth' field; if that field is equal
403 - increment the device's 'power.disable_depth' field (if the value of that
420 - set/unset the power.ignore_children flag of the device
423 - clear the device's 'power.runtime_error' flag, set the device's runtime
426 'power.runtime_error' is set or 'power.disable_depth' is greater than
428 which is not active and the 'power.ignore_children' flag of which is unset
431 - clear the device's 'power.runtime_error' flag, set the device's runtime
434 'power.runtime_error' is set or 'power.disable_depth' is greater than
439 'power.disable_depth' field is not equal to zero, or false otherwise
443 'power.disable_depth' field is equal to zero, or false otherwise
450 'power.disable_depth' field is equal to 1
453 - set the power.runtime_auto flag for the device and decrease its usage
454 counter (used by the /sys/devices/.../power/control interface to
455 effectively allow the device to be power managed at run time)
458 - unset the power.runtime_auto flag for the device and increase its usage
459 counter (used by the /sys/devices/.../power/control interface to
460 effectively prevent the device from being power managed at run time)
463 - set the power.no_callbacks flag for the device and remove the runtime
464 PM attributes from /sys/devices/.../power (or prevent them from being
468 - set the power.irq_safe flag for the device, causing the runtime-PM
472 - return true if power.irq_safe flag was set for the device, causing
476 - set the power.last_busy field to the current time
479 - set the power.use_autosuspend flag, enabling autosuspend delays
482 - clear the power.use_autosuspend flag, disabling autosuspend delays
485 - set the power.autosuspend_delay value to 'delay' (expressed in
491 based on power.last_busy and power.autosuspend_delay; if the delay time
494 power.use_autosuspend isn't set, otherwise returns the expiration time
542 the parent's 'power.ignore_children' flag is set. Namely, in that case the
581 The user space can effectively disallow the driver of the device to power manage
582 it at run time by changing the value of its /sys/devices/.../power/control
585 runtime power management of the device until the user space turns it on.
589 value of /sys/devices/.../power/control to "auto" to allow the driver to power
606 in order to do so. The same is true if the driver uses different power levels
610 power, even if they had been suspended before the system suspend began. There
613 * The device might need to switch power levels, wake-up settings, etc.
617 * The device's children may need the device to be at full power in order
629 brought back to full power during resume, then its runtime PM status will have
645 or hardware operation. Instead, all hardware components are put into low-power
665 related to hibernation (see Documentation/power/devices.txt for more
687 Subsystems may wish to conserve code space by using the set of generic power
689 driver/base/power/generic_ops.c:
769 power-managed on their own. (The prototype example is a USB interface. Entire
770 USB devices can go into low-power mode or send wake-up requests, but neither is
779 also okay). The routine will set the device's power.no_callbacks flag and
782 When power.no_callbacks is set, the PM core will not invoke the
788 or driver about runtime power changes. Instead, the driver for the device's
790 parent's power state changes.
794 Changing a device's power state isn't free; it requires both time and energy.
795 A device should be put in a low-power state only when there's some reason to
801 "bouncing" too rapidly between low-power and full-power states.
808 Inactivity is determined based on the power.last_busy field. Drivers should
814 /sys/devices/.../power/autosuspend_delay_ms attribute.
828 Similarly, if the power.use_autosuspend field isn't set then the autosuspend
907 In addition, the power.autosuspend_delay field can be changed by user space at