diff options
author | Igal Liberman <igall@marvell.com> | 2018-03-27 18:19:28 +0300 |
---|---|---|
committer | Kostya Porotchkin <kostap@marvell.com> | 2018-04-25 10:14:50 +0300 |
commit | ef28246fed76de7556fa500248b699a4124bc64a (patch) | |
tree | 7b9f70d1f2068256bebf669f683dbc32f1420c05 /plat | |
parent | a2e7e99145b7f820d763694fa6d00f494af23fa6 (diff) |
marvell: psci: disable cache in el3
Currently, there's an open issue is some setups when
cpuidle is enabled - after sometime, one of the cores
might fail to come up after suspend.
This issue is under debug but generally it caused by
cache operations performed on the el3 stack.
For now, as a workaround, disable el3 cache,
in order to enable cpuidle feature.
Change-Id: Icf7dafeab701b34b23b6bcde78f0b8dc8d727e28
Signed-off-by: Igal Liberman <igall@marvell.com>
Reviewed-on: http://vgitil04.il.marvell.com:8080/52671
Tested-by: iSoC Platform CI <ykjenk@marvell.com>
Reviewed-by: Kostya Porotchkin <kostap@marvell.com>
Diffstat (limited to 'plat')
-rw-r--r-- | plat/marvell/common/marvell_bl31_setup.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/plat/marvell/common/marvell_bl31_setup.c b/plat/marvell/common/marvell_bl31_setup.c index 9008ca64..e1b8b99f 100644 --- a/plat/marvell/common/marvell_bl31_setup.c +++ b/plat/marvell/common/marvell_bl31_setup.c @@ -264,7 +264,13 @@ void marvell_bl31_plat_arch_setup(void) BL_COHERENT_RAM_END #endif ); + +#if BL31_CACHE_DISABLE + enable_mmu_el3(DISABLE_DCACHE); + INFO("Cache is disabled in BL3\n"); +#else enable_mmu_el3(0); +#endif } void bl31_plat_arch_setup(void) |