fvp: clear a pending cluster power off request
authorAchin Gupta <achin.gupta@arm.com>
Fri, 17 Jan 2014 16:52:29 +0000 (16:52 +0000)
committerDan Handley <dan.handley@arm.com>
Thu, 23 Jan 2014 12:13:34 +0000 (12:13 +0000)
commitb2187ab940239b2df1b3571d4a7f7f4201f7fc63
tree962bcfb518bbb82d6626576ceea57bca75be142e
parent75f7367b4c5419634004bfae9c1e47ca45937396
fvp: clear a pending cluster power off request

The last CPU in a cluster is responsible for issuing the cluster power
down request to the FVP power controller. If another CPU in this
cluster wakes up before the last CPU enters WFI then the cluster power
down request remains pending. If this request is not cancelled and the
newly woken up CPU enters a simple WFI later, the power controller
powers the cluster down. This leads to unpredictable behaviour.

This patch fixes this issue by ensuring that the first CPU to wake up
in a cluster writes its MPIDR to the power controller's PPONR. This
cancels any pending cluster power down request.

Change-Id: I7e787adfd6c9a0bd7308390e3309d46f35c01086
plat/fvp/plat_pm.c