projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
78c03c7
)
ARM: socfpga: make sure socfpga_cpu1start_addr is properly flushed
author
Russell King
<
[email protected]
>
Wed, 25 Feb 2015 16:24:25 +0000
(10:24 -0600)
committer
Dinh Nguyen
<
[email protected]
>
Wed, 4 Mar 2015 19:03:17 +0000
(13:03 -0600)
Make sure socfpga_cpu1start_addr is properly flushed from it's cache line so
that secondary cpu's can see it.
Signed-off-by: Russell King <
[email protected]
>
Tested-by: Steffen Trumtrar <
[email protected]
>
Signed-off-by: Dinh Nguyen <
[email protected]
>
arch/arm/mach-socfpga/socfpga.c
patch
|
blob
|
history
diff --git
a/arch/arm/mach-socfpga/socfpga.c
b/arch/arm/mach-socfpga/socfpga.c
index 383d61e138af1e9dfeee1ccac39b6adb42f74236..f5e597c207b9e47d26c0a7d021563cc6bdc8bf35 100644
(file)
--- a/
arch/arm/mach-socfpga/socfpga.c
+++ b/
arch/arm/mach-socfpga/socfpga.c
@@
-23,6
+23,7
@@
#include <asm/hardware/cache-l2x0.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
+#include <asm/cacheflush.h>
#include "core.h"
@@
-73,6
+74,10
@@
void __init socfpga_sysmgr_init(void)
(u32 *) &socfpga_cpu1start_addr))
pr_err("SMP: Need cpu1-start-addr in device tree.\n");
+ /* Ensure that socfpga_cpu1start_addr is visible to other CPUs */
+ smp_wmb();
+ sync_cache_w(&socfpga_cpu1start_addr);
+
sys_manager_base_addr = of_iomap(np, 0);
np = of_find_compatible_node(NULL, NULL, "altr,rst-mgr");