diff options
author | Jon Medhurst <tixy@linaro.org> | 2013-05-16 10:54:02 +0100 |
---|---|---|
committer | Jon Medhurst <tixy@linaro.org> | 2013-05-16 10:54:02 +0100 |
commit | a2e6d1b3e0337cf3490a614c84068b2536105d90 (patch) | |
tree | eee2f02028859de77a45c556a9c7f19992413c17 /arch/arm/common/mcpm_entry.c | |
parent | 36f1b3d44d04589a9559ef71816389ca6f2b13cb (diff) | |
parent | 9289ec96f7c52d33a6b318d4c90c2f68a8179d73 (diff) |
Merge branch 'IKS-rebase' into integration-linaro-vexpresstracking-integration-linaro-vexpress-ll-20130520.0tracking-integration-linaro-vexpress-ll-20130516.0
Diffstat (limited to 'arch/arm/common/mcpm_entry.c')
-rw-r--r-- | arch/arm/common/mcpm_entry.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/arm/common/mcpm_entry.c b/arch/arm/common/mcpm_entry.c index 370236dd1a03..4a2b32fd53a1 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) |