aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/common/mcpm_entry.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/common/mcpm_entry.c')
-rw-r--r--arch/arm/common/mcpm_entry.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/arch/arm/common/mcpm_entry.c b/arch/arm/common/mcpm_entry.c
index 26020a03f659..1e361abc29eb 100644
--- a/arch/arm/common/mcpm_entry.c
+++ b/arch/arm/common/mcpm_entry.c
@@ -35,8 +35,7 @@ void mcpm_set_early_poke(unsigned cpu, unsigned cluster,
35 unsigned long *poke = &mcpm_entry_early_pokes[cluster][cpu][0]; 35 unsigned long *poke = &mcpm_entry_early_pokes[cluster][cpu][0];
36 poke[0] = poke_phys_addr; 36 poke[0] = poke_phys_addr;
37 poke[1] = poke_val; 37 poke[1] = poke_val;
38 __cpuc_flush_dcache_area((void *)poke, 8); 38 __sync_cache_range_w(poke, 2 * sizeof(*poke));
39 outer_clean_range(__pa(poke), __pa(poke + 2));
40} 39}
41 40
42static const struct mcpm_platform_ops *platform_ops; 41static const struct mcpm_platform_ops *platform_ops;
@@ -167,7 +166,7 @@ void __mcpm_cpu_down(unsigned int cpu, unsigned int cluster)
167 dmb(); 166 dmb();
168 mcpm_sync.clusters[cluster].cpus[cpu].cpu = CPU_DOWN; 167 mcpm_sync.clusters[cluster].cpus[cpu].cpu = CPU_DOWN;
169 sync_cache_w(&mcpm_sync.clusters[cluster].cpus[cpu].cpu); 168 sync_cache_w(&mcpm_sync.clusters[cluster].cpus[cpu].cpu);
170 dsb_sev(); 169 sev();
171} 170}
172 171
173/* 172/*
@@ -183,7 +182,7 @@ void __mcpm_outbound_leave_critical(unsigned int cluster, int state)
183 dmb(); 182 dmb();
184 mcpm_sync.clusters[cluster].cluster = state; 183 mcpm_sync.clusters[cluster].cluster = state;
185 sync_cache_w(&mcpm_sync.clusters[cluster].cluster); 184 sync_cache_w(&mcpm_sync.clusters[cluster].cluster);
186 dsb_sev(); 185 sev();
187} 186}
188 187
189/* 188/*