diff options
author | Bastian Hecht <hechtb@gmail.com> | 2013-01-09 19:41:51 +0000 |
---|---|---|
committer | Simon Horman <horms+renesas@verge.net.au> | 2013-01-25 12:43:47 +0900 |
commit | 33419a69a56436dda8e9187cf09ff0bde74d8a01 (patch) | |
tree | a904655e54b25073cf90be39374713cb1132d14e /arch/arm/mach-shmobile/include | |
parent | 895d3b53fd910f78c52cba89243107fb132538f3 (diff) |
ARM: SH-Mobile: sh73a0: Secondary CPUs handle own SCU flags
When booting secondary CPUs we have used the main CPU to set up the
Snoop Control Unit flags of these CPUs. It is a cleaner approach
if every CPU takes care of its own flags. We avoid the need for
locking and the program logic is more concise. With this patch the file
headsmp-sh73a0.S is added that contains a startup vector for secondary CPUs
that sets up its own SCU flags.
Further in sh73a0_smp_prepare_cpus() we can rely on the generic ARM helper
scu_power_mode(). This is possible as we don't cross borders anymore (every
CPU handles its own flags) and need no locking. So we can throw out the
needless function modify_scu_cpu_psr().
Signed-off-by: Bastian Hecht <hechtb+renesas@gmail.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Diffstat (limited to 'arch/arm/mach-shmobile/include')
-rw-r--r-- | arch/arm/mach-shmobile/include/mach/common.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/arm/mach-shmobile/include/mach/common.h b/arch/arm/mach-shmobile/include/mach/common.h index c0ab595bc18..4b1af936fae 100644 --- a/arch/arm/mach-shmobile/include/mach/common.h +++ b/arch/arm/mach-shmobile/include/mach/common.h @@ -41,6 +41,7 @@ extern void sh73a0_add_standard_devices(void); extern void sh73a0_clock_init(void); extern void sh73a0_pinmux_init(void); extern void sh73a0_pm_init(void); +extern void sh73a0_secondary_vector(void); extern struct clk sh73a0_extal1_clk; extern struct clk sh73a0_extal2_clk; extern struct clk sh73a0_extcki_clk; |