aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/common/mcpm_entry.c
diff options
context:
space:
mode:
authorMark Brown <broonie@linaro.org>2013-07-17 18:34:04 +0100
committerMark Brown <broonie@linaro.org>2013-07-17 18:34:04 +0100
commit20ce13dacdefe4d429217e710bf5461a4c6d1cf9 (patch)
tree3fc24c16594a2329ad190438586ce709e6c94746 /arch/arm/common/mcpm_entry.c
parent8bb495e3f02401ee6f76d1b1d77f3ac9f079e376 (diff)
parent8e3aa3f1462fc25b810e867059b292675f0d3a94 (diff)
downloadvexpress-lsk-20ce13dacdefe4d429217e710bf5461a4c6d1cf9.tar.gz
Merge branch 'iks' of git://git.linaro.org/people/nico/linux into lsk-v3.10-iksv3.10/topic/ikstopic/v3.10/iks
Diffstat (limited to 'arch/arm/common/mcpm_entry.c')
-rw-r--r--arch/arm/common/mcpm_entry.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/arm/common/mcpm_entry.c b/arch/arm/common/mcpm_entry.c
index 370236dd1a0..4a2b32fd53a 100644
--- a/arch/arm/common/mcpm_entry.c
+++ b/arch/arm/common/mcpm_entry.c
@@ -27,6 +27,18 @@ void mcpm_set_entry_vector(unsigned cpu, unsigned cluster, void *ptr)
sync_cache_w(&mcpm_entry_vectors[cluster][cpu]);
}
+extern unsigned long mcpm_entry_early_pokes[MAX_NR_CLUSTERS][MAX_CPUS_PER_CLUSTER][2];
+
+void mcpm_set_early_poke(unsigned cpu, unsigned cluster,
+ unsigned long poke_phys_addr, unsigned long poke_val)
+{
+ unsigned long *poke = &mcpm_entry_early_pokes[cluster][cpu][0];
+ poke[0] = poke_phys_addr;
+ poke[1] = poke_val;
+ __cpuc_flush_dcache_area((void *)poke, 8);
+ outer_clean_range(__pa(poke), __pa(poke + 2));
+}
+
static const struct mcpm_platform_ops *platform_ops;
int __init mcpm_platform_register(const struct mcpm_platform_ops *ops)