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