fuchsia.hardware.power.suspend

Added: HEAD

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

NameType
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

NameType
payload SuspenderSuspendRequest

Response

NameType
payload Suspender_Suspend_Result

TABLES

SuspendState

Defined in fuchsia.hardware.power.suspend/suspend.fidl

OrdinalFieldTypeDescription
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

OrdinalFieldTypeDescription
state_index uint64

This index corresponds to an entry in the vector returned by GetSuspendStates. Returns ZX_ERR_OUT_OF_RANGE if state_index is greater than the number of supported suspend states. Returns ZX_ERR_INVALID_ARGS if this field is unset.

Suspender_GetSuspendStates_Response

Defined in fuchsia.hardware.power.suspend/suspend.fidl

OrdinalFieldTypeDescription
suspend_states vector<SuspendState>:256

Suspender_Suspend_Response

Defined in fuchsia.hardware.power.suspend/suspend.fidl

OrdinalFieldTypeDescription
reason WakeReason

The WakeReason that caused the system to resume. See type WakeReason above for more details about wake reasons.

suspend_duration zx/Duration

The amount of time the system spent suspended. If the system is interrupted during suspend this field is unset.

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

OrdinalFieldTypeDescription
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.

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

OrdinalVariantTypeDescription
response Suspender_GetSuspendStates_Response
err zx/Status
framework_err internal

Suspender_Suspend_Result strict

Defined in fuchsia.hardware.power.suspend/suspend.fidl

OrdinalVariantTypeDescription
response Suspender_Suspend_Response
err zx/Status
framework_err internal

CONSTANTS

NameValueTypeDescription
MAX_SUSPEND_STATES 256 uint32

Maximum number of suspend states supported by the system.

SERVICES

SuspendService

Defined in fuchsia.hardware.power.suspend/suspend.fidl

NameTypeTransport
suspender fuchsia.hardware.power.suspend/Suspender Channel