PMUFW: PM: EnableProxyWake: Check first whether proc is sleeping

We should only enable the scheduled wake-up sources in the GIC Proxy
if the processor is sleeping.

Signed-off-by: Davorin Mista <davorin.mista@aggios.com>
Reviewed-by: Jyotheeswar Reddy <jyothee@xilinx.com>
This commit is contained in:
Davorin Mista 2015-05-27 15:26:28 -07:00 committed by Nava kishore Manne
parent 0e9de73072
commit 34df243f1d
2 changed files with 16 additions and 2 deletions

View file

@ -596,12 +596,23 @@ done:
* PmEnableProxyWake() - Enable scheduled wake-up sources in GIC Proxy
* @master Pointer to master whose scheduled wake-up sources should be enabled
*
* When FPD is powered down, wake-up sources are enabled in GIC Proxy
* When FPD is powered down, wake-up sources should be enabled in GIC Proxy,
* if APU's primary processor is gently put into a sleep. If APU is forced to
* power down, this function will return without enabling GIC Proxy, because
* after forced power down the processor can only be woken-up by an explicit
* wake-up request through PM API. The check whether the processor is in sleep
* state is performed in this function and not in pm_power from where this
* function is called in order to keep pm_power independent from (not-aware of)
* processor states.
*/
void PmEnableProxyWake(PmMaster* const master)
{
u32 i;
if (master->procs->node.currState != PM_PROC_STATE_SLEEP) {
goto done;
}
PmDbg("%s\n", PmStrNode(master->procs->node.nodeId));
for (i = 0; i < master->reqsCnt; i++) {
@ -609,6 +620,9 @@ void PmEnableProxyWake(PmMaster* const master)
PmSlaveWakeEnable(master->reqs[i].slave);
}
}
done:
return;
}
/**

View file

@ -1,4 +1,4 @@
#ifndef ZYNQMP_XPFW_VERSION__H_
#define ZYNQMP_XPFW_VERSION__H_
#define ZYNQMP_XPFW_VERSION "2015.1-swbeta2-17-gf10e9915f4bb"
#define ZYNQMP_XPFW_VERSION "2015.1-swbeta2-23-g052cc0819981"
#endif