This topic describes power state transitions and how domains behave when these happen.
The architecture defines four possible transitions between these three states, as shown by the diagram below:
The decision to initiate a system-wide power transition from the Active state to the Standby state can be made by an explicit user or application request, or by a power management policy decision.
The transition occurs as a cascade of events. First, all domains are moved into the Standby state, starting at the bottom of the domain hierarchy, and working through all child domains before proceeding to the parent domains. A domain has reached the Standby state when all its registered applications have acknowledged the transition (or the domain time-out expires as explained in Protocol for domain state transitions).
Once all domains have reached the Standby state, the transition continues with the kernel-side, which notifies drivers' Power handlers. Once all notified drivers have finished their transition, the kernel-side completes the transition by moving RAM and the CPU into the Standby state. Before entering the standby state, the power management hardware must be configured to wake the system up when a wake-up event occurs.
This transition may stopped at any point, and a reverse transition to the Active state started as a result of a wake-up event.
The decision to initiate a system-wide power transition from the Active state to the Off state can be made by an explicit user or application request, or by a power management policy decision.
The transition occurs as a cascade of events. First, all domains are moved into the Off state, starting at the bottom of the domain hierarchy, and working through all child domains before proceeding to the parent domains. A domain has reached the Off state when all its registered applications have acknowledged the transition (or the domain time-out expires as explained in Protocol for domain state transitions).
Once all domains have reached the Off state, the transition continues with the kernel-side, which notifies drivers' power handlers. Once all notified drivers have finished their transition, the kernel-side completes the transition by moving RAM and the CPU into the Off state.
The transition cannot be stopped. The only way to revert back to the Active state is by a reboot.
A wake-up event can occur:
when the whole system has reached, and is in, the Standby state
while the system is moving towards the Standby state, but has not yet reached it.
In the first case, the transition occurs in the exact reverse order to that stated in Active to Standby, i.e. powering up RAM and CPU, notifying drivers of the power-up transition, sending a wake-up event to the user-side resulting in a power transition of domains starting at the top of the domain hierarchy.
In the second case, those domains and applications that have not yet been notified of the original transition to the Standby state will not be so notified, while those that have been notified will subsequently receive a further notification of the transition back to the Active state.
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.