psci: rectify and homogenise generic code
This patch performs a major rework of the psci generic implementation to achieve the following: 1. replace recursion with iteration where possible to aid code readability e.g. affinity instance states are changed iteratively instead of recursively. 2. acquire pointers to affinity instance nodes at the beginning of a psci operation. All subsequent actions use these pointers instead of calling psci_get_aff_map_node() repeatedly e.g. management of locks has been abstracted under functions which use these pointers to ensure correct ordering. Helper functions have been added to create these abstractions. 3. assertions have been added to cpu level handlers to ensure correct state transition 4. the affinity level extents specified to various functions have the same meaning i.e. start level is always less than the end level. Change-Id: If0508c3a7b20ea3ddda2a66128429382afc3dfc8
WIP_v2.3-LS
master
v2.2-LS
v2.4-LS
v2.3-rc2
v2.3-rc1
v2.3-rc0
v2.3
v2.2-rc2
v2.2-rc1
v2.2-rc0
v2.2
v2.1-rc1
v2.1-rc0
v2.1
v2.0-rc0
v2.0
v1.6-rc1
v1.6-rc0
v1.6
v1.5-rc3
v1.5-rc2
v1.5-rc1
v1.5-rc0
v1.5
v1.4-rc0
v1.4
v1.3_rc2
v1.3_rc1
v1.3-rc0
v1.3
v1.2-rc0
v1.2
v1.1-rc3
v1.1-rc2
v1.1-rc1
v1.1-rc0
v1.1-Juno-0.1
v1.1
v1.0-rc0
v1.0
v0.4-rc2
v0.4-rc1
v0.4-Juno-0.6-rc1
v0.4-Juno-0.6-rc0
v0.4-Juno-0.5-rc1
v0.4-Juno-0.5-rc0
v0.4-Juno-0.5
v0.4-Juno-0.4-rc0
v0.4-Juno-0.4
v0.4
v0.3-Juno-0.3
v0.3-Juno-0.2
v0.3-Juno
v0.3
for-v0.4/05.22
for-v0.4/05.21
for-v0.4/05.20
for-v0.4-rc0
|
---|
|
common/psci/psci_afflvl_off.c |
---|
common/psci/psci_afflvl_on.c |
---|
common/psci/psci_afflvl_suspend.c |
---|
common/psci/psci_common.c |
---|
common/psci/psci_main.c |
---|
common/psci/psci_private.h |
---|
common/psci/psci_setup.c |
---|