[Previous] [Contents] [Next]

pm_power_mode_t

Describe a power mode

Synopsis:

typedef _int32t pm_power_mode_t;

Description:

The pm_power_mode_t structure represents the power mode of a power managed object.

This power mode can be represented in the following ways:

  1. a logical power mode that describes the object's operational mode.
  2. a device power mode that describes the driver specific power mode the device is currently operating at.

Logical power modes:

PM_MODE_ACTIVE
The object is fully operational.

This is the normal operating mode of a device.

A driver may implement multiple device power modes that correspond to PM_MODE_ACTIVE that differ in their power consumption and performance characteristics.

PM_MODE_IDLE
the object may be partially powered, but is still considered to be operational from a system point of view.

This mode is typically used only by a driver-internal policy to reduce power consumption when the device is not in active use, and allows a driver to implement a low power mode where some or all device functions are disabled, while providing a short latency to return to a PM_MODE_ACTIVE mode.

A driver may implement multiple device power modes that correspond to PM_MODE_IDLE that differ in their power consumption and available device functionality.

PM_MODE_STANDBY
the object is not operational and is in a low power state.

This mode is typically used to power down devices before placing the system into a low power standby state.

A driver may implement multiple device power modes that correspond to PM_MODE_STANDBY that differ in the available functionality of the device. For example, enabling system level wakeup functionality.

PM_MODE_OFF
the object is not operational and is powered off.
PM_MODE_UNKNOWN
indicates the object is in an unknown state. This is typically set when a driver terminates abnormally before completing a power mode change, where the real device power level can no longer be determined.

The PM_POWER_MODE() macro can be used to convert a device specific mode to its corresponding logical power mode. Supplying an invalid mode value will return PM_MODE_INVALID.

The PM_MODE_VALID() macro can be used to determine if a power mode is a valid power mode value. Note that this only validates that the mode value is within the acceptable range - it doesn't validate that the mode is actually supported by any particular power managed object.

Classification:

See also:

pmd_mode_attr_t


[Previous] [Contents] [Next]