XPm_RequestSuspend - 2023.1 English

Standalone Library Documentation: BSP and Libraries Document Collection (UG643)

Document ID
UG643
Release Date
2023-05-16
Version
2023.1 English

This function is used by a PU to request suspend of another PU. This call triggers the power management controller to notify the PU identified by 'nodeID' that a suspend has been requested. This will allow said PU to gracefully suspend itself by calling XPm_SelfSuspend for each of its CPU nodes, or else call XPm_AbortSuspend with its PU node as argument and specify the reason.

Note: If 'ack' is set to PM_ACK_NON_BLOCKING, the requesting PU will be notified upon completion of suspend or if an error occurred, such as an abort. REQUEST_ACK_BLOCKING is not supported for this command.

Prototype

XStatus XPm_RequestSuspend(const enum XPmNodeId target, const enum XPmRequestAck ack, const u32 latency, const u8 state);

Parameters

The following table lists the XPm_RequestSuspend function arguments.

Table 1. XPm_RequestSuspend Arguments
Type Name Description
const enum XPmNodeId target Node ID of the PU node to be suspended
const enum XPmRequestAck ack Requested acknowledge type
const u32 latency Maximum wake-up latency requirement in us(micro sec)
const u8 state Instead of specifying a maximum latency, a PU can also explicitly request a certain power state.

Returns

XST_SUCCESS if successful else XST_FAILURE or an error code or a reason code