Skip to content
Commit 0a9c244b authored by Jayanth Dodderi Chidanand's avatar Jayanth Dodderi Chidanand
Browse files

fix(psci): mask the Last in Level nibble in StateId



In the ARM recommended StateID Encoding, the index for the power
level where the calling core is last to go idle use the last niblle
of the StateId.

Even if this nibble is necessary for OS-initiated mode, it can be
used by caller even when this OSI mode is not used.

In arm_validate_power_state() function, the StateId is compared with
content of arm_pm_idle_states[] build with the arm_make_pwrstate_lvl2
macro, without Last in Level information. So it is safe to mask this
nibble for ARM platform in all the cases, and that avoids issues with
caller with use the same StateId encoding with OSI mode activated or
not (in tftf tests for example, the input(power state) parameter =
(0x40001022) and the associated power state is 0x40000022).

Change-Id: I45e8e2b8f526fb61b94cf134d7d4aa3bac4c215d
Signed-off-by: Jayanth Dodderi Chidanand's avatarJayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>
Signed-off-by: default avatarPatrick Delaunay <patrick.delaunay@foss.st.com>
parent 7d009327
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment