Lines Matching +full:three +full:- +full:state

1 .. SPDX-License-Identifier: GPL-2.0
23 depended on by it into an idle state in which they will draw less power.
28 particular idle state. That is the role of the CPU idle time management
34 the hardware. It generally is divided into three categories of functional
45 select an idle state to ask the processor to enter in order to save some energy.
89 code, and that causes the kernel to run the architecture-specific
91 until the ``->enable()`` governor callback is invoked for that CPU
103 It is expected to reverse any changes made by the ``->enable()``
113 Called to select an idle state for the processor holding the (logical)
126 idle state. When the ``bool`` variable pointed to by it (which is set
128 processor will be asked to enter the selected idle state without
131 asking the processor to enter the idle state).
142 Called to allow the governor to evaluate the accuracy of the idle state
143 selection made by the ``->select()`` callback (when it was invoked last
145 idle state selections in the future.
152 :c:func:`cpuidle_governor_latency_req()`. Then, the governor's ``->select()``
153 callback must not return the index of an indle state whose
172 the ascending order (that is, index 0 should correspond to the idle state with
175 idle state represented by the struct cpuidle_state object holding it, this
177 state "depth".]
179 Three fields in struct cpuidle_state are used by the existing ``CPUIdle``
180 governors for computations related to idle state selection:
183 Minimum time to spend in this idle state including the time needed to
185 be saved by staying in a shallower idle state for the same amount of
190 state to start executing the first instruction after a wakeup from it,
194 Flags representing idle state properties. Currently, governors only use
196 does not represent a real idle state, but an interface to a software
198 any idle state at all. [There are other flags used by the ``CPUIdle``
203 enter this particular idle state:
214 :c:member:`states` array representing the idle state to ask the processor to
217 The analogous ``->enter_s2idle()`` callback in struct cpuidle_state is used
218 only for implementing the suspend-to-idle system-wide power management feature.
219 The difference between in and ``->enter()`` is that it must not re-enable
221 clock event devices, which the ``->enter()`` callback may do sometimes.
229 to be the index of an idle state that is not "coupled" (that is, one that can be
238 are no "coupled" idle state entries in the driver's :c:member:`states` array,
254 ``sysfs`` interface to be created and the governor's ``->enable()`` callback to