PROTOCOLS
Suspender
Defined in fuchsia.hardware.power.suspend/suspend.fidl
GetSuspendStates
Returns a list of fuchsia.hardware.power.suspend/SuspendState supported.
by the system. The system must return at least 1 suspend state which
corresponds to the "suspend-to-idle" state but may return up to
fuchsia.hardware.power.suspend/MAX_SUSPEND_STATES states.
The suspend states must be ordered in order of decreasing
resume_latency
(and thereby increasing power consumption).
A particular build of the system must always return the same set of
suspend states.
Request
<EMPTY>
Response
Name | Type |
---|---|
payload |
Suspender_GetSuspendStates_Result
|
Suspend
Instruct the system to suspend.
This call may return a ZX_ERR_* if the system was unable to suspend.
If the call succeeds, it will not return until the system has resumed.
Being interrupted while suspending and resuming before fully suspending
is not an error however suspend_duration
must be None if the suspend
was interrupted.
Request
Name | Type |
---|---|
payload |
SuspenderSuspendRequest
|
Response
Name | Type |
---|---|
payload |
Suspender_Suspend_Result
|
TABLES
SuspendState
Defined in fuchsia.hardware.power.suspend/suspend.fidl
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
resume_latency |
zx/Duration
|
The amount of time taken for the system to resume from this suspend state. |
SuspenderSuspendRequest
Defined in fuchsia.hardware.power.suspend/suspend.fidl
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
state_index |
uint64
|
This index corresponds to an entry in the vector returned by
GetSuspendStates. Returns ZX_ERR_OUT_OF_RANGE if |
Suspender_GetSuspendStates_Response
Defined in fuchsia.hardware.power.suspend/suspend.fidl
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
suspend_states |
vector<SuspendState>:256
|
Suspender_Suspend_Response
Defined in fuchsia.hardware.power.suspend/suspend.fidl
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
reason |
WakeReason
|
The |
2 |
suspend_duration |
zx/Duration
|
The amount of time the system spent suspended. If the system is interrupted during suspend this field is unset. |
3 |
suspend_overhead |
zx/Duration
|
The amount of time it took for the system to suspend and resume not including the duration that the system was suspended. |
WakeReason
Defined in fuchsia.hardware.power.suspend/suspend.fidl
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
wake_vectors |
vector<uint64>
|
A list of platform defined integers, each of which corresponds to a physical interrupt vector on the system. The simplest such mapping would be to map each interrupt number to a wake vector. |
2 |
soft_wake_vectors |
vector<uint64>
|
A list of platform defined integers, each of which corresponds to a wake vector that is not backed by a hardware interrupt. |
UNIONS
Suspender_GetSuspendStates_Result strict
Defined in fuchsia.hardware.power.suspend/suspend.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
Suspender_GetSuspendStates_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Suspender_Suspend_Result strict
Defined in fuchsia.hardware.power.suspend/suspend.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
Suspender_Suspend_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
CONSTANTS
Name | Value | Type | Description |
---|---|---|---|
MAX_SUSPEND_STATES |
256
|
uint32 |
Maximum number of suspend states supported by the system. |
SERVICES
SuspendService
Defined in fuchsia.hardware.power.suspend/suspend.fidl
Name | Type | Transport |
---|---|---|
suspender |
fuchsia.hardware.power.suspend/Suspender
|
Channel |