1. 03 8月, 2016 1 次提交
  2. 29 6月, 2016 1 次提交
  3. 01 8月, 2015 1 次提交
    • S
      ARM: 8392/3: smp: Only expose /sys/.../cpuX/online if hotpluggable · 787047ee
      Stephen Boyd 提交于
      Writes to /sys/.../cpuX/online fail if we determine the platform
      doesn't support hotplug for that CPU. Furthermore, if the cpu_die
      op isn't specified the system hangs when we try to offline a CPU
      and it comes right back online unexpectedly. Let's figure this
      stuff out before we make the sysfs nodes so that the online file
      doesn't even exist if it isn't (at least sometimes) possible to
      hotplug the CPU.
      
      Add a new 'cpu_can_disable' op and repoint all 'cpu_disable'
      implementations at it because all implementers use the op to
      indicate if a CPU can be hotplugged or not in a static fashion.
      With PSCI we may need to add a 'cpu_disable' op so that the
      secure OS can be migrated off the CPU we're trying to hotplug.
      In this case, the 'cpu_can_disable' op will indicate that all
      CPUs are hotpluggable by returning true, but the 'cpu_disable' op
      will make a PSCI migration call and occasionally fail, denying
      the hotplug of a CPU. This shouldn't be any worse than x86 where
      we may indicate that all CPUs are hotpluggable but occasionally
      we can't offline a CPU due to check_irq_vectors_for_cpu_disable()
      failing to find a CPU to move vectors to.
      
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Nicolas Pitre <nico@linaro.org>
      Cc: Dave Martin <Dave.Martin@arm.com>
      Acked-by: Simon Horman <horms@verge.net.au> [shmobile portion]
      Tested-by: NSimon Horman <horms@verge.net.au>
      Cc: Magnus Damm <magnus.damm@gmail.com>
      Cc: <linux-sh@vger.kernel.org>
      Tested-by: NTyler Baker <tyler.baker@linaro.org>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      787047ee
  4. 17 6月, 2014 1 次提交
  5. 21 9月, 2013 2 次提交
  6. 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
  7. 13 1月, 2013 1 次提交
  8. 11 1月, 2013 1 次提交
  9. 14 9月, 2012 1 次提交
  10. 07 7月, 2012 1 次提交
  11. 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
  12. 18 5月, 2012 2 次提交
  13. 17 5月, 2012 1 次提交
  14. 13 5月, 2012 1 次提交
  15. 13 3月, 2012 1 次提交
  16. 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
  17. 09 1月, 2012 1 次提交
  18. 21 10月, 2011 1 次提交
  19. 29 8月, 2011 1 次提交
  20. 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
  21. 23 5月, 2011 1 次提交
  22. 07 1月, 2011 1 次提交
  23. 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