arm-trusted-firmware/lib
Andrew F. Davis 74d27d0062 PSCI: Lookup list of parent nodes to lock only once
When acquiring or releasing the power domain locks for a given CPU the
parent nodes are looked up by walking the up the PD tree list on both the
acquire and release path, only one set of lookups is needed. Fetch the
parent nodes first and pass this list into both the acquire and release
functions to avoid the double lookup.

This also allows us to not have to do this lookup after coherency has
been exited during the core power down sequence. The shared struct
psci_cpu_pd_nodes is not placed in coherent memory like is done
for psci_non_cpu_pd_nodes and doing so would negatively affect
performance. With this patch we remove the need to have it in coherent
memory by moving the access out of psci_release_pwr_domain_locks().

Signed-off-by: Andrew F. Davis <afd@ti.com>
Change-Id: I7b9cfa9d31148dea0f5e21091c8b45ef7fe4c4ab
2019-06-06 11:31:47 -04:00
..
aarch32 Cortex A9:errata 794073 workaround 2019-04-12 10:10:32 +00:00
aarch64 Add support for Branch Target Identification 2019-05-24 14:44:45 +01:00
compiler-rt compiler_rt: Import lshrdi3.c file 2018-11-06 15:42:51 +01:00
coreboot Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
cpus Apply compile-time check for AArch64-only cores 2019-06-04 14:08:55 +01:00
el3_runtime Fix restoring APIBKey registers 2019-03-14 13:57:16 +01:00
extensions Add support for Branch Target Identification 2019-05-24 14:44:45 +01:00
libc Remove several warnings reported with W=1 2019-04-01 10:43:42 +01:00
libfdt libfdt: Downgrade to version 1.4.6-9 2018-10-30 13:42:13 +00:00
locks Remove .arch directives from spinlock.S 2019-05-13 09:50:27 +01:00
optee Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
pmf Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
psci PSCI: Lookup list of parent nodes to lock only once 2019-06-06 11:31:47 -04:00
romlib Introduce BTI support in ROMLIB 2019-05-24 12:36:52 +01:00
semihosting Remove several warnings reported with W=2 2019-04-01 10:43:42 +01:00
sprt SPM: Introduce SPRT C host library 2018-12-11 15:04:24 +00:00
stack_protector Add support for default stack-protector flag 2019-04-30 14:42:40 +01:00
utils plat/arm: Sanitise includes 2019-01-25 16:04:10 +00:00
xlat_tables SPM: Move shim layer to TTBR1_EL1 2019-04-03 10:51:31 +01:00
xlat_tables_v2 Add support for Branch Target Identification 2019-05-24 14:44:45 +01:00
zlib Sanitise includes across codebase 2019-01-04 10:43:17 +00:00