1. 06 8月, 2013 1 次提交
    • M
      ARM: shmobile: Introduce per-CPU SMP boot / sleep code · cc61591e
      Magnus Damm 提交于
      Add per-CPU SMP boot / sleep code that can be used by all
      SoCs included in mach-shmobile.
      
      The boot code reads out the per-CPU MPIDR id value and
      matches it with the value stored for any CPU number, and
      if there is a match and the boot function is set as well
      then the boot function will be executed.
      
      The sleep code simply uses WFI and then jumps back to the
      boot code to see if anyone has asked to wake up that CPU,
      if not it will sleep again.
      Signed-off-by: NMagnus Damm <damm@opensource.se>
      [horms+renesas@verge.net.au: Remove trailing whitespace]
      Signed-off-by: NSimon Horman <horms+renesas@verge.net.au>
      cc61591e
  2. 13 1月, 2013 1 次提交
  3. 11 1月, 2013 1 次提交
  4. 14 9月, 2012 1 次提交
  5. 07 7月, 2012 1 次提交
  6. 20 6月, 2012 1 次提交
    • N
      ARM: mach-shmobile: Fix build when SMP is enabled and EMEV2 is not enabled · 6ae42bb2
      Nobuhiro Iwamatsu 提交于
      Build failed, when SMP is enabled and EMEV2 is not enabled.
      
      arch/arm/mach-shmobile/built-in.o: In function `shmobile_platform_cpu_kill':
      /home/iwamatsu/work/kernel/sh-2.6-devel/arch/arm/mach-shmobile/platsmp.c:62: undefined reference to `emev2_platform_cpu_kill'
      arch/arm/mach-shmobile/built-in.o: In function `shmobile_smp_get_core_count':
      /home/iwamatsu/work/kernel/sh-2.6-devel/arch/arm/mach-shmobile/platsmp.c:39: undefined reference to `emev2_get_core_count'
      arch/arm/mach-shmobile/built-in.o: In function `shmobile_smp_prepare_cpus':
      /home/iwamatsu/work/kernel/sh-2.6-devel/arch/arm/mach-shmobile/platsmp.c:53: undefined reference to `emev2_smp_prepare_cpus'
      arch/arm/mach-shmobile/built-in.o: In function `platform_secondary_init':
      /home/iwamatsu/work/kernel/sh-2.6-devel/arch/arm/mach-shmobile/platsmp.c:78: undefined reference to `emev2_secondary_init'
      arch/arm/mach-shmobile/built-in.o: In function `boot_secondary':
      /home/iwamatsu/work/kernel/sh-2.6-devel/arch/arm/mach-shmobile/platsmp.c:90: undefined reference to `emev2_boot_secondary
      
      This is the cause by when EMEV2 is disabled, that the check by OF of EMEV2 is
      performed in platsmp.c.
      This patch revise what the function about EMEV2 may not be used in this file,
      when EMEV2 is not enabled.
      Signed-off-by: NNobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
      Acked-by: NSimon Horman <horms@verge.net.au>
      Acked-by: NMagnus Damm <damm@opensource.se>
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      6ae42bb2
  7. 18 5月, 2012 2 次提交
  8. 17 5月, 2012 1 次提交
  9. 13 5月, 2012 1 次提交
  10. 13 3月, 2012 1 次提交
  11. 12 1月, 2012 1 次提交
    • M
      ARM: mach-shmobile: r8a7779 SMP support V3 · f40aaf6d
      Magnus Damm 提交于
      This patch contains r8a7779 SMP support V3 - now including
      CPU hotplug offine and online support. The r8a7779 power
      domain code is tied together with SMP glue code which allows
      us to control the power domains via CPU hotplug.
      
      At this point the kernel boots with the 4 Cortex-A9 cores in
      SMP mode and all CPU cores except CPU0 can be hotplugged.
      
      The code in platsmp.c is quite far from pretty, but it is
      kept like that intentionally to avoid creating layers of
      code that will go away in the near future anyway. The code
      needs to be updated when some per-SoC handling code will be
      added to the ARM architecture, see the following patch for
      more information:
       "[RFC PATCH 0/3] Per SoC descriptor"
      Signed-off-by: NMagnus Damm <damm@opensource.se>
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      f40aaf6d
  12. 09 1月, 2012 1 次提交
  13. 21 10月, 2011 1 次提交
  14. 29 8月, 2011 1 次提交
  15. 07 7月, 2011 1 次提交
    • S
      ARM: 6993/1: platsmp: Allow secondary cpu hotplug with maxcpus=1 · 7fa22bd5
      Stephen Boyd 提交于
      If an ARM system has multiple cpus in the same socket and the
      kernel is booted with maxcpus=1, secondary cpus are possible but
      not present due to how platform_smp_prepare_cpus() is called.
      Since most typical ARM processors don't actually support physical
      hotplug, initialize the present map to be equal to the possible
      map in generic ARM SMP code. Also, always call
      platform_smp_prepare_cpus() as long as max_cpus is non-zero (0
      means no SMP) to allow platform code to do any SMP setup.
      
      After applying this patch it's possible to boot an ARM system
      with maxcpus=1 on the command line and then hotplug in secondary
      cpus via sysfs. This is more in line with how x86 does things.
      Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: Kukjin Kim <kgene.kim@samsung.com>
      Cc: David Brown <davidb@codeaurora.org>
      Cc: Tony Lindgren <tony@atomide.com>
      Cc: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
      Cc: Linus Walleij <linus.walleij@stericsson.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      7fa22bd5
  16. 23 5月, 2011 1 次提交
  17. 07 1月, 2011 1 次提交
  18. 14 12月, 2010 2 次提交
    • M
      ARM: mach-shmobile: sh73a0 SMP support · 72f4d579
      Magnus Damm 提交于
      Add SMP support for ag5evm and the sh73a0 processor.
      
      Onlining and offlining works well, but at this point
      offlined processor cores are not put into sleep mode.
      
      There is no spinlock for syncing the secondary core
      with the first one in this implementation. The code
      instead relies on the cpu_online() check in __cpu_up().
      Signed-off-by: NMagnus Damm <damm@opensource.se>
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      72f4d579
    • M
      ARM: mach-shmobile: SMP base support · 1c51ed4f
      Magnus Damm 提交于
      Add SMP base support for R-Mobile / SH-Mobile processors.
      
      This patch contains all base code to support CONFIG_SMP
      regardless of ARCH_SHMOBILE processor type. Both local timer
      and CPU hotplug are supported, but no processor specific
      code is included.
      
      At this point only the default behavior is in place, so
      a single core will always be used even though CONFIG_SMP
      is enabled on multicore systems.
      
      The SMP Kconfig entry for arch/arm/Kconfig is excluded from
      this patch to simplify merging.
      Signed-off-by: NMagnus Damm <damm@opensource.se>
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      1c51ed4f